@ file : Suppress (" FunctionName ") Ċ Ċ package Ġio . mon os k etch . web Ċ Ċ import Ġkotlinx . browser . document Ċ import Ġkotlinx . dom . addClass Ċ import Ġorg . w 3 c . dom . Element Ċ import Ġorg . w 3 c . dom . HTML Collection Ċ import Ġorg . w 3 c . dom . events . Event Ċ import Ġorg . w 3 c . dom . get Ċ Ċ fun ĠElement . Div ( classes : ĠString , Ġblock : ĠElement . () Ġ-> ĠUnit ): ĠElement Ġ{ ĊĠĠĠ Ġval Ġnode Ġ= Ġdocument . createElement (" div ") ĊĠĠĠ Ġappend ( node ) ĊĠĠĠ Ġnode . addClass ( classes ) ĊĠĠĠ Ġnode . block () ĊĠĠĠ Ġreturn Ġnode Ċ } Ċ Ċ val ĠNumber . px : ĠString ĊĠĠĠ Ġget () Ġ= Ġ"${ this } px " Ċ Ċ fun Ġstyle Of ( var arg Ġattributes : ĠPair < String , ĠString >): ĠString Ġ= ĊĠĠĠ Ġattributes . as Sequence (). map Ġ{ Ġ"${ it . first }: Ġ${ it . second }" Ġ}. join ToString ("; ") Ċ Ċ fun ĠElement . set Attributes ( var arg Ġattrs : ĠPair < String , ĠAny >) Ġ{ ĊĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Attribute ( key , Ġvalue . toString ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠElement . style ( var arg Ġattrs : ĠPair < String , ĠString >) Ġ= Ġset Attributes (" style " Ġto Ġstyle Of (* attrs )) Ċ Ċ fun ĠHTML Collection . as Sequence (): ĠSequence < Element > Ġ= Ġsequence Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġlength ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġget ( i ) ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠElement ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠElement . onClick ( block : Ġ( Event ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġadd EventListener (" click ", Ġ{ Ġblock ( it ) Ġ}) Ċ } Ċ