/** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDr . ĠFl orian ĠSch mid t Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . e vo leq . reak t Ċ Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġorg . dr x . dynamics . ID Ċ import Ġorg . dr x . e vo leq . e vol ving . E vol ving Ċ import Ġorg . e vo leq . reak t . texts . Locale Ċ import Ġorg . e vo leq . reak t . texts . Texts Ċ import Ġreact . R State Ċ Ċ @ Dsl Marker Ċ annotation Ġclass ĠFunctional Re akt Props Dsl ĊĊ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State > ĠFunctional Re akt Props < Data >. id ( ĊĠĠĠ Ġid : Ġ() -> ID Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid (), ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ /* { ĊĠĠĠ Ġ// this @ id . id Ġ= Ġid () Ċ } ĊĊ Ġ*/ Ċ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State > ĠFunctional Re akt Props < Data >. scope ( ĊĠĠĠ Ġscope : Ġ() -> Coroutine Scope Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope (), ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State > ĠFunctional Re akt Props < Data >. data ( ĊĠĠĠ Ġdata : Ġ() -> Data Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata (), ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State > ĠFunctional Re akt Props < Data >. update Parent ( ĊĠĠĠ Ġupdate : Ġ( ID , Ġsuspend ĠCor outine Scope .( Data ) Ġ-> ĠData ) Ġ-> ĠUnit Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data : ĠR State > ĠFunctional Re akt Props < Data >. register Child Update ( ĊĠĠĠ Ġregister : Ġ( Child Id <* >, Ġ( ID , Ġsuspend ĠCor outine Scope .( Any ) Ġ-> ĠAny )-> ĠE vol ving < Any > )-> Unit Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State > ĠFunctional Re akt Props < Data >. force Update ( ĊĠĠĠ Ġforce : Ġ( ID , ĠData ) Ġ-> ĠBoolean Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) Ċ Ċ @ Functional Re akt Props Dsl Ċ fun Ġ< Data Ġ: ĠR State , ĠT Ġ: ĠText s > ĠFunctional Re akt Props < Data >. texts ( ĊĠĠĠ Ġtexts : Ġ() Ġ-> ĠT Ċ ): ĠFunctional Re akt Props < Data > Ġ= ĠFunctional Re akt Props ( ĊĠĠĠ Ġid , ĊĠĠĠ Ġdata , ĊĠĠĠ Ġscope , ĊĠĠĠ Ġforce Update , ĊĠĠĠ Ġupdate Parent , ĊĠĠĠ Ġregister Child Update , ĊĠĠĠ Ġboundary , ĊĠĠĠ Ġtexts Ċ ) ĊĊĊĊ