/* Ċ Ġ* ĠCopyright Ġ( c ) ĠFacebook , ĠInc . Ġand Ġits Ġaffiliates . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . facebook . samples . l ith o . kotlin . animations . transitions Ċ Ċ import Ġcom . facebook . l ith o . Column Ċ import Ġcom . facebook . l ith o . Component Ċ import Ġcom . facebook . l ith o . Component Scope Ċ import Ġcom . facebook . l ith o . K Component Ċ import Ġcom . facebook . l ith o . Style Ċ import Ġcom . facebook . l ith o . core . height Ċ import Ġcom . facebook . l ith o . core . margin Ċ import Ġcom . facebook . l ith o . core . width Ċ import Ġcom . facebook . l ith o . dp Ċ import Ġcom . facebook . l ith o . transition . Cross Fade Ċ import Ġcom . facebook . l ith o . transition . Expand To Re veal Ċ import Ġcom . facebook . l ith o . useState Ċ import Ġcom . facebook . l ith o . view . background Ċ import Ġcom . facebook . l ith o . view . onClick Ċ import Ġcom . facebook . samples . l ith o . kotlin . drawable . Rounded Rect Ċ Ċ class ĠCont ainers Component Ġ: ĠK Component () Ġ{ ĊĊĠ Ġoverride Ġfun ĠComponent Scope . render (): ĠComponent ? Ġ{ ĊĊĠĠĠ Ġval Ġis Expanded Ġ= ĠuseState Ġ{ Ġtrue Ġ} ĊĠĠĠ Ġval Ġshow Second Component Ġ= ĠuseState Ġ{ Ġfalse Ġ} ĊĊĠĠĠ Ġval Ġfirst Component Ġ= ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . width ( 1 0 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. margin ( all Ġ= Ġ 5 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Rounded Rect ( 0 xff 6 ab 0 7 1 , Ġ 8 . dp ))) ĊĠĠĠ Ġval Ġsecond Component Ġ= ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . width ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. margin ( all Ġ= Ġ 5 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Rounded Rect ( 0 xff bf 6 7 8 d , Ġ 8 . dp ))) ĊĊĠĠĠ Ġreturn ĠColumn ( style Ġ= ĠStyle . width ( 2 0 0 . dp )) Ġ{ ĊĠĠĠĠĠ Ġchild ( ĊĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . width ( 1 0 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. margin ( all Ġ= Ġ 5 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Rounded Rect ( 0 xff 6 ab 0 7 1 , Ġ 8 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onClick Ġ{ Ġis Expanded . update (! is Expanded . value ) Ġ})) ĊĊĠĠĠĠĠ Ġchild ( ĊĠĠĠĠĠĠĠĠĠ ĠExpand To Re veal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Expanded . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . width ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. margin ( all Ġ= Ġ 5 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Rounded Rect ( 0 xff bf 6 7 8 d , Ġ 8 . dp ))))) ĊĠĠĠĠĠ Ġchild ( ĊĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . width ( 1 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. margin ( all Ġ= Ġ 5 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Rounded Rect ( 0 xff a 4 de ce , Ġ 8 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onClick Ġ{ Ġshow Second Component . update (! show Second Component . value ) Ġ})) ĊĠĠĠĠĠ Ġchild ( Cross Fade ( show Second Component . value , Ġfirst Component , Ġsecond Component )) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ