package Ġcom . sd ss . work out . ui . buttons Ċ Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . text . Clickable Text Ċ import Ġandroidx . compose . material . Dropdown Menu Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Arrow DropDown Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . text . Annotated String Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . sd ss . work out . ui . styles . body TextStyle Ċ import Ġcom . sd ss . work out . ui . styles . selected TextStyle Ċ Ċ @ Composable Ċ internal Ġfun ĠPrimary Dropdown Menu ( ĊĠĠĠ Ġfirst Item Modifier : ĠModifier , ĊĠĠĠ Ġmenu Modifier : ĠModifier , ĊĠĠĠ Ġitems : ĠList < Dropdown MenuItem Content > Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġexpanded Ġby Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ Ġexpanded Ġ= Ġ! expanded Ġ}. then ( first Item Modifier )) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . forEach Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . is First Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġstring Resource ( id Ġ= Ġitem . title Res ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġbody TextStyle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Filled . Arrow DropDown , Ġnull ) ĊĠĠĠĠĠĠĠ ĠDropdown Menu ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġ 4 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( menu Modifier ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded Ġ= Ġexpanded , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġ{ Ġexpanded Ġ= Ġfalse Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . forEach Ġ{ Ġmenu Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClick able Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġif Ġ( menuItem . is First Position ) Ġselected TextStyle () Ġelse Ġbody TextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String ( string Resource ( id Ġ= Ġmenu Item . title Res )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems . forEach Ġ{ Ġit . is First Position Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmenu Item . is First Position Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmenu Item . onClick ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠDropdown MenuItem Content ( ĊĠĠĠ Ġ@ String Res Ġvar Ġtitle Res : ĠInt , ĊĠĠĠ Ġvar Ġis First Position : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval ĠonClick : Ġ() Ġ-> ĠUnit Ċ )