/* Ċ Ġ* ĠCopyright Ġ( c ) ĠMeta ĠPlatform s , ĠInc . Ġand Ġ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 . collection Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ 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 . Resources Scope Ċ import Ġcom . facebook . l ith o . Row Ċ import Ġcom . facebook . l ith o . State Ċ import Ġcom . facebook . l ith o . Style Ċ import Ġcom . facebook . l ith o . color Res Ċ import Ġcom . facebook . l ith o . core . padding Ċ import Ġcom . facebook . l ith o . dp Ċ import Ġcom . facebook . l ith o . flex box . flex Ċ import Ġcom . facebook . l ith o . kotlin . widget . Text Ċ import Ġcom . facebook . l ith o . sp Ċ import Ġcom . facebook . l ith o . useState Ċ import Ġcom . facebook . l ith o . view . backgroundColor Ċ import Ġcom . facebook . l ith o . view . onClick Ċ import Ġcom . facebook . l ith o . widget . Text Alignment Ċ import Ġcom . facebook . l ith o . widget . collection . Lazy List Ċ import Ġcom . facebook . samples . l ith o . R Ċ Ċ class ĠTabs Collection K Component Ġ: ĠK Component () Ġ{ ĊĊĠ Ġenum Ġclass ĠTab ( val Ġtitle : ĠString ) Ġ{ ĊĠĠĠ ĠTab 1 (" Tab 1 "), ĊĠĠĠ ĠTab 2 (" Tab 2 "), ĊĠĠĠ ĠTab 3 (" Tab 3 "), ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠComponent Scope . render (): ĠComponent Ġ{ ĊĠĠĠ Ġval Ġselected Tab Ġ= ĠuseState Ġ{ ĠTab . Tab 1 Ġ} ĊĊĠĠĠ Ġreturn ĠLazy List Ġ{ ĊĠĠĠĠĠ Ġchild ( tab Bar ( selected Tab )) ĊĊĠĠĠĠĠ Ġwhen Ġ( selected Tab . value ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTab . Tab 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 1 _ tile ", Ġcomponent Ġ= ĠText (" Tab 1 ĠTitle ")) ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 1 _ subtitle ", Ġcomponent Ġ= ĠText (" Tab 1 ĠSub title ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠTab . Tab 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 2 _ tile ", Ġcomponent Ġ= ĠText (" Tab 2 ĠTitle ")) ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 2 _ subtitle ", Ġcomponent Ġ= ĠText (" Tab 2 ĠSub title ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠTab . Tab 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 3 _ tile ", Ġcomponent Ġ= ĠText (" Tab 3 ĠTitle ")) ĊĠĠĠĠĠĠĠĠĠ Ġchild ( id Ġ= Ġ" tab 3 _ subtitle ", Ġcomponent Ġ= ĠText (" Tab 3 ĠSub title ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠResources Scope . tab Bar ( selected Tab : ĠState < Tab >): ĠComponent Ġ= ĠRow Ġ{ ĊĠĠĠ ĠTab . values (). forEach Ġ{ Ġtab Ġ-> ĊĠĠĠĠĠ Ġval Ġis Selected Ġ= Ġtab Ġ== Ġselected Tab . value ĊĠĠĠĠĠ Ġchild ( ĊĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtab . title . uppercase (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 6 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= ĠText Alignment . CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġif Ġ( isSelected ) Ġcolor Res ( R . color . primary Color ) Ġelse ĠColor . DK GRAY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġif Ġ( isSelected ) ĠType face . BOLD Ġelse ĠType face . NORMAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle . padding ( all Ġ= Ġ 1 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flex ( grow Ġ= Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. backgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) Ġcolor Res ( R . color . color Primary Light Bg ) Ġelse ĠColor . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onClick Ġ{ Ġselected Tab . update Ġ{ Ġtab Ġ} Ġ})) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ