package Ġmaterial ui . react transit on Ċ Ċ import Ġkotlin ext . js . Object Ċ import Ġkotlin ext . js . js Object Ċ import Ġkotlinx . html . Tag Ċ import Ġkotlinx . html . Tag Consumer Ċ import Ġreact . ComponentType Ċ import Ġreact . React Element Ċ import Ġreact . createElement Ċ import Ġreact . dom . DOM Props Ċ import Ġreact . dom . R DOM Builder Impl Ċ import Ġreact . dom . set Prop Ċ Ċ abstract Ġclass ĠR Transition Group Builder < T : ĠTag , ĠProps : ĠR Transition Group Props >( ĊĠĠĠ Ġprivate Ġval Ġtype : ĠComponent Type < Props >, ĊĠĠĠ Ġclass Map : ĠList < Pair < Enum <* >, ĠString >>, ĊĠĠĠ Ġfactory : Ġ( Tag Consumer < Unit >) Ġ-> ĠT Ċ ) Ġ: ĠR DOM Builder Impl < T >( factory ) Ġ{ ĊĠĠĠ Ġprotected Ġval Ġgroup Props : ĠProps Ġ= Ġjs Object Ġ{ Ġ} ĊĊĠĠĠ Ġfun ĠTag . classes ( var arg Ġclass Map : ĠPair < Enum <* >, ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġclasses ( class Map . map Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġkey Ġto Ġvalue Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠTag . classes ( class Map : ĠList < Pair < Enum <* >, ĠString >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġclasses ( class Map . map Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġkey . toString () Ġto Ġvalue Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠTag . classes ( var arg Ġclass Map : ĠPair < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġclasses ( class Map . map Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġkey Ġto Ġvalue Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠTag . classes ( class Map : ĠList < Pair < String , ĠString >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( class Map . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġclasses Obj : Ġdynamic Ġ= Ġjs Object Ġ{ Ġ} ĊĊĠĠĠĠĠĠĠ Ġclass Map . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġclasses Obj [ key ] Ġ= Ġvalue Ġ} ĊĊĠĠĠĠĠĠĠ Ġclasses Ġ= Ġclasses Obj Ġas ĠAny ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar ĠTag . classes : ĠAny ? Ġby Ġgroup Props ĊĠĠĠ Ġvar ĠTag . className : ĠString ? Ġby Ġgroup Props ĊĊĠĠĠ Ġvar ĠTag . appear : ĠBoolean ? Ġby Ġgroup Props ĊĠĠĠ Ġvar ĠTag . enter : ĠBoolean ? Ġby Ġgroup Props ĊĠĠĠ Ġvar ĠTag . exit : ĠBoolean ? Ġby Ġgroup Props ĊĠĠĠ Ġvar ĠTag . child Factory : Ġ(( React Element ) Ġ-> ĠReact Element )? Ġby Ġgroup Props ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġattrs . classes ( class Map ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate (): ĠReact Element Ġ{ ĊĠĠĠĠĠĠĠ ĠObject . keys ( group Props ). forEach Ġ{ Ġkey Ġ-> Ġset Prop ( key , Ġgroup Props [ key ]) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ", Ġ" UN CHECK ED _ CAST _ TO _ EXTERNAL _ INTERFACE ") ĊĠĠĠĠĠĠĠ Ġreturn ĠcreateElement ( type Ġas ĠComponent Type < DOM Props >, Ġdom Props , Ġ* child List . to Typed Array ()) ĊĠĠĠ Ġ} Ċ }