summaryrefslogtreecommitdiff
path: root/api/kvision/pl.treksoft.kvision.form.upload
diff options
context:
space:
mode:
Diffstat (limited to 'api/kvision/pl.treksoft.kvision.form.upload')
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/-init-.html23
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-destroy.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-insert.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-extensions.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-types.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/blur.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/browse-on-zone-click.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/cancel.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/clear-input.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/disabled.html22
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/focus.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-content.html24
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html20
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-attrs.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-class.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-value-as-string.html17
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/index.html677
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/lock.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/multiple.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/name.html22
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/prefer-iconic-preview.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/render.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/required.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/reset-input.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-browse.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-cancel.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-caption.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-preview.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-remove.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-upload.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/size.html22
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/unlock.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-input.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-url.html24
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload-input/value.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/-init-.html25
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-extensions.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-types.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/blur.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/browse-on-zone-click.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/cancel.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/clear-input.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/drop-zone-enabled.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/explorer-theme.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/flabel.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/focus.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/get-native-file.html20
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/get-sn-class.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/idc.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/index.html470
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/input.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/label.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/lock.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/multiple.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/prefer-iconic-preview.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/remove-event-listeners.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/required.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/reset-input.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/rich.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/set-event-listener.html54
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-browse.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-cancel.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-caption.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-preview.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-remove.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/show-upload.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/unlock.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-url.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/upload.html19
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/validation-info.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/-upload/value.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.form.upload/index.html36
78 files changed, 2535 insertions, 0 deletions
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/-init-.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/-init-.html
new file mode 100644
index 00000000..9ce79234
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/-init-.html
@@ -0,0 +1,23 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.<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.form.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$&lt;init&gt;(kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="identifier">UploadInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$<init>(kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/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$<init>(kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/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$<init>(kotlin.String, kotlin.Boolean, 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="uploadUrl"></a>
+<code>uploadUrl</code> - the optional URL for the upload processing action</p>
+<p><a name="multiple"></a>
+<code>multiple</code> - determines if multiple file upload is supported</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/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-destroy.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-destroy.html
new file mode 100644
index 00000000..0f0e6683
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-destroy.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.afterDestroy - 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="./after-destroy.html">afterDestroy</a><br/>
+<br/>
+<h1>afterDestroy</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$afterDestroy()"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/after-destroy.html">Widget.afterDestroy</a></p>
+<p>Method called after destroying Snabbdom vnode.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-insert.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-insert.html
new file mode 100644
index 00000000..a1587742
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/after-insert.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.form.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./after-insert.html">afterInsert</a><br/>
+<br/>
+<h1>afterInsert</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$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.form.upload.UploadInput$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/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-extensions.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-extensions.html
new file mode 100644
index 00000000..ab3baca7
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-extensions.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.allowedFileExtensions - 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="./allowed-file-extensions.html">allowedFileExtensions</a><br/>
+<br/>
+<h1>allowedFileExtensions</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$allowedFileExtensions"></a>
+<code><span class="keyword">var </span><span class="identifier">allowedFileExtensions</span><span class="symbol">: </span><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></code>
+<p>Allowed file extensions.</p>
+<p><strong>Getter</strong><br/>
+<p>Allowed file extensions.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Allowed file extensions.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-types.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-types.html
new file mode 100644
index 00000000..37963eec
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/allowed-file-types.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.allowedFileTypes - 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="./allowed-file-types.html">allowedFileTypes</a><br/>
+<br/>
+<h1>allowedFileTypes</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$allowedFileTypes"></a>
+<code><span class="keyword">var </span><span class="identifier">allowedFileTypes</span><span class="symbol">: </span><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></code>
+<p>Allowed file types.</p>
+<p><strong>Getter</strong><br/>
+<p>Allowed file types.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Allowed file types.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/blur.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/blur.html
new file mode 100644
index 00000000..1bf38673
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/blur.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.blur - 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="./blur.html">blur</a><br/>
+<br/>
+<h1>blur</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$blur()"></a>
+<code><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></code>
+<p>Makes the input element blur.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/browse-on-zone-click.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/browse-on-zone-click.html
new file mode 100644
index 00000000..6e60de7c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/browse-on-zone-click.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.browseOnZoneClick - 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="./browse-on-zone-click.html">browseOnZoneClick</a><br/>
+<br/>
+<h1>browseOnZoneClick</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$browseOnZoneClick"></a>
+<code><span class="keyword">var </span><span class="identifier">browseOnZoneClick</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 the click on the preview zone opens file browse window.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the click on the preview zone opens file browse window.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the click on the preview zone opens file browse window.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/cancel.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/cancel.html
new file mode 100644
index 00000000..808fd4f6
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/cancel.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.cancel - 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="./cancel.html">cancel</a><br/>
+<br/>
+<h1>cancel</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$cancel()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">cancel</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>Cancel an ongoing ajax upload (only for ajax mode).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/clear-input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/clear-input.html
new file mode 100644
index 00000000..a814b493
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/clear-input.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.clearInput - 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="./clear-input.html">clearInput</a><br/>
+<br/>
+<h1>clearInput</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$clearInput()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearInput</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 the file input control (including the native input).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/disabled.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/disabled.html
new file mode 100644
index 00000000..17d36121
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/disabled.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.disabled - 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="./disabled.html">disabled</a><br/>
+<br/>
+<h1>disabled</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$disabled"></a>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-input/disabled.html">FormInput.disabled</a></p>
+<p>Determines if the field is disabled.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the field is disabled.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the field is disabled.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html
new file mode 100644
index 00000000..b8488a76
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/drop-zone-enabled.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.dropZoneEnabled - 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="./drop-zone-enabled.html">dropZoneEnabled</a><br/>
+<br/>
+<h1>dropZoneEnabled</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$dropZoneEnabled"></a>
+<code><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></code>
+<p>Determines if Drag&Drop zone is enabled.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if Drag&Drop zone is enabled.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if Drag&Drop zone is enabled.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html
new file mode 100644
index 00000000..0b99c0b9
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/explorer-theme.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.explorerTheme - 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="./explorer-theme.html">explorerTheme</a><br/>
+<br/>
+<h1>explorerTheme</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$explorerTheme"></a>
+<code><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></code>
+<p>Determines if the explorer theme is used.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the explorer theme is used.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the explorer theme is used.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/focus.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/focus.html
new file mode 100644
index 00000000..67e0b9d1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/focus.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.focus - 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="./focus.html">focus</a><br/>
+<br/>
+<h1>focus</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$focus()"></a>
+<code><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></code>
+<p>Makes the input element focused.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-content.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-content.html
new file mode 100644
index 00000000..d24d4aed
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-content.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./get-content.html">getContent</a><br/>
+<br/>
+<h1>getContent</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="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.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="get-content.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="get-content.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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</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.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a></code><br/>
+<a name="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="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.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="get-content.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="get-content.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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</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.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a></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/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-native-file.html
new file mode 100644
index 00000000..2061d320
--- /dev/null
+++ b/api/kvision/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;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><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/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-attrs.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-attrs.html
new file mode 100644
index 00000000..022a8470
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-attrs.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.form.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./get-sn-attrs.html">getSnAttrs</a><br/>
+<br/>
+<h1>getSnAttrs</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$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/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-class.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-class.html
new file mode 100644
index 00000000..36ee4361
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-sn-class.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.getSnClass - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./get-sn-class.html">getSnClass</a><br/>
+<br/>
+<h1>getSnClass</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$getSnClass()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/get-sn-class.html">Widget.getSnClass</a></p>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+<p><strong>Return</strong><br/>
+list of CSS class names</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-value-as-string.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-value-as-string.html
new file mode 100644
index 00000000..78e56668
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/get-value-as-string.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
+<br/>
+<h1>getValueAsString</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$getValueAsString()"></a>
+<code><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>Returns the value of the file input control as a String.</p>
+<p><strong>Return</strong><br/>
+value as a String</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/index.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/index.html
new file mode 100644
index 00000000..8d0d91c4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/index.html
@@ -0,0 +1,677 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput - 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><br/>
+<br/>
+<h1>UploadInput</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">UploadInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a></code>
+<p>The file upload 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">UploadInput</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput$<init>(kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/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$<init>(kotlin.String, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/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$<init>(kotlin.String, kotlin.Boolean, 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="allowed-file-extensions.html">allowedFileExtensions</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">allowedFileExtensions</span><span class="symbol">: </span><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></code>
+<p>Allowed file extensions.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="allowed-file-types.html">allowedFileTypes</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">allowedFileTypes</span><span class="symbol">: </span><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></code>
+<p>Allowed file types.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="browse-on-zone-click.html">browseOnZoneClick</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">browseOnZoneClick</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 the click on the preview zone opens file browse window.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="disabled.html">disabled</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Determines if the field is disabled.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="drop-zone-enabled.html">dropZoneEnabled</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Determines if Drag&Drop zone is enabled.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="explorer-theme.html">explorerTheme</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Determines if the explorer theme is used.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="multiple.html">multiple</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">multiple</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 multiple file upload is supported.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="name.html">name</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">name</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>The name attribute of the generated HTML input element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="prefer-iconic-preview.html">preferIconicPreview</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">preferIconicPreview</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 the iconic preview is prefered.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="required.html">required</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">required</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 the input selection is required.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-browse.html">showBrowse</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showBrowse</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 the file browse button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-cancel.html">showCancel</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showCancel</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 the cancel button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-caption.html">showCaption</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showCaption</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 the caption is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-preview.html">showPreview</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showPreview</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 the preview is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-remove.html">showRemove</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showRemove</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 the remove button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-upload.html">showUpload</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showUpload</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 the upload button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="size.html">size</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
+<p>The size of the input (currently not working)</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload-extra-data.html">uploadExtraData</a></p>
+</td>
+<td>
+<code><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></code>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload-url.html">uploadUrl</a></p>
+</td>
+<td>
+<code><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></code>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+</td>
+</tr>
+<tr>
+<td>
+<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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>File input value.</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/event-target.html">eventTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">eventTarget</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">?</span></code></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/last-language.html">lastLanguage</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">lastLanguage</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="../../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/surrounding-span.html">surroundingSpan</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">surroundingSpan</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="../../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-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="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.form.upload.UploadInput$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="blur.html">blur</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Makes the input element blur.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="cancel.html">cancel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">cancel</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>Cancel an ongoing ajax upload (only for ajax mode).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="clear-input.html">clearInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearInput</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 the file input control (including the native input).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="focus.html">focus</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Makes the input element focused.</p>
+</td>
+</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;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><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>
+<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="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="get-value-as-string.html">getValueAsString</a></p>
+</td>
+<td>
+<code><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>Returns the value of the file input control as a String.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="lock.html">lock</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">lock</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>Locks the file input (disabling all buttons except a cancel button).</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>
+<tr>
+<td>
+<p><a href="reset-input.html">resetInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">resetInput</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>Resets the file input control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="unlock.html">unlock</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">unlock</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>Unlocks the file input.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload.html">upload</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">upload</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>Trigger ajax upload (only for ajax mode).</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-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/dispatch-event.html">dispatchEvent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">dispatchEvent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/type">type</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$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/eventInitDict">eventInitDict</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-custom-event-init/index.html"><span class="identifier">CustomEventInit</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></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-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>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/translate.html">translate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">translate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$translate(kotlin.String)/text">text</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="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>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<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="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.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="get-content.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="get-content.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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</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.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.Form((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a></code><br/>
+<code><span class="keyword">suspend</span> <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.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="get-content.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">getContent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.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="get-content.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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</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.upload.UploadInput.Companion$getContent(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K)), kotlin.reflect.KProperty1((pl.treksoft.kvision.form.upload.UploadInput.Companion.getContent.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.types.KFile)/kFile">kFile</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a></code>
+<p>Returns file with the content read.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload-input.html">uploadInput</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">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="./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="./index.html"><span class="identifier">UploadInput</span></a></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/lock.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/lock.html
new file mode 100644
index 00000000..6792e820
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/lock.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.lock - 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="./lock.html">lock</a><br/>
+<br/>
+<h1>lock</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$lock()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">lock</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>Locks the file input (disabling all buttons except a cancel button).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/multiple.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/multiple.html
new file mode 100644
index 00000000..395dd1b9
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/multiple.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.multiple - 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="./multiple.html">multiple</a><br/>
+<br/>
+<h1>multiple</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$multiple"></a>
+<code><span class="keyword">var </span><span class="identifier">multiple</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 multiple file upload is supported.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if multiple file upload is supported.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if multiple file upload is supported.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/name.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/name.html
new file mode 100644
index 00000000..c173a4dd
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/name.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.name - 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="./name.html">name</a><br/>
+<br/>
+<h1>name</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$name"></a>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">name</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/-form-input/name.html">FormInput.name</a></p>
+<p>The name attribute of the generated HTML input element.</p>
+<p><strong>Getter</strong><br/>
+<p>The name attribute of the generated HTML input element.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The name attribute of the generated HTML input element.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/prefer-iconic-preview.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/prefer-iconic-preview.html
new file mode 100644
index 00000000..517a7fc2
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/prefer-iconic-preview.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.preferIconicPreview - 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="./prefer-iconic-preview.html">preferIconicPreview</a><br/>
+<br/>
+<h1>preferIconicPreview</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$preferIconicPreview"></a>
+<code><span class="keyword">var </span><span class="identifier">preferIconicPreview</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 the iconic preview is prefered.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the iconic preview is prefered.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the iconic preview is prefered.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/render.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/render.html
new file mode 100644
index 00000000..f02ecef7
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/render.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.form.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./render.html">render</a><br/>
+<br/>
+<h1>render</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$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/kvision/pl.treksoft.kvision.form.upload/-upload-input/required.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/required.html
new file mode 100644
index 00000000..b86ef734
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/required.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.required - 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="./required.html">required</a><br/>
+<br/>
+<h1>required</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$required"></a>
+<code><span class="keyword">var </span><span class="identifier">required</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 the input selection is required.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the input selection is required.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the input selection is required.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/reset-input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/reset-input.html
new file mode 100644
index 00000000..404849de
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/reset-input.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.resetInput - 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="./reset-input.html">resetInput</a><br/>
+<br/>
+<h1>resetInput</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$resetInput()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">resetInput</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>Resets the file input control.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-browse.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-browse.html
new file mode 100644
index 00000000..8deba1ce
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-browse.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showBrowse - 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="./show-browse.html">showBrowse</a><br/>
+<br/>
+<h1>showBrowse</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showBrowse"></a>
+<code><span class="keyword">var </span><span class="identifier">showBrowse</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 the file browse button is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the file browse button is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the file browse button is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-cancel.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-cancel.html
new file mode 100644
index 00000000..96f45595
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-cancel.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showCancel - 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="./show-cancel.html">showCancel</a><br/>
+<br/>
+<h1>showCancel</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showCancel"></a>
+<code><span class="keyword">var </span><span class="identifier">showCancel</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 the cancel button is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the cancel button is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the cancel button is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-caption.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-caption.html
new file mode 100644
index 00000000..90429bd5
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-caption.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showCaption - 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="./show-caption.html">showCaption</a><br/>
+<br/>
+<h1>showCaption</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showCaption"></a>
+<code><span class="keyword">var </span><span class="identifier">showCaption</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 the caption is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the caption is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the caption is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-preview.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-preview.html
new file mode 100644
index 00000000..7025fd2c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-preview.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showPreview - 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="./show-preview.html">showPreview</a><br/>
+<br/>
+<h1>showPreview</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showPreview"></a>
+<code><span class="keyword">var </span><span class="identifier">showPreview</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 the preview is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the preview is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the preview is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-remove.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-remove.html
new file mode 100644
index 00000000..1847fbcb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showRemove - 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="./show-remove.html">showRemove</a><br/>
+<br/>
+<h1>showRemove</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showRemove"></a>
+<code><span class="keyword">var </span><span class="identifier">showRemove</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 the remove button is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the remove button is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the remove button is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-upload.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-upload.html
new file mode 100644
index 00000000..da388c67
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/show-upload.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.showUpload - 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="./show-upload.html">showUpload</a><br/>
+<br/>
+<h1>showUpload</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$showUpload"></a>
+<code><span class="keyword">var </span><span class="identifier">showUpload</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 the upload button is shown.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the upload button is shown.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the upload button is shown.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/size.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/size.html
new file mode 100644
index 00000000..bfac42c8
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/size.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.size - 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="./size.html">size</a><br/>
+<br/>
+<h1>size</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$size"></a>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-input/size.html">FormInput.size</a></p>
+<p>The size of the input (currently not working)</p>
+<p><strong>Getter</strong><br/>
+<p>The size of the input (currently not working)</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The size of the input (currently not working)</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/unlock.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/unlock.html
new file mode 100644
index 00000000..511efc6c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/unlock.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.unlock - 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="./unlock.html">unlock</a><br/>
+<br/>
+<h1>unlock</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$unlock()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">unlock</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>Unlocks the file input.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html
new file mode 100644
index 00000000..5b033440
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-extra-data.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.uploadExtraData - 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="./upload-extra-data.html">uploadExtraData</a><br/>
+<br/>
+<h1>uploadExtraData</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$uploadExtraData"></a>
+<code><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></code>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+<p><strong>Getter</strong><br/>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-input.html
new file mode 100644
index 00000000..c5711044
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-input.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.uploadInput - 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="./upload-input.html">uploadInput</a><br/>
+<br/>
+<h1>uploadInput</h1>
+<a name="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)))"></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">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="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="index.html"><span class="identifier">UploadInput</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/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-url.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-url.html
new file mode 100644
index 00000000..1f1ef5bb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload-url.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.uploadUrl - 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="./upload-url.html">uploadUrl</a><br/>
+<br/>
+<h1>uploadUrl</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$uploadUrl"></a>
+<code><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></code>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+<p><strong>Getter</strong><br/>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload.html
new file mode 100644
index 00000000..0cbcaa23
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/upload.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.upload - 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="./upload.html">upload</a><br/>
+<br/>
+<h1>upload</h1>
+<a name="pl.treksoft.kvision.form.upload.UploadInput$upload()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">upload</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>Trigger ajax upload (only for ajax mode).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/value.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/value.html
new file mode 100644
index 00000000..eb24d72e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload-input/value.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>UploadInput.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.upload</a>&nbsp;/&nbsp;<a href="index.html">UploadInput</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
+<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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>File input value.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/-init-.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/-init-.html
new file mode 100644
index 00000000..0978761d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/-init-.html
@@ -0,0 +1,25 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.<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.form.upload</a>&nbsp;/&nbsp;<a href="index.html">Upload</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$&lt;init&gt;(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)"></a>
+<code><span class="identifier">Upload</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$<init>(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/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.Upload$<init>(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/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.Upload$<init>(kotlin.String, kotlin.Boolean, 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.upload.Upload$<init>(kotlin.String, kotlin.Boolean, 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="uploadUrl"></a>
+<code>uploadUrl</code> - the optional URL for the upload processing action</p>
+<p><a name="multiple"></a>
+<code>multiple</code> - determines if multiple file upload is supported</p>
+<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="label.html">label</a> can contain HTML code</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-extensions.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-extensions.html
new file mode 100644
index 00000000..961352ac
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-extensions.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.allowedFileExtensions - 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="./allowed-file-extensions.html">allowedFileExtensions</a><br/>
+<br/>
+<h1>allowedFileExtensions</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$allowedFileExtensions"></a>
+<code><span class="keyword">var </span><span class="identifier">allowedFileExtensions</span><span class="symbol">: </span><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></code>
+<p>Allowed file extensions.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-types.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-types.html
new file mode 100644
index 00000000..12c4dfb1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/allowed-file-types.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.allowedFileTypes - 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="./allowed-file-types.html">allowedFileTypes</a><br/>
+<br/>
+<h1>allowedFileTypes</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$allowedFileTypes"></a>
+<code><span class="keyword">var </span><span class="identifier">allowedFileTypes</span><span class="symbol">: </span><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></code>
+<p>Allowed file types.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/blur.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/blur.html
new file mode 100644
index 00000000..c7ba847d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/blur.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.blur - 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="./blur.html">blur</a><br/>
+<br/>
+<h1>blur</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$blur()"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/blur.html">FormControl.blur</a></p>
+<p>Makes the input element blur.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/browse-on-zone-click.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/browse-on-zone-click.html
new file mode 100644
index 00000000..1873f506
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/browse-on-zone-click.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.browseOnZoneClick - 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="./browse-on-zone-click.html">browseOnZoneClick</a><br/>
+<br/>
+<h1>browseOnZoneClick</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$browseOnZoneClick"></a>
+<code><span class="keyword">var </span><span class="identifier">browseOnZoneClick</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 the click on the preview zone opens file browse window.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/cancel.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/cancel.html
new file mode 100644
index 00000000..a82213e1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/cancel.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.cancel - 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="./cancel.html">cancel</a><br/>
+<br/>
+<h1>cancel</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$cancel()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">cancel</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>Cancel an ongoing ajax upload (only for ajax mode).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/clear-input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/clear-input.html
new file mode 100644
index 00000000..4955cd4a
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/clear-input.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.clearInput - 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="./clear-input.html">clearInput</a><br/>
+<br/>
+<h1>clearInput</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$clearInput()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearInput</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 the file input control (including the native input).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/drop-zone-enabled.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/drop-zone-enabled.html
new file mode 100644
index 00000000..b7cee858
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/drop-zone-enabled.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.dropZoneEnabled - 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="./drop-zone-enabled.html">dropZoneEnabled</a><br/>
+<br/>
+<h1>dropZoneEnabled</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$dropZoneEnabled"></a>
+<code><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></code>
+<p>Determines if Drag&Drop zone is enabled.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/explorer-theme.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/explorer-theme.html
new file mode 100644
index 00000000..8527ed91
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/explorer-theme.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.explorerTheme - 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="./explorer-theme.html">explorerTheme</a><br/>
+<br/>
+<h1>explorerTheme</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$explorerTheme"></a>
+<code><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></code>
+<p>Determines if the explorer theme is used.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/flabel.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/flabel.html
new file mode 100644
index 00000000..fccd517f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/flabel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.flabel - 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="./flabel.html">flabel</a><br/>
+<br/>
+<h1>flabel</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$flabel"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/flabel.html">FormControl.flabel</a></p>
+<p>Form field label.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/focus.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/focus.html
new file mode 100644
index 00000000..573c4456
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/focus.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.focus - 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="./focus.html">focus</a><br/>
+<br/>
+<h1>focus</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$focus()"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/focus.html">FormControl.focus</a></p>
+<p>Makes the input element focused.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-native-file.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-native-file.html
new file mode 100644
index 00000000..ff85e083
--- /dev/null
+++ b/api/kvision/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;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><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/kvision/pl.treksoft.kvision.form.upload/-upload/get-sn-class.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-sn-class.html
new file mode 100644
index 00000000..e4baedc4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-sn-class.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.getSnClass - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form.upload</a>&nbsp;/&nbsp;<a href="index.html">Upload</a>&nbsp;/&nbsp;<a href="./get-sn-class.html">getSnClass</a><br/>
+<br/>
+<h1>getSnClass</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$getSnClass()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/get-sn-class.html">Widget.getSnClass</a></p>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+<p><strong>Return</strong><br/>
+list of CSS class names</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html
new file mode 100644
index 00000000..815a7838
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/get-value-as-string.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.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.upload</a>&nbsp;/&nbsp;<a href="index.html">Upload</a>&nbsp;/&nbsp;<a href="./get-value-as-string.html">getValueAsString</a><br/>
+<br/>
+<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/-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/kvision/pl.treksoft.kvision.form.upload/-upload/idc.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/idc.html
new file mode 100644
index 00000000..a8f3d7ed
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/idc.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.idc - 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="./idc.html">idc</a><br/>
+<br/>
+<h1>idc</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$idc"></a>
+<code><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></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/index.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/index.html
new file mode 100644
index 00000000..e9bfc5a0
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/index.html
@@ -0,0 +1,470 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload - 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><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/-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>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Upload</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload$<init>(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/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.Upload$<init>(kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean)/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.Upload$<init>(kotlin.String, kotlin.Boolean, 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.upload.Upload$<init>(kotlin.String, kotlin.Boolean, 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>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="allowed-file-extensions.html">allowedFileExtensions</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">allowedFileExtensions</span><span class="symbol">: </span><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></code>
+<p>Allowed file extensions.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="allowed-file-types.html">allowedFileTypes</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">allowedFileTypes</span><span class="symbol">: </span><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></code>
+<p>Allowed file types.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="browse-on-zone-click.html">browseOnZoneClick</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">browseOnZoneClick</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 the click on the preview zone opens file browse window.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="drop-zone-enabled.html">dropZoneEnabled</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Determines if Drag&Drop zone is enabled.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="explorer-theme.html">explorerTheme</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Determines if the explorer theme is used.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="flabel.html">flabel</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Form field label.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="idc.html">idc</a></p>
+</td>
+<td>
+<code><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></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="input.html">input</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">input</span><span class="symbol">: </span><a href="../-upload-input/index.html"><span class="identifier">UploadInput</span></a></code>
+<p>The actual input component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="label.html">label</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">label</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>The label text bound to the spinner input element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="multiple.html">multiple</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">multiple</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 multiple file upload is supported.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="prefer-iconic-preview.html">preferIconicPreview</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">preferIconicPreview</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 the iconic preview is prefered.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="required.html">required</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">required</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 the input selection is required.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="rich.html">rich</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">rich</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Determines if <a href="label.html">label</a> can contain HTML code.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-browse.html">showBrowse</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showBrowse</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 the file browse button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-cancel.html">showCancel</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showCancel</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 the cancel button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-caption.html">showCaption</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showCaption</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 the caption is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-preview.html">showPreview</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showPreview</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 the preview is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-remove.html">showRemove</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showRemove</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 the remove button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="show-upload.html">showUpload</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">showUpload</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 the upload button is shown.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload-extra-data.html">uploadExtraData</a></p>
+</td>
+<td>
+<code><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></code>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload-url.html">uploadUrl</a></p>
+</td>
+<td>
+<code><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></code>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="validation-info.html">validationInfo</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Validation info component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>File input value.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="blur.html">blur</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Makes the input element blur.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="cancel.html">cancel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">cancel</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>Cancel an ongoing ajax upload (only for ajax mode).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="clear-input.html">clearInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearInput</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 the file input control (including the native input).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="focus.html">focus</a></p>
+</td>
+<td>
+<code><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></code>
+<p>Makes the input element focused.</p>
+</td>
+</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;<a href="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><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>
+<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="get-value-as-string.html">getValueAsString</a></p>
+</td>
+<td>
+<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>Returns the value of the control as a String.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="lock.html">lock</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">lock</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>Locks the file input (disabling all buttons except a cancel button).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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="reset-input.html">resetInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">resetInput</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>Resets the file input control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.form.upload.Upload$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.form.upload.Upload.setEventListener.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="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.form.upload.Upload$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="unlock.html">unlock</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">unlock</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>Unlocks the file input.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="upload.html">upload</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">upload</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>Trigger ajax upload (only for ajax mode).</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.panel/-simple-panel/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.panel.SimplePanel$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="../../pl.treksoft.kvision.panel/-simple-panel/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.panel.SimplePanel$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="../../pl.treksoft.kvision.panel/-simple-panel/add-internal.html">addInternal</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SimplePanel$addInternal(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>Protected and final method to add given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.panel/-simple-panel/children-v-nodes.html">childrenVNodes</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">childrenVNodes</span><span class="symbol">(</span><span class="symbol">)</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><span class="identifier">VNode</span><span class="symbol">&gt;</span></code>
+<p>Returns the array of the children Snabbdom vnodes.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.panel/-simple-panel/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="../../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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>Returns the value of the control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.panel/-simple-panel/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.panel.SimplePanel$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="../../pl.treksoft.kvision.panel/-simple-panel/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="../../pl.treksoft.kvision.panel/-simple-panel/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>
+<tr>
+<td>
+<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.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>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="upload.html">upload</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">upload</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Upload</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">Upload</span></a></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/input.html
new file mode 100644
index 00000000..be788045
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/input.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.input - 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="./input.html">input</a><br/>
+<br/>
+<h1>input</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$input"></a>
+<code><span class="keyword">val </span><span class="identifier">input</span><span class="symbol">: </span><a href="../-upload-input/index.html"><span class="identifier">UploadInput</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/input.html">FormControl.input</a></p>
+<p>The actual input component.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/label.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/label.html
new file mode 100644
index 00000000..d1851263
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/label.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.label - 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="./label.html">label</a><br/>
+<br/>
+<h1>label</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$label"></a>
+<code><span class="keyword">var </span><span class="identifier">label</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>The label text bound to the spinner input element.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/lock.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/lock.html
new file mode 100644
index 00000000..33cf8bd6
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/lock.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.lock - 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="./lock.html">lock</a><br/>
+<br/>
+<h1>lock</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$lock()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">lock</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>Locks the file input (disabling all buttons except a cancel button).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/multiple.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/multiple.html
new file mode 100644
index 00000000..aa51660c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/multiple.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.multiple - 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="./multiple.html">multiple</a><br/>
+<br/>
+<h1>multiple</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$multiple"></a>
+<code><span class="keyword">var </span><span class="identifier">multiple</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 multiple file upload is supported.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/prefer-iconic-preview.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/prefer-iconic-preview.html
new file mode 100644
index 00000000..71e715bb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/prefer-iconic-preview.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.preferIconicPreview - 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="./prefer-iconic-preview.html">preferIconicPreview</a><br/>
+<br/>
+<h1>preferIconicPreview</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$preferIconicPreview"></a>
+<code><span class="keyword">var </span><span class="identifier">preferIconicPreview</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 the iconic preview is prefered.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/remove-event-listeners.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/remove-event-listeners.html
new file mode 100644
index 00000000..804b2aa2
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/remove-event-listeners.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.removeEventListeners - 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="./remove-event-listeners.html">removeEventListeners</a><br/>
+<br/>
+<h1>removeEventListeners</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$removeEventListeners()"></a>
+<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>Overrides <a href="../../pl.treksoft.kvision.core/-widget/remove-event-listeners.html">Widget.removeEventListeners</a></p>
+<p>Removes all event listeners from current widget.</p>
+<p><strong>Return</strong><br/>
+current widget</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/required.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/required.html
new file mode 100644
index 00000000..8f1ac1eb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/required.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.required - 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="./required.html">required</a><br/>
+<br/>
+<h1>required</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$required"></a>
+<code><span class="keyword">var </span><span class="identifier">required</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 the input selection is required.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/reset-input.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/reset-input.html
new file mode 100644
index 00000000..00f1e2f8
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/reset-input.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.resetInput - 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="./reset-input.html">resetInput</a><br/>
+<br/>
+<h1>resetInput</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$resetInput()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">resetInput</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>Resets the file input control.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/rich.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/rich.html
new file mode 100644
index 00000000..1ae8819e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/rich.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.rich - 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="./rich.html">rich</a><br/>
+<br/>
+<h1>rich</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$rich"></a>
+<code><span class="keyword">var </span><span class="identifier">rich</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Determines if <a href="label.html">label</a> can contain HTML code.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/set-event-listener.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/set-event-listener.html
new file mode 100644
index 00000000..1e133847
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/set-event-listener.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.setEventListener - 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="./set-event-listener.html">setEventListener</a><br/>
+<br/>
+<h1>setEventListener</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.form.upload.Upload.setEventListener.T)), kotlin.Unit)))"></a>
+<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.form.upload.Upload$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.form.upload.Upload.setEventListener.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="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>Overrides <a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html">Widget.setEventListener</a></p>
+<p>Sets an event listener for current widget, keeping the actual type of component.</p>
+<h3>Parameters</h3>
+<p><a name="T"></a>
+<code>T</code> - widget type</p>
+<p><a name="block"></a>
+<code>block</code> - event handler</p>
+<p><strong>Return</strong><br/>
+<p>current widget</p>
+
+
+<p>Example:</p>
+
+
+<pre><code> button.setEventListener&lt;Button&gt; {
+ dblclick = {
+ Alert.show("Button double clicked!")
+ // self is of type Button here
+ }
+ }</code></pre></p>
+<a name="pl.treksoft.kvision.form.upload.Upload$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget)), kotlin.Unit)))"></a>
+<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.form.upload.Upload$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>Overrides <a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html">Widget.setEventListener</a></p>
+<p>Sets an event listener for current widget.</p>
+<h3>Parameters</h3>
+<p><a name="block"></a>
+<code>block</code> - event handler</p>
+<p><strong>Return</strong><br/>
+<p>current widget</p>
+
+
+<p>Example:</p>
+
+
+<pre><code> button.setEventListener {
+ dblclick = {
+ Alert.show("Button double clicked!")
+ // self is of type Widget here
+ }
+ }</code></pre></p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-browse.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-browse.html
new file mode 100644
index 00000000..356f8cc3
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-browse.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showBrowse - 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="./show-browse.html">showBrowse</a><br/>
+<br/>
+<h1>showBrowse</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showBrowse"></a>
+<code><span class="keyword">var </span><span class="identifier">showBrowse</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 the file browse button is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-cancel.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-cancel.html
new file mode 100644
index 00000000..6784c5e2
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-cancel.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showCancel - 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="./show-cancel.html">showCancel</a><br/>
+<br/>
+<h1>showCancel</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showCancel"></a>
+<code><span class="keyword">var </span><span class="identifier">showCancel</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 the cancel button is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-caption.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-caption.html
new file mode 100644
index 00000000..6a61f972
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-caption.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showCaption - 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="./show-caption.html">showCaption</a><br/>
+<br/>
+<h1>showCaption</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showCaption"></a>
+<code><span class="keyword">var </span><span class="identifier">showCaption</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 the caption is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-preview.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-preview.html
new file mode 100644
index 00000000..04327037
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-preview.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showPreview - 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="./show-preview.html">showPreview</a><br/>
+<br/>
+<h1>showPreview</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showPreview"></a>
+<code><span class="keyword">var </span><span class="identifier">showPreview</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 the preview is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-remove.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-remove.html
new file mode 100644
index 00000000..75d29416
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-remove.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showRemove - 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="./show-remove.html">showRemove</a><br/>
+<br/>
+<h1>showRemove</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showRemove"></a>
+<code><span class="keyword">var </span><span class="identifier">showRemove</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 the remove button is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-upload.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-upload.html
new file mode 100644
index 00000000..34898831
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/show-upload.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.showUpload - 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="./show-upload.html">showUpload</a><br/>
+<br/>
+<h1>showUpload</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$showUpload"></a>
+<code><span class="keyword">var </span><span class="identifier">showUpload</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 the upload button is shown.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/unlock.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/unlock.html
new file mode 100644
index 00000000..9054c6fe
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/unlock.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.unlock - 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="./unlock.html">unlock</a><br/>
+<br/>
+<h1>unlock</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$unlock()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">unlock</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>Unlocks the file input.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html
new file mode 100644
index 00000000..2f161eb2
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-extra-data.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.uploadExtraData - 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="./upload-extra-data.html">uploadExtraData</a><br/>
+<br/>
+<h1>uploadExtraData</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$uploadExtraData"></a>
+<code><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></code>
+<p>The extra data that will be passed as data to the AJAX server call via POST.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-url.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-url.html
new file mode 100644
index 00000000..4dc61eb3
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload-url.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.uploadUrl - 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="./upload-url.html">uploadUrl</a><br/>
+<br/>
+<h1>uploadUrl</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$uploadUrl"></a>
+<code><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></code>
+<p>The optional URL for the upload processing action.
+If not set the upload button action will default to form submission.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload.html
new file mode 100644
index 00000000..b81d1c6c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/upload.html
@@ -0,0 +1,19 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.upload - 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="./upload.html">upload</a><br/>
+<br/>
+<h1>upload</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$upload()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">upload</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>Trigger ajax upload (only for ajax mode).</p>
+<a name="pl.treksoft.kvision.form.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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">upload</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, 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.upload.Upload.Companion$upload(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.upload.Upload, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">Upload</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">Upload</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/kvision/pl.treksoft.kvision.form.upload/-upload/validation-info.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/validation-info.html
new file mode 100644
index 00000000..c66192ee
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/validation-info.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.validationInfo - 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="./validation-info.html">validationInfo</a><br/>
+<br/>
+<h1>validationInfo</h1>
+<a name="pl.treksoft.kvision.form.upload.Upload$validationInfo"></a>
+<code><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></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/validation-info.html">FormControl.validationInfo</a></p>
+<p>Validation info component.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.form.upload/-upload/value.html b/api/kvision/pl.treksoft.kvision.form.upload/-upload/value.html
new file mode 100644
index 00000000..4fd66597
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/-upload/value.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Upload.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.upload</a>&nbsp;/&nbsp;<a href="index.html">Upload</a>&nbsp;/&nbsp;<a href="./value.html">value</a><br/>
+<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="../../pl.treksoft.kvision.types/-k-file/index.html"><span class="identifier">KFile</span></a><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/kvision/pl.treksoft.kvision.form.upload/index.html b/api/kvision/pl.treksoft.kvision.form.upload/index.html
new file mode 100644
index 00000000..a40f02ef
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.form.upload/index.html
@@ -0,0 +1,36 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.form.upload - 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><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.form.upload</h2>
+<p>Full-featured file upload component with drag &amp; drop, preview and AJAX upload mode.</p>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<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/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></code>
+<p>The form field file upload component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-upload-input/index.html">UploadInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">UploadInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a></code>
+<p>The file upload component.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>