aboutsummaryrefslogtreecommitdiff
path: root/api1/pl.treksoft.kvision.panel
diff options
context:
space:
mode:
Diffstat (limited to 'api1/pl.treksoft.kvision.panel')
-rw-r--r--api1/pl.treksoft.kvision.panel/-direction/-h-o-r-i-z-o-n-t-a-l.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-direction/-v-e-r-t-i-c-a-l.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-direction/index.html47
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/-init-.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/add.html31
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/dock-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/index.html147
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/remove-at.html20
-rw-r--r--api1/pl.treksoft.kvision.panel/-dock-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-a-r-o-u-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-content/index.html75
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/-b-a-s-e-l-i-n-e.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-align-items/index.html68
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n-r-e-v.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w-r-e-v.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-dir/index.html61
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-a-r-o-u-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-b-e-t-w-e-e-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-e-v-e-n-l-y.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-justify/index.html75
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/-init-.html33
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/add.html39
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/align-content.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/align-items.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/direction.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/flex-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/get-sn-style.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/index.html229
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/justify.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/spacing.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-panel/wrap.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-wrap/-n-o-w-r-a-p.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p-r-e-v.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-flex-wrap/index.html54
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-a-r-o-u-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-e-v-e-n-l-y.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align-content/index.html82
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align/-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align/-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-align/index.html61
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n-d-e-n-s-e.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w-d-e-n-s-e.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-flow/index.html61
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-a-r-o-u-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-b-e-t-w-e-e-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-e-v-e-n-l-y.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify-content/index.html82
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify/-e-n-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-a-r-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-r-e-t-c-h.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-justify/index.html61
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/-init-.html45
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/add.html45
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/align-content.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/align-items.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/auto-columns.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/auto-flow.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/auto-rows.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/column-gap.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/get-sn-style.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/grid-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/index.html260
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/justify-content.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/justify-items.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/row-gap.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/template-areas.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/template-columns.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-panel/template-rows.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-size/-l-g.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-size/-m-d.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-size/-s-m.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-size/-x-s.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-size/index.html61
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-wrapper/-init-.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-wrapper/get-sn-style.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-grid-wrapper/index.html79
-rw-r--r--api1/pl.treksoft.kvision.panel/-h-panel/-init-.html29
-rw-r--r--api1/pl.treksoft.kvision.panel/-h-panel/h-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-h-panel/index.html166
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/-init-.html29
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add.html37
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/align.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/index.html161
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove-at.html22
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-responsive-grid-panel/responsive-grid-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/-init-.html24
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/get-root.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/get-sn-class.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/index.html153
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/is-first-root.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-root/render.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_1.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_2.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_3.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_4.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_5.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_6.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side-tab-size/index.html75
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/-c-e-n-t-e-r.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/-d-o-w-n.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/-l-e-f-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/-r-i-g-h-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/-u-p.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-side/index.html68
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/-init-.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/add-internal.html20
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/add.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/children-v-nodes.html17
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/get-children.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/index.html931
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/render.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-simple-panel/simple-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-split-panel/-init-.html23
-rw-r--r--api1/pl.treksoft.kvision.panel/-split-panel/children-v-nodes.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-split-panel/index.html138
-rw-r--r--api1/pl.treksoft.kvision.panel/-split-panel/split-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/-init-.html23
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/active-child.html15
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/active-index.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/add.html31
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/children-v-nodes.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/index.html162
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-stack-panel/stack-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/-init-.html27
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/active-index.html15
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/add-all.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/add-tab.html30
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/add.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/get-child-component.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/get-nav-component.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/index.html187
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/remove-all.html18
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/remove-tab.html15
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/remove.html21
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-panel/tab-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-position/-l-e-f-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-position/-r-i-g-h-t.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-position/-t-o-p.html14
-rw-r--r--api1/pl.treksoft.kvision.panel/-tab-position/index.html54
-rw-r--r--api1/pl.treksoft.kvision.panel/-v-panel/-init-.html27
-rw-r--r--api1/pl.treksoft.kvision.panel/-v-panel/index.html166
-rw-r--r--api1/pl.treksoft.kvision.panel/-v-panel/v-panel.html16
-rw-r--r--api1/pl.treksoft.kvision.panel/index.html260
188 files changed, 6907 insertions, 0 deletions
diff --git a/api1/pl.treksoft.kvision.panel/-direction/-h-o-r-i-z-o-n-t-a-l.html b/api1/pl.treksoft.kvision.panel/-direction/-h-o-r-i-z-o-n-t-a-l.html
new file mode 100644
index 00000000..3920b100
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-direction/-h-o-r-i-z-o-n-t-a-l.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Direction.HORIZONTAL - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Direction</a>&nbsp;/&nbsp;<a href="./-h-o-r-i-z-o-n-t-a-l.html">HORIZONTAL</a><br/>
+<br/>
+<h1>HORIZONTAL</h1>
+<a name="pl.treksoft.kvision.panel.Direction.HORIZONTAL"></a>
+<code><span class="identifier">HORIZONTAL</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-direction/-v-e-r-t-i-c-a-l.html b/api1/pl.treksoft.kvision.panel/-direction/-v-e-r-t-i-c-a-l.html
new file mode 100644
index 00000000..e006bc2e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-direction/-v-e-r-t-i-c-a-l.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Direction.VERTICAL - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Direction</a>&nbsp;/&nbsp;<a href="./-v-e-r-t-i-c-a-l.html">VERTICAL</a><br/>
+<br/>
+<h1>VERTICAL</h1>
+<a name="pl.treksoft.kvision.panel.Direction.VERTICAL"></a>
+<code><span class="identifier">VERTICAL</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-direction/index.html b/api1/pl.treksoft.kvision.panel/-direction/index.html
new file mode 100644
index 00000000..b4f6ab8f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-direction/index.html
@@ -0,0 +1,47 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Direction - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">Direction</a><br/>
+<br/>
+<h1>Direction</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Direction</span></code>
+<p>Split panel direction.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-h-o-r-i-z-o-n-t-a-l.html">HORIZONTAL</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-v-e-r-t-i-c-a-l.html">VERTICAL</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-dock-panel/-init-.html
new file mode 100644
index 00000000..d8f41cd6
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/-init-.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$&lt;init&gt;(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">DockPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, 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.panel.DockPanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">DockPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-dock-panel/add-all.html
new file mode 100644
index 00000000..5de27e01
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.DockPanel$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="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/add.html b/api1/pl.treksoft.kvision.panel/-dock-panel/add.html
new file mode 100644
index 00000000..01e6a4e4
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/add.html
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$add(pl.treksoft.kvision.core.Component, pl.treksoft.kvision.panel.Side)"></a>
+<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.DockPanel$add(pl.treksoft.kvision.core.Component, pl.treksoft.kvision.panel.Side)/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="identifier" id="pl.treksoft.kvision.panel.DockPanel$add(pl.treksoft.kvision.core.Component, pl.treksoft.kvision.panel.Side)/position">position</span><span class="symbol">:</span>&nbsp;<a href="../-side/index.html"><span class="identifier">Side</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Adds a component to the dock container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><a name="position"></a>
+<code>position</code> - position in the dock</p>
+<p><strong>Return</strong><br/>
+current container</p>
+<a name="pl.treksoft.kvision.panel.DockPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.DockPanel$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="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/dock-panel.html b/api1/pl.treksoft.kvision.panel/-dock-panel/dock-panel.html
new file mode 100644
index 00000000..89218668
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/dock-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.dockPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./dock-panel.html">dockPanel</a><br/>
+<br/>
+<h1>dockPanel</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel.Companion$dockPanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dockPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel.Companion$dockPanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, 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.panel.DockPanel.Companion$dockPanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">DockPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/index.html b/api1/pl.treksoft.kvision.panel/-dock-panel/index.html
new file mode 100644
index 00000000..04552d68
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/index.html
@@ -0,0 +1,147 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">DockPanel</a><br/>
+<br/>
+<h1>DockPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DockPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with dock layout (up, down, left, right and center positions).</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">DockPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, 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.panel.DockPanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">DockPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></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="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel$add(pl.treksoft.kvision.core.Component, pl.treksoft.kvision.panel.Side)/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="identifier" id="pl.treksoft.kvision.panel.DockPanel$add(pl.treksoft.kvision.core.Component, pl.treksoft.kvision.panel.Side)/position">position</span><span class="symbol">:</span>&nbsp;<a href="../-side/index.html"><span class="identifier">Side</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Adds a component to the dock container.</p>
+<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.DockPanel$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="./index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.DockPanel$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="./index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Adds a list of components to the current container.</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.panel.DockPanel$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="./index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Removes given component from the current container.</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">DockPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remove-at.html">removeAt</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel$removeAt(pl.treksoft.kvision.panel.Side)/position">position</span><span class="symbol">:</span>&nbsp;<a href="../-side/index.html"><span class="identifier">Side</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Removes child from given position in the dock.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="dock-panel.html">dockPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dockPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel.Companion$dockPanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, 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.panel.DockPanel.Companion$dockPanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.DockPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">DockPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DockPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-dock-panel/remove-all.html
new file mode 100644
index 00000000..42174bd5
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$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">DockPanel</span></a></code>
+<p>Overrides <a href="../-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.panel/-dock-panel/remove-at.html b/api1/pl.treksoft.kvision.panel/-dock-panel/remove-at.html
new file mode 100644
index 00000000..504fac9b
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/remove-at.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.removeAt - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./remove-at.html">removeAt</a><br/>
+<br/>
+<h1>removeAt</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$removeAt(pl.treksoft.kvision.panel.Side)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.DockPanel$removeAt(pl.treksoft.kvision.panel.Side)/position">position</span><span class="symbol">:</span>&nbsp;<a href="../-side/index.html"><span class="identifier">Side</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Removes child from given position in the dock.</p>
+<h3>Parameters</h3>
+<p><a name="position"></a>
+<code>position</code> - position in the dock</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-dock-panel/remove.html b/api1/pl.treksoft.kvision.panel/-dock-panel/remove.html
new file mode 100644
index 00000000..3a3976a8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-dock-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DockPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">DockPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.DockPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.DockPanel$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="index.html"><span class="identifier">DockPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..47c74712
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-e-n-d.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-e-n-d.html
new file mode 100644
index 00000000..a8a3c226
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.FLEXEND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-e-n-d.html">FLEXEND</a><br/>
+<br/>
+<h1>FLEXEND</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.FLEXEND"></a>
+<code><span class="identifier">FLEXEND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-s-t-a-r-t.html
new file mode 100644
index 00000000..0bfb9922
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-f-l-e-x-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.FLEXSTART - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a><br/>
+<br/>
+<h1>FLEXSTART</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.FLEXSTART"></a>
+<code><span class="identifier">FLEXSTART</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-a-r-o-u-n-d.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-a-r-o-u-n-d.html
new file mode 100644
index 00000000..481534e8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-a-r-o-u-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.SPACEAROUND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a><br/>
+<br/>
+<h1>SPACEAROUND</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.SPACEAROUND"></a>
+<code><span class="identifier">SPACEAROUND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
new file mode 100644
index 00000000..f07a9c72
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.SPACEBETWEEN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a><br/>
+<br/>
+<h1>SPACEBETWEEN</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.SPACEBETWEEN"></a>
+<code><span class="identifier">SPACEBETWEEN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..b1773eb1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignContent</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignContent.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-content/index.html b/api1/pl.treksoft.kvision.panel/-flex-align-content/index.html
new file mode 100644
index 00000000..f994190f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-content/index.html
@@ -0,0 +1,75 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexAlignContent</a><br/>
+<br/>
+<h1>FlexAlignContent</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexAlignContent</span></code>
+<p>CSS flexbox content alignment options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-f-l-e-x-e-n-d.html">FLEXEND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/-b-a-s-e-l-i-n-e.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/-b-a-s-e-l-i-n-e.html
new file mode 100644
index 00000000..352d48d4
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/-b-a-s-e-l-i-n-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems.BASELINE - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignItems</a>&nbsp;/&nbsp;<a href="./-b-a-s-e-l-i-n-e.html">BASELINE</a><br/>
+<br/>
+<h1>BASELINE</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignItems.BASELINE"></a>
+<code><span class="identifier">BASELINE</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..33cf1678
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignItems</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignItems.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-e-n-d.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-e-n-d.html
new file mode 100644
index 00000000..9af2a7d2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems.FLEXEND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignItems</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-e-n-d.html">FLEXEND</a><br/>
+<br/>
+<h1>FLEXEND</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignItems.FLEXEND"></a>
+<code><span class="identifier">FLEXEND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-s-t-a-r-t.html
new file mode 100644
index 00000000..0ee8dae9
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/-f-l-e-x-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems.FLEXSTART - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignItems</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a><br/>
+<br/>
+<h1>FLEXSTART</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignItems.FLEXSTART"></a>
+<code><span class="identifier">FLEXSTART</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..ee6c88f4
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexAlignItems</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.FlexAlignItems.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-align-items/index.html b/api1/pl.treksoft.kvision.panel/-flex-align-items/index.html
new file mode 100644
index 00000000..0e086c41
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-align-items/index.html
@@ -0,0 +1,68 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexAlignItems - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexAlignItems</a><br/>
+<br/>
+<h1>FlexAlignItems</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexAlignItems</span></code>
+<p>CSS flexbox alignments options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-f-l-e-x-e-n-d.html">FLEXEND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-b-a-s-e-l-i-n-e.html">BASELINE</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n-r-e-v.html b/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n-r-e-v.html
new file mode 100644
index 00000000..c05dca4e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n-r-e-v.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexDir.COLUMNREV - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexDir</a>&nbsp;/&nbsp;<a href="./-c-o-l-u-m-n-r-e-v.html">COLUMNREV</a><br/>
+<br/>
+<h1>COLUMNREV</h1>
+<a name="pl.treksoft.kvision.panel.FlexDir.COLUMNREV"></a>
+<code><span class="identifier">COLUMNREV</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n.html b/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n.html
new file mode 100644
index 00000000..151f4648
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-dir/-c-o-l-u-m-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexDir.COLUMN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexDir</a>&nbsp;/&nbsp;<a href="./-c-o-l-u-m-n.html">COLUMN</a><br/>
+<br/>
+<h1>COLUMN</h1>
+<a name="pl.treksoft.kvision.panel.FlexDir.COLUMN"></a>
+<code><span class="identifier">COLUMN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w-r-e-v.html b/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w-r-e-v.html
new file mode 100644
index 00000000..59be1098
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w-r-e-v.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexDir.ROWREV - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexDir</a>&nbsp;/&nbsp;<a href="./-r-o-w-r-e-v.html">ROWREV</a><br/>
+<br/>
+<h1>ROWREV</h1>
+<a name="pl.treksoft.kvision.panel.FlexDir.ROWREV"></a>
+<code><span class="identifier">ROWREV</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w.html b/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w.html
new file mode 100644
index 00000000..2d4a3052
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-dir/-r-o-w.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexDir.ROW - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexDir</a>&nbsp;/&nbsp;<a href="./-r-o-w.html">ROW</a><br/>
+<br/>
+<h1>ROW</h1>
+<a name="pl.treksoft.kvision.panel.FlexDir.ROW"></a>
+<code><span class="identifier">ROW</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-dir/index.html b/api1/pl.treksoft.kvision.panel/-flex-dir/index.html
new file mode 100644
index 00000000..b588e508
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-dir/index.html
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexDir - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexDir</a><br/>
+<br/>
+<h1>FlexDir</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexDir</span></code>
+<p>CSS flexbox directions.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-r-o-w.html">ROW</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-r-o-w-r-e-v.html">ROWREV</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-o-l-u-m-n.html">COLUMN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-o-l-u-m-n-r-e-v.html">COLUMNREV</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..4c54ca00
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-e-n-d.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-e-n-d.html
new file mode 100644
index 00000000..e0ec0526
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.FLEXEND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-e-n-d.html">FLEXEND</a><br/>
+<br/>
+<h1>FLEXEND</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.FLEXEND"></a>
+<code><span class="identifier">FLEXEND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-s-t-a-r-t.html
new file mode 100644
index 00000000..901e8f4a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-f-l-e-x-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.FLEXSTART - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a><br/>
+<br/>
+<h1>FLEXSTART</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.FLEXSTART"></a>
+<code><span class="identifier">FLEXSTART</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-a-r-o-u-n-d.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-a-r-o-u-n-d.html
new file mode 100644
index 00000000..841d497e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-a-r-o-u-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.SPACEAROUND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a><br/>
+<br/>
+<h1>SPACEAROUND</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.SPACEAROUND"></a>
+<code><span class="identifier">SPACEAROUND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-b-e-t-w-e-e-n.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-b-e-t-w-e-e-n.html
new file mode 100644
index 00000000..18155064
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-b-e-t-w-e-e-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.SPACEBETWEEN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a><br/>
+<br/>
+<h1>SPACEBETWEEN</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.SPACEBETWEEN"></a>
+<code><span class="identifier">SPACEBETWEEN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-e-v-e-n-l-y.html b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-e-v-e-n-l-y.html
new file mode 100644
index 00000000..88c6dd00
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/-s-p-a-c-e-e-v-e-n-l-y.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify.SPACEEVENLY - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexJustify</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a><br/>
+<br/>
+<h1>SPACEEVENLY</h1>
+<a name="pl.treksoft.kvision.panel.FlexJustify.SPACEEVENLY"></a>
+<code><span class="identifier">SPACEEVENLY</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-justify/index.html b/api1/pl.treksoft.kvision.panel/-flex-justify/index.html
new file mode 100644
index 00000000..ffbb5636
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-justify/index.html
@@ -0,0 +1,75 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexJustify - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexJustify</a><br/>
+<br/>
+<h1>FlexJustify</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexJustify</span></code>
+<p>CSS flexbox justification options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-f-l-e-x-s-t-a-r-t.html">FLEXSTART</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-f-l-e-x-e-n-d.html">FLEXEND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-flex-panel/-init-.html
new file mode 100644
index 00000000..f3d06b40
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/-init-.html
@@ -0,0 +1,33 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$&lt;init&gt;(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">FlexPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, 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.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">FlexPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="direction"></a>
+<code>direction</code> - flexbox direction</p>
+<p><a name="wrap"></a>
+<code>wrap</code> - flexbox wrap</p>
+<p><a name="justify"></a>
+<code>justify</code> - flexbox content justification</p>
+<p><a name="alignItems"></a>
+<code>alignItems</code> - flexbox items alignment</p>
+<p><a name="alignContent"></a>
+<code>alignContent</code> - flexbox content alignment</p>
+<p><a name="spacing"></a>
+<code>spacing</code> - spacing between columns/rows</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-flex-panel/add-all.html
new file mode 100644
index 00000000..0d9db186
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.FlexPanel$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="index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/add.html b/api1/pl.treksoft.kvision.panel/-flex-panel/add.html
new file mode 100644
index 00000000..fe953bd6
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/add.html
@@ -0,0 +1,39 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/order">order</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/grow">grow</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/shrink">shrink</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/basis">basis</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a component to the flexbox container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><a name="order"></a>
+<code>order</code> - child flexbox ordering</p>
+<p><a name="grow"></a>
+<code>grow</code> - child flexbox grow</p>
+<p><a name="shrink"></a>
+<code>shrink</code> - child flexbox shrink</p>
+<p><a name="basis"></a>
+<code>basis</code> - child flexbox basis</p>
+<p><a name="alignSelf"></a>
+<code>alignSelf</code> - child self alignment</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<a name="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.FlexPanel$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="index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/align-content.html b/api1/pl.treksoft.kvision.panel/-flex-panel/align-content.html
new file mode 100644
index 00000000..f4df572f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/align-content.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.alignContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./align-content.html">alignContent</a><br/>
+<br/>
+<h1>alignContent</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$alignContent"></a>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content alignment.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS flexbox content alignment.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS flexbox content alignment.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/align-items.html b/api1/pl.treksoft.kvision.panel/-flex-panel/align-items.html
new file mode 100644
index 00000000..b6d46129
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/align-items.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.alignItems - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./align-items.html">alignItems</a><br/>
+<br/>
+<h1>alignItems</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$alignItems"></a>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox items alignment.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS flexbox items alignment.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS flexbox items alignment.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/direction.html b/api1/pl.treksoft.kvision.panel/-flex-panel/direction.html
new file mode 100644
index 00000000..b4cb415a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/direction.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.direction - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./direction.html">direction</a><br/>
+<br/>
+<h1>direction</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$direction"></a>
+<code><span class="keyword">var </span><span class="identifier">direction</span><span class="symbol">: </span><a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox direction.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS flexbox direction.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS flexbox direction.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/flex-panel.html b/api1/pl.treksoft.kvision.panel/-flex-panel/flex-panel.html
new file mode 100644
index 00000000..0a3f453a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/flex-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.flexPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./flex-panel.html">flexPanel</a><br/>
+<br/>
+<h1>flexPanel</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">flexPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, 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.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">FlexPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/get-sn-style.html b/api1/pl.treksoft.kvision.panel/-flex-panel/get-sn-style.html
new file mode 100644
index 00000000..32fccbed
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/get-sn-style.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.getSnStyle - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./get-sn-style.html">getSnStyle</a><br/>
+<br/>
+<h1>getSnStyle</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$getSnStyle()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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/-styled-component/get-sn-style.html">StyledComponent.getSnStyle</a></p>
+<p>Returns the list of String pairs defining CSS style attributes and their values.</p>
+<p><strong>Return</strong><br/>
+the list of attributes and their values</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/index.html b/api1/pl.treksoft.kvision.panel/-flex-panel/index.html
new file mode 100644
index 00000000..28644f6d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/index.html
@@ -0,0 +1,229 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexPanel</a><br/>
+<br/>
+<h1>FlexPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FlexPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS flexbox layout support.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">FlexPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, 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.panel.FlexPanel$<init>(pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">FlexPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="align-content.html">alignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="align-items.html">alignItems</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox items alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="direction.html">direction</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">direction</span><span class="symbol">: </span><a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox direction.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="justify.html">justify</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">justify</span><span class="symbol">: </span><a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content justification.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="spacing.html">spacing</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">spacing</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>The spacing between columns/rows.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="wrap.html">wrap</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">wrap</span><span class="symbol">: </span><a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox wrap mode.</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">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/order">order</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/grow">grow</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/shrink">shrink</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/basis">basis</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a component to the flexbox container.</p>
+<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.FlexPanel$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="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.FlexPanel$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="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-sn-style.html">getSnStyle</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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 the list of String pairs defining CSS style attributes and their values.</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.panel.FlexPanel$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="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Removes given component from the current container.</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">FlexPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="flex-panel.html">flexPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">flexPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, 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.panel.FlexPanel.Companion$flexPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexDir, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, pl.treksoft.kvision.panel.FlexAlignContent, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.FlexPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">FlexPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FlexPanel</span></a></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>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-h-panel/index.html">HPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">HPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with horizontal layout.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-v-panel/index.html">VPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">VPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with vertical layout.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/justify.html b/api1/pl.treksoft.kvision.panel/-flex-panel/justify.html
new file mode 100644
index 00000000..cef4e63f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/justify.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.justify - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./justify.html">justify</a><br/>
+<br/>
+<h1>justify</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$justify"></a>
+<code><span class="keyword">var </span><span class="identifier">justify</span><span class="symbol">: </span><a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content justification.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS flexbox content justification.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS flexbox content justification.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-flex-panel/remove-all.html
new file mode 100644
index 00000000..4a5a9db9
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$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">FlexPanel</span></a></code>
+<p>Overrides <a href="../-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.panel/-flex-panel/remove.html b/api1/pl.treksoft.kvision.panel/-flex-panel/remove.html
new file mode 100644
index 00000000..308625b1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.FlexPanel$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="index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/spacing.html b/api1/pl.treksoft.kvision.panel/-flex-panel/spacing.html
new file mode 100644
index 00000000..4dc0bf66
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/spacing.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.spacing - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./spacing.html">spacing</a><br/>
+<br/>
+<h1>spacing</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$spacing"></a>
+<code><span class="keyword">var </span><span class="identifier">spacing</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>The spacing between columns/rows.</p>
+<p><strong>Getter</strong><br/>
+<p>The spacing between columns/rows.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The spacing between columns/rows.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-panel/wrap.html b/api1/pl.treksoft.kvision.panel/-flex-panel/wrap.html
new file mode 100644
index 00000000..4ae5640d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-panel/wrap.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexPanel.wrap - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexPanel</a>&nbsp;/&nbsp;<a href="./wrap.html">wrap</a><br/>
+<br/>
+<h1>wrap</h1>
+<a name="pl.treksoft.kvision.panel.FlexPanel$wrap"></a>
+<code><span class="keyword">var </span><span class="identifier">wrap</span><span class="symbol">: </span><a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox wrap mode.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS flexbox wrap mode.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS flexbox wrap mode.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-wrap/-n-o-w-r-a-p.html b/api1/pl.treksoft.kvision.panel/-flex-wrap/-n-o-w-r-a-p.html
new file mode 100644
index 00000000..1b82b46e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-wrap/-n-o-w-r-a-p.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexWrap.NOWRAP - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexWrap</a>&nbsp;/&nbsp;<a href="./-n-o-w-r-a-p.html">NOWRAP</a><br/>
+<br/>
+<h1>NOWRAP</h1>
+<a name="pl.treksoft.kvision.panel.FlexWrap.NOWRAP"></a>
+<code><span class="identifier">NOWRAP</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p-r-e-v.html b/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p-r-e-v.html
new file mode 100644
index 00000000..763d8871
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p-r-e-v.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexWrap.WRAPREV - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexWrap</a>&nbsp;/&nbsp;<a href="./-w-r-a-p-r-e-v.html">WRAPREV</a><br/>
+<br/>
+<h1>WRAPREV</h1>
+<a name="pl.treksoft.kvision.panel.FlexWrap.WRAPREV"></a>
+<code><span class="identifier">WRAPREV</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p.html b/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p.html
new file mode 100644
index 00000000..92c5a21e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-wrap/-w-r-a-p.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexWrap.WRAP - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">FlexWrap</a>&nbsp;/&nbsp;<a href="./-w-r-a-p.html">WRAP</a><br/>
+<br/>
+<h1>WRAP</h1>
+<a name="pl.treksoft.kvision.panel.FlexWrap.WRAP"></a>
+<code><span class="identifier">WRAP</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-flex-wrap/index.html b/api1/pl.treksoft.kvision.panel/-flex-wrap/index.html
new file mode 100644
index 00000000..faf4e799
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-flex-wrap/index.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FlexWrap - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">FlexWrap</a><br/>
+<br/>
+<h1>FlexWrap</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexWrap</span></code>
+<p>CSS flexbox wrap modes.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-n-o-w-r-a-p.html">NOWRAP</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-w-r-a-p.html">WRAP</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-w-r-a-p-r-e-v.html">WRAPREV</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..1fd5a1e2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-e-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-e-n-d.html
new file mode 100644
index 00000000..52bde6de
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.END - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-e-n-d.html">END</a><br/>
+<br/>
+<h1>END</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.END"></a>
+<code><span class="identifier">END</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-a-r-o-u-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-a-r-o-u-n-d.html
new file mode 100644
index 00000000..77bbd042
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-a-r-o-u-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.SPACEAROUND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a><br/>
+<br/>
+<h1>SPACEAROUND</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.SPACEAROUND"></a>
+<code><span class="identifier">SPACEAROUND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
new file mode 100644
index 00000000..39fa02a8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.SPACEBETWEEN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a><br/>
+<br/>
+<h1>SPACEBETWEEN</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.SPACEBETWEEN"></a>
+<code><span class="identifier">SPACEBETWEEN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-e-v-e-n-l-y.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-e-v-e-n-l-y.html
new file mode 100644
index 00000000..a2f98f61
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-p-a-c-e-e-v-e-n-l-y.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.SPACEEVENLY - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a><br/>
+<br/>
+<h1>SPACEEVENLY</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.SPACEEVENLY"></a>
+<code><span class="identifier">SPACEEVENLY</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-a-r-t.html
new file mode 100644
index 00000000..bcf5a4f8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.START - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-s-t-a-r-t.html">START</a><br/>
+<br/>
+<h1>START</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.START"></a>
+<code><span class="identifier">START</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..0ca2e905
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlignContent</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.GridAlignContent.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align-content/index.html b/api1/pl.treksoft.kvision.panel/-grid-align-content/index.html
new file mode 100644
index 00000000..89d8cf29
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align-content/index.html
@@ -0,0 +1,82 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlignContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridAlignContent</a><br/>
+<br/>
+<h1>GridAlignContent</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridAlignContent</span></code>
+<p>CSS grid content alignment options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-s-t-a-r-t.html">START</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-e-n-d.html">END</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-grid-align/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..cb5f494c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlign.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlign</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.GridAlign.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align/-e-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-align/-e-n-d.html
new file mode 100644
index 00000000..9d573fcd
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align/-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlign.END - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlign</a>&nbsp;/&nbsp;<a href="./-e-n-d.html">END</a><br/>
+<br/>
+<h1>END</h1>
+<a name="pl.treksoft.kvision.panel.GridAlign.END"></a>
+<code><span class="identifier">END</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-a-r-t.html
new file mode 100644
index 00000000..d6b9b923
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlign.START - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlign</a>&nbsp;/&nbsp;<a href="./-s-t-a-r-t.html">START</a><br/>
+<br/>
+<h1>START</h1>
+<a name="pl.treksoft.kvision.panel.GridAlign.START"></a>
+<code><span class="identifier">START</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..57f9daab
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlign.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridAlign</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.GridAlign.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-align/index.html b/api1/pl.treksoft.kvision.panel/-grid-align/index.html
new file mode 100644
index 00000000..deaa1d03
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-align/index.html
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridAlign - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridAlign</a><br/>
+<br/>
+<h1>GridAlign</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridAlign</span></code>
+<p>CSS grid alignment options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-s-t-a-r-t.html">START</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-e-n-d.html">END</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n-d-e-n-s-e.html b/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n-d-e-n-s-e.html
new file mode 100644
index 00000000..0eb06ac1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n-d-e-n-s-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridFlow.COLUMNDENSE - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridFlow</a>&nbsp;/&nbsp;<a href="./-c-o-l-u-m-n-d-e-n-s-e.html">COLUMNDENSE</a><br/>
+<br/>
+<h1>COLUMNDENSE</h1>
+<a name="pl.treksoft.kvision.panel.GridFlow.COLUMNDENSE"></a>
+<code><span class="identifier">COLUMNDENSE</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n.html b/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n.html
new file mode 100644
index 00000000..e4a7ff3f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-flow/-c-o-l-u-m-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridFlow.COLUMN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridFlow</a>&nbsp;/&nbsp;<a href="./-c-o-l-u-m-n.html">COLUMN</a><br/>
+<br/>
+<h1>COLUMN</h1>
+<a name="pl.treksoft.kvision.panel.GridFlow.COLUMN"></a>
+<code><span class="identifier">COLUMN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w-d-e-n-s-e.html b/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w-d-e-n-s-e.html
new file mode 100644
index 00000000..515a5532
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w-d-e-n-s-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridFlow.ROWDENSE - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridFlow</a>&nbsp;/&nbsp;<a href="./-r-o-w-d-e-n-s-e.html">ROWDENSE</a><br/>
+<br/>
+<h1>ROWDENSE</h1>
+<a name="pl.treksoft.kvision.panel.GridFlow.ROWDENSE"></a>
+<code><span class="identifier">ROWDENSE</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w.html b/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w.html
new file mode 100644
index 00000000..0be1329f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-flow/-r-o-w.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridFlow.ROW - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridFlow</a>&nbsp;/&nbsp;<a href="./-r-o-w.html">ROW</a><br/>
+<br/>
+<h1>ROW</h1>
+<a name="pl.treksoft.kvision.panel.GridFlow.ROW"></a>
+<code><span class="identifier">ROW</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-flow/index.html b/api1/pl.treksoft.kvision.panel/-grid-flow/index.html
new file mode 100644
index 00000000..9d70639b
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-flow/index.html
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridFlow - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridFlow</a><br/>
+<br/>
+<h1>GridFlow</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridFlow</span></code>
+<p>CSS grid flow options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-r-o-w.html">ROW</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-o-l-u-m-n.html">COLUMN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-r-o-w-d-e-n-s-e.html">ROWDENSE</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-o-l-u-m-n-d-e-n-s-e.html">COLUMNDENSE</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..5d74c0fa
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-e-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-e-n-d.html
new file mode 100644
index 00000000..e0401564
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.END - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-e-n-d.html">END</a><br/>
+<br/>
+<h1>END</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.END"></a>
+<code><span class="identifier">END</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-a-r-o-u-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-a-r-o-u-n-d.html
new file mode 100644
index 00000000..a8eca9e1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-a-r-o-u-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.SPACEAROUND - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a><br/>
+<br/>
+<h1>SPACEAROUND</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.SPACEAROUND"></a>
+<code><span class="identifier">SPACEAROUND</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-b-e-t-w-e-e-n.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
new file mode 100644
index 00000000..957c0977
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-b-e-t-w-e-e-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.SPACEBETWEEN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a><br/>
+<br/>
+<h1>SPACEBETWEEN</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.SPACEBETWEEN"></a>
+<code><span class="identifier">SPACEBETWEEN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-e-v-e-n-l-y.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-e-v-e-n-l-y.html
new file mode 100644
index 00000000..a232a24d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-p-a-c-e-e-v-e-n-l-y.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.SPACEEVENLY - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a><br/>
+<br/>
+<h1>SPACEEVENLY</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.SPACEEVENLY"></a>
+<code><span class="identifier">SPACEEVENLY</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-a-r-t.html
new file mode 100644
index 00000000..39cd1e4c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.START - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-s-t-a-r-t.html">START</a><br/>
+<br/>
+<h1>START</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.START"></a>
+<code><span class="identifier">START</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..14ba8aff
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustifyContent</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.GridJustifyContent.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify-content/index.html b/api1/pl.treksoft.kvision.panel/-grid-justify-content/index.html
new file mode 100644
index 00000000..c0ff90f8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify-content/index.html
@@ -0,0 +1,82 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustifyContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridJustifyContent</a><br/>
+<br/>
+<h1>GridJustifyContent</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridJustifyContent</span></code>
+<p>CSS grid content justification options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-s-t-a-r-t.html">START</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-e-n-d.html">END</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-a-r-o-u-n-d.html">SPACEAROUND</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-b-e-t-w-e-e-n.html">SPACEBETWEEN</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-p-a-c-e-e-v-e-n-l-y.html">SPACEEVENLY</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-grid-justify/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..d465c994
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustify.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustify</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.GridJustify.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify/-e-n-d.html b/api1/pl.treksoft.kvision.panel/-grid-justify/-e-n-d.html
new file mode 100644
index 00000000..5396b32d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify/-e-n-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustify.END - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustify</a>&nbsp;/&nbsp;<a href="./-e-n-d.html">END</a><br/>
+<br/>
+<h1>END</h1>
+<a name="pl.treksoft.kvision.panel.GridJustify.END"></a>
+<code><span class="identifier">END</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-a-r-t.html b/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-a-r-t.html
new file mode 100644
index 00000000..d1b879fb
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-a-r-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustify.START - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustify</a>&nbsp;/&nbsp;<a href="./-s-t-a-r-t.html">START</a><br/>
+<br/>
+<h1>START</h1>
+<a name="pl.treksoft.kvision.panel.GridJustify.START"></a>
+<code><span class="identifier">START</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-r-e-t-c-h.html b/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-r-e-t-c-h.html
new file mode 100644
index 00000000..c2aa3bb8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify/-s-t-r-e-t-c-h.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustify.STRETCH - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridJustify</a>&nbsp;/&nbsp;<a href="./-s-t-r-e-t-c-h.html">STRETCH</a><br/>
+<br/>
+<h1>STRETCH</h1>
+<a name="pl.treksoft.kvision.panel.GridJustify.STRETCH"></a>
+<code><span class="identifier">STRETCH</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-justify/index.html b/api1/pl.treksoft.kvision.panel/-grid-justify/index.html
new file mode 100644
index 00000000..3b7d2431
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-justify/index.html
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridJustify - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridJustify</a><br/>
+<br/>
+<h1>GridJustify</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridJustify</span></code>
+<p>CSS grid justification options.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-s-t-a-r-t.html">START</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-e-n-d.html">END</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-t-r-e-t-c-h.html">STRETCH</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-grid-panel/-init-.html
new file mode 100644
index 00000000..29482aad
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/-init-.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$&lt;init&gt;(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">GridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoColumns">autoColumns</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoRows">autoRows</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoFlow">autoFlow</span><span class="symbol">:</span>&nbsp;<a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateColumns">templateColumns</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateRows">templateRows</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateAreas">templateAreas</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/columnGap">columnGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/rowGap">rowGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyItems">justifyItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyContent">justifyContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, 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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">GridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="autoColumns"></a>
+<code>autoColumns</code> - grid auto columns</p>
+<p><a name="autoRows"></a>
+<code>autoRows</code> - grid auto rows</p>
+<p><a name="autoFlow"></a>
+<code>autoFlow</code> - grid auto flow</p>
+<p><a name="templateColumns"></a>
+<code>templateColumns</code> - grid columns template</p>
+<p><a name="templateRows"></a>
+<code>templateRows</code> - grid rows template</p>
+<p><a name="templateAreas"></a>
+<code>templateAreas</code> - grid areas template</p>
+<p><a name="columnGap"></a>
+<code>columnGap</code> - grid column gap</p>
+<p><a name="rowGap"></a>
+<code>rowGap</code> - grid row gap</p>
+<p><a name="justifyItems"></a>
+<code>justifyItems</code> - grid items justification</p>
+<p><a name="alignItems"></a>
+<code>alignItems</code> - grid items alignment</p>
+<p><a name="justifyContent"></a>
+<code>justifyContent</code> - flexbox content justification</p>
+<p><a name="alignContent"></a>
+<code>alignContent</code> - flexbox content alignment</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-grid-panel/add-all.html
new file mode 100644
index 00000000..c66d1169
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.GridPanel$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="index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/add.html b/api1/pl.treksoft.kvision.panel/-grid-panel/add.html
new file mode 100644
index 00000000..8948ae0d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/add.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnStart">columnStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowStart">rowStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnEnd">columnEnd</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowEnd">rowEnd</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/area">area</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/justifySelf">justifySelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Adds a component to the grid container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><a name="columnStart"></a>
+<code>columnStart</code> - number of starting column</p>
+<p><a name="rowStart"></a>
+<code>rowStart</code> - number of starting row</p>
+<p><a name="columnEnd"></a>
+<code>columnEnd</code> - number of ending column</p>
+<p><a name="rowEnd"></a>
+<code>rowEnd</code> - number of ending row</p>
+<p><a name="area"></a>
+<code>area</code> - grid area</p>
+<p><a name="justifySelf"></a>
+<code>justifySelf</code> - child self justification</p>
+<p><a name="alignSelf"></a>
+<code>alignSelf</code> - child self alignment</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><strong>Return</strong><br/>
+current container</p>
+<a name="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.GridPanel$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="index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/align-content.html b/api1/pl.treksoft.kvision.panel/-grid-panel/align-content.html
new file mode 100644
index 00000000..6adad605
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/align-content.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.alignContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./align-content.html">alignContent</a><br/>
+<br/>
+<h1>alignContent</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$alignContent"></a>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS grid content alignment.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid content alignment.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid content alignment.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/align-items.html b/api1/pl.treksoft.kvision.panel/-grid-panel/align-items.html
new file mode 100644
index 00000000..a2d50861
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/align-items.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.alignItems - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./align-items.html">alignItems</a><br/>
+<br/>
+<h1>alignItems</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$alignItems"></a>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span></code>
+<p>CSS grid items alignment.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid items alignment.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid items alignment.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/auto-columns.html b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-columns.html
new file mode 100644
index 00000000..d6c9a818
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-columns.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.autoColumns - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./auto-columns.html">autoColumns</a><br/>
+<br/>
+<h1>autoColumns</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$autoColumns"></a>
+<code><span class="keyword">var </span><span class="identifier">autoColumns</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>CSS grid auto columns.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid auto columns.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid auto columns.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/auto-flow.html b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-flow.html
new file mode 100644
index 00000000..a8bdd03f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-flow.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.autoFlow - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./auto-flow.html">autoFlow</a><br/>
+<br/>
+<h1>autoFlow</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$autoFlow"></a>
+<code><span class="keyword">var </span><span class="identifier">autoFlow</span><span class="symbol">: </span><a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span></code>
+<p>CSS grid auto flow.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid auto flow.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid auto flow.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/auto-rows.html b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-rows.html
new file mode 100644
index 00000000..bd15860f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/auto-rows.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.autoRows - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./auto-rows.html">autoRows</a><br/>
+<br/>
+<h1>autoRows</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$autoRows"></a>
+<code><span class="keyword">var </span><span class="identifier">autoRows</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>CSS grid auto rows.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid auto rows.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid auto rows.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/column-gap.html b/api1/pl.treksoft.kvision.panel/-grid-panel/column-gap.html
new file mode 100644
index 00000000..a5767da3
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/column-gap.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.columnGap - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./column-gap.html">columnGap</a><br/>
+<br/>
+<h1>columnGap</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$columnGap"></a>
+<code><span class="keyword">var </span><span class="identifier">columnGap</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>CSS grid column gap.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid column gap.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid column gap.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/get-sn-style.html b/api1/pl.treksoft.kvision.panel/-grid-panel/get-sn-style.html
new file mode 100644
index 00000000..7cc9dc49
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/get-sn-style.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.getSnStyle - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./get-sn-style.html">getSnStyle</a><br/>
+<br/>
+<h1>getSnStyle</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$getSnStyle()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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/-styled-component/get-sn-style.html">StyledComponent.getSnStyle</a></p>
+<p>Returns the list of String pairs defining CSS style attributes and their values.</p>
+<p><strong>Return</strong><br/>
+the list of attributes and their values</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/grid-panel.html b/api1/pl.treksoft.kvision.panel/-grid-panel/grid-panel.html
new file mode 100644
index 00000000..89ed06bf
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/grid-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.gridPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./grid-panel.html">gridPanel</a><br/>
+<br/>
+<h1>gridPanel</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">gridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoColumns">autoColumns</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoRows">autoRows</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoFlow">autoFlow</span><span class="symbol">:</span>&nbsp;<a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateColumns">templateColumns</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateRows">templateRows</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateAreas">templateAreas</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/columnGap">columnGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/rowGap">rowGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyItems">justifyItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyContent">justifyContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, 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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">GridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">GridPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/index.html b/api1/pl.treksoft.kvision.panel/-grid-panel/index.html
new file mode 100644
index 00000000..56fac285
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/index.html
@@ -0,0 +1,260 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridPanel</a><br/>
+<br/>
+<h1>GridPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">GridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS grid layout support.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">GridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoColumns">autoColumns</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoRows">autoRows</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoFlow">autoFlow</span><span class="symbol">:</span>&nbsp;<a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateColumns">templateColumns</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateRows">templateRows</span><span class="symbol">:</span>&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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateAreas">templateAreas</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/columnGap">columnGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/rowGap">rowGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyItems">justifyItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyContent">justifyContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, 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.panel.GridPanel$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">GridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="align-content.html">alignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS grid content alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="align-items.html">alignItems</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span></code>
+<p>CSS grid items alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="auto-columns.html">autoColumns</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">autoColumns</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>CSS grid auto columns.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="auto-flow.html">autoFlow</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">autoFlow</span><span class="symbol">: </span><a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span></code>
+<p>CSS grid auto flow.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="auto-rows.html">autoRows</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">autoRows</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>CSS grid auto rows.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="column-gap.html">columnGap</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">columnGap</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>CSS grid column gap.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="justify-content.html">justifyContent</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">justifyContent</span><span class="symbol">: </span><a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span></code>
+<p>CSS grid content justification.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="justify-items.html">justifyItems</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">justifyItems</span><span class="symbol">: </span><a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span></code>
+<p>CSS grid items justification.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="row-gap.html">rowGap</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">rowGap</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>CSS grid row gap.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="template-areas.html">templateAreas</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">templateAreas</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>CSS grid areas template.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="template-columns.html">templateColumns</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">templateColumns</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>CSS grid columns template.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="template-rows.html">templateRows</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">templateRows</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>CSS grid rows template.</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">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnStart">columnStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowStart">rowStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnEnd">columnEnd</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowEnd">rowEnd</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/area">area</span><span class="symbol">:</span>&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.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/justifySelf">justifySelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Adds a component to the grid container.</p>
+<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.GridPanel$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="./index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.GridPanel$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="./index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-sn-style.html">getSnStyle</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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 the list of String pairs defining CSS style attributes and their values.</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.panel.GridPanel$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="./index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Removes given component from the current container.</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">GridPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="grid-panel.html">gridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">gridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoColumns">autoColumns</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoRows">autoRows</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/autoFlow">autoFlow</span><span class="symbol">:</span>&nbsp;<a href="../-grid-flow/index.html"><span class="identifier">GridFlow</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateColumns">templateColumns</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateRows">templateRows</span><span class="symbol">:</span>&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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/templateAreas">templateAreas</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/columnGap">columnGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/rowGap">rowGap</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyItems">justifyItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/justifyContent">justifyContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/alignContent">alignContent</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align-content/index.html"><span class="identifier">GridAlignContent</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, 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.panel.GridPanel.Companion$gridPanel(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridFlow, kotlin.String, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, pl.treksoft.kvision.panel.GridJustifyContent, pl.treksoft.kvision.panel.GridAlignContent, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.GridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">GridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">GridPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/justify-content.html b/api1/pl.treksoft.kvision.panel/-grid-panel/justify-content.html
new file mode 100644
index 00000000..9f5a87b1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/justify-content.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.justifyContent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./justify-content.html">justifyContent</a><br/>
+<br/>
+<h1>justifyContent</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$justifyContent"></a>
+<code><span class="keyword">var </span><span class="identifier">justifyContent</span><span class="symbol">: </span><a href="../-grid-justify-content/index.html"><span class="identifier">GridJustifyContent</span></a><span class="symbol">?</span></code>
+<p>CSS grid content justification.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid content justification.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid content justification.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/justify-items.html b/api1/pl.treksoft.kvision.panel/-grid-panel/justify-items.html
new file mode 100644
index 00000000..d2a8d1e9
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/justify-items.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.justifyItems - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./justify-items.html">justifyItems</a><br/>
+<br/>
+<h1>justifyItems</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$justifyItems"></a>
+<code><span class="keyword">var </span><span class="identifier">justifyItems</span><span class="symbol">: </span><a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span></code>
+<p>CSS grid items justification.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid items justification.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid items justification.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-grid-panel/remove-all.html
new file mode 100644
index 00000000..3406e020
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$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">GridPanel</span></a></code>
+<p>Overrides <a href="../-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.panel/-grid-panel/remove.html b/api1/pl.treksoft.kvision.panel/-grid-panel/remove.html
new file mode 100644
index 00000000..4ba69b23
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.GridPanel$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="index.html"><span class="identifier">GridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/row-gap.html b/api1/pl.treksoft.kvision.panel/-grid-panel/row-gap.html
new file mode 100644
index 00000000..61bfb039
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/row-gap.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.rowGap - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./row-gap.html">rowGap</a><br/>
+<br/>
+<h1>rowGap</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$rowGap"></a>
+<code><span class="keyword">var </span><span class="identifier">rowGap</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>CSS grid row gap.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid row gap.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid row gap.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/template-areas.html b/api1/pl.treksoft.kvision.panel/-grid-panel/template-areas.html
new file mode 100644
index 00000000..8cc09bb2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/template-areas.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.templateAreas - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./template-areas.html">templateAreas</a><br/>
+<br/>
+<h1>templateAreas</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$templateAreas"></a>
+<code><span class="keyword">var </span><span class="identifier">templateAreas</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span></code>
+<p>CSS grid areas template.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid areas template.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid areas template.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/template-columns.html b/api1/pl.treksoft.kvision.panel/-grid-panel/template-columns.html
new file mode 100644
index 00000000..0d1923ac
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/template-columns.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.templateColumns - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./template-columns.html">templateColumns</a><br/>
+<br/>
+<h1>templateColumns</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$templateColumns"></a>
+<code><span class="keyword">var </span><span class="identifier">templateColumns</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>CSS grid columns template.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid columns template.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid columns template.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-panel/template-rows.html b/api1/pl.treksoft.kvision.panel/-grid-panel/template-rows.html
new file mode 100644
index 00000000..95a8f91c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-panel/template-rows.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridPanel.templateRows - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridPanel</a>&nbsp;/&nbsp;<a href="./template-rows.html">templateRows</a><br/>
+<br/>
+<h1>templateRows</h1>
+<a name="pl.treksoft.kvision.panel.GridPanel$templateRows"></a>
+<code><span class="keyword">var </span><span class="identifier">templateRows</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>CSS grid rows template.</p>
+<p><strong>Getter</strong><br/>
+<p>CSS grid rows template.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>CSS grid rows template.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-size/-l-g.html b/api1/pl.treksoft.kvision.panel/-grid-size/-l-g.html
new file mode 100644
index 00000000..0cac87f9
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-size/-l-g.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridSize.LG - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridSize</a>&nbsp;/&nbsp;<a href="./-l-g.html">LG</a><br/>
+<br/>
+<h1>LG</h1>
+<a name="pl.treksoft.kvision.panel.GridSize.LG"></a>
+<code><span class="identifier">LG</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-size/-m-d.html b/api1/pl.treksoft.kvision.panel/-grid-size/-m-d.html
new file mode 100644
index 00000000..f04d334b
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-size/-m-d.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridSize.MD - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridSize</a>&nbsp;/&nbsp;<a href="./-m-d.html">MD</a><br/>
+<br/>
+<h1>MD</h1>
+<a name="pl.treksoft.kvision.panel.GridSize.MD"></a>
+<code><span class="identifier">MD</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-size/-s-m.html b/api1/pl.treksoft.kvision.panel/-grid-size/-s-m.html
new file mode 100644
index 00000000..8b960a07
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-size/-s-m.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridSize.SM - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridSize</a>&nbsp;/&nbsp;<a href="./-s-m.html">SM</a><br/>
+<br/>
+<h1>SM</h1>
+<a name="pl.treksoft.kvision.panel.GridSize.SM"></a>
+<code><span class="identifier">SM</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-size/-x-s.html b/api1/pl.treksoft.kvision.panel/-grid-size/-x-s.html
new file mode 100644
index 00000000..1527bae4
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-size/-x-s.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridSize.XS - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridSize</a>&nbsp;/&nbsp;<a href="./-x-s.html">XS</a><br/>
+<br/>
+<h1>XS</h1>
+<a name="pl.treksoft.kvision.panel.GridSize.XS"></a>
+<code><span class="identifier">XS</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-size/index.html b/api1/pl.treksoft.kvision.panel/-grid-size/index.html
new file mode 100644
index 00000000..77c28afc
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-size/index.html
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridSize - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridSize</a><br/>
+<br/>
+<h1>GridSize</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridSize</span></code>
+<p>Bootstrap grid sizes.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-x-s.html">XS</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-m.html">SM</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-m-d.html">MD</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-l-g.html">LG</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-wrapper/-init-.html b/api1/pl.treksoft.kvision.panel/-grid-wrapper/-init-.html
new file mode 100644
index 00000000..e2d4fe8e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-wrapper/-init-.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridWrapper.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">GridWrapper</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.GridWrapper$&lt;init&gt;(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))"></a>
+<code><span class="identifier">GridWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/delegate">delegate</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="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnStart">columnStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowStart">rowStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnEnd">columnEnd</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowEnd">rowEnd</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/area">area</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/justifySelf">justifySelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-wrapper/get-sn-style.html b/api1/pl.treksoft.kvision.panel/-grid-wrapper/get-sn-style.html
new file mode 100644
index 00000000..a4a3f150
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-wrapper/get-sn-style.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridWrapper.getSnStyle - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">GridWrapper</a>&nbsp;/&nbsp;<a href="./get-sn-style.html">getSnStyle</a><br/>
+<br/>
+<h1>getSnStyle</h1>
+<a name="pl.treksoft.kvision.panel.GridWrapper$getSnStyle()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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/-styled-component/get-sn-style.html">StyledComponent.getSnStyle</a></p>
+<p>Returns the list of String pairs defining CSS style attributes and their values.</p>
+<p><strong>Return</strong><br/>
+the list of attributes and their values</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-grid-wrapper/index.html b/api1/pl.treksoft.kvision.panel/-grid-wrapper/index.html
new file mode 100644
index 00000000..ab2c1c58
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-grid-wrapper/index.html
@@ -0,0 +1,79 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>GridWrapper - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">GridWrapper</a><br/>
+<br/>
+<h1>GridWrapper</h1>
+<code><span class="keyword">class </span><span class="identifier">GridWrapper</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget-wrapper/index.html"><span class="identifier">WidgetWrapper</span></a></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">GridWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/delegate">delegate</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="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnStart">columnStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowStart">rowStart</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/columnEnd">columnEnd</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/rowEnd">rowEnd</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/area">area</span><span class="symbol">:</span>&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.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/justifySelf">justifySelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-justify/index.html"><span class="identifier">GridJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-grid-align/index.html"><span class="identifier">GridAlign</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.GridWrapper$<init>(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.String, kotlin.String, kotlin.String, pl.treksoft.kvision.panel.GridJustify, pl.treksoft.kvision.panel.GridAlign, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget-wrapper/visible.html">visible</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-sn-style.html">getSnStyle</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getSnStyle</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 the list of String pairs defining CSS style attributes and their values.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget-wrapper/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-h-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-h-panel/-init-.html
new file mode 100644
index 00000000..32662fca
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-h-panel/-init-.html
@@ -0,0 +1,29 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">HPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.HPanel$&lt;init&gt;(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">HPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, 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.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">HPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="wrap"></a>
+<code>wrap</code> - flexbox wrap</p>
+<p><a name="justify"></a>
+<code>justify</code> - flexbox content justification</p>
+<p><a name="alignItems"></a>
+<code>alignItems</code> - flexbox items alignment</p>
+<p><a name="spacing"></a>
+<code>spacing</code> - spacing between columns/rows</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-h-panel/h-panel.html b/api1/pl.treksoft.kvision.panel/-h-panel/h-panel.html
new file mode 100644
index 00000000..75ffb0d5
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-h-panel/h-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HPanel.hPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">HPanel</a>&nbsp;/&nbsp;<a href="./h-panel.html">hPanel</a><br/>
+<br/>
+<h1>hPanel</h1>
+<a name="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">hPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, 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.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">HPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">HPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-h-panel/index.html b/api1/pl.treksoft.kvision.panel/-h-panel/index.html
new file mode 100644
index 00000000..c0e9441f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-h-panel/index.html
@@ -0,0 +1,166 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">HPanel</a><br/>
+<br/>
+<h1>HPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">HPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with horizontal layout.</p>
+<p>This is a special case of the flexbox layout.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">HPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, 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.panel.HPanel$<init>(pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">HPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-flex-panel/align-content.html">alignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/align-items.html">alignItems</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox items alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/direction.html">direction</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">direction</span><span class="symbol">: </span><a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox direction.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/justify.html">justify</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">justify</span><span class="symbol">: </span><a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content justification.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/spacing.html">spacing</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">spacing</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>The spacing between columns/rows.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/wrap.html">wrap</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">wrap</span><span class="symbol">: </span><a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox wrap mode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-flex-panel/add.html">add</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/order">order</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/grow">grow</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/shrink">shrink</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/basis">basis</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a component to the flexbox container.</p>
+<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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/get-sn-style.html">getSnStyle</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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 the list of String pairs defining CSS style attributes and their values.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="h-panel.html">hPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">hPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/wrap">wrap</span><span class="symbol">:</span>&nbsp;<a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, 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.panel.HPanel.Companion$hPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexWrap, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.HPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">HPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">HPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/-init-.html
new file mode 100644
index 00000000..6088d1a1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/-init-.html
@@ -0,0 +1,29 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$&lt;init&gt;(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">ResponsiveGridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/gridSize">gridSize</span><span class="symbol">:</span>&nbsp;<a href="../-grid-size/index.html"><span class="identifier">GridSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;GridSize.MD<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/rows">rows</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/cols">cols</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/align">align</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, 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.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">ResponsiveGridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="gridSize"></a>
+<code>gridSize</code> - grid size</p>
+<p><a name="rows"></a>
+<code>rows</code> - number of rows</p>
+<p><a name="cols"></a>
+<code>cols</code> - number of columns</p>
+<p><a name="align"></a>
+<code>align</code> - text align of grid cells</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add-all.html
new file mode 100644
index 00000000..3a954a75
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.ResponsiveGridPanel$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="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add.html
new file mode 100644
index 00000000..6fc0842d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/add.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)"></a>
+<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.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/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="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/col">col</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/row">row</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/size">size</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/offset">offset</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Adds child component to the grid.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><a name="col"></a>
+<code>col</code> - column number</p>
+<p><a name="row"></a>
+<code>row</code> - row number</p>
+<p><a name="size"></a>
+<code>size</code> - cell size (colspan)</p>
+<p><a name="offset"></a>
+<code>offset</code> - cell offset</p>
+<p><strong>Return</strong><br/>
+this container</p>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.ResponsiveGridPanel$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="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/align.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/align.html
new file mode 100644
index 00000000..33f85022
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/align.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.align - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./align.html">align</a><br/>
+<br/>
+<h1>align</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$align"></a>
+<code><span class="keyword">var </span><span class="identifier">align</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span></code>
+<p>Text align of grid cells.</p>
+<p><strong>Getter</strong><br/>
+<p>Text align of grid cells.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Text align of grid cells.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/index.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/index.html
new file mode 100644
index 00000000..155484bc
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/index.html
@@ -0,0 +1,161 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">ResponsiveGridPanel</a><br/>
+<br/>
+<h1>ResponsiveGridPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ResponsiveGridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with support for Bootstrap responsive grid layout.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">ResponsiveGridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/gridSize">gridSize</span><span class="symbol">:</span>&nbsp;<a href="../-grid-size/index.html"><span class="identifier">GridSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;GridSize.MD<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/rows">rows</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/cols">cols</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/align">align</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, 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.panel.ResponsiveGridPanel$<init>(pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">ResponsiveGridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="align.html">align</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">align</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span></code>
+<p>Text align of grid cells.</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="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/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="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/col">col</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/row">row</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/size">size</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int)/offset">offset</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Adds child component to the grid.</p>
+<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.ResponsiveGridPanel$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="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.ResponsiveGridPanel$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="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Adds a list of components to the current container.</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.panel.ResponsiveGridPanel$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="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remove-at.html">removeAt</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$removeAt(kotlin.Int, kotlin.Int)/col">col</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$removeAt(kotlin.Int, kotlin.Int)/row">row</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Removes child component at given location (column, row).</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-simple-panel/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="responsive-grid-panel.html">responsiveGridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">responsiveGridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/gridSize">gridSize</span><span class="symbol">:</span>&nbsp;<a href="../-grid-size/index.html"><span class="identifier">GridSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;GridSize.MD<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/rows">rows</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/cols">cols</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/align">align</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, 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.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">ResponsiveGridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">ResponsiveGridPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove-at.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove-at.html
new file mode 100644
index 00000000..1fed96f7
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove-at.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.removeAt - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./remove-at.html">removeAt</a><br/>
+<br/>
+<h1>removeAt</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$removeAt(kotlin.Int, kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$removeAt(kotlin.Int, kotlin.Int)/col">col</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel$removeAt(kotlin.Int, kotlin.Int)/row">row</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Removes child component at given location (column, row).</p>
+<h3>Parameters</h3>
+<p><a name="col"></a>
+<code>col</code> - column number</p>
+<p><a name="row"></a>
+<code>row</code> - row number</p>
+<p><strong>Return</strong><br/>
+this container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove.html
new file mode 100644
index 00000000..9ffe52af
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.ResponsiveGridPanel$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="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/responsive-grid-panel.html b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/responsive-grid-panel.html
new file mode 100644
index 00000000..36fae42a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-responsive-grid-panel/responsive-grid-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ResponsiveGridPanel.responsiveGridPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">ResponsiveGridPanel</a>&nbsp;/&nbsp;<a href="./responsive-grid-panel.html">responsiveGridPanel</a><br/>
+<br/>
+<h1>responsiveGridPanel</h1>
+<a name="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">responsiveGridPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/gridSize">gridSize</span><span class="symbol">:</span>&nbsp;<a href="../-grid-size/index.html"><span class="identifier">GridSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;GridSize.MD<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/rows">rows</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/cols">cols</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/align">align</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.html/-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, 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.panel.ResponsiveGridPanel.Companion$responsiveGridPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.GridSize, kotlin.Int, kotlin.Int, pl.treksoft.kvision.html.Align, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.ResponsiveGridPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">ResponsiveGridPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">ResponsiveGridPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-root/-init-.html b/api1/pl.treksoft.kvision.panel/-root/-init-.html
new file mode 100644
index 00000000..783c11cd
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/-init-.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.Root$&lt;init&gt;(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))"></a>
+<code><span class="identifier">Root</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/fixed">fixed</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">Root</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="id"></a>
+<code>id</code> - ID attribute of element in the main HTML file</p>
+<p><a name="fixed"></a>
+<code>fixed</code> - if false, the container is rendered with Bootstrap "container-fluid" class,
+otherwise it's rendered with "container" class (default is false)</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-root/get-root.html b/api1/pl.treksoft.kvision.panel/-root/get-root.html
new file mode 100644
index 00000000..9667c2dd
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/get-root.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.getRoot - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./get-root.html">getRoot</a><br/>
+<br/>
+<h1>getRoot</h1>
+<a name="pl.treksoft.kvision.panel.Root$getRoot()"></a>
+<code><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-root/get-sn-class.html b/api1/pl.treksoft.kvision.panel/-root/get-sn-class.html
new file mode 100644
index 00000000..ba9cf8eb
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/get-sn-class.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.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.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./get-sn-class.html">getSnClass</a><br/>
+<br/>
+<h1>getSnClass</h1>
+<a name="pl.treksoft.kvision.panel.Root$getSnClass()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></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.panel/-root/index.html b/api1/pl.treksoft.kvision.panel/-root/index.html
new file mode 100644
index 00000000..99089a94
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/index.html
@@ -0,0 +1,153 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">Root</a><br/>
+<br/>
+<h1>Root</h1>
+<code><span class="keyword">class </span><span class="identifier">Root</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Root container.</p>
+<p>This container is bound to the specific element in the main HTML file of the project.
+It is always the root of components tree and it is responsible for rendering and updating
+Snabbdom virtual DOM.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Root</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/fixed">fixed</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, , kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">Root</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="is-first-root.html">isFirstRoot</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">isFirstRoot</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-root.html">getRoot</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-sn-class.html">getSnClass</a></p>
+</td>
+<td>
+<code><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="render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-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="../-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="../-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="../-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="../-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="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-simple-panel/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes all children from the current container.</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-root/is-first-root.html b/api1/pl.treksoft.kvision.panel/-root/is-first-root.html
new file mode 100644
index 00000000..6974d7f8
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/is-first-root.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.isFirstRoot - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./is-first-root.html">isFirstRoot</a><br/>
+<br/>
+<h1>isFirstRoot</h1>
+<a name="pl.treksoft.kvision.panel.Root$isFirstRoot"></a>
+<code><span class="keyword">val </span><span class="identifier">isFirstRoot</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-root/render.html b/api1/pl.treksoft.kvision.panel/-root/render.html
new file mode 100644
index 00000000..f5a2f85a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-root/render.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.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.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./render.html">render</a><br/>
+<br/>
+<h1>render</h1>
+<a name="pl.treksoft.kvision.panel.Root$render()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Overrides <a href="../-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.panel/-side-tab-size/-s-i-z-e_1.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_1.html
new file mode 100644
index 00000000..bfbb8840
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_1.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_1 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_1.html">SIZE_1</a><br/>
+<br/>
+<h1>SIZE_1</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_1"></a>
+<code><span class="identifier">SIZE_1</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_2.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_2.html
new file mode 100644
index 00000000..adba6913
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_2.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_2 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_2.html">SIZE_2</a><br/>
+<br/>
+<h1>SIZE_2</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_2"></a>
+<code><span class="identifier">SIZE_2</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_3.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_3.html
new file mode 100644
index 00000000..ba429b60
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_3.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_3 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_3.html">SIZE_3</a><br/>
+<br/>
+<h1>SIZE_3</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_3"></a>
+<code><span class="identifier">SIZE_3</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_4.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_4.html
new file mode 100644
index 00000000..1548cf27
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_4.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_4 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_4.html">SIZE_4</a><br/>
+<br/>
+<h1>SIZE_4</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_4"></a>
+<code><span class="identifier">SIZE_4</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_5.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_5.html
new file mode 100644
index 00000000..9ce1c07d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_5.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_5 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_5.html">SIZE_5</a><br/>
+<br/>
+<h1>SIZE_5</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_5"></a>
+<code><span class="identifier">SIZE_5</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_6.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_6.html
new file mode 100644
index 00000000..0d7b07f5
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/-s-i-z-e_6.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize.SIZE_6 - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SideTabSize</a>&nbsp;/&nbsp;<a href="./-s-i-z-e_6.html">SIZE_6</a><br/>
+<br/>
+<h1>SIZE_6</h1>
+<a name="pl.treksoft.kvision.panel.SideTabSize.SIZE_6"></a>
+<code><span class="identifier">SIZE_6</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side-tab-size/index.html b/api1/pl.treksoft.kvision.panel/-side-tab-size/index.html
new file mode 100644
index 00000000..0a0c817e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side-tab-size/index.html
@@ -0,0 +1,75 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SideTabSize - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">SideTabSize</a><br/>
+<br/>
+<h1>SideTabSize</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">SideTabSize</span></code>
+<p>Left or right tab size.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-s-i-z-e_1.html">SIZE_1</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-i-z-e_2.html">SIZE_2</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-i-z-e_3.html">SIZE_3</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-i-z-e_4.html">SIZE_4</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-i-z-e_5.html">SIZE_5</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-s-i-z-e_6.html">SIZE_6</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/-c-e-n-t-e-r.html b/api1/pl.treksoft.kvision.panel/-side/-c-e-n-t-e-r.html
new file mode 100644
index 00000000..d15e1d93
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/-c-e-n-t-e-r.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side.CENTER - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Side</a>&nbsp;/&nbsp;<a href="./-c-e-n-t-e-r.html">CENTER</a><br/>
+<br/>
+<h1>CENTER</h1>
+<a name="pl.treksoft.kvision.panel.Side.CENTER"></a>
+<code><span class="identifier">CENTER</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/-d-o-w-n.html b/api1/pl.treksoft.kvision.panel/-side/-d-o-w-n.html
new file mode 100644
index 00000000..40b563fc
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/-d-o-w-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side.DOWN - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Side</a>&nbsp;/&nbsp;<a href="./-d-o-w-n.html">DOWN</a><br/>
+<br/>
+<h1>DOWN</h1>
+<a name="pl.treksoft.kvision.panel.Side.DOWN"></a>
+<code><span class="identifier">DOWN</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/-l-e-f-t.html b/api1/pl.treksoft.kvision.panel/-side/-l-e-f-t.html
new file mode 100644
index 00000000..ef67765f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/-l-e-f-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side.LEFT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Side</a>&nbsp;/&nbsp;<a href="./-l-e-f-t.html">LEFT</a><br/>
+<br/>
+<h1>LEFT</h1>
+<a name="pl.treksoft.kvision.panel.Side.LEFT"></a>
+<code><span class="identifier">LEFT</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/-r-i-g-h-t.html b/api1/pl.treksoft.kvision.panel/-side/-r-i-g-h-t.html
new file mode 100644
index 00000000..2c794b99
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/-r-i-g-h-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side.RIGHT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Side</a>&nbsp;/&nbsp;<a href="./-r-i-g-h-t.html">RIGHT</a><br/>
+<br/>
+<h1>RIGHT</h1>
+<a name="pl.treksoft.kvision.panel.Side.RIGHT"></a>
+<code><span class="identifier">RIGHT</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/-u-p.html b/api1/pl.treksoft.kvision.panel/-side/-u-p.html
new file mode 100644
index 00000000..bfe9aa8b
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/-u-p.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side.UP - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">Side</a>&nbsp;/&nbsp;<a href="./-u-p.html">UP</a><br/>
+<br/>
+<h1>UP</h1>
+<a name="pl.treksoft.kvision.panel.Side.UP"></a>
+<code><span class="identifier">UP</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-side/index.html b/api1/pl.treksoft.kvision.panel/-side/index.html
new file mode 100644
index 00000000..f5f7d147
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-side/index.html
@@ -0,0 +1,68 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Side - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">Side</a><br/>
+<br/>
+<h1>Side</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Side</span></code>
+<p>Dock layout directions.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-l-e-f-t.html">LEFT</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-r-i-g-h-t.html">RIGHT</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-c-e-n-t-e-r.html">CENTER</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-u-p.html">UP</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-d-o-w-n.html">DOWN</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-simple-panel/-init-.html
new file mode 100644
index 00000000..b3983d0a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/-init-.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$&lt;init&gt;(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))"></a>
+<code><span class="identifier">SimplePanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SimplePanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, 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.panel.SimplePanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-simple-panel/add-all.html
new file mode 100644
index 00000000..caf06295
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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="index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/add-all.html">Container.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/add-internal.html b/api1/pl.treksoft.kvision.panel/-simple-panel/add-internal.html
new file mode 100644
index 00000000..f3e5a52a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/add-internal.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./add-internal.html">addInternal</a><br/>
+<br/>
+<h1>addInternal</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$addInternal(pl.treksoft.kvision.core.Component)"></a>
+<code><span class="keyword">protected</span> <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="index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Protected and final method to add given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/add.html b/api1/pl.treksoft.kvision.panel/-simple-panel/add.html
new file mode 100644
index 00000000..09267d3f
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/add.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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="index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/add.html">Container.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/children-v-nodes.html b/api1/pl.treksoft.kvision.panel/-simple-panel/children-v-nodes.html
new file mode 100644
index 00000000..9baee56a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/children-v-nodes.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.childrenVNodes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./children-v-nodes.html">childrenVNodes</a><br/>
+<br/>
+<h1>childrenVNodes</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$childrenVNodes()"></a>
+<code><span class="keyword">protected</span> <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>
+<p><strong>Return</strong><br/>
+array of children vnodes</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/get-children.html b/api1/pl.treksoft.kvision.panel/-simple-panel/get-children.html
new file mode 100644
index 00000000..80176927
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/get-children.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.getChildren - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./get-children.html">getChildren</a><br/>
+<br/>
+<h1>getChildren</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$getChildren()"></a>
+<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>Overrides <a href="../../pl.treksoft.kvision.core/-container/get-children.html">Container.getChildren</a></p>
+<p>Returns a list of children of the current container.</p>
+<p><strong>Return</strong><br/>
+list of children</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/index.html b/api1/pl.treksoft.kvision.panel/-simple-panel/index.html
new file mode 100644
index 00000000..f1ad6780
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/index.html
@@ -0,0 +1,931 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">SimplePanel</a><br/>
+<br/>
+<h1>SimplePanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimplePanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Basic container class, rendered as a DIV element with all children directly within.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SimplePanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SimplePanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, 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.panel.SimplePanel$<init>(kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/draggable.html">draggable</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">draggable</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
+<p>Determines if the current widget is draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/event-target.html">eventTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">eventTarget</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>An ID attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/last-language.html">lastLanguage</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">lastLanguage</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/parent.html">parent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">parent</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">?</span></code>
+<p>Parent of the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/popover-options.html">popoverOptions</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">popoverOptions</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-popover-options/index.html"><span class="identifier">PopoverOptions</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/role.html">role</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">role</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>A role attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/surrounding-span.html">surroundingSpan</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">surroundingSpan</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/title.html">title</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">title</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>A title attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/tooltip-options.html">tooltipOptions</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">tooltipOptions</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-tooltip-options/index.html"><span class="identifier">TooltipOptions</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/visible.html">visible</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Visibility state of the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/vnode.html">vnode</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">vnode</span><span class="symbol">: </span><span class="identifier">VNode</span><span class="symbol">?</span></code></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="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="./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="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="./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="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="./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="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="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="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="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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">SimplePanel</span></a></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>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-css-class.html">addCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of current component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addCssClass(pl.treksoft.kvision.core.Style)/css">css</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-style/index.html"><span class="identifier">Style</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given style object to the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-surrounding-css-class.html">addSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addSurroundingCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of parent component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addSurroundingCssClass(pl.treksoft.kvision.core.Style)/css">css</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-style/index.html"><span class="identifier">Style</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given style object to the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-create.html">afterCreate</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterCreate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterCreate(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after creating Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-destroy.html">afterDestroy</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterDestroy</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after destroying Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-insert.html">afterInsert</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after inserting Snabbdom vnode into the DOM.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/clear-drag-drop-data.html">clearDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearDragDropData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Clears D&D data for the current widget. It also makes it not draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/disable-popover.html">disablePopover</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">disablePopover</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Disables popover for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/disable-tooltip.html">disableTooltip</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">disableTooltip</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Disables tooltip for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/dispatch-event.html">dispatchEvent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">dispatchEvent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/type">type</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/eventInitDict">eventInitDict</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-custom-event-init/index.html"><span class="identifier">CustomEventInit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/enable-popover.html">enablePopover</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">enablePopover</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$enablePopover(pl.treksoft.kvision.core.PopoverOptions)/options">options</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-popover-options/index.html"><span class="identifier">PopoverOptions</span></a>&nbsp;<span class="symbol">=</span>&nbsp;PopoverOptions()<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Enables popover for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/enable-tooltip.html">enableTooltip</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">enableTooltip</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$enableTooltip(pl.treksoft.kvision.core.TooltipOptions)/options">options</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-tooltip-options/index.html"><span class="identifier">TooltipOptions</span></a>&nbsp;<span class="symbol">=</span>&nbsp;TooltipOptions()<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Enables tooltip for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-attribute.html">getAttribute</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAttribute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$getAttribute(kotlin.String)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>Returns the value of an additional attribute.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element.html">getElement</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElement</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html"><span class="identifier">Node</span></a><span class="symbol">?</span></code>
+<p>Returns DOM element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query.html">getElementJQuery</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQuery</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">JQuery</span><span class="symbol">?</span></code>
+<p>Returns JQuery element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query-d.html">getElementJQueryD</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQueryD</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="keyword">dynamic</span></code>
+<p>Returns JQuery element bound to the current component as a <em>dynamic</em> type.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-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="../../pl.treksoft.kvision.core/-widget/get-sn-class.html">getSnClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-hooks.html">getSnHooks</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnHooks</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Hooks</span><span class="symbol">?</span></code>
+<p>Returns list of hooks in the form of a Snabbdom <em>Hooks</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-on.html">getSnOn</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnOn</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">On</span><span class="symbol">?</span></code>
+<p>Returns list of event handlers in the form of a Snabbdom <em>On</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/hide.html">hide</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget invisible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/hide-popover.html">hidePopover</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hidePopover</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Hides popover for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/hide-tooltip.html">hideTooltip</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hideTooltip</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Hides tooltip for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-container/invoke.html">invoke</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">invoke</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.core.Container$invoke(kotlin.Array((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Operator function for adding children in a DSL style.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html">refreshOnUpdate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">refreshOnUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$refreshOnUpdate(kotlin.Function1((pl.treksoft.kvision.core.Widget.refreshOnUpdate.T, kotlin.Unit)))/refreshFunction">refreshFunction</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html#T"><span class="identifier">T</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;{ this.refresh() }<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/-refresh-delegate-provider/index.html"><span class="identifier">Widget.RefreshDelegateProvider</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">refreshOnUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$refreshOnUpdate(pl.treksoft.kvision.core.Widget.refreshOnUpdate.T, kotlin.Function1((pl.treksoft.kvision.core.Widget.refreshOnUpdate.T, kotlin.Unit)))/initialValue">initialValue</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html#T"><span class="identifier">T</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$refreshOnUpdate(pl.treksoft.kvision.core.Widget.refreshOnUpdate.T, kotlin.Function1((pl.treksoft.kvision.core.Widget.refreshOnUpdate.T, kotlin.Unit)))/refreshFunction">refreshFunction</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html#T"><span class="identifier">T</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;{ this.refresh() }<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/-refresh-delegate-provider/index.html"><span class="identifier">Widget.RefreshDelegateProvider</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/refresh-on-update.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-attribute.html">removeAttribute</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAttribute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeAttribute(kotlin.String)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes the value of additional attribute.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-css-class.html">removeCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of current component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeCssClass(pl.treksoft.kvision.core.Style)/css">css</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-style/index.html"><span class="identifier">Style</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given style object from the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-event-listeners.html">removeEventListeners</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeEventListeners</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes all event listeners from current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-surrounding-css-class.html">removeSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeSurroundingCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of parent component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeSurroundingCssClass(pl.treksoft.kvision.core.Style)/css">css</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-style/index.html"><span class="identifier">Style</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given style object from the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String)/elementName">elementName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/elementName">elementName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-attribute.html">setAttribute</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setAttribute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setAttribute(kotlin.String, kotlin.String)/name">name</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setAttribute(kotlin.String, kotlin.String)/value">value</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets the value of additional attribute.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-context-menu.html">setContextMenu</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setContextMenu</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setContextMenu(pl.treksoft.kvision.dropdown.ContextMenu)/contextMenu">contextMenu</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets context menu for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drag-drop-data.html">setDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDragDropData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDragDropData(kotlin.String, kotlin.String)/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDragDropData(kotlin.String, kotlin.String)/data">data</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets D&D data for the current widget. It also makes it draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target.html">setDropTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/formats">formats</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target-data.html">setDropTargetData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTargetData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target with helper callback accepting String data.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html">setEventListener</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget.setEventListener.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget, keeping the actual type of component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/show.html">show</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">show</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget visible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/show-popover.html">showPopover</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">showPopover</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Shows popover for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/show-tooltip.html">showTooltip</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">showTooltip</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Shows tooltip for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/single-render.html">singleRender</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">singleRender</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$singleRender(kotlin.Function0((pl.treksoft.kvision.core.Widget.singleRender.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/single-render.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/single-render.html#T"><span class="identifier">T</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/toggle-visible.html">toggleVisible</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">toggleVisible</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Toggles visibility of current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/translate.html">translate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">translate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$translate(kotlin.String)/text">text</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="simple-panel.html">simplePanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">simplePanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SimplePanel.Companion$simplePanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, 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.panel.SimplePanel.Companion$simplePanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">SimplePanel</span></a></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>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.text/-abstract-text/index.html">AbstractText</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractText</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></code>
+<p>Base class for form field text components.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.toolbar/-button-group/index.html">ButtonGroup</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ButtonGroup</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The Bootstrap button group.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.check/-check-box/index.html">CheckBox</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CheckBox</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a></code>
+<p>The form field component rendered as HTML <em>input type="checkbox"</em>.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.time/-date-time/index.html">DateTime</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a></code>
+<p>Form field date/time chooser component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-dock-panel/index.html">DockPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DockPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with dock layout (up, down, left, right and center positions).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.dropdown/-drop-down/index.html">DropDown</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DropDown</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Bootstrap dropdown component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/index.html">FlexPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FlexPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS flexbox layout support.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form/-form-panel/index.html">FormPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FormPanel</span><span class="symbol">&lt;</span><span class="identifier">K</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Bootstrap form component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-grid-panel/index.html">GridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">GridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS grid layout support.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.html/-link/index.html">Link</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Link</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Link component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.html/-list-tag/index.html">ListTag</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ListTag</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>HTML list component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.modal/-modal/index.html">Modal</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Modal</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Configurable modal window based on Bootstrap modal.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.navbar/-navbar/index.html">Navbar</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Navbar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The Bootstrap Navbar container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.progress/-progress-bar/index.html">ProgressBar</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ProgressBar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The Bootstrap progress bar.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.check/-radio/index.html">Radio</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Radio</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a></code>
+<p>The form field component rendered as HTML <em>input type="radio"</em>.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.check/-radio-group/index.html">RadioGroup</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RadioGroup</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></code>
+<p>The form field component rendered as a group of HTML <em>input type="radio"</em> elements with the same name attribute.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.check/-radio-group-input/index.html">RadioGroupInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RadioGroupInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a></code>
+<p>The input component rendered as a group of HTML <em>input type="radio"</em> elements with the same name attribute.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-responsive-grid-panel/index.html">ResponsiveGridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ResponsiveGridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with support for Bootstrap responsive grid layout.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-root/index.html">Root</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">Root</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Root container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-select/index.html">Select</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Select</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></code>
+<p>The form field component for Select control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-select-input/index.html">SelectInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SelectInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a></code>
+<p>The basic component for Select control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-select-opt-group/index.html">SelectOptGroup</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SelectOptGroup</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The helper container for adding option groups to <a href="../../pl.treksoft.kvision.form.select/-select/index.html">Select</a>.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-select-remote/index.html">SelectRemote</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SelectRemote</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></code>
+<p>The form field component for SelectRemote control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-simple-select/index.html">SimpleSelect</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimpleSelect</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a></code>
+<p>The form field component for SimpleSelect control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.select/-simple-select-input/index.html">SimpleSelectInput</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimpleSelectInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a></code>
+<p>Simple select component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.spinner/-spinner/index.html">Spinner</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Spinner</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a></code>
+<p>The form field component for spinner control.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-split-panel/index.html">SplitPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SplitPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with draggable splitter.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-stack-panel/index.html">StackPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">StackPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with only one active (visible) child at any moment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.table/-table/index.html">Table</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Table</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>HTML table component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-tab-panel/index.html">TabPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">TabPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container rendering it's children as tabs.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.html/-tag/index.html">Tag</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Tag</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.html/-template/index.html"><span class="identifier">Template</span></a></code>
+<p>HTML tag component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.toolbar/-toolbar/index.html">Toolbar</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Toolbar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The Bootstrap toolbar.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.form.upload/-upload/index.html">Upload</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Upload</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-k-files-form-control/index.html"><span class="identifier">KFilesFormControl</span></a></code>
+<p>The form field file upload component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget-wrapper/index.html">WidgetWrapper</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">WidgetWrapper</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>This class allows to wrap a component into separately styled DIV element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.window/-window/index.html">Window</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Window</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Floating window container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-simple-panel/remove-all.html
new file mode 100644
index 00000000..bd66f7ce
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$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">SimplePanel</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/remove-all.html">Container.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.panel/-simple-panel/remove.html b/api1/pl.treksoft.kvision.panel/-simple-panel/remove.html
new file mode 100644
index 00000000..48ad9208
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$remove(pl.treksoft.kvision.core.Component)"></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.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="index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/remove.html">Container.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/render.html b/api1/pl.treksoft.kvision.panel/-simple-panel/render.html
new file mode 100644
index 00000000..16297d87
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/render.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./render.html">render</a><br/>
+<br/>
+<h1>render</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel$render()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/render.html">Widget.render</a></p>
+<p>Renders current component as a Snabbdom vnode.</p>
+<p><strong>Return</strong><br/>
+Snabbdom vnode</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-simple-panel/simple-panel.html b/api1/pl.treksoft.kvision.panel/-simple-panel/simple-panel.html
new file mode 100644
index 00000000..1b3114c7
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-simple-panel/simple-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SimplePanel.simplePanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SimplePanel</a>&nbsp;/&nbsp;<a href="./simple-panel.html">simplePanel</a><br/>
+<br/>
+<h1>simplePanel</h1>
+<a name="pl.treksoft.kvision.panel.SimplePanel.Companion$simplePanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">simplePanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SimplePanel.Companion$simplePanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, 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.panel.SimplePanel.Companion$simplePanel(pl.treksoft.kvision.core.Container, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SimplePanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-split-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-split-panel/-init-.html
new file mode 100644
index 00000000..0dc3f21e
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-split-panel/-init-.html
@@ -0,0 +1,23 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SplitPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">SplitPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.SplitPanel$&lt;init&gt;(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">SplitPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-direction/index.html"><span class="identifier">Direction</span></a>&nbsp;<span class="symbol">=</span>&nbsp;Direction.VERTICAL<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, 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.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">SplitPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="direction"></a>
+<code>direction</code> - direction of the splitter</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-split-panel/children-v-nodes.html b/api1/pl.treksoft.kvision.panel/-split-panel/children-v-nodes.html
new file mode 100644
index 00000000..8f683d11
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-split-panel/children-v-nodes.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SplitPanel.childrenVNodes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SplitPanel</a>&nbsp;/&nbsp;<a href="./children-v-nodes.html">childrenVNodes</a><br/>
+<br/>
+<h1>childrenVNodes</h1>
+<a name="pl.treksoft.kvision.panel.SplitPanel$childrenVNodes()"></a>
+<code><span class="keyword">protected</span> <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>Overrides <a href="../-simple-panel/children-v-nodes.html">SimplePanel.childrenVNodes</a></p>
+<p>Returns the array of the children Snabbdom vnodes.</p>
+<p><strong>Return</strong><br/>
+array of children vnodes</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-split-panel/index.html b/api1/pl.treksoft.kvision.panel/-split-panel/index.html
new file mode 100644
index 00000000..3aadf1d1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-split-panel/index.html
@@ -0,0 +1,138 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SplitPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">SplitPanel</a><br/>
+<br/>
+<h1>SplitPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SplitPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with draggable splitter.</p>
+<p>It is required to have exactly two children, for both sides of the splitter. Otherwise it will be
+rendered as empty.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SplitPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-direction/index.html"><span class="identifier">Direction</span></a>&nbsp;<span class="symbol">=</span>&nbsp;Direction.VERTICAL<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, 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.panel.SplitPanel$<init>(pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">SplitPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="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>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-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="../-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="../-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="../-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="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-simple-panel/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="split-panel.html">splitPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">splitPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-direction/index.html"><span class="identifier">Direction</span></a>&nbsp;<span class="symbol">=</span>&nbsp;Direction.VERTICAL<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, 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.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">SplitPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">SplitPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-split-panel/split-panel.html b/api1/pl.treksoft.kvision.panel/-split-panel/split-panel.html
new file mode 100644
index 00000000..42eeaddf
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-split-panel/split-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SplitPanel.splitPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">SplitPanel</a>&nbsp;/&nbsp;<a href="./split-panel.html">splitPanel</a><br/>
+<br/>
+<h1>splitPanel</h1>
+<a name="pl.treksoft.kvision.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">splitPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="../-direction/index.html"><span class="identifier">Direction</span></a>&nbsp;<span class="symbol">=</span>&nbsp;Direction.VERTICAL<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, 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.panel.SplitPanel.Companion$splitPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.Direction, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.SplitPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">SplitPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">SplitPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-stack-panel/-init-.html
new file mode 100644
index 00000000..ff1f57fc
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/-init-.html
@@ -0,0 +1,23 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$&lt;init&gt;(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">StackPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/activateLast">activateLast</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, 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.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">StackPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="activateLast"></a>
+<code>activateLast</code> - determines if added component is automatically activated (default true)</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/active-child.html b/api1/pl.treksoft.kvision.panel/-stack-panel/active-child.html
new file mode 100644
index 00000000..98080aa2
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/active-child.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.activeChild - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./active-child.html">activeChild</a><br/>
+<br/>
+<h1>activeChild</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$activeChild"></a>
+<code><span class="keyword">var </span><span class="identifier">activeChild</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a></code>
+<p>The active (visible) child.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/active-index.html b/api1/pl.treksoft.kvision.panel/-stack-panel/active-index.html
new file mode 100644
index 00000000..2bffc4bf
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/active-index.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.activeIndex - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./active-index.html">activeIndex</a><br/>
+<br/>
+<h1>activeIndex</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$activeIndex"></a>
+<code><span class="keyword">var </span><span class="identifier">activeIndex</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>The index of active (visible) child.</p>
+<p><strong>Getter</strong><br/>
+<p>The index of active (visible) child.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>The index of active (visible) child.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-stack-panel/add-all.html
new file mode 100644
index 00000000..68dd599c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.StackPanel$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="index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/add.html b/api1/pl.treksoft.kvision.panel/-stack-panel/add.html
new file mode 100644
index 00000000..64c9b308
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/add.html
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$add(pl.treksoft.kvision.core.Component, kotlin.String)"></a>
+<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.StackPanel$add(pl.treksoft.kvision.core.Component, kotlin.String)/panel">panel</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="identifier" id="pl.treksoft.kvision.panel.StackPanel$add(pl.treksoft.kvision.core.Component, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Adds given component and bounds it's activation to a given route.</p>
+<h3>Parameters</h3>
+<p><a name="panel"></a>
+<code>panel</code> - child component</p>
+<p><a name="route"></a>
+<code>route</code> - JavaScript route to activate given child</p>
+<p><strong>Return</strong><br/>
+current container</p>
+<a name="pl.treksoft.kvision.panel.StackPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.StackPanel$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="index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/children-v-nodes.html b/api1/pl.treksoft.kvision.panel/-stack-panel/children-v-nodes.html
new file mode 100644
index 00000000..dd6b54f9
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/children-v-nodes.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.childrenVNodes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./children-v-nodes.html">childrenVNodes</a><br/>
+<br/>
+<h1>childrenVNodes</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$childrenVNodes()"></a>
+<code><span class="keyword">protected</span> <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>Overrides <a href="../-simple-panel/children-v-nodes.html">SimplePanel.childrenVNodes</a></p>
+<p>Returns the array of the children Snabbdom vnodes.</p>
+<p><strong>Return</strong><br/>
+array of children vnodes</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/index.html b/api1/pl.treksoft.kvision.panel/-stack-panel/index.html
new file mode 100644
index 00000000..dcc525ac
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/index.html
@@ -0,0 +1,162 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">StackPanel</a><br/>
+<br/>
+<h1>StackPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">StackPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with only one active (visible) child at any moment.</p>
+<p>It supports activating children by a JavaScript route.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">StackPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/activateLast">activateLast</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, 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.panel.StackPanel$<init>(kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">StackPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="active-child.html">activeChild</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">activeChild</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a></code>
+<p>The active (visible) child.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="active-index.html">activeIndex</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">activeIndex</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>The index of active (visible) child.</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="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel$add(pl.treksoft.kvision.core.Component, kotlin.String)/panel">panel</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="identifier" id="pl.treksoft.kvision.panel.StackPanel$add(pl.treksoft.kvision.core.Component, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Adds given component and bounds it's activation to a given route.</p>
+<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.StackPanel$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="./index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.StackPanel$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="./index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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="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.StackPanel$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="./index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Removes given component from the current container.</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">StackPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="stack-panel.html">stackPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">stackPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/activateLast">activateLast</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, 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.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">StackPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">StackPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-stack-panel/remove-all.html
new file mode 100644
index 00000000..4e6736c6
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$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">StackPanel</span></a></code>
+<p>Overrides <a href="../-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.panel/-stack-panel/remove.html b/api1/pl.treksoft.kvision.panel/-stack-panel/remove.html
new file mode 100644
index 00000000..c1d87b4d
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.StackPanel$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="index.html"><span class="identifier">StackPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-stack-panel/stack-panel.html b/api1/pl.treksoft.kvision.panel/-stack-panel/stack-panel.html
new file mode 100644
index 00000000..6da01851
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-stack-panel/stack-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>StackPanel.stackPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">StackPanel</a>&nbsp;/&nbsp;<a href="./stack-panel.html">stackPanel</a><br/>
+<br/>
+<h1>stackPanel</h1>
+<a name="pl.treksoft.kvision.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">stackPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/activateLast">activateLast</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;true<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, 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.panel.StackPanel.Companion$stackPanel(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.StackPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">StackPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">StackPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-tab-panel/-init-.html
new file mode 100644
index 00000000..76a3400c
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/-init-.html
@@ -0,0 +1,27 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$&lt;init&gt;(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">TabPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/tabPosition">tabPosition</span><span class="symbol">:</span>&nbsp;<a href="../-tab-position/index.html"><span class="identifier">TabPosition</span></a>&nbsp;<span class="symbol">=</span>&nbsp;TabPosition.TOP<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/sideTabSize">sideTabSize</span><span class="symbol">:</span>&nbsp;<a href="../-side-tab-size/index.html"><span class="identifier">SideTabSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;SideTabSize.SIZE_3<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/scrollableTabs">scrollableTabs</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, 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.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">TabPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="tabPosition"></a>
+<code>tabPosition</code> - tab position</p>
+<p><a name="sideTabSize"></a>
+<code>sideTabSize</code> - side tab size</p>
+<p><a name="scrollableTabs"></a>
+<code>scrollableTabs</code> - determines if tabs are scrollable (default: false)</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/active-index.html b/api1/pl.treksoft.kvision.panel/-tab-panel/active-index.html
new file mode 100644
index 00000000..01be57ab
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/active-index.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.activeIndex - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./active-index.html">activeIndex</a><br/>
+<br/>
+<h1>activeIndex</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$activeIndex"></a>
+<code><span class="keyword">var </span><span class="identifier">activeIndex</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>The index of active (visible) tab.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/add-all.html b/api1/pl.treksoft.kvision.panel/-tab-panel/add-all.html
new file mode 100644
index 00000000..73a08956
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<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.TabPanel$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="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add-all.html">SimplePanel.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/add-tab.html b/api1/pl.treksoft.kvision.panel/-tab-panel/add-tab.html
new file mode 100644
index 00000000..fd140749
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/add-tab.html
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.addTab - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./add-tab.html">addTab</a><br/>
+<br/>
+<h1>addTab</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addTab</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/title">title</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/panel">panel</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="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/icon">icon</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/image">image</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-res-string.html"><span class="identifier">ResString</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/closable">closable</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Adds new tab and optionally bounds it's activation to a given route.</p>
+<h3>Parameters</h3>
+<p><a name="title"></a>
+<code>title</code> - title of the tab</p>
+<p><a name="panel"></a>
+<code>panel</code> - child component</p>
+<p><a name="icon"></a>
+<code>icon</code> - icon of the tab</p>
+<p><a name="image"></a>
+<code>image</code> - image of the tab</p>
+<p><a name="closable"></a>
+<code>closable</code> - determines if this tab is closable</p>
+<p><a name="route"></a>
+<code>route</code> - JavaScript route to activate given child</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/add.html b/api1/pl.treksoft.kvision.panel/-tab-panel/add.html
new file mode 100644
index 00000000..21369b50
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/add.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$add(pl.treksoft.kvision.core.Component)"></a>
+<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.TabPanel$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="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/add.html">SimplePanel.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/get-child-component.html b/api1/pl.treksoft.kvision.panel/-tab-panel/get-child-component.html
new file mode 100644
index 00000000..a5e88799
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/get-child-component.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.getChildComponent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./get-child-component.html">getChildComponent</a><br/>
+<br/>
+<h1>getChildComponent</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$getChildComponent(kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getChildComponent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$getChildComponent(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">?</span></code>
+<p>Returns child component by tab index.</p>
+<h3>Parameters</h3>
+<p><a name="index"></a>
+<code>index</code> - tab index</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/get-nav-component.html b/api1/pl.treksoft.kvision.panel/-tab-panel/get-nav-component.html
new file mode 100644
index 00000000..825aaccd
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/get-nav-component.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.getNavComponent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./get-nav-component.html">getNavComponent</a><br/>
+<br/>
+<h1>getNavComponent</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$getNavComponent(kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getNavComponent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$getNavComponent(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.html/-tag/index.html"><span class="identifier">Tag</span></a><span class="symbol">?</span></code>
+<p>Returns tab header component by tab index.</p>
+<h3>Parameters</h3>
+<p><a name="index"></a>
+<code>index</code> - tab index</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/index.html b/api1/pl.treksoft.kvision.panel/-tab-panel/index.html
new file mode 100644
index 00000000..d8db44dd
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/index.html
@@ -0,0 +1,187 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">TabPanel</a><br/>
+<br/>
+<h1>TabPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">TabPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container rendering it's children as tabs.</p>
+<p>It supports activating children by a JavaScript route.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">TabPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/tabPosition">tabPosition</span><span class="symbol">:</span>&nbsp;<a href="../-tab-position/index.html"><span class="identifier">TabPosition</span></a>&nbsp;<span class="symbol">=</span>&nbsp;TabPosition.TOP<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/sideTabSize">sideTabSize</span><span class="symbol">:</span>&nbsp;<a href="../-side-tab-size/index.html"><span class="identifier">SideTabSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;SideTabSize.SIZE_3<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/scrollableTabs">scrollableTabs</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, 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.panel.TabPanel$<init>(pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">TabPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="active-index.html">activeIndex</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">activeIndex</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>The index of active (visible) tab.</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="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$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="./index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="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.TabPanel$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="./index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="add-tab.html">addTab</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addTab</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/title">title</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/panel">panel</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="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/icon">icon</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/image">image</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-res-string.html"><span class="identifier">ResString</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/closable">closable</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$addTab(kotlin.String, pl.treksoft.kvision.core.Component, kotlin.String, kotlin.String, kotlin.Boolean, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Adds new tab and optionally bounds it's activation to a given route.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-child-component.html">getChildComponent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getChildComponent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$getChildComponent(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">?</span></code>
+<p>Returns child component by tab index.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-nav-component.html">getNavComponent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getNavComponent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$getNavComponent(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.html/-tag/index.html"><span class="identifier">Tag</span></a><span class="symbol">?</span></code>
+<p>Returns tab header component by tab index.</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.panel.TabPanel$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="./index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Removes given component from the current container.</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">TabPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remove-tab.html">removeTab</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeTab</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$removeTab(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Removes tab at given index.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-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="../-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="../-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="../-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="../-simple-panel/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="tab-panel.html">tabPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">tabPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/tabPosition">tabPosition</span><span class="symbol">:</span>&nbsp;<a href="../-tab-position/index.html"><span class="identifier">TabPosition</span></a>&nbsp;<span class="symbol">=</span>&nbsp;TabPosition.TOP<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/sideTabSize">sideTabSize</span><span class="symbol">:</span>&nbsp;<a href="../-side-tab-size/index.html"><span class="identifier">SideTabSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;SideTabSize.SIZE_3<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/scrollableTabs">scrollableTabs</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, 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.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">TabPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">TabPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/remove-all.html b/api1/pl.treksoft.kvision.panel/-tab-panel/remove-all.html
new file mode 100644
index 00000000..24cc98db
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$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">TabPanel</span></a></code>
+<p>Overrides <a href="../-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.panel/-tab-panel/remove-tab.html b/api1/pl.treksoft.kvision.panel/-tab-panel/remove-tab.html
new file mode 100644
index 00000000..2ef88c03
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/remove-tab.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.removeTab - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./remove-tab.html">removeTab</a><br/>
+<br/>
+<h1>removeTab</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$removeTab(kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeTab</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel$removeTab(kotlin.Int)/index">index</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Removes tab at given index.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/remove.html b/api1/pl.treksoft.kvision.panel/-tab-panel/remove.html
new file mode 100644
index 00000000..9e2a04b0
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.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.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel$remove(pl.treksoft.kvision.core.Component)"></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.panel.TabPanel$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="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>Overrides <a href="../-simple-panel/remove.html">SimplePanel.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-panel/tab-panel.html b/api1/pl.treksoft.kvision.panel/-tab-panel/tab-panel.html
new file mode 100644
index 00000000..5791988b
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-panel/tab-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPanel.tabPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPanel</a>&nbsp;/&nbsp;<a href="./tab-panel.html">tabPanel</a><br/>
+<br/>
+<h1>tabPanel</h1>
+<a name="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">tabPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/tabPosition">tabPosition</span><span class="symbol">:</span>&nbsp;<a href="../-tab-position/index.html"><span class="identifier">TabPosition</span></a>&nbsp;<span class="symbol">=</span>&nbsp;TabPosition.TOP<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/sideTabSize">sideTabSize</span><span class="symbol">:</span>&nbsp;<a href="../-side-tab-size/index.html"><span class="identifier">SideTabSize</span></a>&nbsp;<span class="symbol">=</span>&nbsp;SideTabSize.SIZE_3<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/scrollableTabs">scrollableTabs</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, 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.panel.TabPanel.Companion$tabPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.TabPosition, pl.treksoft.kvision.panel.SideTabSize, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.TabPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">TabPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">TabPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-position/-l-e-f-t.html b/api1/pl.treksoft.kvision.panel/-tab-position/-l-e-f-t.html
new file mode 100644
index 00000000..63f73092
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-position/-l-e-f-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPosition.LEFT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPosition</a>&nbsp;/&nbsp;<a href="./-l-e-f-t.html">LEFT</a><br/>
+<br/>
+<h1>LEFT</h1>
+<a name="pl.treksoft.kvision.panel.TabPosition.LEFT"></a>
+<code><span class="identifier">LEFT</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-position/-r-i-g-h-t.html b/api1/pl.treksoft.kvision.panel/-tab-position/-r-i-g-h-t.html
new file mode 100644
index 00000000..708d9a54
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-position/-r-i-g-h-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPosition.RIGHT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPosition</a>&nbsp;/&nbsp;<a href="./-r-i-g-h-t.html">RIGHT</a><br/>
+<br/>
+<h1>RIGHT</h1>
+<a name="pl.treksoft.kvision.panel.TabPosition.RIGHT"></a>
+<code><span class="identifier">RIGHT</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-position/-t-o-p.html b/api1/pl.treksoft.kvision.panel/-tab-position/-t-o-p.html
new file mode 100644
index 00000000..14d6c15a
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-position/-t-o-p.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPosition.TOP - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">TabPosition</a>&nbsp;/&nbsp;<a href="./-t-o-p.html">TOP</a><br/>
+<br/>
+<h1>TOP</h1>
+<a name="pl.treksoft.kvision.panel.TabPosition.TOP"></a>
+<code><span class="identifier">TOP</span></code>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-tab-position/index.html b/api1/pl.treksoft.kvision.panel/-tab-position/index.html
new file mode 100644
index 00000000..c4e343a6
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-tab-position/index.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TabPosition - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">TabPosition</a><br/>
+<br/>
+<h1>TabPosition</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">TabPosition</span></code>
+<p>Tab position.</p>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-t-o-p.html">TOP</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-l-e-f-t.html">LEFT</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-r-i-g-h-t.html">RIGHT</a></p>
+</td>
+<td>
+</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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-v-panel/-init-.html b/api1/pl.treksoft.kvision.panel/-v-panel/-init-.html
new file mode 100644
index 00000000..a7572227
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-v-panel/-init-.html
@@ -0,0 +1,27 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>VPanel.<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.panel</a>&nbsp;/&nbsp;<a href="index.html">VPanel</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.panel.VPanel$&lt;init&gt;(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))"></a>
+<code><span class="identifier">VPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, 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.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">VPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<h3>Parameters</h3>
+<p><a name="justify"></a>
+<code>justify</code> - flexbox content justification</p>
+<p><a name="alignItems"></a>
+<code>alignItems</code> - flexbox items alignment</p>
+<p><a name="spacing"></a>
+<code>spacing</code> - spacing between columns/rows</p>
+<p><a name="classes"></a>
+<code>classes</code> - a set of CSS class names</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-v-panel/index.html b/api1/pl.treksoft.kvision.panel/-v-panel/index.html
new file mode 100644
index 00000000..8be17ba1
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-v-panel/index.html
@@ -0,0 +1,166 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>VPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="./index.html">VPanel</a><br/>
+<br/>
+<h1>VPanel</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">VPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with vertical layout.</p>
+<p>This is a special case of the flexbox layout.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">VPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, 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.panel.VPanel$<init>(pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">VPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-flex-panel/align-content.html">alignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignContent</span><span class="symbol">: </span><a href="../-flex-align-content/index.html"><span class="identifier">FlexAlignContent</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/align-items.html">alignItems</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">alignItems</span><span class="symbol">: </span><a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox items alignment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/direction.html">direction</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">direction</span><span class="symbol">: </span><a href="../-flex-dir/index.html"><span class="identifier">FlexDir</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox direction.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/justify.html">justify</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">justify</span><span class="symbol">: </span><a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox content justification.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/spacing.html">spacing</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">spacing</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+<p>The spacing between columns/rows.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/wrap.html">wrap</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">wrap</span><span class="symbol">: </span><a href="../-flex-wrap/index.html"><span class="identifier">FlexWrap</span></a><span class="symbol">?</span></code>
+<p>CSS flexbox wrap mode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-flex-panel/add.html">add</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/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="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/order">order</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/grow">grow</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/shrink">shrink</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/basis">basis</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/alignSelf">alignSelf</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.FlexPanel$add(pl.treksoft.kvision.core.Component, kotlin.Int, kotlin.Int, kotlin.Int, kotlin.Int, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">)</span><span class="symbol">: </span><a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a component to the flexbox container.</p>
+<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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/get-sn-style.html">getSnStyle</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnStyle</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 the list of String pairs defining CSS style attributes and their values.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-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.FlexPanel$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="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-flex-panel/remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="v-panel.html">vPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">vPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, 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.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./index.html"><span class="identifier">VPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">VPanel</span></a></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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/-v-panel/v-panel.html b/api1/pl.treksoft.kvision.panel/-v-panel/v-panel.html
new file mode 100644
index 00000000..74fa9589
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/-v-panel/v-panel.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>VPanel.vPanel - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.panel</a>&nbsp;/&nbsp;<a href="index.html">VPanel</a>&nbsp;/&nbsp;<a href="./v-panel.html">vPanel</a><br/>
+<br/>
+<h1>vPanel</h1>
+<a name="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">vPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/justify">justify</span><span class="symbol">:</span>&nbsp;<a href="../-flex-justify/index.html"><span class="identifier">FlexJustify</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/alignItems">alignItems</span><span class="symbol">:</span>&nbsp;<a href="../-flex-align-items/index.html"><span class="identifier">FlexAlignItems</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/spacing">spacing</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, 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.panel.VPanel.Companion$vPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.panel.FlexJustify, pl.treksoft.kvision.panel.FlexAlignItems, kotlin.Int, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.panel.VPanel, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="index.html"><span class="identifier">VPanel</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">VPanel</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api1/pl.treksoft.kvision.panel/index.html b/api1/pl.treksoft.kvision.panel/index.html
new file mode 100644
index 00000000..06599ad0
--- /dev/null
+++ b/api1/pl.treksoft.kvision.panel/index.html
@@ -0,0 +1,260 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.panel - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="./index.html">pl.treksoft.kvision.panel</a><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.panel</h2>
+<p>Rich set of container classes, supporting both simple use cases and sophisticated layouts (including CSS flexbox,
+CSS grid and Bootstrap responsive 12 columns gid).</p>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-direction/index.html">Direction</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Direction</span></code>
+<p>Split panel direction.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-dock-panel/index.html">DockPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DockPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with dock layout (up, down, left, right and center positions).</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-align-content/index.html">FlexAlignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexAlignContent</span></code>
+<p>CSS flexbox content alignment options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-align-items/index.html">FlexAlignItems</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexAlignItems</span></code>
+<p>CSS flexbox alignments options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-dir/index.html">FlexDir</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexDir</span></code>
+<p>CSS flexbox directions.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-justify/index.html">FlexJustify</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexJustify</span></code>
+<p>CSS flexbox justification options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-panel/index.html">FlexPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">FlexPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS flexbox layout support.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-flex-wrap/index.html">FlexWrap</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">FlexWrap</span></code>
+<p>CSS flexbox wrap modes.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-align/index.html">GridAlign</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridAlign</span></code>
+<p>CSS grid alignment options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-align-content/index.html">GridAlignContent</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridAlignContent</span></code>
+<p>CSS grid content alignment options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-flow/index.html">GridFlow</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridFlow</span></code>
+<p>CSS grid flow options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-justify/index.html">GridJustify</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridJustify</span></code>
+<p>CSS grid justification options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-justify-content/index.html">GridJustifyContent</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridJustifyContent</span></code>
+<p>CSS grid content justification options.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-panel/index.html">GridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">GridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with CSS grid layout support.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-size/index.html">GridSize</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">GridSize</span></code>
+<p>Bootstrap grid sizes.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-grid-wrapper/index.html">GridWrapper</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">GridWrapper</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget-wrapper/index.html"><span class="identifier">WidgetWrapper</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-h-panel/index.html">HPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">HPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with horizontal layout.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-responsive-grid-panel/index.html">ResponsiveGridPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">ResponsiveGridPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with support for Bootstrap responsive grid layout.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-root/index.html">Root</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">Root</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>Root container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-side/index.html">Side</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">Side</span></code>
+<p>Dock layout directions.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-side-tab-size/index.html">SideTabSize</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">SideTabSize</span></code>
+<p>Left or right tab size.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-simple-panel/index.html">SimplePanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimplePanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Basic container class, rendered as a DIV element with all children directly within.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-split-panel/index.html">SplitPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SplitPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with draggable splitter.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-stack-panel/index.html">StackPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">StackPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container with only one active (visible) child at any moment.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-tab-panel/index.html">TabPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">TabPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-simple-panel/index.html"><span class="identifier">SimplePanel</span></a></code>
+<p>The container rendering it's children as tabs.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-tab-position/index.html">TabPosition</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">TabPosition</span></code>
+<p>Tab position.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-v-panel/index.html">VPanel</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">VPanel</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-flex-panel/index.html"><span class="identifier">FlexPanel</span></a></code>
+<p>The container with vertical layout.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>