package Ġjp . co . ars aga . extensions . compose . widget Ċ Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . google . ac comp an ist . pager . Experimental Pager Api Ċ import Ġcom . google . ac comp an ist . pager . Horizontal Pager Ċ import Ġcom . google . ac comp an ist . pager . Pager State Ċ import Ġcom . google . ac comp an ist . pager . remember Pager State ĊĊ Ċ @ Opt In ( Experimental Pager Api :: class ) Ċ @ Composable Ċ fun Ġ< T > ĠCar ousel ( ĊĠĠĠ Ġentity List : ĠList < T >, ĊĠĠĠ Ġindicator Widget : Ġ@ Composable ĠRow Scope .( currentPage : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġindicator Space : ĠD p Ġ= Ġ 0 . dp , ĊĠĠĠ Ġpager State : ĠP ager State Ġ= Ġremember Pager State (), ĊĠĠĠ Ġimage Widget : Ġ@ Composable Ġ( T ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠCar ousel ( ĊĠĠĠĠĠĠĠ Ġentity List , ĊĠĠĠĠĠĠĠ Ġindicator Widget , ĊĠĠĠĠĠĠĠ Ġmodifier , ĊĠĠĠĠĠĠĠ Ġindicator Space , ĊĠĠĠĠĠĠĠ Ġpager State ĊĠĠĠ Ġ) Ġ{ Ġ_, Ġentity Ġ-> ĊĠĠĠĠĠĠĠ Ġimage Widget ( entity ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Opt In ( Experimental Pager Api :: class ) Ċ @ Composable Ċ fun Ġ< T > ĠCar ousel ( ĊĠĠĠ Ġentity List : ĠList < T >, ĊĠĠĠ Ġindicator Widget : Ġ@ Composable ĠRow Scope .( currentPage : ĠInt ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġindicator Space : ĠD p Ġ= Ġ 0 . dp , ĊĠĠĠ Ġpager State : ĠP ager State Ġ= Ġremember Pager State (), ĊĠĠĠ Ġimage Widget : Ġ@ Composable Ġ( Int , ĠT ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHorizontal Pager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġentity List . size , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġpager State , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( modifier ), ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġpage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity List . get OrNull ( page )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Widget ( page , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . spaced By ( indicator Space ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindicator Widget ( this , Ġpager State . currentPage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }