summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/alltypes/index.html118
-rw-r--r--api/index-outline.html687
-rw-r--r--api/index.html16
-rw-r--r--api/package-list7
-rw-r--r--api/pl.treksoft.kvision.core/-widget/index.html9
-rw-r--r--api/pl.treksoft.kvision.form.check/-check-box/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio-group/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.select/-select/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.spinner/-spinner/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.text/-abstract-text/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.text/-password/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.text/-rich-text/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.text/-text-area/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.text/-text/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time-input/-init-.html4
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time-input/date-time-input.html4
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time-input/index.html6
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time-input/value.html2
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/-init-.html6
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/date-time.html4
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/get-value-as-string.html2
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/index.html16
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/value.html4
-rw-r--r--api/pl.treksoft.kvision.form.time/index.html2
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html20
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload-input/index.html11
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload-input/value.html2
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload/get-native-file.html20
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html2
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload/index.html21
-rw-r--r--api/pl.treksoft.kvision.form.upload/-upload/value.html4
-rw-r--r--api/pl.treksoft.kvision.form.upload/index.html2
-rw-r--r--api/pl.treksoft.kvision.form/-field-label/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form/-form-control/index.html8
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/-init-.html8
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/add.html8
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/create.html14
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/form-panel.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/get-content.html22
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/index.html26
-rw-r--r--api/pl.treksoft.kvision.form/-form/-init-.html8
-rw-r--r--api/pl.treksoft.kvision.form/-form/add.html8
-rw-r--r--api/pl.treksoft.kvision.form/-form/create.html14
-rw-r--r--api/pl.treksoft.kvision.form/-form/get-content.html22
-rw-r--r--api/pl.treksoft.kvision.form/-form/index.html29
-rw-r--r--api/pl.treksoft.kvision.form/-help-block/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html (renamed from api/pl.treksoft.kvision.form/-files-form-control/get-value-as-string.html)6
-rw-r--r--api/pl.treksoft.kvision.form/-k-date-form-control/get-value.html (renamed from api/pl.treksoft.kvision.form/-date-form-control/get-value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/-k-date-form-control/index.html (renamed from api/pl.treksoft.kvision.form/-date-form-control/index.html)16
-rw-r--r--api/pl.treksoft.kvision.form/-k-date-form-control/set-value.html (renamed from api/pl.treksoft.kvision.form/-files-form-control/set-value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/-k-date-form-control/value.html (renamed from api/pl.treksoft.kvision.form/-date-form-control/value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html (renamed from api/pl.treksoft.kvision.form/-date-form-control/get-value-as-string.html)6
-rw-r--r--api/pl.treksoft.kvision.form/-k-files-form-control/get-value.html (renamed from api/pl.treksoft.kvision.form/-files-form-control/get-value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/-k-files-form-control/index.html (renamed from api/pl.treksoft.kvision.form/-files-form-control/index.html)16
-rw-r--r--api/pl.treksoft.kvision.form/-k-files-form-control/set-value.html (renamed from api/pl.treksoft.kvision.form/-date-form-control/set-value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/-k-files-form-control/value.html (renamed from api/pl.treksoft.kvision.form/-files-form-control/value.html)8
-rw-r--r--api/pl.treksoft.kvision.form/index.html40
-rw-r--r--api/pl.treksoft.kvision.form/kotlin.collections.-map/bool.html15
-rw-r--r--api/pl.treksoft.kvision.form/kotlin.collections.-map/date.html15
-rw-r--r--api/pl.treksoft.kvision.form/kotlin.collections.-map/index.html36
-rw-r--r--api/pl.treksoft.kvision.form/kotlin.collections.-map/number.html15
-rw-r--r--api/pl.treksoft.kvision.form/kotlin.collections.-map/string.html15
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/-init-.html23
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/after-insert.html16
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/canvas-height.html21
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/canvas-width.html21
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/canvas.html16
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/context2-d.html15
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/get-sn-attrs.html18
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/index.html388
-rw-r--r--api/pl.treksoft.kvision.html/-canvas/render.html18
-rw-r--r--api/pl.treksoft.kvision.html/-div/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.html/-label/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.html/-list-tag/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.html/-tag/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.html/index.html9
-rw-r--r--api/pl.treksoft.kvision.modal/-alert/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.modal/-confirm/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.modal/-dialog/-init-.html31
-rw-r--r--api/pl.treksoft.kvision.modal/-dialog/get-result.html15
-rw-r--r--api/pl.treksoft.kvision.modal/-dialog/hide.html18
-rw-r--r--api/pl.treksoft.kvision.modal/-dialog/index.html212
-rw-r--r--api/pl.treksoft.kvision.modal/-dialog/set-result.html15
-rw-r--r--api/pl.treksoft.kvision.modal/-modal/index.html9
-rw-r--r--api/pl.treksoft.kvision.modal/index.html9
-rw-r--r--api/pl.treksoft.kvision.panel/-simple-panel/index.html6
-rw-r--r--api/pl.treksoft.kvision.remote/-call-agent/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-call-agent/index.html51
-rw-r--r--api/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html24
-rw-r--r--api/pl.treksoft.kvision.remote/-call-agent/remote-call.html24
-rw-r--r--api/pl.treksoft.kvision.remote/-credentials/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-credentials/index.html47
-rw-r--r--api/pl.treksoft.kvision.remote/-credentials/password.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-credentials/username.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-jooby-server/-init-.html16
-rw-r--r--api/pl.treksoft.kvision.remote/-jooby-server/index.html30
-rw-r--r--api/pl.treksoft.kvision.remote/-login-service/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-login-service/index.html54
-rw-r--r--api/pl.treksoft.kvision.remote/-login-service/login-agent.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-login-service/login.html18
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/attributes.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/authentication-attributes.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/client-name.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/display-name.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/email.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/family-name.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/first-name.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/id.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/index.html138
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/linked-id.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/permissions.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/picture-url.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/profile-url.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/remembered.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/roles.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-profile/username.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-remote-agent/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-remote-agent/call-agent.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-remote-agent/call.html37
-rw-r--r--api/pl.treksoft.kvision.remote/-remote-agent/index.html72
-rw-r--r--api/pl.treksoft.kvision.remote/-remote-agent/service-manager.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-request.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-security-exception/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-security-exception/index.html28
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/after-error.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/after-login.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/index.html69
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/login.html20
-rw-r--r--api/pl.treksoft.kvision.remote/-security-mgr/with-auth.html18
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/apply-routes.html16
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/bind.html34
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/calls.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/counter.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/get-calls.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-service-manager/index.html85
-rw-r--r--api/pl.treksoft.kvision.remote/index.html129
-rw-r--r--api/pl.treksoft.kvision.table/-cell/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.table/-header-cell/-init-.html2
-rw-r--r--api/pl.treksoft.kvision.types/-k-d-a-t-e_-f-o-r-m-a-t.html14
-rw-r--r--api/pl.treksoft.kvision.types/index.html37
-rw-r--r--api/pl.treksoft.kvision.types/to-j-s.html14
-rw-r--r--api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html25
-rw-r--r--api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html15
-rw-r--r--api/pl.treksoft.kvision.utils/index.html7
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-string/index.html2
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html2
152 files changed, 3414 insertions, 385 deletions
diff --git a/api/alltypes/index.html b/api/alltypes/index.html
index 028c4c66..e82af26b 100644
--- a/api/alltypes/index.html
+++ b/api/alltypes/index.html
@@ -179,6 +179,20 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-call-agent/index.html">pl.treksoft.kvision.remote.CallAgent</a></td>
+<td>
+<p>An agent responsible for remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<a href="../pl.treksoft.kvision.html/-canvas/index.html">pl.treksoft.kvision.html.Canvas</a></td>
+<td>
+<p>Canvas component.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.table/-cell/index.html">pl.treksoft.kvision.table.Cell</a></td>
<td>
<p>HTML table cell component.</p>
@@ -270,6 +284,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-credentials/index.html">pl.treksoft.kvision.remote.Credentials</a></td>
+<td>
+<p>Username and password credentials.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.core/-css-size.html">pl.treksoft.kvision.core.CssSize</a></td>
<td>
<p>This type is used for defining CSS dimensions (width, heights, margins, paddings, etc.).</p>
@@ -318,23 +339,23 @@
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.form/-date-form-control/index.html">pl.treksoft.kvision.form.DateFormControl</a></td>
+<a href="../pl.treksoft.kvision.form.time/-date-time/index.html">pl.treksoft.kvision.form.time.DateTime</a></td>
<td>
-<p>Base interface of a form control with a date value.</p>
+<p>Form field date/time chooser component.</p>
</td>
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.form.time/-date-time/index.html">pl.treksoft.kvision.form.time.DateTime</a></td>
+<a href="../pl.treksoft.kvision.form.time/-date-time-input/index.html">pl.treksoft.kvision.form.time.DateTimeInput</a></td>
<td>
-<p>Form field date/time chooser component.</p>
+<p>Basic date/time chooser component.</p>
</td>
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.form.time/-date-time-input/index.html">pl.treksoft.kvision.form.time.DateTimeInput</a></td>
+<a href="../pl.treksoft.kvision.modal/-dialog/index.html">pl.treksoft.kvision.modal.Dialog</a></td>
<td>
-<p>Basic date/time chooser component.</p>
+<p>Modal window with a result.</p>
</td>
</tr>
<tr>
@@ -394,13 +415,6 @@
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.form/-files-form-control/index.html">pl.treksoft.kvision.form.FilesFormControl</a></td>
-<td>
-<p>Base interface of a form control with a list of files value.</p>
-</td>
-</tr>
-<tr>
-<td>
<a href="../pl.treksoft.kvision.panel/-flex-align-content/index.html">pl.treksoft.kvision.panel.FlexAlignContent</a></td>
<td>
<p>CSS flexbox content alignment options.</p>
@@ -664,12 +678,34 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-jooby-server/index.html">pl.treksoft.kvision.remote.JoobyServer</a></td>
+<td>
+<p>A Jooby based server.
+Not used on the js platform.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.form/kotlin.js.-json/index.html">kotlin.js.Json</a> (extensions in package pl.treksoft.kvision.form)</td>
<td>
</td>
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.form/-k-date-form-control/index.html">pl.treksoft.kvision.form.KDateFormControl</a></td>
+<td>
+<p>Base interface of a form control with a date value.</p>
+</td>
+</tr>
+<tr>
+<td>
+<a href="../pl.treksoft.kvision.form/-k-files-form-control/index.html">pl.treksoft.kvision.form.KFilesFormControl</a></td>
+<td>
+<p>Base interface of a form control with a list of files value.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.utils/-kv-event/index.html">pl.treksoft.kvision.utils.KvEvent</a></td>
<td>
<p>Helper class for defining custom events.</p>
@@ -705,6 +741,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-login-service/index.html">pl.treksoft.kvision.remote.LoginService</a></td>
+<td>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.form/kotlin.collections.-map/index.html">kotlin.collections.Map</a> (extensions in package pl.treksoft.kvision.form)</td>
<td>
</td>
@@ -774,6 +817,12 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html">com.lightningkite.kotlin.observable.list.ObservableList</a> (extensions in package pl.treksoft.kvision.utils)</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.core/-overflow/index.html">pl.treksoft.kvision.core.Overflow</a></td>
<td>
<p>Definitions of CSS overflow options.</p>
@@ -808,6 +857,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-profile/index.html">pl.treksoft.kvision.remote.Profile</a></td>
+<td>
+<p>A user profile.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.progress/-progress-bar/index.html">pl.treksoft.kvision.progress.ProgressBar</a></td>
<td>
<p>The Bootstrap progress bar.</p>
@@ -843,6 +899,21 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-remote-agent/index.html">pl.treksoft.kvision.remote.RemoteAgent</a></td>
+<td>
+<p>Client side agent for JSON-RPC remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<a href="../pl.treksoft.kvision.remote/-request.html">pl.treksoft.kvision.remote.Request</a></td>
+<td>
+<p>A server request.
+Not used on the js platform.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.core/-res-string.html">pl.treksoft.kvision.core.ResString</a></td>
<td>
<p>This type is used for accessing resources with CommonJS <strong>require</strong> function.</p>
@@ -906,6 +977,20 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-security-exception/index.html">pl.treksoft.kvision.remote.SecurityException</a></td>
+<td>
+<p>A security exception.</p>
+</td>
+</tr>
+<tr>
+<td>
+<a href="../pl.treksoft.kvision.remote/-security-mgr/index.html">pl.treksoft.kvision.remote.SecurityMgr</a></td>
+<td>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.form.select/-select/index.html">pl.treksoft.kvision.form.select.Select</a></td>
<td>
<p>The form field component for Select control.</p>
@@ -948,6 +1033,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-service-manager/index.html">pl.treksoft.kvision.remote.ServiceManager</a></td>
+<td>
+<p>Multiplatform service manager.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.panel/-side/index.html">pl.treksoft.kvision.panel.Side</a></td>
<td>
<p>Dock layout directions.</p>
diff --git a/api/index-outline.html b/api/index-outline.html
index 9b692f3a..b8aab801 100644
--- a/api/index-outline.html
+++ b/api/index-outline.html
@@ -451,6 +451,41 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></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.remote/-call-agent/-init-.html"><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html"><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</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.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</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="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>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-agent/remote-call.html"><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</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.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</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>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><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="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</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>
+<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/-canvas/-init-.html"><span class="identifier">Canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/after-insert.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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.html/-canvas/canvas.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">canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-canvas/index.html"><span class="identifier">Canvas</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/-canvas/index.html"><span class="identifier">Canvas</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/canvas-height.html"><span class="keyword">var </span><span class="identifier">canvasHeight</span><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/canvas-width.html"><span class="keyword">var </span><span class="identifier">canvasWidth</span><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/context2-d.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">context2D</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/get-sn-attrs.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</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/-canvas/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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.table/-cell/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Cell</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>
@@ -830,6 +865,21 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></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.remote/-credentials/-init-.html"><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/password.html"><span class="keyword">val </span><span class="identifier">password</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/username.html"><span class="keyword">val </span><span class="identifier">username</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></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.core/-css-size.html"><span class="keyword">typealias </span><span class="identifier">CssSize</span>&nbsp;<span class="symbol">=</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</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.core/-u-n-i-t/index.html"><span class="identifier">UNIT</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.dropdown/-d-d/index.html"><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">DD</span></a></a><br/>
<ul>
@@ -901,7 +951,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="keyword">interface </span><span class="identifier">DateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -910,27 +960,11 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-date-form-control/value.html"><span class="keyword">abstract</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></a></a><br/>
-</BODY>
-</HTML>
-</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></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.form.time/-date-time/-init-.html"><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/-init-.html"><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/autofocus.html"><span class="keyword">var </span><span class="identifier">autofocus</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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.time/-date-time/blur.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">blur</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.time/-date-time/clear-btn.html"><span class="keyword">var </span><span class="identifier">clearBtn</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/date-time.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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="identifier">DateTime</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.form.time/-date-time/index.html"><span class="identifier">DateTime</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/date-time.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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="identifier">DateTime</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.form.time/-date-time/index.html"><span class="identifier">DateTime</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/days-of-week-disabled.html"><span class="keyword">var </span><span class="identifier">daysOfWeekDisabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</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.time/-date-time/flabel.html"><span class="keyword">val </span><span class="identifier">flabel</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-field-label/index.html"><span class="identifier">FieldLabel</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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/>
@@ -952,7 +986,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/today-btn.html"><span class="keyword">var </span><span class="identifier">todayBtn</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/today-highlight.html"><span class="keyword">var </span><span class="identifier">todayHighlight</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/validation-info.html"><span class="keyword">val </span><span class="identifier">validationInfo</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-help-block/index.html"><span class="identifier">HelpBlock</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/value.html"><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/value.html"><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/week-start.html"><span class="keyword">var </span><span class="identifier">weekStart</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
</BODY>
</HTML>
@@ -966,14 +1000,14 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/-init-.html"><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/-init-.html"><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/after-destroy.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterDestroy</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.time/-date-time-input/after-insert.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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.time/-date-time-input/autofocus.html"><span class="keyword">var </span><span class="identifier">autofocus</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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.time/-date-time-input/blur.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">blur</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.time/-date-time-input/change-value.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">changeValue</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.time/-date-time-input/clear-btn.html"><span class="keyword">var </span><span class="identifier">clearBtn</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/date-time-input.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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</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.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/date-time-input.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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</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.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/days-of-week-disabled.html"><span class="keyword">var </span><span class="identifier">daysOfWeekDisabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</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.time/-date-time-input/disabled.html"><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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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/>
@@ -994,11 +1028,27 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/size.html"><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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/today-btn.html"><span class="keyword">var </span><span class="identifier">todayBtn</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/today-highlight.html"><span class="keyword">var </span><span class="identifier">todayHighlight</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/value.html"><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/value.html"><span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/week-start.html"><span class="keyword">var </span><span class="identifier">weekStart</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Dialog</span><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-modal/index.html"><span class="identifier">Modal</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.modal/-dialog/-init-.html"><span class="identifier">Dialog</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/caption">caption</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/closeButton">closeButton</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/size">size</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-modal-size/index.html"><span class="identifier">ModalSize</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/animation">animation</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/escape">escape</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-dialog/index.html"><span class="identifier">Dialog</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</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.modal/-dialog/get-result.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getResult</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/hide.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/set-result.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setResult</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$setResult(pl.treksoft.kvision.modal.Dialog.R)/result">result</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</span></a><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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.core/-direction/index.html"><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Direction</span></a></a><br/>
<ul>
<HTML>
@@ -1144,22 +1194,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/index.html"><span class="keyword">interface </span><span class="identifier">FilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-files-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-files-form-control/value.html"><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
-</BODY>
-</HTML>
-</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-flex-align-content/index.html"><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexAlignContent</span></a></a><br/>
<ul>
<HTML>
@@ -1337,7 +1371,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/index.html"><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span><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/index.html"><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -1346,14 +1380,16 @@
<link rel="stylesheet" href="../style.css">
</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/-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)), kotlinx.serialization.KSerializer((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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><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></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/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/-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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/create.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/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/create.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="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<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/create.html#K"><span class="identifier">K</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.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/create.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/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-content.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</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/>
@@ -1432,7 +1468,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -1441,19 +1477,21 @@
<link rel="stylesheet" href="../style.css">
</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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/-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><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><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/action.html"><span class="keyword">var </span><span class="identifier">action</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></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.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/-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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/autocomplete.html"><span class="keyword">var </span><span class="identifier">autocomplete</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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/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/create.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</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-panel/create.html#K"><span class="identifier">K</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.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/create.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/enctype.html"><span class="keyword">var </span><span class="identifier">enctype</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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/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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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/form-panel.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</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-panel/form-panel.html#K"><span class="identifier">K</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.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.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-content.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</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/>
@@ -1830,6 +1868,51 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-jooby-server/index.html"><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">JoobyServer</span></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.remote/-jooby-server/-init-.html"><span class="identifier">JoobyServer</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="keyword">interface </span><span class="identifier">KDateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-k-date-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-k-date-form-control/value.html"><span class="keyword">abstract</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="keyword">interface </span><span class="identifier">KFilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-k-files-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-k-files-form-control/value.html"><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/-kv-event/index.html"><span class="keyword">class </span><span class="identifier">KvEvent</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-custom-event/index.html"><span class="identifier">CustomEvent</span></a></a></a><br/>
<ul>
<HTML>
@@ -1919,6 +2002,21 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/index.html"><span class="keyword">class </span><span class="identifier">LoginService</span></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.remote/-login-service/-init-.html"><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-agent.html"><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-modal/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Modal</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
<ul>
<HTML>
@@ -2143,6 +2241,34 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="keyword">data</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">Profile</span></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.remote/-profile/-init-.html"><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</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.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/attributes.html"><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</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.remote/-profile/authentication-attributes.html"><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</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.remote/-profile/client-name.html"><span class="keyword">val </span><span class="identifier">clientName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/display-name.html"><span class="keyword">var </span><span class="identifier">displayName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/email.html"><span class="keyword">var </span><span class="identifier">email</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/family-name.html"><span class="keyword">var </span><span class="identifier">familyName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/first-name.html"><span class="keyword">var </span><span class="identifier">firstName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/id.html"><span class="keyword">val </span><span class="identifier">id</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/linked-id.html"><span class="keyword">val </span><span class="identifier">linkedId</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/permissions.html"><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/picture-url.html"><span class="keyword">var </span><span class="identifier">pictureUrl</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/profile-url.html"><span class="keyword">var </span><span class="identifier">profileUrl</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/remembered.html"><span class="keyword">val </span><span class="identifier">remembered</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/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/roles.html"><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/username.html"><span class="keyword">var </span><span class="identifier">username</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></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.progress/-progress-bar/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ProgressBar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
<ul>
<HTML>
@@ -2257,6 +2383,34 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RemoteAgent</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></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.remote/-remote-agent/-init-.html"><span class="identifier">RemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$<init>(pl.treksoft.kvision.remote.ServiceManager((pl.treksoft.kvision.remote.RemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call-agent.html"><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/service-manager.html"><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-request.html"><span class="keyword">actual</span> <span class="keyword">interface </span><span class="identifier">Request</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.core/-res-string.html"><span class="keyword">typealias </span><span class="identifier">ResString</span>&nbsp;<span class="symbol">=</span>&nbsp;<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.core/-resize/index.html"><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Resize</span></a></a><br/>
<ul>
@@ -2393,6 +2547,36 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-exception/index.html"><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</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.remote/-security-exception/-init-.html"><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</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/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/index.html"><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></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.remote/-security-mgr/-init-.html"><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/after-error.html"><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</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.remote/-security-mgr/after-login.html"><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</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.remote/-security-mgr/login.html"><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</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/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html#T"><span class="identifier">T</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.select/-select/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Select</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></a></a><br/>
<ul>
<HTML>
@@ -2548,6 +2732,29 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">ServiceManager</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></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.remote/-service-manager/-init-.html"><span class="identifier">ServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$<init>(pl.treksoft.kvision.remote.ServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/apply-routes.html"><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$applyRoutes(pl.treksoft.kvision.remote.JoobyServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-jooby-server/index.html"><span class="identifier">JoobyServer</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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/calls.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/counter.html"><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/get-calls.html"><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-side/index.html"><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Side</span></a></a><br/>
<ul>
<HTML>
@@ -3218,7 +3425,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-files-form-control/index.html"><span class="identifier">FilesFormControl</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -3238,6 +3445,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/explorer-theme.html"><span class="keyword">var </span><span class="identifier">explorerTheme</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/flabel.html"><span class="keyword">val </span><span class="identifier">flabel</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-field-label/index.html"><span class="identifier">FieldLabel</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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.upload/-upload/get-native-file.html"><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</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.upload/-upload/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.upload/-upload/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/idc.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">idc</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/>
@@ -3264,7 +3472,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html"><span class="keyword">var </span><span class="identifier">uploadExtraData</span><span class="symbol">: </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>&nbsp;<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;<span class="keyword">dynamic</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/upload-url.html"><span class="keyword">var </span><span class="identifier">uploadUrl</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/validation-info.html"><span class="keyword">val </span><span class="identifier">validationInfo</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-help-block/index.html"><span class="identifier">HelpBlock</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/value.html"><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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/value.html"><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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -3290,6 +3498,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html"><span class="keyword">var </span><span class="identifier">dropZoneEnabled</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html"><span class="keyword">var </span><span class="identifier">explorerTheme</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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.upload/-upload-input/get-native-file.html"><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</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.upload/-upload-input/get-sn-attrs.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</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.upload/-upload-input/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.upload/-upload-input/get-value-as-string.html"><span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
@@ -3312,7 +3521,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html"><span class="keyword">var </span><span class="identifier">uploadExtraData</span><span class="symbol">: </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>&nbsp;<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;<span class="keyword">dynamic</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-input.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">uploadInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/uploadUrl">uploadUrl</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/multiple">multiple</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.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.upload/-upload-input/index.html"><span class="identifier">UploadInput</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.form.upload/-upload-input/index.html"><span class="identifier">UploadInput</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-url.html"><span class="keyword">var </span><span class="identifier">uploadUrl</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/value.html"><span class="keyword">var </span><span class="identifier">value</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/value.html"><span class="keyword">var </span><span class="identifier">value</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -3467,6 +3676,19 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html"><span class="identifier">com.lightningkite.kotlin.observable.list.ObservableList</span></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.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</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.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-int/index.html"><span class="identifier">kotlin.Int</span></a></a><br/>
<ul>
<HTML>
@@ -3516,7 +3738,7 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html"><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html"><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -3530,10 +3752,6 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/kotlin.collections.-map/as-json.html"><span class="keyword">fun </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><span class="identifier">asJson</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/kotlin.collections.-map/bool.html"><span class="keyword">fun </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><span class="identifier">bool</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-boolean/index.html"><span class="identifier">Boolean</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/kotlin.collections.-map/date.html"><span class="keyword">fun </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><span class="identifier">date</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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.js/-date/index.html"><span class="identifier">Date</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/kotlin.collections.-map/number.html"><span class="keyword">fun </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><span class="identifier">number</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-number/index.html"><span class="identifier">Number</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/kotlin.collections.-map/string.html"><span class="keyword">fun </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><span class="identifier">string</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -4653,22 +4871,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="keyword">interface </span><span class="identifier">DateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-date-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-date-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-date-form-control/value.html"><span class="keyword">abstract</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></a></a><br/>
-</BODY>
-</HTML>
-</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-field-label/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FieldLabel</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>
@@ -4683,7 +4885,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/index.html"><span class="keyword">interface </span><span class="identifier">FilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/index.html"><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -4692,30 +4894,16 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-files-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-files-form-control/value.html"><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
-</BODY>
-</HTML>
-</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/index.html"><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span></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.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/-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)), kotlinx.serialization.KSerializer((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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><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></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/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/-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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/create.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/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/create.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="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<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/create.html#K"><span class="identifier">K</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.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/create.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/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-content.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</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/>
@@ -4794,7 +4982,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -4803,19 +4991,21 @@
<link rel="stylesheet" href="../style.css">
</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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/-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><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><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/action.html"><span class="keyword">var </span><span class="identifier">action</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></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.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/-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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/autocomplete.html"><span class="keyword">var </span><span class="identifier">autocomplete</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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/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/create.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</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-panel/create.html#K"><span class="identifier">K</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.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/create.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/enctype.html"><span class="keyword">var </span><span class="identifier">enctype</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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/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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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/form-panel.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</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-panel/form-panel.html#K"><span class="identifier">K</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.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.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-content.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</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/>
@@ -4893,6 +5083,38 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="keyword">interface </span><span class="identifier">KDateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-k-date-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-date-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-k-date-form-control/value.html"><span class="keyword">abstract</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="keyword">interface </span><span class="identifier">KFilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</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.form/-k-files-form-control/get-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-k-files-form-control/set-value.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</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/-k-files-form-control/value.html"><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-number-form-control/index.html"><span class="keyword">interface </span><span class="identifier">NumberFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a></a></a><br/>
<ul>
<HTML>
@@ -4935,10 +5157,6 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/kotlin.collections.-map/as-json.html"><span class="keyword">fun </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><span class="identifier">asJson</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/kotlin.collections.-map/bool.html"><span class="keyword">fun </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><span class="identifier">bool</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-boolean/index.html"><span class="identifier">Boolean</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/kotlin.collections.-map/date.html"><span class="keyword">fun </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><span class="identifier">date</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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.js/-date/index.html"><span class="identifier">Date</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/kotlin.collections.-map/number.html"><span class="keyword">fun </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><span class="identifier">number</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-number/index.html"><span class="identifier">Number</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/kotlin.collections.-map/string.html"><span class="keyword">fun </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><span class="identifier">string</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -5690,7 +5908,7 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -5699,11 +5917,11 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/-init-.html"><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/-init-.html"><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/autofocus.html"><span class="keyword">var </span><span class="identifier">autofocus</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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.time/-date-time/blur.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">blur</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.time/-date-time/clear-btn.html"><span class="keyword">var </span><span class="identifier">clearBtn</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/date-time.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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="identifier">DateTime</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.form.time/-date-time/index.html"><span class="identifier">DateTime</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/date-time.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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time/index.html"><span class="identifier">DateTime</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.form.time/-date-time/index.html"><span class="identifier">DateTime</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/days-of-week-disabled.html"><span class="keyword">var </span><span class="identifier">daysOfWeekDisabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</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.time/-date-time/flabel.html"><span class="keyword">val </span><span class="identifier">flabel</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-field-label/index.html"><span class="identifier">FieldLabel</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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/>
@@ -5725,7 +5943,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/today-btn.html"><span class="keyword">var </span><span class="identifier">todayBtn</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/today-highlight.html"><span class="keyword">var </span><span class="identifier">todayHighlight</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/validation-info.html"><span class="keyword">val </span><span class="identifier">validationInfo</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-help-block/index.html"><span class="identifier">HelpBlock</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/value.html"><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/value.html"><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time/week-start.html"><span class="keyword">var </span><span class="identifier">weekStart</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
</BODY>
</HTML>
@@ -5739,14 +5957,14 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/-init-.html"><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/-init-.html"><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/after-destroy.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterDestroy</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.time/-date-time-input/after-insert.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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.time/-date-time-input/autofocus.html"><span class="keyword">var </span><span class="identifier">autofocus</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</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.time/-date-time-input/blur.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">blur</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.time/-date-time-input/change-value.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">changeValue</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.time/-date-time-input/clear-btn.html"><span class="keyword">var </span><span class="identifier">clearBtn</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/date-time-input.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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</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.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/date-time-input.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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</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.form.time/-date-time-input/index.html"><span class="identifier">DateTimeInput</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/days-of-week-disabled.html"><span class="keyword">var </span><span class="identifier">daysOfWeekDisabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</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.time/-date-time-input/disabled.html"><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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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/>
@@ -5767,7 +5985,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/size.html"><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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/today-btn.html"><span class="keyword">var </span><span class="identifier">todayBtn</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/today-highlight.html"><span class="keyword">var </span><span class="identifier">todayHighlight</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/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/value.html"><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/value.html"><span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.time/-date-time-input/week-start.html"><span class="keyword">var </span><span class="identifier">weekStart</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
</BODY>
</HTML>
@@ -5784,7 +6002,7 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-files-form-control/index.html"><span class="identifier">FilesFormControl</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -5804,6 +6022,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/explorer-theme.html"><span class="keyword">var </span><span class="identifier">explorerTheme</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/flabel.html"><span class="keyword">val </span><span class="identifier">flabel</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-field-label/index.html"><span class="identifier">FieldLabel</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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.upload/-upload/get-native-file.html"><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</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.upload/-upload/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.upload/-upload/get-value-as-string.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/idc.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">idc</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/>
@@ -5830,7 +6049,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html"><span class="keyword">var </span><span class="identifier">uploadExtraData</span><span class="symbol">: </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>&nbsp;<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;<span class="keyword">dynamic</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/upload-url.html"><span class="keyword">var </span><span class="identifier">uploadUrl</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></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/validation-info.html"><span class="keyword">val </span><span class="identifier">validationInfo</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-help-block/index.html"><span class="identifier">HelpBlock</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/value.html"><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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload/value.html"><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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -5856,6 +6075,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html"><span class="keyword">var </span><span class="identifier">dropZoneEnabled</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html"><span class="keyword">var </span><span class="identifier">explorerTheme</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/focus.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">focus</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.upload/-upload-input/get-native-file.html"><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</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.upload/-upload-input/get-sn-attrs.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</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.upload/-upload-input/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.upload/-upload-input/get-value-as-string.html"><span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
@@ -5878,7 +6098,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html"><span class="keyword">var </span><span class="identifier">uploadExtraData</span><span class="symbol">: </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>&nbsp;<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;<span class="keyword">dynamic</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-input.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">uploadInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/uploadUrl">uploadUrl</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/multiple">multiple</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.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$uploadInput(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.upload.UploadInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form.upload/-upload-input/index.html"><span class="identifier">UploadInput</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.form.upload/-upload-input/index.html"><span class="identifier">UploadInput</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/upload-url.html"><span class="keyword">var </span><span class="identifier">uploadUrl</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></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/value.html"><span class="keyword">var </span><span class="identifier">value</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.upload/-upload-input/value.html"><span class="keyword">var </span><span class="identifier">value</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -6044,6 +6264,26 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</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>
+<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/-canvas/-init-.html"><span class="identifier">Canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/after-insert.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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.html/-canvas/canvas.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">canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-canvas/index.html"><span class="identifier">Canvas</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/-canvas/index.html"><span class="identifier">Canvas</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/canvas-height.html"><span class="keyword">var </span><span class="identifier">canvasHeight</span><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/canvas-width.html"><span class="keyword">var </span><span class="identifier">canvasWidth</span><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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/context2-d.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">context2D</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/get-sn-attrs.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</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/-canvas/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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-div/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Div</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>
@@ -6384,6 +6624,22 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Dialog</span><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-modal/index.html"><span class="identifier">Modal</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.modal/-dialog/-init-.html"><span class="identifier">Dialog</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/caption">caption</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/closeButton">closeButton</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/size">size</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-modal-size/index.html"><span class="identifier">ModalSize</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/animation">animation</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/escape">escape</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-dialog/index.html"><span class="identifier">Dialog</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</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.modal/-dialog/get-result.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getResult</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/hide.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-dialog/set-result.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setResult</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$setResult(pl.treksoft.kvision.modal.Dialog.R)/result">result</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.modal/-dialog/index.html#R"><span class="identifier">R</span></a><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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.modal/-modal/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Modal</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></a></a><br/>
<ul>
<HTML>
@@ -7028,6 +7284,186 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/index.html"><span class="keyword">package</span> <span class="identifier">pl.treksoft.kvision.remote</span></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.remote/-call-agent/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></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.remote/-call-agent/-init-.html"><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html"><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</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.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</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="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>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-agent/remote-call.html"><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</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.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</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>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><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="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></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.remote/-credentials/-init-.html"><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/password.html"><span class="keyword">val </span><span class="identifier">password</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/username.html"><span class="keyword">val </span><span class="identifier">username</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></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">HTTP_UNAUTHORIZED</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-jooby-server/index.html"><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">JoobyServer</span></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.remote/-jooby-server/-init-.html"><span class="identifier">JoobyServer</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/index.html"><span class="keyword">class </span><span class="identifier">LoginService</span></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.remote/-login-service/-init-.html"><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-agent.html"><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="keyword">data</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">Profile</span></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.remote/-profile/-init-.html"><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</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.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/attributes.html"><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</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.remote/-profile/authentication-attributes.html"><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</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.remote/-profile/client-name.html"><span class="keyword">val </span><span class="identifier">clientName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/display-name.html"><span class="keyword">var </span><span class="identifier">displayName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/email.html"><span class="keyword">var </span><span class="identifier">email</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/family-name.html"><span class="keyword">var </span><span class="identifier">familyName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/first-name.html"><span class="keyword">var </span><span class="identifier">firstName</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/id.html"><span class="keyword">val </span><span class="identifier">id</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/linked-id.html"><span class="keyword">val </span><span class="identifier">linkedId</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/permissions.html"><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/picture-url.html"><span class="keyword">var </span><span class="identifier">pictureUrl</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/profile-url.html"><span class="keyword">var </span><span class="identifier">profileUrl</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/remembered.html"><span class="keyword">val </span><span class="identifier">remembered</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/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/roles.html"><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-profile/username.html"><span class="keyword">var </span><span class="identifier">username</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></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RemoteAgent</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></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.remote/-remote-agent/-init-.html"><span class="identifier">RemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$<init>(pl.treksoft.kvision.remote.ServiceManager((pl.treksoft.kvision.remote.RemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#RET"><span class="identifier">RET</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.remote/-remote-agent/call.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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.remote/-remote-agent/call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/call-agent.html"><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-remote-agent/service-manager.html"><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-remote-agent/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-request.html"><span class="keyword">actual</span> <span class="keyword">interface </span><span class="identifier">Request</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-exception/index.html"><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</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.remote/-security-exception/-init-.html"><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</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/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/index.html"><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></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.remote/-security-mgr/-init-.html"><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/after-error.html"><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</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.remote/-security-mgr/after-login.html"><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</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.remote/-security-mgr/login.html"><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</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/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-security-mgr/with-auth.html#T"><span class="identifier">T</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/index.html"><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">ServiceManager</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></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.remote/-service-manager/-init-.html"><span class="identifier">ServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$<init>(pl.treksoft.kvision.remote.ServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/apply-routes.html"><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$applyRoutes(pl.treksoft.kvision.remote.JoobyServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-jooby-server/index.html"><span class="identifier">JoobyServer</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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-service-manager/bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-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.remote/-service-manager/calls.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/counter.html"><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-service-manager/get-calls.html"><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.routing/index.html"><span class="keyword">package</span> <span class="identifier">pl.treksoft.kvision.routing</span></a></a><br/>
<ul>
<HTML>
@@ -7227,6 +7663,20 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.types/index.html"><span class="keyword">package</span> <span class="identifier">pl.treksoft.kvision.types</span></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.types/-k-d-a-t-e_-f-o-r-m-a-t.html"><span class="keyword">actual</span> <span class="keyword">val </span><span class="identifier">KDATE_FORMAT</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.types/to-j-s.html"><span class="keyword">fun </span><span class="identifier">KDate</span><span class="symbol">.</span><span class="identifier">toJS</span><span class="symbol">(</span><span class="symbol">)</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></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/index.html"><span class="keyword">package</span> <span class="identifier">pl.treksoft.kvision.utils</span></a></a><br/>
<ul>
<HTML>
@@ -7266,6 +7716,19 @@
</HTML>
</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/auto.html"><span class="keyword">val </span><span class="identifier">auto</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html"><span class="identifier">com.lightningkite.kotlin.observable.list.ObservableList</span></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.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</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.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/is-i-e11.html"><span class="keyword">fun </span><span class="identifier">isIE11</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/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-int/index.html"><span class="identifier">kotlin.Int</span></a></a><br/>
<ul>
@@ -7316,7 +7779,7 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html"><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html"><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></a></a><br/>
</BODY>
</HTML>
</ul>
diff --git a/api/index.html b/api/index.html
index e0f010d4..5c12c236 100644
--- a/api/index.html
+++ b/api/index.html
@@ -145,6 +145,14 @@ CSS grid and Bootstrap responsive 12 columns gid).</p>
</tr>
<tr>
<td>
+<p><a href="pl.treksoft.kvision.remote/index.html">pl.treksoft.kvision.remote</a></p>
+</td>
+<td>
+<p>A set of components for creating multiplatform automatic JSON-RPC connectivity with a backend server.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="pl.treksoft.kvision.routing/index.html">pl.treksoft.kvision.routing</a></p>
</td>
<td>
@@ -169,6 +177,14 @@ CSS grid and Bootstrap responsive 12 columns gid).</p>
</tr>
<tr>
<td>
+<p><a href="pl.treksoft.kvision.types/index.html">pl.treksoft.kvision.types</a></p>
+</td>
+<td>
+<p>Multiplatform type definitions.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="pl.treksoft.kvision.utils/index.html">pl.treksoft.kvision.utils</a></p>
</td>
<td>
diff --git a/api/package-list b/api/package-list
index 9760c87f..40d09446 100644
--- a/api/package-list
+++ b/api/package-list
@@ -2,10 +2,6 @@ $dokka.format:html
$dokka.linkExtension:html
$dokka.location:pl.treksoft.kvision.form$asJson(kotlin.collections.Map((kotlin.String, kotlin.Any)))pl.treksoft.kvision.form/kotlin.collections.-map/as-json.html
$dokka.location:pl.treksoft.kvision.form$asMap(kotlin.js.Json)pl.treksoft.kvision.form/kotlin.js.-json/as-map.html
-$dokka.location:pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)pl.treksoft.kvision.form/kotlin.collections.-map/bool.html
-$dokka.location:pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)pl.treksoft.kvision.form/kotlin.collections.-map/date.html
-$dokka.location:pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)pl.treksoft.kvision.form/kotlin.collections.-map/number.html
-$dokka.location:pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)pl.treksoft.kvision.form/kotlin.collections.-map/string.html
$dokka.location:pl.treksoft.kvision.utils$asString(kotlin.Pair((kotlin.Int, pl.treksoft.kvision.core.UNIT)))pl.treksoft.kvision.utils/kotlin.-pair/as-string.html
$dokka.location:pl.treksoft.kvision.utils$ch#kotlin.Intpl.treksoft.kvision.utils/kotlin.-int/ch.html
$dokka.location:pl.treksoft.kvision.utils$cm#kotlin.Intpl.treksoft.kvision.utils/kotlin.-int/cm.html
@@ -18,6 +14,7 @@ $dokka.location:pl.treksoft.kvision.utils$perc#kotlin.Intpl.treksoft.kvision.ut
$dokka.location:pl.treksoft.kvision.utils$pt#kotlin.Intpl.treksoft.kvision.utils/kotlin.-int/pt.html
$dokka.location:pl.treksoft.kvision.utils$px#kotlin.Intpl.treksoft.kvision.utils/kotlin.-int/px.html
$dokka.location:pl.treksoft.kvision.utils$rem#kotlin.Intpl.treksoft.kvision.utils/kotlin.-int/rem.html
+$dokka.location:pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html
$dokka.location:pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html
$dokka.location:pl.treksoft.kvision.utils$toHexString(kotlin.Int)pl.treksoft.kvision.utils/kotlin.-int/to-hex-string.html
$dokka.location:pl.treksoft.kvision.utils$toStringF(kotlin.js.Date, kotlin.String)pl.treksoft.kvision.utils/kotlin.js.-date/to-string-f.html
@@ -41,8 +38,10 @@ pl.treksoft.kvision.modal
pl.treksoft.kvision.navbar
pl.treksoft.kvision.panel
pl.treksoft.kvision.progress
+pl.treksoft.kvision.remote
pl.treksoft.kvision.routing
pl.treksoft.kvision.table
pl.treksoft.kvision.toolbar
+pl.treksoft.kvision.types
pl.treksoft.kvision.utils
pl.treksoft.kvision.window
diff --git a/api/pl.treksoft.kvision.core/-widget/index.html b/api/pl.treksoft.kvision.core/-widget/index.html
index f15382b8..9fa16127 100644
--- a/api/pl.treksoft.kvision.core/-widget/index.html
+++ b/api/pl.treksoft.kvision.core/-widget/index.html
@@ -879,6 +879,15 @@
</tr>
<tr>
<td>
+<p><a href="../../pl.treksoft.kvision.html/-canvas/index.html">Canvas</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Widget</span></a></code>
+<p>Canvas component.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="../../pl.treksoft.kvision.form.check/-check-input/index.html">CheckInput</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.form.check/-check-box/-init-.html b/api/pl.treksoft.kvision.form.check/-check-box/-init-.html
index a3796cd8..069d4b71 100644
--- a/api/pl.treksoft.kvision.form.check/-check-box/-init-.html
+++ b/api/pl.treksoft.kvision.form.check/-check-box/-init-.html
@@ -18,7 +18,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.check.CheckBox$<init>(kotlin.Boolean, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.check/-radio-group/-init-.html b/api/pl.treksoft.kvision.form.check/-radio-group/-init-.html
index 32159b19..ab46a0c9 100644
--- a/api/pl.treksoft.kvision.form.check/-radio-group/-init-.html
+++ b/api/pl.treksoft.kvision.form.check/-radio-group/-init-.html
@@ -22,7 +22,7 @@
<p><a name="label"></a>
<code>label</code> - label text of the options group</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.check.RadioGroup$<init>(kotlin.collections.List((kotlin.Pair((kotlin.String, )))), kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.check/-radio/-init-.html b/api/pl.treksoft.kvision.form.check/-radio/-init-.html
index 1294864f..4f7ae330 100644
--- a/api/pl.treksoft.kvision.form.check/-radio/-init-.html
+++ b/api/pl.treksoft.kvision.form.check/-radio/-init-.html
@@ -20,7 +20,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.check.Radio$<init>(kotlin.Boolean, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.select/-select/-init-.html b/api/pl.treksoft.kvision.form.select/-select/-init-.html
index e951bc58..b01349b5 100644
--- a/api/pl.treksoft.kvision.form.select/-select/-init-.html
+++ b/api/pl.treksoft.kvision.form.select/-select/-init-.html
@@ -24,7 +24,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.select.Select$<init>(kotlin.collections.List((kotlin.Pair((kotlin.String, )))), kotlin.String, kotlin.String, kotlin.Boolean, pl.treksoft.kvision.form.select.AjaxOptions, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.spinner/-spinner/-init-.html b/api/pl.treksoft.kvision.form.spinner/-spinner/-init-.html
index 52232120..64202d9d 100644
--- a/api/pl.treksoft.kvision.form.spinner/-spinner/-init-.html
+++ b/api/pl.treksoft.kvision.form.spinner/-spinner/-init-.html
@@ -30,7 +30,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.spinner.Spinner$<init>(kotlin.Number, kotlin.String, kotlin.Int, kotlin.Int, kotlin.Double, kotlin.Int, pl.treksoft.kvision.form.spinner.ButtonsType, pl.treksoft.kvision.form.spinner.ForceType, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.text/-abstract-text/-init-.html b/api/pl.treksoft.kvision.form.text/-abstract-text/-init-.html
index 42fd6dce..6c7212dc 100644
--- a/api/pl.treksoft.kvision.form.text/-abstract-text/-init-.html
+++ b/api/pl.treksoft.kvision.form.text/-abstract-text/-init-.html
@@ -14,7 +14,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.text.AbstractText$<init>(kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.text/-password/-init-.html b/api/pl.treksoft.kvision.form.text/-password/-init-.html
index 9b32386b..1bc26295 100644
--- a/api/pl.treksoft.kvision.form.text/-password/-init-.html
+++ b/api/pl.treksoft.kvision.form.text/-password/-init-.html
@@ -18,7 +18,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.text.Password$<init>(kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="#">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.text/-rich-text/-init-.html b/api/pl.treksoft.kvision.form.text/-rich-text/-init-.html
index 218a6e93..5727433a 100644
--- a/api/pl.treksoft.kvision.form.text/-rich-text/-init-.html
+++ b/api/pl.treksoft.kvision.form.text/-rich-text/-init-.html
@@ -18,7 +18,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.text.RichText$<init>(kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../-abstract-text/label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.text/-text-area/-init-.html b/api/pl.treksoft.kvision.form.text/-text-area/-init-.html
index 27a727b5..7878587a 100644
--- a/api/pl.treksoft.kvision.form.text/-text-area/-init-.html
+++ b/api/pl.treksoft.kvision.form.text/-text-area/-init-.html
@@ -22,7 +22,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.text.TextArea$<init>(kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../-abstract-text/label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.text/-text/-init-.html b/api/pl.treksoft.kvision.form.text/-text/-init-.html
index 84a300ac..530d8779 100644
--- a/api/pl.treksoft.kvision.form.text/-text/-init-.html
+++ b/api/pl.treksoft.kvision.form.text/-text/-init-.html
@@ -20,7 +20,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.text.Text$<init>(pl.treksoft.kvision.form.text.TextInputType, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../-abstract-text/label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time-input/-init-.html b/api/pl.treksoft.kvision.form.time/-date-time-input/-init-.html
index 49547cce..ef1b97f4 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time-input/-init-.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time-input/-init-.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.time</a>&nbsp;/&nbsp;<a href="index.html">DateTimeInput</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.form.time.DateTimeInput$&lt;init&gt;(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))"></a>
-<code><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></code>
+<a name="pl.treksoft.kvision.form.time.DateTimeInput$&lt;init&gt;(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></code>
<h3>Parameters</h3>
<p><a name="value"></a>
<code>value</code> - date/time input value</p>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time-input/date-time-input.html b/api/pl.treksoft.kvision.form.time/-date-time-input/date-time-input.html
index 40a1ab19..809af9a8 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time-input/date-time-input.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time-input/date-time-input.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.time</a>&nbsp;/&nbsp;<a href="index.html">DateTimeInput</a>&nbsp;/&nbsp;<a href="./date-time-input.html">dateTimeInput</a><br/>
<br/>
<h1>dateTimeInput</h1>
-<a name="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, 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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DateTimeInput</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">DateTimeInput</span></a></code>
+<a name="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, 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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DateTimeInput</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">DateTimeInput</span></a></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.form.time/-date-time-input/index.html b/api/pl.treksoft.kvision.form.time/-date-time-input/index.html
index a26313da..69b1cfc1 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time-input/index.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time-input/index.html
@@ -18,7 +18,7 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></code></td>
+<code><span class="identifier">DateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)))/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></code></td>
</tr>
</tbody>
</table>
@@ -147,7 +147,7 @@
<p><a href="value.html">value</a></p>
</td>
<td>
-<code><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>
+<code><span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Date/time input value.</p>
</td>
</tr>
@@ -552,7 +552,7 @@
<p><a href="date-time-input.html">dateTimeInput</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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DateTimeInput</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">DateTimeInput</span></a></code>
+<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">dateTimeInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTimeInput.Companion$dateTimeInput(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.time.DateTimeInput, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DateTimeInput</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">DateTimeInput</span></a></code>
<p>DSL builder extension function.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time-input/value.html b/api/pl.treksoft.kvision.form.time/-date-time-input/value.html
index afa8799a..4c89a2f2 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time-input/value.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time-input/value.html
@@ -9,7 +9,7 @@
<br/>
<h1>value</h1>
<a name="pl.treksoft.kvision.form.time.DateTimeInput$value"></a>
-<code><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>
+<code><span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Date/time input value.</p>
<p><strong>Getter</strong><br/>
<p>Date/time input value.</p>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/-init-.html b/api/pl.treksoft.kvision.form.time/-date-time/-init-.html
index 723a95b2..c95b6a63 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/-init-.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/-init-.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.time</a>&nbsp;/&nbsp;<a href="index.html">DateTime</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.form.time.DateTime$&lt;init&gt;(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)"></a>
-<code><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></code>
+<a name="pl.treksoft.kvision.form.time.DateTime$&lt;init&gt;(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)"></a>
+<code><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></code>
<h3>Parameters</h3>
<p><a name="value"></a>
<code>value</code> - date/time input value</p>
@@ -20,7 +20,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/date-time.html b/api/pl.treksoft.kvision.form.time/-date-time/date-time.html
index 718c8eaf..0d4b0c06 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/date-time.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/date-time.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.time</a>&nbsp;/&nbsp;<a href="index.html">DateTime</a>&nbsp;/&nbsp;<a href="./date-time.html">dateTime</a><br/>
<br/>
<h1>dateTime</h1>
-<a name="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, 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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DateTime</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">DateTime</span></a></code>
+<a name="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, 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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DateTime</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">DateTime</span></a></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.form.time/-date-time/get-value-as-string.html b/api/pl.treksoft.kvision.form.time/-date-time/get-value-as-string.html
index 8901d009..cfb8f5ce 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/get-value-as-string.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/get-value-as-string.html
@@ -10,7 +10,7 @@
<h1>getValueAsString</h1>
<a name="pl.treksoft.kvision.form.time.DateTime$getValueAsString()"></a>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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/-date-form-control/get-value-as-string.html">DateFormControl.getValueAsString</a></p>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html">KDateFormControl.getValueAsString</a></p>
<p>Returns the value of the control as a String.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/index.html b/api/pl.treksoft.kvision.form.time/-date-time/index.html
index e31348af..74e70252 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/index.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/index.html
@@ -8,7 +8,7 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.time</a>&nbsp;/&nbsp;<a href="./index.html">DateTime</a><br/>
<br/>
<h1>DateTime</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</span></a></code>
<p>Form field date/time chooser component.</p>
<h3>Constructors</h3>
<table>
@@ -18,7 +18,7 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></code></td>
+<code><span class="identifier">DateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime$<init>(pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean)/rich">rich</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></code></td>
</tr>
</tbody>
</table>
@@ -165,7 +165,7 @@
<p><a href="value.html">value</a></p>
</td>
<td>
-<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>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Date/time input value.</p>
</td>
</tr>
@@ -309,10 +309,10 @@
</tr>
<tr>
<td>
-<p><a href="../../pl.treksoft.kvision.form/-date-form-control/get-value.html">getValue</a></p>
+<p><a href="../../pl.treksoft.kvision.form/-k-date-form-control/get-value.html">getValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</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>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Returns the value of the control.</p>
</td>
</tr>
@@ -345,10 +345,10 @@
</tr>
<tr>
<td>
-<p><a href="../../pl.treksoft.kvision.form/-date-form-control/set-value.html">setValue</a></p>
+<p><a href="../../pl.treksoft.kvision.form/-k-date-form-control/set-value.html">setValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Sets the value of the control.</p>
</td>
</tr>
@@ -362,7 +362,7 @@
<p><a href="date-time.html">dateTime</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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, kotlin.js.Date, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DateTime</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">DateTime</span></a></code>
+<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">dateTime</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">KDate</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/label">label</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/rich">rich</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.time.DateTime.Companion$dateTime(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.types.KDate, kotlin.String, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.time.DateTime, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DateTime</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">DateTime</span></a></code>
<p>DSL builder extension function.</p>
</td>
</tr>
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 0bd1f1ee..34da28a7 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/value.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/value.html
@@ -9,8 +9,8 @@
<br/>
<h1>value</h1>
<a name="pl.treksoft.kvision.form.time.DateTime$value"></a>
-<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>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-k-date-form-control/value.html">KDateFormControl.value</a></p>
<p>Date/time input value.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.time/index.html b/api/pl.treksoft.kvision.form.time/index.html
index d811429f..2677eac9 100644
--- a/api/pl.treksoft.kvision.form.time/index.html
+++ b/api/pl.treksoft.kvision.form.time/index.html
@@ -17,7 +17,7 @@
<p><a href="-date-time/index.html">DateTime</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</span></a></code>
<p>Form field date/time chooser component.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html b/api/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html
new file mode 100644
index 00000000..267baba1
--- /dev/null
+++ b/api/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.getNativeFile - 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.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./get-native-file.html">getNativeFile</a><br/>
+<br/>
+<h1>getNativeFile</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$getNativeFile(pl.treksoft.kvision.types.KFile)"></a>
+<code><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">?</span></code>
+<p>Returns the native JavaScript File object.</p>
+<h3>Parameters</h3>
+<p><a name="kFile"></a>
+<code>kFile</code> - KFile object</p>
+<p><strong>Return</strong><br/>
+File object</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload-input/index.html b/api/pl.treksoft.kvision.form.upload/-upload-input/index.html
index 3090e5be..916ea5e0 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload-input/index.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload-input/index.html
@@ -202,7 +202,7 @@ If not set the upload button action will default to form submission.</p>
<p><a href="value.html">value</a></p>
</td>
<td>
-<code><span class="keyword">var </span><span class="identifier">value</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<code><span class="keyword">var </span><span class="identifier">value</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>File input value.</p>
</td>
</tr>
@@ -326,6 +326,15 @@ If not set the upload button action will default to form submission.</p>
</tr>
<tr>
<td>
+<p><a href="get-native-file.html">getNativeFile</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">?</span></code>
+<p>Returns the native JavaScript File object.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="get-sn-attrs.html">getSnAttrs</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload-input/value.html b/api/pl.treksoft.kvision.form.upload/-upload-input/value.html
index a740df1a..d26d2dc3 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload-input/value.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload-input/value.html
@@ -9,7 +9,7 @@
<br/>
<h1>value</h1>
<a name="pl.treksoft.kvision.form.upload.UploadInput$value"></a>
-<code><span class="keyword">var </span><span class="identifier">value</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<code><span class="keyword">var </span><span class="identifier">value</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>File input value.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload/-init-.html b/api/pl.treksoft.kvision.form.upload/-upload/-init-.html
index bec7108c..0978761d 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload/-init-.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload/-init-.html
@@ -18,7 +18,7 @@
<p><a name="label"></a>
<code>label</code> - label text bound to the input element</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.upload.Upload$<init>(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/label">label</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="label.html">label</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload/get-native-file.html b/api/pl.treksoft.kvision.form.upload/-upload/get-native-file.html
new file mode 100644
index 00000000..6ce31311
--- /dev/null
+++ b/api/pl.treksoft.kvision.form.upload/-upload/get-native-file.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.getNativeFile - 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.upload</a>&nbsp;/&nbsp;<a href="index.html">Upload</a>&nbsp;/&nbsp;<a href="./get-native-file.html">getNativeFile</a><br/>
+<br/>
+<h1>getNativeFile</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$getNativeFile(pl.treksoft.kvision.types.KFile)"></a>
+<code><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">?</span></code>
+<p>Returns the native JavaScript File object.</p>
+<h3>Parameters</h3>
+<p><a name="kFile"></a>
+<code>kFile</code> - KFile object</p>
+<p><strong>Return</strong><br/>
+File object</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html b/api/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html
index 75533699..815a7838 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html
@@ -10,7 +10,7 @@
<h1>getValueAsString</h1>
<a name="pl.treksoft.kvision.form.upload.Upload$getValueAsString()"></a>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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/-files-form-control/get-value-as-string.html">FilesFormControl.getValueAsString</a></p>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html">KFilesFormControl.getValueAsString</a></p>
<p>Returns the value of the control as a String.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload/index.html b/api/pl.treksoft.kvision.form.upload/-upload/index.html
index 157d652a..f541a377 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload/index.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload/index.html
@@ -8,7 +8,7 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.upload</a>&nbsp;/&nbsp;<a href="./index.html">Upload</a><br/>
<br/>
<h1>Upload</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-files-form-control/index.html"><span class="identifier">FilesFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></code>
<p>The form field file upload component.</p>
<h3>Constructors</h3>
<table>
@@ -227,7 +227,7 @@ If not set the upload button action will default to form submission.</p>
<p><a href="value.html">value</a></p>
</td>
<td>
-<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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>File input value.</p>
</td>
</tr>
@@ -274,6 +274,15 @@ If not set the upload button action will default to form submission.</p>
</tr>
<tr>
<td>
+<p><a href="get-native-file.html">getNativeFile</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getNativeFile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$getNativeFile(pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">?</span></code>
+<p>Returns the native JavaScript File object.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="get-sn-class.html">getSnClass</a></p>
</td>
<td>
@@ -398,10 +407,10 @@ If not set the upload button action will default to form submission.</p>
</tr>
<tr>
<td>
-<p><a href="../../pl.treksoft.kvision.form/-files-form-control/get-value.html">getValue</a></p>
+<p><a href="../../pl.treksoft.kvision.form/-k-files-form-control/get-value.html">getValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>Returns the value of the control.</p>
</td>
</tr>
@@ -434,10 +443,10 @@ If not set the upload button action will default to form submission.</p>
</tr>
<tr>
<td>
-<p><a href="../../pl.treksoft.kvision.form/-files-form-control/set-value.html">setValue</a></p>
+<p><a href="../../pl.treksoft.kvision.form/-k-files-form-control/set-value.html">setValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Sets the value of the control.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form.upload/-upload/value.html b/api/pl.treksoft.kvision.form.upload/-upload/value.html
index 30d1105f..0be26286 100644
--- a/api/pl.treksoft.kvision.form.upload/-upload/value.html
+++ b/api/pl.treksoft.kvision.form.upload/-upload/value.html
@@ -9,8 +9,8 @@
<br/>
<h1>value</h1>
<a name="pl.treksoft.kvision.form.upload.Upload$value"></a>
-<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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
-<p>Overrides <a href="../../pl.treksoft.kvision.form/-files-form-control/value.html">FilesFormControl.value</a></p>
+<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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-k-files-form-control/value.html">KFilesFormControl.value</a></p>
<p>File input value.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.upload/index.html b/api/pl.treksoft.kvision.form.upload/index.html
index bb4120a9..a40f02ef 100644
--- a/api/pl.treksoft.kvision.form.upload/index.html
+++ b/api/pl.treksoft.kvision.form.upload/index.html
@@ -17,7 +17,7 @@
<p><a href="-upload/index.html">Upload</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.form/-files-form-control/index.html"><span class="identifier">FilesFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></code>
<p>The form field file upload component.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-field-label/-init-.html b/api/pl.treksoft.kvision.form/-field-label/-init-.html
index 3aa53a78..29c65e10 100644
--- a/api/pl.treksoft.kvision.form/-field-label/-init-.html
+++ b/api/pl.treksoft.kvision.form/-field-label/-init-.html
@@ -16,7 +16,7 @@
<p><a name="content"></a>
<code>content</code> - the text of the label</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.FieldLabel$<init>(kotlin.String, kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../../pl.treksoft.kvision.html/-tag/content.html">content</a> can contain HTML code</p>
<p><a name="classes"></a>
<code>classes</code> - a set of CSS class names</p>
<p><strong>Constructor</strong><br/>
diff --git a/api/pl.treksoft.kvision.form/-form-control/index.html b/api/pl.treksoft.kvision.form/-form-control/index.html
index 8fe99e19..2881e185 100644
--- a/api/pl.treksoft.kvision.form/-form-control/index.html
+++ b/api/pl.treksoft.kvision.form/-form-control/index.html
@@ -233,19 +233,19 @@
</tr>
<tr>
<td>
-<p><a href="../-date-form-control/index.html">DateFormControl</a></p>
+<p><a href="../-k-date-form-control/index.html">KDateFormControl</a></p>
</td>
<td>
-<code><span class="keyword">interface </span><span class="identifier">DateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormControl</span></a></code>
+<code><span class="keyword">interface </span><span class="identifier">KDateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormControl</span></a></code>
<p>Base interface of a form control with a date value.</p>
</td>
</tr>
<tr>
<td>
-<p><a href="../-files-form-control/index.html">FilesFormControl</a></p>
+<p><a href="../-k-files-form-control/index.html">KFilesFormControl</a></p>
</td>
<td>
-<code><span class="keyword">interface </span><span class="identifier">FilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormControl</span></a></code>
+<code><span class="keyword">interface </span><span class="identifier">KFilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormControl</span></a></code>
<p>Base interface of a form control with a list of files value.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/-init-.html b/api/pl.treksoft.kvision.form/-form-panel/-init-.html
index e2eb6cf7..fb819c2f 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/-init-.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/-init-.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="./-init-.html">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.form.FormPanel$&lt;init&gt;(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))"></a>
-<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></code>
+<a name="pl.treksoft.kvision.form.FormPanel$&lt;init&gt;(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))"></a>
+<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
<h3>Parameters</h3>
<p><a name="K"></a>
<code>K</code> - model class type</p>
@@ -23,8 +23,8 @@
<code>type</code> - form layout</p>
<p><a name="classes"></a>
<code>classes</code> - set of CSS class names</p>
-<p><a name="modelFactory"></a>
-<code>modelFactory</code> - function transforming a Map&lt;String, Any?&gt; to a data model of class K</p>
+<p><a name="serializer"></a>
+<code>serializer</code> - a serializer for model type</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/add.html b/api/pl.treksoft.kvision.form/-form-panel/add.html
index 0c9fd3ca..723ce9f7 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/add.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/add.html
@@ -56,8 +56,8 @@ current form panel</p>
<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>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, pl.treksoft.kvision.types.KDate)), 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="../-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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>
@@ -72,8 +72,8 @@ current form panel</p>
<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.collections.List((org.w3c.files.File)))), 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="../-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), 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="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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 files control to the form panel.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/create.html b/api/pl.treksoft.kvision.form/-form-panel/create.html
new file mode 100644
index 00000000..67ef73ae
--- /dev/null
+++ b/api/pl.treksoft.kvision.form/-form-panel/create.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.create - 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="./create.html">create</a><br/>
+<br/>
+<h1>create</h1>
+<a name="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</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">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.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/form-panel.html b/api/pl.treksoft.kvision.form/-form-panel/form-panel.html
index 11590ed4..dce70047 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/form-panel.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/form-panel.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="./form-panel.html">formPanel</a><br/>
<br/>
<h1>formPanel</h1>
-<a name="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))"></a>
-<code><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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="form-panel.html#K"><span class="identifier">K</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="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<a name="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</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">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</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.form/-form-panel/get-content.html b/api/pl.treksoft.kvision.form/-form-panel/get-content.html
new file mode 100644
index 00000000..6e97ae04
--- /dev/null
+++ b/api/pl.treksoft.kvision.form/-form-panel/get-content.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.getContent - 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="./get-content.html">getContent</a><br/>
+<br/>
+<h1>getContent</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)"></a>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</span></code>
+<p>Returns an object with the content of the file.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="kFile"></a>
+<code>kFile</code> - object identifying the file</p>
+<p><strong>Return</strong><br/>
+KFile object</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/index.html b/api/pl.treksoft.kvision.form/-form-panel/index.html
index 8268f58f..fb2e65dd 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/index.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/index.html
@@ -8,7 +8,7 @@
<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><br/>
<br/>
<h1>FormPanel</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
<p>Bootstrap form component.</p>
<h3>Constructors</h3>
<table>
@@ -18,7 +18,7 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></code></td>
+<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
@@ -122,9 +122,9 @@
<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>
+<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="../-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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>
-<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="../-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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>
+<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="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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 files control to the form panel.</p>
</td>
</tr>
@@ -155,6 +155,15 @@
</tr>
<tr>
<td>
+<p><a href="get-content.html">getContent</a></p>
+</td>
+<td>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</span></code>
+<p>Returns an object with the content of the file.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="get-control.html">getControl</a></p>
</td>
<td>
@@ -309,10 +318,17 @@
<tbody>
<tr>
<td>
+<p><a href="create.html">create</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</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">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
<p><a href="form-panel.html">formPanel</a></p>
</td>
<td>
-<code><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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, 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="form-panel.html#K"><span class="identifier">K</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="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-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.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</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">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
<p>DSL builder extension function.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-form/-init-.html b/api/pl.treksoft.kvision.form/-form/-init-.html
index b703eeca..d2e40cfd 100644
--- a/api/pl.treksoft.kvision.form/-form/-init-.html
+++ b/api/pl.treksoft.kvision.form/-form/-init-.html
@@ -8,16 +8,16 @@
<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="./-init-.html">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.form.Form$&lt;init&gt;(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)))"></a>
-<code><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="../-form-panel/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><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="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></code>
+<a name="pl.treksoft.kvision.form.Form$&lt;init&gt;(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.K)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))"></a>
+<code><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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="../-form-panel/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><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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
<p>Creates a form with a given modelFactory function</p>
<h3>Parameters</h3>
<p><a name="K"></a>
<code>K</code> - model class type</p>
<p><a name="panel"></a>
<code>panel</code> - optional instance of <a href="../-form-panel/index.html">FormPanel</a></p>
-<p><a name="modelFactory"></a>
-<code>modelFactory</code> - function transforming a Map&lt;String, Any?&gt; to a data model of class K</p>
+<p><a name="serializer"></a>
+<code>serializer</code> - a serializer for model type</p>
<p><strong>Constructor</strong><br/>
Creates a form with a given modelFactory function</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form/-form/add.html b/api/pl.treksoft.kvision.form/-form/add.html
index 2980cadf..ee324f93 100644
--- a/api/pl.treksoft.kvision.form/-form/add.html
+++ b/api/pl.treksoft.kvision.form/-form/add.html
@@ -56,8 +56,8 @@ current form</p>
<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>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, pl.treksoft.kvision.types.KDate)), 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="../-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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>
@@ -72,8 +72,8 @@ current form</p>
<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.collections.List((org.w3c.files.File)))), 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="../-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), 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="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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 files control to the form.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form/create.html b/api/pl.treksoft.kvision.form/-form/create.html
new file mode 100644
index 00000000..6db5df89
--- /dev/null
+++ b/api/pl.treksoft.kvision.form/-form/create.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Form.create - 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">Form</a>&nbsp;/&nbsp;<a href="./create.html">create</a><br/>
+<br/>
+<h1>create</h1>
+<a name="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="../-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.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="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</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">Form</span></a><span class="symbol">&lt;</span><a href="create.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/get-content.html b/api/pl.treksoft.kvision.form/-form/get-content.html
new file mode 100644
index 00000000..90b6feeb
--- /dev/null
+++ b/api/pl.treksoft.kvision.form/-form/get-content.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Form.getContent - 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">Form</a>&nbsp;/&nbsp;<a href="./get-content.html">getContent</a><br/>
+<br/>
+<h1>getContent</h1>
+<a name="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)"></a>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</span></code>
+<p>Returns file with the content read.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="kFile"></a>
+<code>kFile</code> - object identifying the file</p>
+<p><strong>Return</strong><br/>
+KFile object</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.form/-form/index.html b/api/pl.treksoft.kvision.form/-form/index.html
index 47af0804..f34e7aea 100644
--- a/api/pl.treksoft.kvision.form/-form/index.html
+++ b/api/pl.treksoft.kvision.form/-form/index.html
@@ -8,7 +8,7 @@
<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><br/>
<br/>
<h1>Form</h1>
-<code><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span></code>
+<code><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></code>
<p>The form definition class. Can be used directly or indirectly inside a <a href="../-form-panel/index.html">FormPanel</a>.</p>
<h3>Constructors</h3>
<table>
@@ -18,7 +18,7 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><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="../-form-panel/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><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="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></code>
+<code><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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="../-form-panel/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><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)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.Form.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
<p>Creates a form with a given modelFactory function</p>
</td>
</tr>
@@ -38,9 +38,9 @@
<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>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-k-date-form-control/index.html"><span class="identifier">KDateFormControl</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, pl.treksoft.kvision.types.KDate)), 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;<span class="identifier">KDate</span><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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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, pl.treksoft.kvision.types.KDate)), 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>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-files-form-control/index.html"><span class="identifier">FilesFormControl</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.collections.List((org.w3c.files.File)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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.collections.List((org.w3c.files.File)))), 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>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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.collections.List((pl.treksoft.kvision.types.KFile)))), 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 files control to the form.</p>
</td>
</tr>
@@ -64,6 +64,15 @@
</tr>
<tr>
<td>
+<p><a href="get-content.html">getContent</a></p>
+</td>
+<td>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$getContent(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<span class="identifier">KFile</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KFile</span></code>
+<p>Returns file with the content read.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="get-control.html">getControl</a></p>
</td>
<td>
@@ -127,5 +136,17 @@
</tr>
</tbody>
</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="create.html">create</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="../-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.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.Companion$create(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Function1((pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.Form.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</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">Form</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form/-help-block/-init-.html b/api/pl.treksoft.kvision.form/-help-block/-init-.html
index 104d8fd8..acedfd03 100644
--- a/api/pl.treksoft.kvision.form/-help-block/-init-.html
+++ b/api/pl.treksoft.kvision.form/-help-block/-init-.html
@@ -14,7 +14,7 @@
<p><a name="content"></a>
<code>content</code> - the text of the label</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.form.HelpBlock$<init>(kotlin.String, kotlin.Boolean)/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../../pl.treksoft.kvision.html/-tag/content.html">content</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.form/-files-form-control/get-value-as-string.html b/api/pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html
index 42ba9c0f..677bcda1 100644
--- a/api/pl.treksoft.kvision.form/-files-form-control/get-value-as-string.html
+++ b/api/pl.treksoft.kvision.form/-k-date-form-control/get-value-as-string.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>FilesFormControl.getValueAsString - kvision</title>
+<title>KDateFormControl.getValueAsString - 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">FilesFormControl</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KDateFormControl</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
<br/>
<h1>getValueAsString</h1>
-<a name="pl.treksoft.kvision.form.FilesFormControl$getValueAsString()"></a>
+<a name="pl.treksoft.kvision.form.KDateFormControl$getValueAsString()"></a>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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="../-form-control/get-value-as-string.html">FormControl.getValueAsString</a></p>
<p>Returns the value of the control as a String.</p>
diff --git a/api/pl.treksoft.kvision.form/-date-form-control/get-value.html b/api/pl.treksoft.kvision.form/-k-date-form-control/get-value.html
index 9f2ce3e6..80fe5c8b 100644
--- a/api/pl.treksoft.kvision.form/-date-form-control/get-value.html
+++ b/api/pl.treksoft.kvision.form/-k-date-form-control/get-value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DateFormControl.getValue - kvision</title>
+<title>KDateFormControl.getValue - 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">DateFormControl</a>&nbsp;/&nbsp;<a href="./get-value.html">getValue</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KDateFormControl</a>&nbsp;/&nbsp;<a href="./get-value.html">getValue</a><br/>
<br/>
<h1>getValue</h1>
-<a name="pl.treksoft.kvision.form.DateFormControl$getValue()"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</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>
+<a name="pl.treksoft.kvision.form.KDateFormControl$getValue()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Overrides <a href="../-form-control/get-value.html">FormControl.getValue</a></p>
<p>Returns the value of the control.</p>
<p><strong>Return</strong><br/>
diff --git a/api/pl.treksoft.kvision.form/-date-form-control/index.html b/api/pl.treksoft.kvision.form/-k-date-form-control/index.html
index 50ea07c0..a14754e7 100644
--- a/api/pl.treksoft.kvision.form/-date-form-control/index.html
+++ b/api/pl.treksoft.kvision.form/-k-date-form-control/index.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DateFormControl - kvision</title>
+<title>KDateFormControl - 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">DateFormControl</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="./index.html">KDateFormControl</a><br/>
<br/>
-<h1>DateFormControl</h1>
-<code><span class="keyword">interface </span><span class="identifier">DateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a></code>
+<h1>KDateFormControl</h1>
+<code><span class="keyword">interface </span><span class="identifier">KDateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a></code>
<p>Base interface of a form control with a date value.</p>
<h3>Properties</h3>
<table>
@@ -18,7 +18,7 @@
<p><a href="value.html">value</a></p>
</td>
<td>
-<code><span class="keyword">abstract</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>
+<code><span class="keyword">abstract</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Date value.</p>
</td>
</tr>
@@ -100,7 +100,7 @@
<p><a href="get-value.html">getValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</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>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Returns the value of the control.</p>
</td>
</tr>
@@ -118,7 +118,7 @@
<p><a href="set-value.html">setValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Sets the value of the control.</p>
</td>
</tr>
@@ -155,7 +155,7 @@
<p><a href="../../pl.treksoft.kvision.form.time/-date-time/index.html">DateTime</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">DateFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">KDateFormControl</span></a></code>
<p>Form field date/time chooser component.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-files-form-control/set-value.html b/api/pl.treksoft.kvision.form/-k-date-form-control/set-value.html
index ceefa66c..3e102567 100644
--- a/api/pl.treksoft.kvision.form/-files-form-control/set-value.html
+++ b/api/pl.treksoft.kvision.form/-k-date-form-control/set-value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>FilesFormControl.setValue - kvision</title>
+<title>KDateFormControl.setValue - 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">FilesFormControl</a>&nbsp;/&nbsp;<a href="./set-value.html">setValue</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KDateFormControl</a>&nbsp;/&nbsp;<a href="./set-value.html">setValue</a><br/>
<br/>
<h1>setValue</h1>
-<a name="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<a name="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KDateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Overrides <a href="../-form-control/set-value.html">FormControl.setValue</a></p>
<p>Sets the value of the control.</p>
<h3>Parameters</h3>
diff --git a/api/pl.treksoft.kvision.form/-date-form-control/value.html b/api/pl.treksoft.kvision.form/-k-date-form-control/value.html
index 0d6d2079..252a1296 100644
--- a/api/pl.treksoft.kvision.form/-date-form-control/value.html
+++ b/api/pl.treksoft.kvision.form/-k-date-form-control/value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DateFormControl.value - kvision</title>
+<title>KDateFormControl.value - 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">DateFormControl</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KDateFormControl</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
<br/>
<h1>value</h1>
-<a name="pl.treksoft.kvision.form.DateFormControl$value"></a>
-<code><span class="keyword">abstract</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>
+<a name="pl.treksoft.kvision.form.KDateFormControl$value"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><span class="identifier">KDate</span><span class="symbol">?</span></code>
<p>Date value.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form/-date-form-control/get-value-as-string.html b/api/pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html
index 8ec76a28..6e890d6f 100644
--- a/api/pl.treksoft.kvision.form/-date-form-control/get-value-as-string.html
+++ b/api/pl.treksoft.kvision.form/-k-files-form-control/get-value-as-string.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DateFormControl.getValueAsString - kvision</title>
+<title>KFilesFormControl.getValueAsString - 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">DateFormControl</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KFilesFormControl</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
<br/>
<h1>getValueAsString</h1>
-<a name="pl.treksoft.kvision.form.DateFormControl$getValueAsString()"></a>
+<a name="pl.treksoft.kvision.form.KFilesFormControl$getValueAsString()"></a>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValueAsString</span><span class="symbol">(</span><span class="symbol">)</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="../-form-control/get-value-as-string.html">FormControl.getValueAsString</a></p>
<p>Returns the value of the control as a String.</p>
diff --git a/api/pl.treksoft.kvision.form/-files-form-control/get-value.html b/api/pl.treksoft.kvision.form/-k-files-form-control/get-value.html
index c84da632..83d54534 100644
--- a/api/pl.treksoft.kvision.form/-files-form-control/get-value.html
+++ b/api/pl.treksoft.kvision.form/-k-files-form-control/get-value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>FilesFormControl.getValue - kvision</title>
+<title>KFilesFormControl.getValue - 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">FilesFormControl</a>&nbsp;/&nbsp;<a href="./get-value.html">getValue</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KFilesFormControl</a>&nbsp;/&nbsp;<a href="./get-value.html">getValue</a><br/>
<br/>
<h1>getValue</h1>
-<a name="pl.treksoft.kvision.form.FilesFormControl$getValue()"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.KFilesFormControl$getValue()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>Overrides <a href="../-form-control/get-value.html">FormControl.getValue</a></p>
<p>Returns the value of the control.</p>
<p><strong>Return</strong><br/>
diff --git a/api/pl.treksoft.kvision.form/-files-form-control/index.html b/api/pl.treksoft.kvision.form/-k-files-form-control/index.html
index b364e491..410e07c5 100644
--- a/api/pl.treksoft.kvision.form/-files-form-control/index.html
+++ b/api/pl.treksoft.kvision.form/-k-files-form-control/index.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>FilesFormControl - kvision</title>
+<title>KFilesFormControl - 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">FilesFormControl</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="./index.html">KFilesFormControl</a><br/>
<br/>
-<h1>FilesFormControl</h1>
-<code><span class="keyword">interface </span><span class="identifier">FilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a></code>
+<h1>KFilesFormControl</h1>
+<code><span class="keyword">interface </span><span class="identifier">KFilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a></code>
<p>Base interface of a form control with a list of files value.</p>
<h3>Properties</h3>
<table>
@@ -18,7 +18,7 @@
<p><a href="value.html">value</a></p>
</td>
<td>
-<code><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<code><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>List of files value.</p>
</td>
</tr>
@@ -100,7 +100,7 @@
<p><a href="get-value.html">getValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getValue</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><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>Returns the value of the control.</p>
</td>
</tr>
@@ -118,7 +118,7 @@
<p><a href="set-value.html">setValue</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Sets the value of the control.</p>
</td>
</tr>
@@ -155,7 +155,7 @@
<p><a href="../../pl.treksoft.kvision.form.upload/-upload/index.html">Upload</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">FilesFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">KFilesFormControl</span></a></code>
<p>The form field file upload component.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-date-form-control/set-value.html b/api/pl.treksoft.kvision.form/-k-files-form-control/set-value.html
index 7dd2477e..6bb16a8d 100644
--- a/api/pl.treksoft.kvision.form/-date-form-control/set-value.html
+++ b/api/pl.treksoft.kvision.form/-k-files-form-control/set-value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DateFormControl.setValue - kvision</title>
+<title>KFilesFormControl.setValue - 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">DateFormControl</a>&nbsp;/&nbsp;<a href="./set-value.html">setValue</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KFilesFormControl</a>&nbsp;/&nbsp;<a href="./set-value.html">setValue</a><br/>
<br/>
<h1>setValue</h1>
-<a name="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.DateFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<a name="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setValue</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.KFilesFormControl$setValue(kotlin.Any)/v">v</span><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">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
<p>Overrides <a href="../-form-control/set-value.html">FormControl.setValue</a></p>
<p>Sets the value of the control.</p>
<h3>Parameters</h3>
diff --git a/api/pl.treksoft.kvision.form/-files-form-control/value.html b/api/pl.treksoft.kvision.form/-k-files-form-control/value.html
index 51770986..4b62a422 100644
--- a/api/pl.treksoft.kvision.form/-files-form-control/value.html
+++ b/api/pl.treksoft.kvision.form/-k-files-form-control/value.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>FilesFormControl.value - kvision</title>
+<title>KFilesFormControl.value - 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">FilesFormControl</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">KFilesFormControl</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
<br/>
<h1>value</h1>
-<a name="pl.treksoft.kvision.form.FilesFormControl$value"></a>
-<code><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.files/-file/index.html"><span class="identifier">File</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.KFilesFormControl$value"></a>
+<code><span class="keyword">abstract</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.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">KFile</span><span class="symbol">&gt;</span><span class="symbol">?</span></code>
<p>List of files value.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form/index.html b/api/pl.treksoft.kvision.form/index.html
index 697f5400..a63807cd 100644
--- a/api/pl.treksoft.kvision.form/index.html
+++ b/api/pl.treksoft.kvision.form/index.html
@@ -24,15 +24,6 @@ validation.</p>
</tr>
<tr>
<td>
-<p><a href="-date-form-control/index.html">DateFormControl</a></p>
-</td>
-<td>
-<code><span class="keyword">interface </span><span class="identifier">DateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-form-control/index.html"><span class="identifier">FormControl</span></a></code>
-<p>Base interface of a form control with a date value.</p>
-</td>
-</tr>
-<tr>
-<td>
<p><a href="-field-label/index.html">FieldLabel</a></p>
</td>
<td>
@@ -42,19 +33,10 @@ validation.</p>
</tr>
<tr>
<td>
-<p><a href="-files-form-control/index.html">FilesFormControl</a></p>
-</td>
-<td>
-<code><span class="keyword">interface </span><span class="identifier">FilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-form-control/index.html"><span class="identifier">FormControl</span></a></code>
-<p>Base interface of a form control with a list of files value.</p>
-</td>
-</tr>
-<tr>
-<td>
<p><a href="-form/index.html">Form</a></p>
</td>
<td>
-<code><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span></code>
+<code><span class="keyword">class </span><span class="identifier">Form</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></code>
<p>The form definition class. Can be used directly or indirectly inside a <a href="-form-panel/index.html">FormPanel</a>.</p>
</td>
</tr>
@@ -97,7 +79,7 @@ validation.</p>
<p><a href="-form-panel/index.html">FormPanel</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
<p>Bootstrap form component.</p>
</td>
</tr>
@@ -139,6 +121,24 @@ validation.</p>
</tr>
<tr>
<td>
+<p><a href="-k-date-form-control/index.html">KDateFormControl</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">KDateFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-form-control/index.html"><span class="identifier">FormControl</span></a></code>
+<p>Base interface of a form control with a date value.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-k-files-form-control/index.html">KFilesFormControl</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">KFilesFormControl</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-form-control/index.html"><span class="identifier">FormControl</span></a></code>
+<p>Base interface of a form control with a list of files value.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="-number-form-control/index.html">NumberFormControl</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.form/kotlin.collections.-map/bool.html b/api/pl.treksoft.kvision.form/kotlin.collections.-map/bool.html
deleted file mode 100644
index 2d14417e..00000000
--- a/api/pl.treksoft.kvision.form/kotlin.collections.-map/bool.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>bool - 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">kotlin.collections.Map</a>&nbsp;/&nbsp;<a href="./bool.html">bool</a><br/>
-<br/>
-<h1>bool</h1>
-<a name="pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)"></a>
-<code><span class="keyword">fun </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><span class="identifier">bool</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Boolean.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.form/kotlin.collections.-map/date.html b/api/pl.treksoft.kvision.form/kotlin.collections.-map/date.html
deleted file mode 100644
index 05ac67b9..00000000
--- a/api/pl.treksoft.kvision.form/kotlin.collections.-map/date.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>date - 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">kotlin.collections.Map</a>&nbsp;/&nbsp;<a href="./date.html">date</a><br/>
-<br/>
-<h1>date</h1>
-<a name="pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)"></a>
-<code><span class="keyword">fun </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><span class="identifier">date</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Date.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.form/kotlin.collections.-map/index.html b/api/pl.treksoft.kvision.form/kotlin.collections.-map/index.html
index 0ad5ebe9..bbafa6ba 100644
--- a/api/pl.treksoft.kvision.form/kotlin.collections.-map/index.html
+++ b/api/pl.treksoft.kvision.form/kotlin.collections.-map/index.html
@@ -19,42 +19,6 @@
<p>Extension function to convert Map to JSON.</p>
</td>
</tr>
-<tr>
-<td>
-<p><a href="bool.html">bool</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </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><span class="identifier">bool</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$bool(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Boolean.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="date.html">date</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </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><span class="identifier">date</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$date(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Date.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="number.html">number</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </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><span class="identifier">number</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Number.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="string.html">string</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </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><span class="identifier">string</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a String.</p>
-</td>
-</tr>
</tbody>
</table>
</BODY>
diff --git a/api/pl.treksoft.kvision.form/kotlin.collections.-map/number.html b/api/pl.treksoft.kvision.form/kotlin.collections.-map/number.html
deleted file mode 100644
index 6f898d7f..00000000
--- a/api/pl.treksoft.kvision.form/kotlin.collections.-map/number.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>number - 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">kotlin.collections.Map</a>&nbsp;/&nbsp;<a href="./number.html">number</a><br/>
-<br/>
-<h1>number</h1>
-<a name="pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)"></a>
-<code><span class="keyword">fun </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><span class="identifier">number</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$number(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a Number.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.form/kotlin.collections.-map/string.html b/api/pl.treksoft.kvision.form/kotlin.collections.-map/string.html
deleted file mode 100644
index 33bc31c6..00000000
--- a/api/pl.treksoft.kvision.form/kotlin.collections.-map/string.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>string - 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">kotlin.collections.Map</a>&nbsp;/&nbsp;<a href="./string.html">string</a><br/>
-<br/>
-<h1>string</h1>
-<a name="pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.String)"></a>
-<code><span class="keyword">fun </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><span class="identifier">string</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form$string(kotlin.collections.Map((kotlin.String, kotlin.Any)), 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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
-<p>Returns given value from the map as a String.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/-init-.html b/api/pl.treksoft.kvision.html/-canvas/-init-.html
new file mode 100644
index 00000000..7cae50d1
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/-init-.html
@@ -0,0 +1,23 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.<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">Canvas</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.html.Canvas$&lt;init&gt;(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="identifier">Canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/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></code>
+<h3>Parameters</h3>
+<p><a name="canvasWidth"></a>
+<code>canvasWidth</code> - the width of the canvas</p>
+<p><a name="canvasHeight"></a>
+<code>canvasHeight</code> - the height of the canvas</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/after-insert.html b/api/pl.treksoft.kvision.html/-canvas/after-insert.html
new file mode 100644
index 00000000..24af2f0d
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/after-insert.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.afterInsert - 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">Canvas</a>&nbsp;/&nbsp;<a href="./after-insert.html">afterInsert</a><br/>
+<br/>
+<h1>afterInsert</h1>
+<a name="pl.treksoft.kvision.html.Canvas$afterInsert(com.github.snabbdom.VNode)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/after-insert.html">Widget.afterInsert</a></p>
+<p>Method called after inserting Snabbdom vnode into the DOM.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/canvas-height.html b/api/pl.treksoft.kvision.html/-canvas/canvas-height.html
new file mode 100644
index 00000000..bccfc42d
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/canvas-height.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.canvasHeight - 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">Canvas</a>&nbsp;/&nbsp;<a href="./canvas-height.html">canvasHeight</a><br/>
+<br/>
+<h1>canvasHeight</h1>
+<a name="pl.treksoft.kvision.html.Canvas$canvasHeight"></a>
+<code><span class="keyword">var </span><span class="identifier">canvasHeight</span><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></code>
+<p>The height of the canvas.</p>
+<p><strong>Getter</strong><br/>
+<p>The height of the canvas.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The height of the canvas.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/canvas-width.html b/api/pl.treksoft.kvision.html/-canvas/canvas-width.html
new file mode 100644
index 00000000..741c8362
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/canvas-width.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.canvasWidth - 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">Canvas</a>&nbsp;/&nbsp;<a href="./canvas-width.html">canvasWidth</a><br/>
+<br/>
+<h1>canvasWidth</h1>
+<a name="pl.treksoft.kvision.html.Canvas$canvasWidth"></a>
+<code><span class="keyword">var </span><span class="identifier">canvasWidth</span><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></code>
+<p>The width of the canvas.</p>
+<p><strong>Getter</strong><br/>
+<p>The width of the canvas.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The width of the canvas.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/canvas.html b/api/pl.treksoft.kvision.html/-canvas/canvas.html
new file mode 100644
index 00000000..fdc94abf
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/canvas.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.canvas - 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">Canvas</a>&nbsp;/&nbsp;<a href="./canvas.html">canvas</a><br/>
+<br/>
+<h1>canvas</h1>
+<a name="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, 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">canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">Canvas</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">Canvas</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/-canvas/context2-d.html b/api/pl.treksoft.kvision.html/-canvas/context2-d.html
new file mode 100644
index 00000000..9d85da89
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/context2-d.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.context2D - 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">Canvas</a>&nbsp;/&nbsp;<a href="./context2-d.html">context2D</a><br/>
+<br/>
+<h1>context2D</h1>
+<a name="pl.treksoft.kvision.html.Canvas$context2D"></a>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">context2D</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+<p>The canvas rendering context.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/get-sn-attrs.html b/api/pl.treksoft.kvision.html/-canvas/get-sn-attrs.html
new file mode 100644
index 00000000..f4b23558
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/get-sn-attrs.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.getSnAttrs - 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">Canvas</a>&nbsp;/&nbsp;<a href="./get-sn-attrs.html">getSnAttrs</a><br/>
+<br/>
+<h1>getSnAttrs</h1>
+<a name="pl.treksoft.kvision.html.Canvas$getSnAttrs()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/get-sn-attrs.html">Widget.getSnAttrs</a></p>
+<p>Returns list of element attributes in the form of a List.</p>
+<p><strong>Return</strong><br/>
+list of element attributes</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/index.html b/api/pl.treksoft.kvision.html/-canvas/index.html
new file mode 100644
index 00000000..f41dba0b
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/index.html
@@ -0,0 +1,388 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas - 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">Canvas</a><br/>
+<br/>
+<h1>Canvas</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Canvas component.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$<init>(kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)))/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></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="canvas-height.html">canvasHeight</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">canvasHeight</span><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></code>
+<p>The height of the canvas.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="canvas-width.html">canvasWidth</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">canvasWidth</span><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></code>
+<p>The width of the canvas.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="context2-d.html">context2D</a></p>
+</td>
+<td>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">context2D</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+<p>The canvas rendering context.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/draggable.html">draggable</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">draggable</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
+<p>Determines if the current widget is draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">id</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>An ID attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/parent.html">parent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">parent</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">?</span></code>
+<p>Parent of the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/role.html">role</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">role</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>A role attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/title.html">title</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">title</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>A title attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/visible.html">visible</a></p>
+</td>
+<td>
+<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>Visibility state of the current component.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="after-insert.html">afterInsert</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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></code>
+<p>Method called after inserting Snabbdom vnode into the DOM.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-sn-attrs.html">getSnAttrs</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of element attributes in the form of a List.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-css-class.html">addCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addCssClass(kotlin.String)/css">css</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.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-surrounding-css-class.html">addSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addSurroundingCssClass(kotlin.String)/css">css</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.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-create.html">afterCreate</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterCreate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterCreate(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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></code>
+<p>Method called after creating Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-destroy.html">afterDestroy</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterDestroy</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></code>
+<p>Method called after destroying Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-postpatch.html">afterPostpatch</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterPostpatch</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterPostpatch(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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></code>
+<p>Method called after updating Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/clear-drag-drop-data.html">clearDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearDragDropData</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></code>
+<p>Clears D&D data for the current widget. It also makes it not draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element.html">getElement</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElement</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html"><span class="identifier">Node</span></a><span class="symbol">?</span></code>
+<p>Returns DOM element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query.html">getElementJQuery</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQuery</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">JQuery</span><span class="symbol">?</span></code>
+<p>Returns JQuery element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query-d.html">getElementJQueryD</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQueryD</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="keyword">dynamic</span></code>
+<p>Returns JQuery element bound to the current component as a <em>dynamic</em> type.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/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>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-hooks.html">getSnHooks</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnHooks</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Hooks</span><span class="symbol">?</span></code>
+<p>Returns list of hooks in the form of a Snabbdom <em>Hooks</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-on.html">getSnOn</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnOn</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">On</span><span class="symbol">?</span></code>
+<p>Returns list of event handlers in the form of a Snabbdom <em>On</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/hide.html">hide</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget invisible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-css-class.html">removeCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeCssClass(kotlin.String)/css">css</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.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-event-listeners.html">removeEventListeners</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeEventListeners</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes all event listeners from current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-surrounding-css-class.html">removeSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeSurroundingCssClass(kotlin.String)/css">css</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.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/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="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String)/elementName">elementName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/elementName">elementName</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.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</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>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-context-menu.html">setContextMenu</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setContextMenu</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setContextMenu(pl.treksoft.kvision.dropdown.ContextMenu)/contextMenu">contextMenu</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets context menu for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drag-drop-data.html">setDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDragDropData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDragDropData(kotlin.String, kotlin.String)/format">format</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.core.Widget$setDragDropData(kotlin.String, kotlin.String)/data">data</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/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets D&D data for the current widget. It also makes it draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target.html">setDropTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/format">format</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.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/formats">formats</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target-data.html">setDropTargetData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTargetData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/format">format</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.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<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><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target with helper callback accepting String data.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html">setEventListener</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget.setEventListener.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html#T"><span class="identifier">T</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><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget, keeping the actual type of component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</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><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/show.html">show</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">show</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget visible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/toggle-visible.html">toggleVisible</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">toggleVisible</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Toggles visibility of current widget.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="canvas.html">canvas</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">canvas</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasWidth">canvasWidth</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/canvasHeight">canvasHeight</span><span class="symbol">:</span>&nbsp;<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">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Canvas.Companion$canvas(pl.treksoft.kvision.core.Container, kotlin.Int, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Canvas, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Canvas</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">Canvas</span></a></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-canvas/render.html b/api/pl.treksoft.kvision.html/-canvas/render.html
new file mode 100644
index 00000000..8aea9910
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-canvas/render.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Canvas.render - 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">Canvas</a>&nbsp;/&nbsp;<a href="./render.html">render</a><br/>
+<br/>
+<h1>render</h1>
+<a name="pl.treksoft.kvision.html.Canvas$render()"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/render.html">Widget.render</a></p>
+<p>Renders current component as a Snabbdom vnode.</p>
+<p><strong>Return</strong><br/>
+Snabbdom vnode</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-div/-init-.html b/api/pl.treksoft.kvision.html/-div/-init-.html
index 6eaa6fd7..6eaaec1b 100644
--- a/api/pl.treksoft.kvision.html/-div/-init-.html
+++ b/api/pl.treksoft.kvision.html/-div/-init-.html
@@ -14,7 +14,7 @@
<p><a name="content"></a>
<code>content</code> - element text</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.html.Div$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Div, kotlin.Unit)))/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../-tag/content.html">content</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - content align</p>
<p><a name="classes"></a>
diff --git a/api/pl.treksoft.kvision.html/-label/-init-.html b/api/pl.treksoft.kvision.html/-label/-init-.html
index a698d4db..5eb3bcc0 100644
--- a/api/pl.treksoft.kvision.html/-label/-init-.html
+++ b/api/pl.treksoft.kvision.html/-label/-init-.html
@@ -14,7 +14,7 @@
<p><a name="content"></a>
<code>content</code> - label text</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.html.Label$<init>(kotlin.String, kotlin.Boolean)/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../-tag/content.html">content</a> can contain HTML code</p>
<p><strong>Constructor</strong><br/>
</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.html/-list-tag/-init-.html b/api/pl.treksoft.kvision.html/-list-tag/-init-.html
index e4b3366f..c9cb10ff 100644
--- a/api/pl.treksoft.kvision.html/-list-tag/-init-.html
+++ b/api/pl.treksoft.kvision.html/-list-tag/-init-.html
@@ -16,7 +16,7 @@
<p><a name="elements"></a>
<code>elements</code> - optional list of elements</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.html.ListTag$<init>(pl.treksoft.kvision.html.ListType, kotlin.collections.List((kotlin.String)), kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.ListTag, kotlin.Unit)))/elements">elements</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="elements.html">elements</a> can contain HTML code</p>
<p><a name="classes"></a>
<code>classes</code> - a set of CSS class names</p>
<p><a name="init"></a>
diff --git a/api/pl.treksoft.kvision.html/-tag/-init-.html b/api/pl.treksoft.kvision.html/-tag/-init-.html
index a856589d..7f16b90e 100644
--- a/api/pl.treksoft.kvision.html/-tag/-init-.html
+++ b/api/pl.treksoft.kvision.html/-tag/-init-.html
@@ -16,7 +16,7 @@
<p><a name="content"></a>
<code>content</code> - content text of the tag</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.html.Tag$<init>(pl.treksoft.kvision.html.TAG, kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Tag, kotlin.Unit)))/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="content.html">content</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - content align</p>
<p><a name="classes"></a>
diff --git a/api/pl.treksoft.kvision.html/index.html b/api/pl.treksoft.kvision.html/index.html
index 38eea860..01b678e5 100644
--- a/api/pl.treksoft.kvision.html/index.html
+++ b/api/pl.treksoft.kvision.html/index.html
@@ -60,6 +60,15 @@ Support for Handlebars.js templates is included.</p>
</tr>
<tr>
<td>
+<p><a href="-canvas/index.html">Canvas</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Canvas component.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="-div/index.html">Div</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.modal/-alert/-init-.html b/api/pl.treksoft.kvision.modal/-alert/-init-.html
index 28dffea4..ac6a287a 100644
--- a/api/pl.treksoft.kvision.modal/-alert/-init-.html
+++ b/api/pl.treksoft.kvision.modal/-alert/-init-.html
@@ -16,7 +16,7 @@
<p><a name="text"></a>
<code>text</code> - window content text.</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.modal.Alert$<init>(kotlin.String, kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Function0((kotlin.Unit)))/text">text</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="text.html">text</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - text align</p>
<p><a name="size"></a>
diff --git a/api/pl.treksoft.kvision.modal/-confirm/-init-.html b/api/pl.treksoft.kvision.modal/-confirm/-init-.html
index 9bbfd601..7bd88a52 100644
--- a/api/pl.treksoft.kvision.modal/-confirm/-init-.html
+++ b/api/pl.treksoft.kvision.modal/-confirm/-init-.html
@@ -16,7 +16,7 @@
<p><a name="text"></a>
<code>text</code> - window content text.</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.modal.Confirm$<init>(kotlin.String, kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.Function0((kotlin.Unit)), kotlin.Function0((kotlin.Unit)))/text">text</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="text.html">text</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - text align</p>
<p><a name="size"></a>
diff --git a/api/pl.treksoft.kvision.modal/-dialog/-init-.html b/api/pl.treksoft.kvision.modal/-dialog/-init-.html
new file mode 100644
index 00000000..e7ae6cae
--- /dev/null
+++ b/api/pl.treksoft.kvision.modal/-dialog/-init-.html
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Dialog.<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.modal</a>&nbsp;/&nbsp;<a href="index.html">Dialog</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.modal.Dialog$&lt;init&gt;(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))"></a>
+<code><span class="identifier">Dialog</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/caption">caption</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/closeButton">closeButton</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/size">size</span><span class="symbol">:</span>&nbsp;<a href="../-modal-size/index.html"><span class="identifier">ModalSize</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/animation">animation</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/escape">escape</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">Dialog</span></a><span class="symbol">&lt;</span><a href="index.html#R"><span class="identifier">R</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>
+<h3>Parameters</h3>
+<p><a name="caption"></a>
+<code>caption</code> - window title</p>
+<p><a name="closeButton"></a>
+<code>closeButton</code> - determines if Close button is visible</p>
+<p><a name="size"></a>
+<code>size</code> - modal window size</p>
+<p><a name="animation"></a>
+<code>animation</code> - determines if animations are used</p>
+<p><a name="escape"></a>
+<code>escape</code> - determines if dialog can be closed with Esc key</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.modal/-dialog/get-result.html b/api/pl.treksoft.kvision.modal/-dialog/get-result.html
new file mode 100644
index 00000000..0c28a36f
--- /dev/null
+++ b/api/pl.treksoft.kvision.modal/-dialog/get-result.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Dialog.getResult - 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.modal</a>&nbsp;/&nbsp;<a href="index.html">Dialog</a>&nbsp;/&nbsp;<a href="./get-result.html">getResult</a><br/>
+<br/>
+<h1>getResult</h1>
+<a name="pl.treksoft.kvision.modal.Dialog$getResult()"></a>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getResult</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#R"><span class="identifier">R</span></a><span class="symbol">?</span></code>
+<p>A suspending function returning result value.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.modal/-dialog/hide.html b/api/pl.treksoft.kvision.modal/-dialog/hide.html
new file mode 100644
index 00000000..1fe643eb
--- /dev/null
+++ b/api/pl.treksoft.kvision.modal/-dialog/hide.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Dialog.hide - 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.modal</a>&nbsp;/&nbsp;<a href="index.html">Dialog</a>&nbsp;/&nbsp;<a href="./hide.html">hide</a><br/>
+<br/>
+<h1>hide</h1>
+<a name="pl.treksoft.kvision.modal.Dialog$hide()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Overrides <a href="../-modal/hide.html">Modal.hide</a></p>
+<p>Makes current widget invisible.</p>
+<p><strong>Return</strong><br/>
+current widget</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.modal/-dialog/index.html b/api/pl.treksoft.kvision.modal/-dialog/index.html
new file mode 100644
index 00000000..0799f65e
--- /dev/null
+++ b/api/pl.treksoft.kvision.modal/-dialog/index.html
@@ -0,0 +1,212 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Dialog - 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.modal</a>&nbsp;/&nbsp;<a href="./index.html">Dialog</a><br/>
+<br/>
+<h1>Dialog</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Dialog</span><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-modal/index.html"><span class="identifier">Modal</span></a></code>
+<p>Modal window with a result.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Dialog</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/caption">caption</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/closeButton">closeButton</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/size">size</span><span class="symbol">:</span>&nbsp;<a href="../-modal-size/index.html"><span class="identifier">ModalSize</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/animation">animation</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/escape">escape</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;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.modal.ModalSize, kotlin.Boolean, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.modal.Dialog((pl.treksoft.kvision.modal.Dialog.R)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Dialog</span></a><span class="symbol">&lt;</span><a href="index.html#R"><span class="identifier">R</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></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-modal/animation.html">animation</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">animation</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 animations are used.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/caption.html">caption</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">caption</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>Window caption text.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/close-button.html">closeButton</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">closeButton</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 Close button is visible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/size.html">size</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../-modal-size/index.html"><span class="identifier">ModalSize</span></a><span class="symbol">?</span></code>
+<p>Window size.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-result.html">getResult</a></p>
+</td>
+<td>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">getResult</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#R"><span class="identifier">R</span></a><span class="symbol">?</span></code>
+<p>A suspending function returning result value.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="hide.html">hide</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget invisible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="set-result.html">setResult</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setResult</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$setResult(pl.treksoft.kvision.modal.Dialog.R)/result">result</span><span class="symbol">:</span>&nbsp;<a href="index.html#R"><span class="identifier">R</span></a><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></code>
+<p>A function to be called with a result value.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-modal/add.html">add</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Modal$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.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/add-all.html">addAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Modal$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.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/add-button.html">addButton</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addButton</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Modal$addButton(pl.treksoft.kvision.html.Button)/button">button</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-button/index.html"><span class="identifier">Button</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../-modal/index.html"><span class="identifier">Modal</span></a></code>
+<p>Adds given button to the bottom section of dialog window.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/after-insert.html">afterInsert</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Modal$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</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></code>
+<p>Method called after inserting Snabbdom vnode into the DOM.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/get-children.html">getChildren</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <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></code>
+<p>Returns a list of children of the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/get-sn-attrs.html">getSnAttrs</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</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-pair.html"><span class="identifier">StringPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of element attributes in the form of a List.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/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>
+<tr>
+<td>
+<p><a href="../-modal/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.modal.Modal$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.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><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.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/remove-all-buttons.html">removeAllButtons</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAllButtons</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-modal/index.html"><span class="identifier">Modal</span></a></code>
+<p>Removes all buttons from the bottom section of dialog window.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/remove-button.html">removeButton</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeButton</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Modal$removeButton(pl.treksoft.kvision.html.Button)/button">button</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-button/index.html"><span class="identifier">Button</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../-modal/index.html"><span class="identifier">Modal</span></a></code>
+<p>Removes given button from the bottom section of dialog window.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-modal/toggle.html">toggle</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">toggle</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></code>
+<p>Toggle modal window visibility.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.modal/-dialog/set-result.html b/api/pl.treksoft.kvision.modal/-dialog/set-result.html
new file mode 100644
index 00000000..d7d7f9b4
--- /dev/null
+++ b/api/pl.treksoft.kvision.modal/-dialog/set-result.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Dialog.setResult - 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.modal</a>&nbsp;/&nbsp;<a href="index.html">Dialog</a>&nbsp;/&nbsp;<a href="./set-result.html">setResult</a><br/>
+<br/>
+<h1>setResult</h1>
+<a name="pl.treksoft.kvision.modal.Dialog$setResult(pl.treksoft.kvision.modal.Dialog.R)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setResult</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.modal.Dialog$setResult(pl.treksoft.kvision.modal.Dialog.R)/result">result</span><span class="symbol">:</span>&nbsp;<a href="index.html#R"><span class="identifier">R</span></a><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></code>
+<p>A function to be called with a result value.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.modal/-modal/index.html b/api/pl.treksoft.kvision.modal/-modal/index.html
index 4645b38f..ece4c8fb 100644
--- a/api/pl.treksoft.kvision.modal/-modal/index.html
+++ b/api/pl.treksoft.kvision.modal/-modal/index.html
@@ -238,6 +238,15 @@
<p>Confirm window based on Bootstrap modal.</p>
</td>
</tr>
+<tr>
+<td>
+<p><a href="../-dialog/index.html">Dialog</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Dialog</span><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Modal</span></a></code>
+<p>Modal window with a result.</p>
+</td>
+</tr>
</tbody>
</table>
</BODY>
diff --git a/api/pl.treksoft.kvision.modal/index.html b/api/pl.treksoft.kvision.modal/index.html
index e2db9d36..1c66e42d 100644
--- a/api/pl.treksoft.kvision.modal/index.html
+++ b/api/pl.treksoft.kvision.modal/index.html
@@ -41,6 +41,15 @@
</tr>
<tr>
<td>
+<p><a href="-dialog/index.html">Dialog</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Dialog</span><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-modal/index.html"><span class="identifier">Modal</span></a></code>
+<p>Modal window with a result.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="-modal/index.html">Modal</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.panel/-simple-panel/index.html b/api/pl.treksoft.kvision.panel/-simple-panel/index.html
index 6c3b3383..2aeb89f8 100644
--- a/api/pl.treksoft.kvision.panel/-simple-panel/index.html
+++ b/api/pl.treksoft.kvision.panel/-simple-panel/index.html
@@ -459,7 +459,7 @@
<p><a href="../../pl.treksoft.kvision.form.time/-date-time/index.html">DateTime</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-k-date-form-control/index.html"><span class="identifier">KDateFormControl</span></a></code>
<p>Form field date/time chooser component.</p>
</td>
</tr>
@@ -495,7 +495,7 @@
<p><a href="../../pl.treksoft.kvision.form/-form-panel/index.html">FormPanel</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
<p>Bootstrap form component.</p>
</td>
</tr>
@@ -684,7 +684,7 @@
<p><a href="../../pl.treksoft.kvision.form.upload/-upload/index.html">Upload</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-files-form-control/index.html"><span class="identifier">FilesFormControl</span></a></code>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></code>
<p>The form field file upload component.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.remote/-call-agent/-init-.html b/api/pl.treksoft.kvision.remote/-call-agent/-init-.html
new file mode 100644
index 00000000..2a46f6df
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-call-agent/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$&lt;init&gt;()"></a>
+<code><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>An agent responsible for remote calls.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-call-agent/index.html b/api/pl.treksoft.kvision.remote/-call-agent/index.html
new file mode 100644
index 00000000..041e1ef1
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-call-agent/index.html
@@ -0,0 +1,51 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">CallAgent</a><br/>
+<br/>
+<h1>CallAgent</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></code>
+<p>An agent responsible for remote calls.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>An agent responsible for remote calls.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="json-rpc-call.html">jsonRpcCall</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</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.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</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="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>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</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></code>
+<p>Makes an JSON-RPC call to the remote server.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remote-call.html">remoteCall</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</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.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</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>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><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="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></code>
+<p>Makes a remote call to the remote server.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html b/api/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html
new file mode 100644
index 00000000..2a0e976c
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.jsonRpcCall - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./json-rpc-call.html">jsonRpcCall</a><br/>
+<br/>
+<h1>jsonRpcCall</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</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.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</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="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>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</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></code>
+<p>Makes an JSON-RPC call to the remote server.</p>
+<h3>Parameters</h3>
+<p><a name="url"></a>
+<code>url</code> - an URL address</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+<p><a name="data"></a>
+<code>data</code> - data to be sent</p>
+<p><strong>Return</strong><br/>
+a promise of the result</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-call-agent/remote-call.html b/api/pl.treksoft.kvision.remote/-call-agent/remote-call.html
new file mode 100644
index 00000000..1da57940
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-call-agent/remote-call.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.remoteCall - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./remote-call.html">remoteCall</a><br/>
+<br/>
+<h1>remoteCall</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</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.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</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>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><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="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></code>
+<p>Makes a remote call to the remote server.</p>
+<h3>Parameters</h3>
+<p><a name="url"></a>
+<code>url</code> - an URL address</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+<p><a name="data"></a>
+<code>data</code> - data to be sent</p>
+<p><strong>Return</strong><br/>
+a promise of the result</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-credentials/-init-.html b/api/pl.treksoft.kvision.remote/-credentials/-init-.html
new file mode 100644
index 00000000..c80a8be6
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-credentials/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$&lt;init&gt;(kotlin.String, kotlin.String)"></a>
+<code><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Username and password credentials.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-credentials/index.html b/api/pl.treksoft.kvision.remote/-credentials/index.html
new file mode 100644
index 00000000..b61a5ce3
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-credentials/index.html
@@ -0,0 +1,47 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">Credentials</a><br/>
+<br/>
+<h1>Credentials</h1>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></code>
+<p>Username and password credentials.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Username and password credentials.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="password.html">password</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">password</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="username.html">username</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">username</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></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-credentials/password.html b/api/pl.treksoft.kvision.remote/-credentials/password.html
new file mode 100644
index 00000000..64b737c4
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-credentials/password.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.password - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./password.html">password</a><br/>
+<br/>
+<h1>password</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$password"></a>
+<code><span class="keyword">val </span><span class="identifier">password</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-credentials/username.html b/api/pl.treksoft.kvision.remote/-credentials/username.html
new file mode 100644
index 00000000..e86f56dc
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-credentials/username.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.username - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./username.html">username</a><br/>
+<br/>
+<h1>username</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$username"></a>
+<code><span class="keyword">val </span><span class="identifier">username</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html b/api/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html
new file mode 100644
index 00000000..8e481bac
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HTTP_UNAUTHORIZED - 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.remote</a>&nbsp;/&nbsp;<a href="./-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html">HTTP_UNAUTHORIZED</a><br/>
+<br/>
+<h1>HTTP_UNAUTHORIZED</h1>
+<a name="pl.treksoft.kvision.remote$HTTP_UNAUTHORIZED"></a>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">HTTP_UNAUTHORIZED</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>HTTP status unauthorized (401).</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-jooby-server/-init-.html b/api/pl.treksoft.kvision.remote/-jooby-server/-init-.html
new file mode 100644
index 00000000..8882ce87
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-jooby-server/-init-.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServer.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServer</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServer$&lt;init&gt;()"></a>
+<code><span class="identifier">JoobyServer</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>A Jooby based server.
+Not used on the js platform.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-jooby-server/index.html b/api/pl.treksoft.kvision.remote/-jooby-server/index.html
new file mode 100644
index 00000000..f02ed51b
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-jooby-server/index.html
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServer - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">JoobyServer</a><br/>
+<br/>
+<h1>JoobyServer</h1>
+<code><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">JoobyServer</span></code>
+<p>A Jooby based server.
+Not used on the js platform.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">JoobyServer</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>A Jooby based server.
+Not used on the js platform.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-login-service/-init-.html b/api/pl.treksoft.kvision.remote/-login-service/-init-.html
new file mode 100644
index 00000000..fc85eeab
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-login-service/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$&lt;init&gt;()"></a>
+<code><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-login-service/index.html b/api/pl.treksoft.kvision.remote/-login-service/index.html
new file mode 100644
index 00000000..baf94f91
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-login-service/index.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">LoginService</a><br/>
+<br/>
+<h1>LoginService</h1>
+<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
+<p>Pac4j form login dispatcher.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="login-agent.html">loginAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="login.html">login</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="../-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code>
+<p>Login with Pac4j FormClient.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-login-service/login-agent.html b/api/pl.treksoft.kvision.remote/-login-service/login-agent.html
new file mode 100644
index 00000000..35b8de93
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-login-service/login-agent.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.loginAgent - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./login-agent.html">loginAgent</a><br/>
+<br/>
+<h1>loginAgent</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$loginAgent"></a>
+<code><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-login-service/login.html b/api/pl.treksoft.kvision.remote/-login-service/login.html
new file mode 100644
index 00000000..fbb6574b
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-login-service/login.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.login - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./login.html">login</a><br/>
+<br/>
+<h1>login</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)"></a>
+<code><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="../-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code>
+<p>Login with Pac4j FormClient.</p>
+<h3>Parameters</h3>
+<p><a name="credentials"></a>
+<code>credentials</code> - username and password credentials</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/-init-.html b/api/pl.treksoft.kvision.remote/-profile/-init-.html
new file mode 100644
index 00000000..32fe9299
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.Profile$&lt;init&gt;(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)"></a>
+<code><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</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.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>A user profile.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/attributes.html b/api/pl.treksoft.kvision.remote/-profile/attributes.html
new file mode 100644
index 00000000..a961a203
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/attributes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.attributes - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./attributes.html">attributes</a><br/>
+<br/>
+<h1>attributes</h1>
+<a name="pl.treksoft.kvision.remote.Profile$attributes"></a>
+<code><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/authentication-attributes.html b/api/pl.treksoft.kvision.remote/-profile/authentication-attributes.html
new file mode 100644
index 00000000..9818429f
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/authentication-attributes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.authenticationAttributes - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./authentication-attributes.html">authenticationAttributes</a><br/>
+<br/>
+<h1>authenticationAttributes</h1>
+<a name="pl.treksoft.kvision.remote.Profile$authenticationAttributes"></a>
+<code><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/client-name.html b/api/pl.treksoft.kvision.remote/-profile/client-name.html
new file mode 100644
index 00000000..8fcaeabb
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/client-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.clientName - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./client-name.html">clientName</a><br/>
+<br/>
+<h1>clientName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$clientName"></a>
+<code><span class="keyword">val </span><span class="identifier">clientName</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/display-name.html b/api/pl.treksoft.kvision.remote/-profile/display-name.html
new file mode 100644
index 00000000..7fc7028c
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/display-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.displayName - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./display-name.html">displayName</a><br/>
+<br/>
+<h1>displayName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$displayName"></a>
+<code><span class="keyword">var </span><span class="identifier">displayName</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/email.html b/api/pl.treksoft.kvision.remote/-profile/email.html
new file mode 100644
index 00000000..440142dc
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/email.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.email - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./email.html">email</a><br/>
+<br/>
+<h1>email</h1>
+<a name="pl.treksoft.kvision.remote.Profile$email"></a>
+<code><span class="keyword">var </span><span class="identifier">email</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/family-name.html b/api/pl.treksoft.kvision.remote/-profile/family-name.html
new file mode 100644
index 00000000..36216c4f
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/family-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.familyName - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./family-name.html">familyName</a><br/>
+<br/>
+<h1>familyName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$familyName"></a>
+<code><span class="keyword">var </span><span class="identifier">familyName</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/first-name.html b/api/pl.treksoft.kvision.remote/-profile/first-name.html
new file mode 100644
index 00000000..1a9c512f
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/first-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.firstName - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./first-name.html">firstName</a><br/>
+<br/>
+<h1>firstName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$firstName"></a>
+<code><span class="keyword">var </span><span class="identifier">firstName</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/id.html b/api/pl.treksoft.kvision.remote/-profile/id.html
new file mode 100644
index 00000000..eb3cf24e
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.id - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./id.html">id</a><br/>
+<br/>
+<h1>id</h1>
+<a name="pl.treksoft.kvision.remote.Profile$id"></a>
+<code><span class="keyword">val </span><span class="identifier">id</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/index.html b/api/pl.treksoft.kvision.remote/-profile/index.html
new file mode 100644
index 00000000..094e9a9c
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/index.html
@@ -0,0 +1,138 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">Profile</a><br/>
+<br/>
+<h1>Profile</h1>
+<code><span class="keyword">data</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">Profile</span></code>
+<p>A user profile.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</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.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="attributes.html">attributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="authentication-attributes.html">authenticationAttributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="client-name.html">clientName</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">clientName</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="display-name.html">displayName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">displayName</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="email.html">email</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">email</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="family-name.html">familyName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">familyName</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="first-name.html">firstName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">firstName</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">id</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="linked-id.html">linkedId</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">linkedId</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="permissions.html">permissions</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="picture-url.html">pictureUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">pictureUrl</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="profile-url.html">profileUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">profileUrl</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="remembered.html">remembered</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">remembered</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>
+</tr>
+<tr>
+<td>
+<p><a href="roles.html">roles</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="username.html">username</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">username</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></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/linked-id.html b/api/pl.treksoft.kvision.remote/-profile/linked-id.html
new file mode 100644
index 00000000..4a128bdf
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/linked-id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.linkedId - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./linked-id.html">linkedId</a><br/>
+<br/>
+<h1>linkedId</h1>
+<a name="pl.treksoft.kvision.remote.Profile$linkedId"></a>
+<code><span class="keyword">val </span><span class="identifier">linkedId</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/permissions.html b/api/pl.treksoft.kvision.remote/-profile/permissions.html
new file mode 100644
index 00000000..29e8e0ae
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/permissions.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.permissions - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./permissions.html">permissions</a><br/>
+<br/>
+<h1>permissions</h1>
+<a name="pl.treksoft.kvision.remote.Profile$permissions"></a>
+<code><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/picture-url.html b/api/pl.treksoft.kvision.remote/-profile/picture-url.html
new file mode 100644
index 00000000..61d0a888
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/picture-url.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.pictureUrl - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./picture-url.html">pictureUrl</a><br/>
+<br/>
+<h1>pictureUrl</h1>
+<a name="pl.treksoft.kvision.remote.Profile$pictureUrl"></a>
+<code><span class="keyword">var </span><span class="identifier">pictureUrl</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/profile-url.html b/api/pl.treksoft.kvision.remote/-profile/profile-url.html
new file mode 100644
index 00000000..133840d4
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/profile-url.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.profileUrl - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./profile-url.html">profileUrl</a><br/>
+<br/>
+<h1>profileUrl</h1>
+<a name="pl.treksoft.kvision.remote.Profile$profileUrl"></a>
+<code><span class="keyword">var </span><span class="identifier">profileUrl</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/remembered.html b/api/pl.treksoft.kvision.remote/-profile/remembered.html
new file mode 100644
index 00000000..d81f1fd8
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/remembered.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.remembered - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./remembered.html">remembered</a><br/>
+<br/>
+<h1>remembered</h1>
+<a name="pl.treksoft.kvision.remote.Profile$remembered"></a>
+<code><span class="keyword">val </span><span class="identifier">remembered</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/roles.html b/api/pl.treksoft.kvision.remote/-profile/roles.html
new file mode 100644
index 00000000..8c7ca120
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/roles.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.roles - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./roles.html">roles</a><br/>
+<br/>
+<h1>roles</h1>
+<a name="pl.treksoft.kvision.remote.Profile$roles"></a>
+<code><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</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></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-profile/username.html b/api/pl.treksoft.kvision.remote/-profile/username.html
new file mode 100644
index 00000000..a0ab4a54
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-profile/username.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.username - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">Profile</a>&nbsp;/&nbsp;<a href="./username.html">username</a><br/>
+<br/>
+<h1>username</h1>
+<a name="pl.treksoft.kvision.remote.Profile$username"></a>
+<code><span class="keyword">var </span><span class="identifier">username</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-remote-agent/-init-.html b/api/pl.treksoft.kvision.remote/-remote-agent/-init-.html
new file mode 100644
index 00000000..8fdf9464
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-remote-agent/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">RemoteAgent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$&lt;init&gt;(pl.treksoft.kvision.remote.ServiceManager((pl.treksoft.kvision.remote.RemoteAgent.T)))"></a>
+<code><span class="identifier">RemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$<init>(pl.treksoft.kvision.remote.ServiceManager((pl.treksoft.kvision.remote.RemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-remote-agent/call-agent.html b/api/pl.treksoft.kvision.remote/-remote-agent/call-agent.html
new file mode 100644
index 00000000..461d2166
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-remote-agent/call-agent.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent.callAgent - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">RemoteAgent</a>&nbsp;/&nbsp;<a href="./call-agent.html">callAgent</a><br/>
+<br/>
+<h1>callAgent</h1>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$callAgent"></a>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-remote-agent/call.html b/api/pl.treksoft.kvision.remote/-remote-agent/call.html
new file mode 100644
index 00000000..cbb50e19
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-remote-agent/call.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent.call - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">RemoteAgent</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
+<br/>
+<h1>call</h1>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-remote-agent/index.html b/api/pl.treksoft.kvision.remote/-remote-agent/index.html
new file mode 100644
index 00000000..c788a33d
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-remote-agent/index.html
@@ -0,0 +1,72 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">RemoteAgent</a><br/>
+<br/>
+<h1>RemoteAgent</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RemoteAgent</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Client side agent for JSON-RPC remote calls.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">RemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$<init>(pl.treksoft.kvision.remote.ServiceManager((pl.treksoft.kvision.remote.RemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call-agent.html">callAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="service-manager.html">serviceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call.html">call</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer1">serializer1</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR1"><span class="identifier">PAR1</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer2">serializer2</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR2"><span class="identifier">PAR2</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer3">serializer3</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR3"><span class="identifier">PAR3</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer4">serializer4</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR4"><span class="identifier">PAR4</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.remote.RemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.RemoteAgent.call.T, pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.RemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.RemoteAgent.call.PAR1, pl.treksoft.kvision.remote.RemoteAgent.call.PAR2, pl.treksoft.kvision.remote.RemoteAgent.call.PAR3, pl.treksoft.kvision.remote.RemoteAgent.call.PAR4, pl.treksoft.kvision.remote.RemoteAgent.call.PAR5, kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR1)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR2)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR3)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR4)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.remote.RemoteAgent.call.PAR5)))/serializer5">serializer5</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</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="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-remote-agent/service-manager.html b/api/pl.treksoft.kvision.remote/-remote-agent/service-manager.html
new file mode 100644
index 00000000..00b9f66b
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-remote-agent/service-manager.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent.serviceManager - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">RemoteAgent</a>&nbsp;/&nbsp;<a href="./service-manager.html">serviceManager</a><br/>
+<br/>
+<h1>serviceManager</h1>
+<a name="pl.treksoft.kvision.remote.RemoteAgent$serviceManager"></a>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-request.html b/api/pl.treksoft.kvision.remote/-request.html
new file mode 100644
index 00000000..a80d9917
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-request.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Request - 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.remote</a>&nbsp;/&nbsp;<a href="./-request.html">Request</a><br/>
+<br/>
+<h1>Request</h1>
+<code><span class="keyword">actual</span> <span class="keyword">interface </span><span class="identifier">Request</span></code>
+<p>A server request.
+Not used on the js platform.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-exception/-init-.html b/api/pl.treksoft.kvision.remote/-security-exception/-init-.html
new file mode 100644
index 00000000..d959cf47
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-exception/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityException.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityException</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SecurityException$&lt;init&gt;(kotlin.String)"></a>
+<code><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</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>
+<p>A security exception.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-exception/index.html b/api/pl.treksoft.kvision.remote/-security-exception/index.html
new file mode 100644
index 00000000..49182894
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-exception/index.html
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityException - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">SecurityException</a><br/>
+<br/>
+<h1>SecurityException</h1>
+<code><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</span></a></code>
+<p>A security exception.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</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>
+<p>A security exception.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/-init-.html b/api/pl.treksoft.kvision.remote/-security-mgr/-init-.html
new file mode 100644
index 00000000..4e31e55d
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$&lt;init&gt;()"></a>
+<code><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/after-error.html b/api/pl.treksoft.kvision.remote/-security-mgr/after-error.html
new file mode 100644
index 00000000..68c357da
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/after-error.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.afterError - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./after-error.html">afterError</a><br/>
+<br/>
+<h1>afterError</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$afterError()"></a>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</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></code>
+<p>Method called after error.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/after-login.html b/api/pl.treksoft.kvision.remote/-security-mgr/after-login.html
new file mode 100644
index 00000000..f018290f
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/after-login.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.afterLogin - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./after-login.html">afterLogin</a><br/>
+<br/>
+<h1>afterLogin</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$afterLogin()"></a>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</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></code>
+<p>Method called after successful login.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/index.html b/api/pl.treksoft.kvision.remote/-security-mgr/index.html
new file mode 100644
index 00000000..2c1b3d96
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/index.html
@@ -0,0 +1,69 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">SecurityMgr</a><br/>
+<br/>
+<h1>SecurityMgr</h1>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></code>
+<p>Pac4j form login dispatcher.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="after-error.html">afterError</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</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></code>
+<p>Method called after error.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="after-login.html">afterLogin</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</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></code>
+<p>Method called after successful login.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="login.html">login</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</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></code>
+<p>Login user.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="with-auth.html">withAuth</a></p>
+</td>
+<td>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="with-auth.html#T"><span class="identifier">T</span></a></code>
+<p>Executes given block of code after successful authentication.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/login.html b/api/pl.treksoft.kvision.remote/-security-mgr/login.html
new file mode 100644
index 00000000..a859fdd1
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/login.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.login - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./login.html">login</a><br/>
+<br/>
+<h1>login</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$login()"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</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></code>
+<p>Login user.</p>
+<h3>Exceptions</h3>
+<p><a name="SecurityException"></a>
+<code>SecurityException</code> - if login is not successful</p>
+<p><strong>Return</strong><br/>
+true if login is successful</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-security-mgr/with-auth.html b/api/pl.treksoft.kvision.remote/-security-mgr/with-auth.html
new file mode 100644
index 00000000..cf76923e
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-security-mgr/with-auth.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.withAuth - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./with-auth.html">withAuth</a><br/>
+<br/>
+<h1>withAuth</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))"></a>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="with-auth.html#T"><span class="identifier">T</span></a></code>
+<p>Executes given block of code after successful authentication.</p>
+<h3>Parameters</h3>
+<p><a name="block"></a>
+<code>block</code> - a block of code</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/-init-.html b/api/pl.treksoft.kvision.remote/-service-manager/-init-.html
new file mode 100644
index 00000000..bf9fee57
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.<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.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$&lt;init&gt;(pl.treksoft.kvision.remote.ServiceManager.T)"></a>
+<code><span class="identifier">ServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$<init>(pl.treksoft.kvision.remote.ServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></code>
+<p>Multiplatform service manager.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/apply-routes.html b/api/pl.treksoft.kvision.remote/-service-manager/apply-routes.html
new file mode 100644
index 00000000..36f7a1e4
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/apply-routes.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.applyRoutes - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./apply-routes.html">applyRoutes</a><br/>
+<br/>
+<h1>applyRoutes</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$applyRoutes(pl.treksoft.kvision.remote.JoobyServer)"></a>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$applyRoutes(pl.treksoft.kvision.remote.JoobyServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="../-jooby-server/index.html"><span class="identifier">JoobyServer</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></code>
+<p>Applies all defined routes to the given server.
+Not used on the js platform.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/bind.html b/api/pl.treksoft.kvision.remote/-service-manager/bind.html
new file mode 100644
index 00000000..a8353fa7
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/bind.html
@@ -0,0 +1,34 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.bind - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./bind.html">bind</a><br/>
+<br/>
+<h1>bind</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+<h3>Parameters</h3>
+<p><a name="function"></a>
+<code>function</code> - a function of the receiver</p>
+<p><a name="route"></a>
+<code>route</code> - a route</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+<p><a name="prefix"></a>
+<code>prefix</code> - an URL address prefix</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/calls.html b/api/pl.treksoft.kvision.remote/-service-manager/calls.html
new file mode 100644
index 00000000..4eeea9b5
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/calls.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.calls - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./calls.html">calls</a><br/>
+<br/>
+<h1>calls</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$calls"></a>
+<code><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/counter.html b/api/pl.treksoft.kvision.remote/-service-manager/counter.html
new file mode 100644
index 00000000..183b676d
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/counter.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.counter - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./counter.html">counter</a><br/>
+<br/>
+<h1>counter</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$counter"></a>
+<code><span class="keyword">var </span><span class="identifier">counter</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/get-calls.html b/api/pl.treksoft.kvision.remote/-service-manager/get-calls.html
new file mode 100644
index 00000000..45bbe853
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/get-calls.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.getCalls - 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.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./get-calls.html">getCalls</a><br/>
+<br/>
+<h1>getCalls</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$getCalls()"></a>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-service-manager/index.html b/api/pl.treksoft.kvision.remote/-service-manager/index.html
new file mode 100644
index 00000000..c146b9df
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-service-manager/index.html
@@ -0,0 +1,85 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager - 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.remote</a>&nbsp;/&nbsp;<a href="./index.html">ServiceManager</a><br/>
+<br/>
+<h1>ServiceManager</h1>
+<code><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">ServiceManager</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Multiplatform service manager.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">ServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$<init>(pl.treksoft.kvision.remote.ServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></code>
+<p>Multiplatform service manager.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="calls.html">calls</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="counter.html">counter</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="apply-routes.html">applyRoutes</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$applyRoutes(pl.treksoft.kvision.remote.JoobyServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="../-jooby-server/index.html"><span class="identifier">JoobyServer</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></code>
+<p>Applies all defined routes to the given server.
+Not used on the js platform.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="bind.html">bind</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">RpcHttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.ServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.ServiceManager.T, pl.treksoft.kvision.remote.ServiceManager.bind.PAR1, pl.treksoft.kvision.remote.ServiceManager.bind.PAR2, pl.treksoft.kvision.remote.ServiceManager.bind.PAR3, pl.treksoft.kvision.remote.ServiceManager.bind.PAR4, pl.treksoft.kvision.remote.ServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.experimental.Deferred((pl.treksoft.kvision.remote.ServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String)/prefix">prefix</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/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><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/-pair/index.html"><span class="identifier">Pair</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;<span class="identifier">RpcHttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/index.html b/api/pl.treksoft.kvision.remote/index.html
new file mode 100644
index 00000000..3af6c987
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/index.html
@@ -0,0 +1,129 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.remote - 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.remote</a><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.remote</h2>
+<p>A set of components for creating multiplatform automatic JSON-RPC connectivity with a backend server.</p>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-call-agent/index.html">CallAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></code>
+<p>An agent responsible for remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-credentials/index.html">Credentials</a></p>
+</td>
+<td>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></code>
+<p>Username and password credentials.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-jooby-server/index.html">JoobyServer</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">JoobyServer</span></code>
+<p>A Jooby based server.
+Not used on the js platform.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-login-service/index.html">LoginService</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/index.html">Profile</a></p>
+</td>
+<td>
+<code><span class="keyword">data</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">Profile</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-remote-agent/index.html">RemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RemoteAgent</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Client side agent for JSON-RPC remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-request.html">Request</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">interface </span><span class="identifier">Request</span></code>
+<p>A server request.
+Not used on the js platform.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-security-mgr/index.html">SecurityMgr</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-service-manager/index.html">ServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">actual</span> <span class="keyword">class </span><span class="identifier">ServiceManager</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Multiplatform service manager.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Exceptions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-security-exception/index.html">SecurityException</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</span></a></code>
+<p>A security exception.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html">HTTP_UNAUTHORIZED</a></p>
+</td>
+<td>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">HTTP_UNAUTHORIZED</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>HTTP status unauthorized (401).</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.table/-cell/-init-.html b/api/pl.treksoft.kvision.table/-cell/-init-.html
index e58127ad..5a12998e 100644
--- a/api/pl.treksoft.kvision.table/-cell/-init-.html
+++ b/api/pl.treksoft.kvision.table/-cell/-init-.html
@@ -14,7 +14,7 @@
<p><a name="content"></a>
<code>content</code> - text content of the cell</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.table.Cell$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.table.Cell, kotlin.Unit)))/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../../pl.treksoft.kvision.html/-tag/content.html">content</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - text align</p>
<p><a name="classes"></a>
diff --git a/api/pl.treksoft.kvision.table/-header-cell/-init-.html b/api/pl.treksoft.kvision.table/-header-cell/-init-.html
index 54882542..b534f0ac 100644
--- a/api/pl.treksoft.kvision.table/-header-cell/-init-.html
+++ b/api/pl.treksoft.kvision.table/-header-cell/-init-.html
@@ -14,7 +14,7 @@
<p><a name="content"></a>
<code>content</code> - text content of the cell</p>
<p><a name="rich"></a>
-<code>rich</code> - determines if <a href="-init-.html#pl.treksoft.kvision.table.HeaderCell$<init>(kotlin.String, kotlin.Boolean, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.table.HeaderCell, kotlin.Unit)))/content">content</a> can contain HTML code</p>
+<code>rich</code> - determines if <a href="../../pl.treksoft.kvision.html/-tag/content.html">content</a> can contain HTML code</p>
<p><a name="align"></a>
<code>align</code> - text align</p>
<p><a name="classes"></a>
diff --git a/api/pl.treksoft.kvision.types/-k-d-a-t-e_-f-o-r-m-a-t.html b/api/pl.treksoft.kvision.types/-k-d-a-t-e_-f-o-r-m-a-t.html
new file mode 100644
index 00000000..fa979083
--- /dev/null
+++ b/api/pl.treksoft.kvision.types/-k-d-a-t-e_-f-o-r-m-a-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KDATE_FORMAT - 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.types</a>&nbsp;/&nbsp;<a href="./-k-d-a-t-e_-f-o-r-m-a-t.html">KDATE_FORMAT</a><br/>
+<br/>
+<h1>KDATE_FORMAT</h1>
+<a name="pl.treksoft.kvision.types$KDATE_FORMAT"></a>
+<code><span class="keyword">actual</span> <span class="keyword">val </span><span class="identifier">KDATE_FORMAT</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.types/index.html b/api/pl.treksoft.kvision.types/index.html
new file mode 100644
index 00000000..afc46cd6
--- /dev/null
+++ b/api/pl.treksoft.kvision.types/index.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.types - 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.types</a><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.types</h2>
+<p>Multiplatform type definitions.</p>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-k-d-a-t-e_-f-o-r-m-a-t.html">KDATE_FORMAT</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">val </span><span class="identifier">KDATE_FORMAT</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>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="to-j-s.html">toJS</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">KDate</span><span class="symbol">.</span><span class="identifier">toJS</span><span class="symbol">(</span><span class="symbol">)</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></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.types/to-j-s.html b/api/pl.treksoft.kvision.types/to-j-s.html
new file mode 100644
index 00000000..03a6cd51
--- /dev/null
+++ b/api/pl.treksoft.kvision.types/to-j-s.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>toJS - 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.types</a>&nbsp;/&nbsp;<a href="./to-j-s.html">toJS</a><br/>
+<br/>
+<h1>toJS</h1>
+<a name="pl.treksoft.kvision.types$toJS(pl.treksoft.kvision.types.KDate)"></a>
+<code><span class="keyword">fun </span><span class="identifier">KDate</span><span class="symbol">.</span><span class="identifier">toJS</span><span class="symbol">(</span><span class="symbol">)</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></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html b/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html
new file mode 100644
index 00000000..33599c5b
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/index.html
@@ -0,0 +1,25 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.utils.com.lightningkite.kotlin.observable.list.ObservableList - 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.utils</a>&nbsp;/&nbsp;<a href="./index.html">com.lightningkite.kotlin.observable.list.ObservableList</a><br/>
+<br/>
+<h3>Extensions for com.lightningkite.kotlin.observable.list.ObservableList</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="sync-with-list.html">syncWithList</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</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="sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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></code>
+<p>Utility extension function to synchronise elements of the ObservableList.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html b/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html
new file mode 100644
index 00000000..f71f7592
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/com.lightningkite.kotlin.observable.list.-observable-list/sync-with-list.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>syncWithList - 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.utils</a>&nbsp;/&nbsp;<a href="index.html">com.lightningkite.kotlin.observable.list.ObservableList</a>&nbsp;/&nbsp;<a href="./sync-with-list.html">syncWithList</a><br/>
+<br/>
+<h1>syncWithList</h1>
+<a name="pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</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="sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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></code>
+<p>Utility extension function to synchronise elements of the ObservableList.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/index.html b/api/pl.treksoft.kvision.utils/index.html
index 98602ea1..6de2f3a8 100644
--- a/api/pl.treksoft.kvision.utils/index.html
+++ b/api/pl.treksoft.kvision.utils/index.html
@@ -37,6 +37,13 @@
<tbody>
<tr>
<td>
+<p><a href="com.lightningkite.kotlin.observable.list.-observable-list/index.html">com.lightningkite.kotlin.observable.list.ObservableList</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="kotlin.-int/index.html">kotlin.Int</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-string/index.html b/api/pl.treksoft.kvision.utils/kotlin.-string/index.html
index cbb2e8e8..c5d20cee 100644
--- a/api/pl.treksoft.kvision.utils/kotlin.-string/index.html
+++ b/api/pl.treksoft.kvision.utils/kotlin.-string/index.html
@@ -15,7 +15,7 @@
<p><a href="to-date-f.html">toDateF</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></code>
+<code><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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>Extension function to convert String to Date with a given date format.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html b/api/pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html
index c014aaab..2f5ca8d9 100644
--- a/api/pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html
+++ b/api/pl.treksoft.kvision.utils/kotlin.-string/to-date-f.html
@@ -9,7 +9,7 @@
<br/>
<h1>toDateF</h1>
<a name="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)"></a>
-<code><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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></code>
+<code><span class="keyword">fun </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">.</span><span class="identifier">toDateF</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$toDateF(kotlin.String, kotlin.String)/format">format</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>&nbsp;<span class="symbol">=</span>&nbsp;"YYYY-MM-DD HH:mm:ss"<span class="symbol">)</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>Extension function to convert String to Date with a given date format.</p>
<h3>Parameters</h3>
<p><a name="format"></a>