package Ġcom . tech pr d . material Ċ Ċ import Ġcom . tech pr d . material . components . layouts . Drawer Ċ import Ġcom . tech pr d . material . components . AppBar Ċ import Ġcom . tech pr d . material . components . layouts . foot err Ċ import Ġcom . tech pr d . material . router . Route Ċ import Ġcom . tech pr d . material . router . Route Option Ċ import Ġcom . tech pr d . material . router . Router Ċ import Ġcom . tech pr d . material . theme . Theme Ċ import Ġkotlinx . browser . document Ċ import Ġkotlinx . dom . addClass Ċ import Ġkotlinx . html .* Ċ import Ġkotlinx . html . dom . append Ċ import Ġkotlinx . html . dom . create Ċ import Ġorg . w 3 c . dom . HTMLElement Ċ Ċ class ĠMaterial App Ġ{ ĊĊĠĠĠ Ġvar Ġrouter : ĠRouter Ġ= ĠRouter (). listen () ĊĠĠĠ Ġval Ġroot Element : ĠHTMLElement ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Initializing ĠKotlin ĠMaterial ĠApp ") ĊĊĠĠĠĠĠĠĠ Ġroot Element Ġ= Ġdocument . create . div ( Theme . mdl _ layout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" root " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdocument . body !!. append ( root Element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconfig Router ( options : ĠRoute Option ): ĠMaterial App Ġ{ ĊĠĠĠĠĠĠĠ Ġrouter . config ( options ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Routes ( routes : ĠList < Route >): ĠMaterial App Ġ{ ĊĠĠĠĠĠĠĠ Ġroutes . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Drawer ( drawer : ĠDraw er , Ġis Fixed Drawer : ĠBoolean ): ĠMaterial App Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Fixed Drawer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Element . addClass ( Theme . mdl _ fix _ drawer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdrawer . render ( root Element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd AppBar ( app Bar : ĠApp Bar , Ġis Fixed Header : ĠBoolean ): ĠMaterial App Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Fixed Header ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Element . addClass ( Theme . mdl _ fix _ app _ bar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapp Bar . render ( root Element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Footer (): ĠMaterial App Ġ{ ĊĠĠĠĠĠĠĠ Ġroot Element . append ( foot err Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocument . create . div (" mdl - mega - footer __ middle - section ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" mdl - mega - footer __ drop - down - section ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput ( classes Ġ= Ġ" mdl - mega - footer __ heading - checkbox ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠInput Type . checkBox ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh 1 (" mdl - mega - footer __ heading ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Features " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġul (" mdl - mega - footer __ link - list ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġli Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġ" javascript : void ( 0 )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" About " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġli Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġ" javascript : void ( 0 )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Terms " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġli Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġ" javascript : void ( 0 )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Part ners " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġli Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġ" javascript : void ( 0 )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Updates " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. build ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart ( path : ĠString ): ĠMaterial App Ġ{ ĊĊĠĠĠĠĠĠĠ Ġroot Element . append Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( Theme . mdl _ layout _ content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( Theme . mdl _ page _ content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" main " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdefault Route Ġ= Ġrouter . get Routes ()[ path ] !! ĊĠĠĠĠĠĠĠ Ġrouter . navigate ( default Route ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ