aboutsummaryrefslogtreecommitdiff
path: root/api/pl.treksoft.kvision.utils
diff options
context:
space:
mode:
Diffstat (limited to 'api/pl.treksoft.kvision.utils')
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/add-all.html16
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/add.html16
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/clear.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains-all.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/get.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/index-of.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/index.html204
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/is-empty.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/iterator.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/last-index-of.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/list-iterator.html16
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/mutable-list.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/on-update.html15
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-all.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-at.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/retain-all.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/set.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/size.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list-wrapper/sub-list.html14
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list/index.html63
-rw-r--r--api/pl.treksoft.kvision.utils/-observable-list/on-update.html14
-rw-r--r--api/pl.treksoft.kvision.utils/index.html34
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/ch.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/cm.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/em.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/in.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/index.html108
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/mm.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/pc.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/perc.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/rem.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/vh.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/vmax.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/vmin.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-int/vw.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/ch.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/cm.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/em.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/in.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/index.html124
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/mm.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/pc.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/perc.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/rem.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/vh.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/vmax.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/vmin.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-number/vw.html15
-rw-r--r--api/pl.treksoft.kvision.utils/kotlin.-pair/as-string.html2
-rw-r--r--api/pl.treksoft.kvision.utils/observable-list-of.html15
53 files changed, 937 insertions, 289 deletions
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/-init-.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/-init-.html
new file mode 100644
index 00000000..10267492
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.<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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$&lt;init&gt;(kotlin.collections.MutableList((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="identifier">ObservableListWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$<init>(kotlin.collections.MutableList((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/mutableList">mutableList</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableListOf()<span class="symbol">)</span></code>
+<p>Simple observable list implementation.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add-all.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add-all.html
new file mode 100644
index 00000000..2561bd1b
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add-all.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code><br/>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.Int, kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.Int, kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.Int, kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add.html
new file mode 100644
index 00000000..f27df790
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/add.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$add(pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$add(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code><br/>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$add(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$add(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$add(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/clear.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/clear.html
new file mode 100644
index 00000000..133083cc
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/clear.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.clear - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./clear.html">clear</a><br/>
+<br/>
+<h1>clear</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$clear()"></a>
+<code><span class="keyword">fun </span><span class="identifier">clear</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>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains-all.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains-all.html
new file mode 100644
index 00000000..0efa9d8f
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.containsAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./contains-all.html">containsAll</a><br/>
+<br/>
+<h1>containsAll</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">containsAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains.html
new file mode 100644
index 00000000..9ae02722
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/contains.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.contains - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./contains.html">contains</a><br/>
+<br/>
+<h1>contains</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$contains(pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">contains</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$contains(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/get.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/get.html
new file mode 100644
index 00000000..6366a1a8
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/get.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.get - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./get.html">get</a><br/>
+<br/>
+<h1>get</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$get(kotlin.Int)"></a>
+<code><span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$get(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#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index-of.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index-of.html
new file mode 100644
index 00000000..6124cd75
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index-of.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.indexOf - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./index-of.html">indexOf</a><br/>
+<br/>
+<h1>indexOf</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$indexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">indexOf</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$indexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index.html
new file mode 100644
index 00000000..76a51d0d
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/index.html
@@ -0,0 +1,204 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="./index.html">ObservableListWrapper</a><br/>
+<br/>
+<h1>ObservableListWrapper</h1>
+<code><span class="keyword">class </span><span class="identifier">ObservableListWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-list/index.html"><span class="identifier">ObservableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Simple observable list implementation.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">ObservableListWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$<init>(kotlin.collections.MutableList((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/mutableList">mutableList</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableListOf()<span class="symbol">)</span></code>
+<p>Simple observable list implementation.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="mutable-list.html">mutableList</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">mutableList</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="on-update.html">onUpdate</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&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">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="size.html">size</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">size</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="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.utils.ObservableListWrapper$add(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$add(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$add(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="add-all.html">addAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.Int, kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$addAll(kotlin.Int, kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><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="clear.html">clear</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">clear</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></td>
+</tr>
+<tr>
+<td>
+<p><a href="contains.html">contains</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">contains</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$contains(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="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="contains-all.html">containsAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">containsAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><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="get.html">get</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$get(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#T"><span class="identifier">T</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="index-of.html">indexOf</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">indexOf</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$indexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="is-empty.html">isEmpty</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">isEmpty</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="iterator.html">iterator</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">iterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html"><span class="identifier">MutableIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="last-index-of.html">lastIndexOf</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">lastIndexOf</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$lastIndexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="list-iterator.html">listIterator</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">listIterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list-iterator/index.html"><span class="identifier">MutableListIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">listIterator</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$listIterator(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="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list-iterator/index.html"><span class="identifier">MutableListIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="remove.html">remove</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$remove(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="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="remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><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="remove-at.html">removeAt</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$removeAt(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#T"><span class="identifier">T</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="retain-all.html">retainAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">retainAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><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="set.html">set</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">set</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$set(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$set(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#T"><span class="identifier">T</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="sub-list.html">subList</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">subList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$subList(kotlin.Int, kotlin.Int)/fromIndex">fromIndex</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.utils.ObservableListWrapper$subList(kotlin.Int, kotlin.Int)/toIndex">toIndex</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="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../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="../kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
+<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../kotlin.collections.-mutable-list/sync-with-list.html">syncWithList</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="../kotlin.collections.-mutable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(kotlin.collections.MutableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../kotlin.collections.-mutable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Utility extension function to synchronise elements of the MutableList.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/is-empty.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/is-empty.html
new file mode 100644
index 00000000..7476ad91
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/is-empty.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.isEmpty - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./is-empty.html">isEmpty</a><br/>
+<br/>
+<h1>isEmpty</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$isEmpty()"></a>
+<code><span class="keyword">fun </span><span class="identifier">isEmpty</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/iterator.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/iterator.html
new file mode 100644
index 00000000..6451260c
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/iterator.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.iterator - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./iterator.html">iterator</a><br/>
+<br/>
+<h1>iterator</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$iterator()"></a>
+<code><span class="keyword">fun </span><span class="identifier">iterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html"><span class="identifier">MutableIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/last-index-of.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/last-index-of.html
new file mode 100644
index 00000000..65196cd5
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/last-index-of.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.lastIndexOf - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./last-index-of.html">lastIndexOf</a><br/>
+<br/>
+<h1>lastIndexOf</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$lastIndexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">lastIndexOf</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$lastIndexOf(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/list-iterator.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/list-iterator.html
new file mode 100644
index 00000000..3266abd0
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/list-iterator.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.listIterator - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./list-iterator.html">listIterator</a><br/>
+<br/>
+<h1>listIterator</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$listIterator()"></a>
+<code><span class="keyword">fun </span><span class="identifier">listIterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list-iterator/index.html"><span class="identifier">MutableListIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$listIterator(kotlin.Int)"></a>
+<code><span class="keyword">fun </span><span class="identifier">listIterator</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$listIterator(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="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list-iterator/index.html"><span class="identifier">MutableListIterator</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/mutable-list.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/mutable-list.html
new file mode 100644
index 00000000..ed123582
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/mutable-list.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.mutableList - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./mutable-list.html">mutableList</a><br/>
+<br/>
+<h1>mutableList</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$mutableList"></a>
+<code><span class="keyword">val </span><span class="identifier">mutableList</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/on-update.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/on-update.html
new file mode 100644
index 00000000..67a6abde
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/on-update.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.onUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./on-update.html">onUpdate</a><br/>
+<br/>
+<h1>onUpdate</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$onUpdate"></a>
+<code><span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&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">&gt;</span></code>
+<p>Overrides <a href="../-observable-list/on-update.html">ObservableList.onUpdate</a></p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-all.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-all.html
new file mode 100644
index 00000000..d1fc8354
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-at.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-at.html
new file mode 100644
index 00000000..cc02b15d
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove-at.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./remove-at.html">removeAt</a><br/>
+<br/>
+<h1>removeAt</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$removeAt(kotlin.Int)"></a>
+<code><span class="keyword">fun </span><span class="identifier">removeAt</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$removeAt(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#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove.html
new file mode 100644
index 00000000..4e89fb6f
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/remove.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.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.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$remove(pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$remove(pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/retain-all.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/retain-all.html
new file mode 100644
index 00000000..7675f11e
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/retain-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.retainAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./retain-all.html">retainAll</a><br/>
+<br/>
+<h1>retainAll</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">retainAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.utils.ObservableListWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/set.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/set.html
new file mode 100644
index 00000000..f0c5f4b5
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/set.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.set - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./set.html">set</a><br/>
+<br/>
+<h1>set</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$set(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">set</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$set(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/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="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$set(kotlin.Int, pl.treksoft.kvision.utils.ObservableListWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/size.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/size.html
new file mode 100644
index 00000000..92e321d5
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/size.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.size - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./size.html">size</a><br/>
+<br/>
+<h1>size</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$size"></a>
+<code><span class="keyword">val </span><span class="identifier">size</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list-wrapper/sub-list.html b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/sub-list.html
new file mode 100644
index 00000000..c4635f9b
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list-wrapper/sub-list.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableListWrapper.subList - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableListWrapper</a>&nbsp;/&nbsp;<a href="./sub-list.html">subList</a><br/>
+<br/>
+<h1>subList</h1>
+<a name="pl.treksoft.kvision.utils.ObservableListWrapper$subList(kotlin.Int, kotlin.Int)"></a>
+<code><span class="keyword">fun </span><span class="identifier">subList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils.ObservableListWrapper$subList(kotlin.Int, kotlin.Int)/fromIndex">fromIndex</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.utils.ObservableListWrapper$subList(kotlin.Int, kotlin.Int)/toIndex">toIndex</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="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list/index.html b/api/pl.treksoft.kvision.utils/-observable-list/index.html
new file mode 100644
index 00000000..07b47de8
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list/index.html
@@ -0,0 +1,63 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableList - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="./index.html">ObservableList</a><br/>
+<br/>
+<h1>ObservableList</h1>
+<code><span class="keyword">interface </span><span class="identifier">ObservableList</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Observable list interface.</p>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="on-update.html">onUpdate</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&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">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../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="../kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
+<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../kotlin.collections.-mutable-list/sync-with-list.html">syncWithList</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="../kotlin.collections.-mutable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">syncWithList</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.utils$syncWithList(kotlin.collections.MutableList((pl.treksoft.kvision.utils.syncWithList.T)), kotlin.collections.List((pl.treksoft.kvision.utils.syncWithList.T)))/list">list</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../kotlin.collections.-mutable-list/sync-with-list.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Utility extension function to synchronise elements of the MutableList.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-observable-list-wrapper/index.html">ObservableListWrapper</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">ObservableListWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="../-observable-list-wrapper/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableList</span></a><span class="symbol">&lt;</span><a href="../-observable-list-wrapper/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Simple observable list implementation.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/-observable-list/on-update.html b/api/pl.treksoft.kvision.utils/-observable-list/on-update.html
new file mode 100644
index 00000000..3ffa447f
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/-observable-list/on-update.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableList.onUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">ObservableList</a>&nbsp;/&nbsp;<a href="./on-update.html">onUpdate</a><br/>
+<br/>
+<h1>onUpdate</h1>
+<a name="pl.treksoft.kvision.utils.ObservableList$onUpdate"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&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">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/index.html b/api/pl.treksoft.kvision.utils/index.html
index ff0cd878..0a14333f 100644
--- a/api/pl.treksoft.kvision.utils/index.html
+++ b/api/pl.treksoft.kvision.utils/index.html
@@ -66,6 +66,24 @@ performance is O(1) and for cache eviction, it is O(1).</p>
<p>JavaScript Object type</p>
</td>
</tr>
+<tr>
+<td>
+<p><a href="-observable-list/index.html">ObservableList</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">ObservableList</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="-observable-list/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Observable list interface.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-observable-list-wrapper/index.html">ObservableListWrapper</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">ObservableListWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="-observable-list-wrapper/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><a href="-observable-list/index.html"><span class="identifier">ObservableList</span></a><span class="symbol">&lt;</span><a href="-observable-list-wrapper/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Simple observable list implementation.</p>
+</td>
+</tr>
</tbody>
</table>
<h3>Extensions for External Classes</h3>
@@ -94,6 +112,13 @@ performance is O(1) and for cache eviction, it is O(1).</p>
</tr>
<tr>
<td>
+<p><a href="kotlin.-number/index.html">kotlin.Number</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="kotlin.-pair/index.html">kotlin.Pair</a></p>
</td>
<td>
@@ -182,6 +207,15 @@ performance is O(1) and for cache eviction, it is O(1).</p>
</tr>
<tr>
<td>
+<p><a href="observable-list-of.html">observableListOf</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">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$observableListOf(kotlin.Array((pl.treksoft.kvision.utils.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<a href="observable-list-of.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list-wrapper/index.html"><span class="identifier">ObservableListWrapper</span></a><span class="symbol">&lt;</span><a href="observable-list-of.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Creates an instance of ObservableList</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="sn-attrs.html">snAttrs</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/ch.html b/api/pl.treksoft.kvision.utils/kotlin.-int/ch.html
deleted file mode 100644
index eea37f3e..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/ch.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>ch - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./ch.html">ch</a><br/>
-<br/>
-<h1>ch</h1>
-<a name="pl.treksoft.kvision.utils$ch#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">ch</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS ch units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/cm.html b/api/pl.treksoft.kvision.utils/kotlin.-int/cm.html
deleted file mode 100644
index dbc1f12a..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/cm.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>cm - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./cm.html">cm</a><br/>
-<br/>
-<h1>cm</h1>
-<a name="pl.treksoft.kvision.utils$cm#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">cm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS cm units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/em.html b/api/pl.treksoft.kvision.utils/kotlin.-int/em.html
deleted file mode 100644
index 686672a7..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/em.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>em - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./em.html">em</a><br/>
-<br/>
-<h1>em</h1>
-<a name="pl.treksoft.kvision.utils$em#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">em</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS em units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/in.html b/api/pl.treksoft.kvision.utils/kotlin.-int/in.html
deleted file mode 100644
index cb492cfc..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/in.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>in - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./in.html">in</a><br/>
-<br/>
-<h1>in</h1>
-<a name="pl.treksoft.kvision.utils$in#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">in</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS in units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/index.html b/api/pl.treksoft.kvision.utils/kotlin.-int/index.html
index 771352cc..264af1d0 100644
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/index.html
+++ b/api/pl.treksoft.kvision.utils/kotlin.-int/index.html
@@ -12,69 +12,6 @@
<tbody>
<tr>
<td>
-<p><a href="ch.html">ch</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">ch</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS ch units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="cm.html">cm</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">cm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS cm units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="em.html">em</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">em</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS em units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="in.html">in</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">in</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS in units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="mm.html">mm</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">mm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS mm units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="pc.html">pc</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">pc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS pc units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="perc.html">perc</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">perc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS percent units.</p>
-</td>
-</tr>
-<tr>
-<td>
<p><a href="pt.html">pt</a></p>
</td>
<td>
@@ -93,15 +30,6 @@
</tr>
<tr>
<td>
-<p><a href="rem.html">rem</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">rem</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS rem units.</p>
-</td>
-</tr>
-<tr>
-<td>
<p><a href="to-hex-string.html">toHexString</a></p>
</td>
<td>
@@ -109,42 +37,6 @@
<p>Extension function to convert Int to hex format.</p>
</td>
</tr>
-<tr>
-<td>
-<p><a href="vh.html">vh</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">vh</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vh units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="vmax.html">vmax</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">vmax</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vmax units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="vmin.html">vmin</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">vmin</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vmin units.</p>
-</td>
-</tr>
-<tr>
-<td>
-<p><a href="vw.html">vw</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><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">vw</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vw units.</p>
-</td>
-</tr>
</tbody>
</table>
</BODY>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/mm.html b/api/pl.treksoft.kvision.utils/kotlin.-int/mm.html
deleted file mode 100644
index 10b6c608..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/mm.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>mm - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./mm.html">mm</a><br/>
-<br/>
-<h1>mm</h1>
-<a name="pl.treksoft.kvision.utils$mm#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">mm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS mm units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/pc.html b/api/pl.treksoft.kvision.utils/kotlin.-int/pc.html
deleted file mode 100644
index 65b354b8..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/pc.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>pc - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./pc.html">pc</a><br/>
-<br/>
-<h1>pc</h1>
-<a name="pl.treksoft.kvision.utils$pc#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">pc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS pc units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/perc.html b/api/pl.treksoft.kvision.utils/kotlin.-int/perc.html
deleted file mode 100644
index 457dea82..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/perc.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>perc - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./perc.html">perc</a><br/>
-<br/>
-<h1>perc</h1>
-<a name="pl.treksoft.kvision.utils$perc#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">perc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS percent units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/rem.html b/api/pl.treksoft.kvision.utils/kotlin.-int/rem.html
deleted file mode 100644
index d8f0211a..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/rem.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>rem - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./rem.html">rem</a><br/>
-<br/>
-<h1>rem</h1>
-<a name="pl.treksoft.kvision.utils$rem#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">rem</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS rem units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/vh.html b/api/pl.treksoft.kvision.utils/kotlin.-int/vh.html
deleted file mode 100644
index e2e1c532..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/vh.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>vh - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./vh.html">vh</a><br/>
-<br/>
-<h1>vh</h1>
-<a name="pl.treksoft.kvision.utils$vh#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">vh</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vh units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/vmax.html b/api/pl.treksoft.kvision.utils/kotlin.-int/vmax.html
deleted file mode 100644
index 6638fba8..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/vmax.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>vmax - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./vmax.html">vmax</a><br/>
-<br/>
-<h1>vmax</h1>
-<a name="pl.treksoft.kvision.utils$vmax#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">vmax</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vmax units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/vmin.html b/api/pl.treksoft.kvision.utils/kotlin.-int/vmin.html
deleted file mode 100644
index 97b40777..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/vmin.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>vmin - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./vmin.html">vmin</a><br/>
-<br/>
-<h1>vmin</h1>
-<a name="pl.treksoft.kvision.utils$vmin#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">vmin</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vmin units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-int/vw.html b/api/pl.treksoft.kvision.utils/kotlin.-int/vw.html
deleted file mode 100644
index ea66a4a8..00000000
--- a/api/pl.treksoft.kvision.utils/kotlin.-int/vw.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>vw - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Int</a>&nbsp;/&nbsp;<a href="./vw.html">vw</a><br/>
-<br/>
-<h1>vw</h1>
-<a name="pl.treksoft.kvision.utils$vw#kotlin.Int"></a>
-<code><span class="keyword">val </span><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">vw</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
-<p>Extension property to convert Int to CSS vw units.</p>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/ch.html b/api/pl.treksoft.kvision.utils/kotlin.-number/ch.html
new file mode 100644
index 00000000..e0a954f0
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/ch.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ch - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./ch.html">ch</a><br/>
+<br/>
+<h1>ch</h1>
+<a name="pl.treksoft.kvision.utils$ch#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">ch</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS ch units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/cm.html b/api/pl.treksoft.kvision.utils/kotlin.-number/cm.html
new file mode 100644
index 00000000..440899aa
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/cm.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>cm - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./cm.html">cm</a><br/>
+<br/>
+<h1>cm</h1>
+<a name="pl.treksoft.kvision.utils$cm#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">cm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS cm units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/em.html b/api/pl.treksoft.kvision.utils/kotlin.-number/em.html
new file mode 100644
index 00000000..97ecf4a5
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/em.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>em - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./em.html">em</a><br/>
+<br/>
+<h1>em</h1>
+<a name="pl.treksoft.kvision.utils$em#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">em</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS em units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/in.html b/api/pl.treksoft.kvision.utils/kotlin.-number/in.html
new file mode 100644
index 00000000..1aa3e16c
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/in.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>in - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./in.html">in</a><br/>
+<br/>
+<h1>in</h1>
+<a name="pl.treksoft.kvision.utils$in#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">in</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS in units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/index.html b/api/pl.treksoft.kvision.utils/kotlin.-number/index.html
new file mode 100644
index 00000000..9ba03355
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/index.html
@@ -0,0 +1,124 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.utils.kotlin.Number - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="./index.html">kotlin.Number</a><br/>
+<br/>
+<h3>Extensions for kotlin.Number</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="ch.html">ch</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">ch</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS ch units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="cm.html">cm</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">cm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS cm units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="em.html">em</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">em</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS em units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="in.html">in</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">in</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS in units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="mm.html">mm</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">mm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS mm units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="pc.html">pc</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">pc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS pc units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="perc.html">perc</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">perc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS percent units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="rem.html">rem</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">rem</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS rem units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="vh.html">vh</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vh</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vh units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="vmax.html">vmax</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vmax</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vmax units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="vmin.html">vmin</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vmin</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vmin units.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="vw.html">vw</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vw</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vw units.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/mm.html b/api/pl.treksoft.kvision.utils/kotlin.-number/mm.html
new file mode 100644
index 00000000..8ad7f8f1
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/mm.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>mm - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./mm.html">mm</a><br/>
+<br/>
+<h1>mm</h1>
+<a name="pl.treksoft.kvision.utils$mm#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">mm</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS mm units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/pc.html b/api/pl.treksoft.kvision.utils/kotlin.-number/pc.html
new file mode 100644
index 00000000..f7cb73a7
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/pc.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pc - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./pc.html">pc</a><br/>
+<br/>
+<h1>pc</h1>
+<a name="pl.treksoft.kvision.utils$pc#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">pc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS pc units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/perc.html b/api/pl.treksoft.kvision.utils/kotlin.-number/perc.html
new file mode 100644
index 00000000..91914ac2
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/perc.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>perc - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./perc.html">perc</a><br/>
+<br/>
+<h1>perc</h1>
+<a name="pl.treksoft.kvision.utils$perc#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">perc</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS percent units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/rem.html b/api/pl.treksoft.kvision.utils/kotlin.-number/rem.html
new file mode 100644
index 00000000..64ab6166
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/rem.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>rem - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./rem.html">rem</a><br/>
+<br/>
+<h1>rem</h1>
+<a name="pl.treksoft.kvision.utils$rem#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">rem</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS rem units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/vh.html b/api/pl.treksoft.kvision.utils/kotlin.-number/vh.html
new file mode 100644
index 00000000..bebecf17
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/vh.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>vh - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./vh.html">vh</a><br/>
+<br/>
+<h1>vh</h1>
+<a name="pl.treksoft.kvision.utils$vh#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vh</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vh units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/vmax.html b/api/pl.treksoft.kvision.utils/kotlin.-number/vmax.html
new file mode 100644
index 00000000..d60b95f4
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/vmax.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>vmax - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./vmax.html">vmax</a><br/>
+<br/>
+<h1>vmax</h1>
+<a name="pl.treksoft.kvision.utils$vmax#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vmax</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vmax units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/vmin.html b/api/pl.treksoft.kvision.utils/kotlin.-number/vmin.html
new file mode 100644
index 00000000..104a0cde
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/vmin.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>vmin - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./vmin.html">vmin</a><br/>
+<br/>
+<h1>vmin</h1>
+<a name="pl.treksoft.kvision.utils$vmin#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vmin</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vmin units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-number/vw.html b/api/pl.treksoft.kvision.utils/kotlin.-number/vw.html
new file mode 100644
index 00000000..3f3401be
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/kotlin.-number/vw.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>vw - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Number</a>&nbsp;/&nbsp;<a href="./vw.html">vw</a><br/>
+<br/>
+<h1>vw</h1>
+<a name="pl.treksoft.kvision.utils$vw#kotlin.Number"></a>
+<code><span class="keyword">val </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">.</span><span class="identifier">vw</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a></code>
+<p>Extension property to convert Int to CSS vw units.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.utils/kotlin.-pair/as-string.html b/api/pl.treksoft.kvision.utils/kotlin.-pair/as-string.html
index 3c85d273..00f2c5d8 100644
--- a/api/pl.treksoft.kvision.utils/kotlin.-pair/as-string.html
+++ b/api/pl.treksoft.kvision.utils/kotlin.-pair/as-string.html
@@ -8,7 +8,7 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="index.html">kotlin.Pair</a>&nbsp;/&nbsp;<a href="./as-string.html">asString</a><br/>
<br/>
<h1>asString</h1>
-<a name="pl.treksoft.kvision.utils$asString(kotlin.Pair((kotlin.Int, pl.treksoft.kvision.core.UNIT)))"></a>
+<a name="pl.treksoft.kvision.utils$asString(kotlin.Pair((kotlin.Number, pl.treksoft.kvision.core.UNIT)))"></a>
<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a><span class="symbol">.</span><span class="identifier">asString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
<p>Extension function to convert CssSize to String.</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.utils/observable-list-of.html b/api/pl.treksoft.kvision.utils/observable-list-of.html
new file mode 100644
index 00000000..299f72f0
--- /dev/null
+++ b/api/pl.treksoft.kvision.utils/observable-list-of.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>observableListOf - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.utils</a>&nbsp;/&nbsp;<a href="./observable-list-of.html">observableListOf</a><br/>
+<br/>
+<h1>observableListOf</h1>
+<a name="pl.treksoft.kvision.utils$observableListOf(kotlin.Array((pl.treksoft.kvision.utils.observableListOf.T)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$observableListOf(kotlin.Array((pl.treksoft.kvision.utils.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<a href="observable-list-of.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list-wrapper/index.html"><span class="identifier">ObservableListWrapper</span></a><span class="symbol">&lt;</span><a href="observable-list-of.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+<p>Creates an instance of ObservableList</p>
+</BODY>
+</HTML>