aboutsummaryrefslogtreecommitdiff
path: root/api1/pl.treksoft.kvision.form/-form-panel
diff options
context:
space:
mode:
Diffstat (limited to 'api1/pl.treksoft.kvision.form/-form-panel')
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/-init-.html31
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/action.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/add-internal.html14
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/add.html102
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/autocomplete.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/clear-data.html15
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/create.html14
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/enctype.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/form-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get-control.html20
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get-data-json.html17
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get-data.html17
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get-sn-attrs.html18
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get-sn-class.html18
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/get.html20
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/index.html352
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/method.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/name.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/novalidate.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/remove.html20
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/render.html18
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/set-data.html18
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/target.html21
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/validate.html17
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/validator-message.html15
-rw-r--r--api1/pl.treksoft.kvision.form/-form-panel/validator.html15
27 files changed, 922 insertions, 0 deletions
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/-init-.html b/api1/pl.treksoft.kvision.form/-form-panel/-init-.html
new file mode 100644
index 00000000..fb819c2f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/-init-.html
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.<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</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$&lt;init&gt;(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))"></a>
+<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="K"></a>
+<code>K</code> - model class type</p>
+<p><a name="method"></a>
+<code>method</code> - HTTP method</p>
+<p><a name="action"></a>
+<code>action</code> - the URL address to send data</p>
+<p><a name="enctype"></a>
+<code>enctype</code> - form encoding type</p>
+<p><a name="type"></a>
+<code>type</code> - form layout</p>
+<p><a name="classes"></a>
+<code>classes</code> - set of CSS class names</p>
+<p><a name="serializer"></a>
+<code>serializer</code> - a serializer for model type</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/action.html b/api1/pl.treksoft.kvision.form/-form-panel/action.html
new file mode 100644
index 00000000..0c8c0b9c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/action.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.action - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./action.html">action</a><br/>
+<br/>
+<h1>action</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$action"></a>
+<code><span class="keyword">var </span><span class="identifier">action</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>The URL address to send data.</p>
+<p><strong>Getter</strong><br/>
+<p>The URL address to send data.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The URL address to send data.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/add-internal.html b/api1/pl.treksoft.kvision.form/-form-panel/add-internal.html
new file mode 100644
index 00000000..63e84fa2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/add-internal.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.addInternal - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./add-internal.html">addInternal</a><br/>
+<br/>
+<h1>addInternal</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/add.html b/api1/pl.treksoft.kvision.form/-form-panel/add.html
new file mode 100644
index 00000000..cac9e4ea
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/add.html
@@ -0,0 +1,102 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.add - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the string form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="requiredMessage"></a>
+<code>requiredMessage</code> - optional required validation message</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the boolean form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="requiredMessage"></a>
+<code>requiredMessage</code> - optional required validation message</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the number form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="requiredMessage"></a>
+<code>requiredMessage</code> - optional required validation message</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the date form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="requiredMessage"></a>
+<code>requiredMessage</code> - optional required validation message</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../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.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a files control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the files form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="requiredMessage"></a>
+<code>requiredMessage</code> - optional required validation message</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/autocomplete.html b/api1/pl.treksoft.kvision.form/-form-panel/autocomplete.html
new file mode 100644
index 00000000..ac2784b1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/autocomplete.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.autocomplete - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./autocomplete.html">autocomplete</a><br/>
+<br/>
+<h1>autocomplete</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$autocomplete"></a>
+<code><span class="keyword">var </span><span class="identifier">autocomplete</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
+<p>Determines if the form should have autocomplete.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the form should have autocomplete.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the form should have autocomplete.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/clear-data.html b/api1/pl.treksoft.kvision.form/-form-panel/clear-data.html
new file mode 100644
index 00000000..78194286
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/clear-data.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.clearData - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./clear-data.html">clearData</a><br/>
+<br/>
+<h1>clearData</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$clearData()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the values of all controls to null.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/create.html b/api1/pl.treksoft.kvision.form/-form-panel/create.html
new file mode 100644
index 00000000..eebfe203
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/create.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.create - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./create.html">create</a><br/>
+<br/>
+<h1>create</h1>
+<a name="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/enctype.html b/api1/pl.treksoft.kvision.form/-form-panel/enctype.html
new file mode 100644
index 00000000..a1bb7f09
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/enctype.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.enctype - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./enctype.html">enctype</a><br/>
+<br/>
+<h1>enctype</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$enctype"></a>
+<code><span class="keyword">var </span><span class="identifier">enctype</span><span class="symbol">: </span><a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span></code>
+<p>The form encoding type.</p>
+<p><strong>Getter</strong><br/>
+<p>The form encoding type.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The form encoding type.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/form-panel.html b/api1/pl.treksoft.kvision.form/-form-panel/form-panel.html
new file mode 100644
index 00000000..b14d48d2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/form-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.formPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./form-panel.html">formPanel</a><br/>
+<br/>
+<h1>formPanel</h1>
+<a name="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">formPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/get-control.html b/api1/pl.treksoft.kvision.form/-form-panel/get-control.html
new file mode 100644
index 00000000..75960c0a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get-control.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.getControl - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-control.html">getControl</a><br/>
+<br/>
+<h1>getControl</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<p>Returns a control of given key.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><strong>Return</strong><br/>
+selected control</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/get-data-json.html b/api1/pl.treksoft.kvision.form/-form-panel/get-data-json.html
new file mode 100644
index 00000000..f472a575
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get-data-json.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.getDataJson - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-data-json.html">getDataJson</a><br/>
+<br/>
+<h1>getDataJson</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$getDataJson()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></code>
+<p>Returns current data model as JSON.</p>
+<p><strong>Return</strong><br/>
+data model as JSON</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/get-data.html b/api1/pl.treksoft.kvision.form/-form-panel/get-data.html
new file mode 100644
index 00000000..c66e11c1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get-data.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.getData - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-data.html">getData</a><br/>
+<br/>
+<h1>getData</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$getData()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#K"><span class="identifier">K</span></a></code>
+<p>Returns current data model.</p>
+<p><strong>Return</strong><br/>
+data model</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/get-sn-attrs.html b/api1/pl.treksoft.kvision.form/-form-panel/get-sn-attrs.html
new file mode 100644
index 00000000..6a222e89
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get-sn-attrs.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.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</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-sn-attrs.html">getSnAttrs</a><br/>
+<br/>
+<h1>getSnAttrs</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$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/api1/pl.treksoft.kvision.form/-form-panel/get-sn-class.html b/api1/pl.treksoft.kvision.form/-form-panel/get-sn-class.html
new file mode 100644
index 00000000..dd839778
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get-sn-class.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.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</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-sn-class.html">getSnClass</a><br/>
+<br/>
+<h1>getSnClass</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$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/api1/pl.treksoft.kvision.form/-form-panel/get.html b/api1/pl.treksoft.kvision.form/-form-panel/get.html
new file mode 100644
index 00000000..6c369e60
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/get.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.get - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get.html">get</a><br/>
+<br/>
+<h1>get</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<p>Returns a value of the control of given key.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><strong>Return</strong><br/>
+value of the control</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/index.html b/api1/pl.treksoft.kvision.form/-form-panel/index.html
new file mode 100644
index 00000000..53a980db
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/index.html
@@ -0,0 +1,352 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="./index.html">FormPanel</a><br/>
+<br/>
+<h1>FormPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Bootstrap form component.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlinx.serialization.KSerializer((pl.treksoft.kvision.form.FormPanel.K)))/serializer">serializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">KSerializer</span><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="action.html">action</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">action</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>The URL address to send data.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="autocomplete.html">autocomplete</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">autocomplete</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
+<p>Determines if the form should have autocomplete.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="enctype.html">enctype</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">enctype</span><span class="symbol">: </span><a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span></code>
+<p>The form encoding type.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="method.html">method</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">method</span><span class="symbol">: </span><a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span></code>
+<p>HTTP method.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="name.html">name</a></p>
+</td>
+<td>
+<code><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 form name.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="novalidate.html">novalidate</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">novalidate</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 form is not validated.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="target.html">target</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">target</span><span class="symbol">: </span><a href="../-form-target/index.html"><span class="identifier">FormTarget</span></a><span class="symbol">?</span></code>
+<p>The form target.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="validator.html">validator</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">validator</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">(</span><a href="../-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span></code>
+<p>Validation function.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="validator-message.html">validatorMessage</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">validatorMessage</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">(</span><a href="../-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span></code>
+<p>Function returning validation message.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="add.html">add</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../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.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.collections.List((pl.treksoft.kvision.types.KFile)))), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a files control to the form panel.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="add-internal.html">addInternal</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/requiredMessage">requiredMessage</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.String, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="clear-data.html">clearData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the values of all controls to null.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get.html">get</a></p>
+</td>
+<td>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<p>Returns a value of the control of given key.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-control.html">getControl</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<p>Returns a control of given key.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-data.html">getData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#K"><span class="identifier">K</span></a></code>
+<p>Returns current data model.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-data-json.html">getDataJson</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></code>
+<p>Returns current data model as JSON.</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="remove.html">remove</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Removes a control from the form panel.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Removes all children from the current container.</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="set-data.html">setData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$setData(pl.treksoft.kvision.form.FormPanel.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the values of all the controls from the model.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="validate.html">validate</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">validate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Invokes validator function and validates the form.</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.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>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="create.html">create</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">create</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$create(pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.create.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="create.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="form-panel.html">formPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">formPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/action">action</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/enctype">enctype</span><span class="symbol">:</span>&nbsp;<a href="../-form-enctype/index.html"><span class="identifier">FormEnctype</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormMethod, kotlin.String, pl.treksoft.kvision.form.FormEnctype, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <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="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
+<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.utils/get-data-with-file-content.html">getDataWithFileContent</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="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.utils/get-data-with-file-content.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">getDataWithFileContent</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/get-data-with-file-content.html#K"><span class="identifier">K</span></a></code>
+<p>Returns current data model with file content read for all KFiles controls.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/method.html b/api1/pl.treksoft.kvision.form/-form-panel/method.html
new file mode 100644
index 00000000..7ca06019
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/method.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.method - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./method.html">method</a><br/>
+<br/>
+<h1>method</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$method"></a>
+<code><span class="keyword">var </span><span class="identifier">method</span><span class="symbol">: </span><a href="../-form-method/index.html"><span class="identifier">FormMethod</span></a><span class="symbol">?</span></code>
+<p>HTTP method.</p>
+<p><strong>Getter</strong><br/>
+<p>HTTP method.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>HTTP method.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/name.html b/api1/pl.treksoft.kvision.form/-form-panel/name.html
new file mode 100644
index 00000000..6bd945d4
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/name.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.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</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./name.html">name</a><br/>
+<br/>
+<h1>name</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$name"></a>
+<code><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 form name.</p>
+<p><strong>Getter</strong><br/>
+<p>The form name.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The form name.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/novalidate.html b/api1/pl.treksoft.kvision.form/-form-panel/novalidate.html
new file mode 100644
index 00000000..fdd7b2f5
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/novalidate.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.novalidate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./novalidate.html">novalidate</a><br/>
+<br/>
+<h1>novalidate</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$novalidate"></a>
+<code><span class="keyword">var </span><span class="identifier">novalidate</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 form is not validated.</p>
+<p><strong>Getter</strong><br/>
+<p>Determines if the form is not validated.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Determines if the form is not validated.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/remove-all.html b/api1/pl.treksoft.kvision.form/-form-panel/remove-all.html
new file mode 100644
index 00000000..31ab388f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.removeAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$removeAll()"></a>
+<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="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.panel/-simple-panel/remove-all.html">SimplePanel.removeAll</a></p>
+<p>Removes all children from the current container.</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/remove.html b/api1/pl.treksoft.kvision.form/-form-panel/remove.html
new file mode 100644
index 00000000..99b459b3
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/remove.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.remove - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Removes a control from the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/render.html b/api1/pl.treksoft.kvision.form/-form-panel/render.html
new file mode 100644
index 00000000..625a9dfb
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/render.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.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</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./render.html">render</a><br/>
+<br/>
+<h1>render</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$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.panel/-simple-panel/render.html">SimplePanel.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/api1/pl.treksoft.kvision.form/-form-panel/set-data.html b/api1/pl.treksoft.kvision.form/-form-panel/set-data.html
new file mode 100644
index 00000000..347f7cf1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/set-data.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.setData - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./set-data.html">setData</a><br/>
+<br/>
+<h1>setData</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$setData(pl.treksoft.kvision.form.FormPanel.K)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$setData(pl.treksoft.kvision.form.FormPanel.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the values of all the controls from the model.</p>
+<h3>Parameters</h3>
+<p><a name="model"></a>
+<code>model</code> - data model</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/target.html b/api1/pl.treksoft.kvision.form/-form-panel/target.html
new file mode 100644
index 00000000..97f36931
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/target.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.target - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./target.html">target</a><br/>
+<br/>
+<h1>target</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$target"></a>
+<code><span class="keyword">var </span><span class="identifier">target</span><span class="symbol">: </span><a href="../-form-target/index.html"><span class="identifier">FormTarget</span></a><span class="symbol">?</span></code>
+<p>The form target.</p>
+<p><strong>Getter</strong><br/>
+<p>The form target.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The form target.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/validate.html b/api1/pl.treksoft.kvision.form/-form-panel/validate.html
new file mode 100644
index 00000000..e1e1be05
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/validate.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.validate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./validate.html">validate</a><br/>
+<br/>
+<h1>validate</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$validate()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">validate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Invokes validator function and validates the form.</p>
+<p><strong>Return</strong><br/>
+validation result</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/validator-message.html b/api1/pl.treksoft.kvision.form/-form-panel/validator-message.html
new file mode 100644
index 00000000..08ee4b38
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/validator-message.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.validatorMessage - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./validator-message.html">validatorMessage</a><br/>
+<br/>
+<h1>validatorMessage</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$validatorMessage"></a>
+<code><span class="keyword">var </span><span class="identifier">validatorMessage</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">(</span><a href="../-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span></code>
+<p>Function returning validation message.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.form/-form-panel/validator.html b/api1/pl.treksoft.kvision.form/-form-panel/validator.html
new file mode 100644
index 00000000..104f6c3f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.form/-form-panel/validator.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.validator - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./validator.html">validator</a><br/>
+<br/>
+<h1>validator</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$validator"></a>
+<code><span class="keyword">var </span><span class="identifier">validator</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">(</span><a href="../-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">?</span></code>
+<p>Validation function.</p>
+</BODY>
+</HTML>