package Ġdev . dor ss ers . material sync . ui . components Ċ Ċ import Ġandroidx . compose . foundation . Experimental Foundation Api Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . border Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . material . Divider Ċ import Ġandroidx . compose . material 3 . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . to Mutable State List Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġdev . dor ss ers . material sync . data . Named Color Ċ import Ġdev . dor ss ers . material sync . data . Sync Theme Ċ import Ġdev . dor ss ers . material sync . data . getName d Colors ĊĊ Ċ @ Composable Ċ fun ĠColor List ( sync Theme : ĠSync Theme , Ġcolor Options : ĠList < Named Color >) Ġ{ ĊĠĠĠ Ġval Ġitems Ġ= Ġsync Theme . to Color List () ĊĠĠĠ Ġval Ġcollapsed State Ġ= Ġremember ( items ) Ġ{ Ġitems . map Ġ{ Ġtrue Ġ}. to Mutable State List () Ġ} ĊĠĠĠ ĠColumn ( Modifier . fill Max Width (). padding ( start = 1 6 . dp , Ġend = 1 6 . dp )) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġitems . forEach Ġ{ Ġ( name , Ġcolor ) Ġ-> ĠColor Example ( name Ġ= Ġname , Ġcolor Ġ= Ġcolor . color )} ĊĠĠĠĠĠĠĠ Ġitems . forEach Indexed Ġ{ Ġindex , Ġ( name , Ġcolor ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcollapsed Ġ= Ġcollapsed State [ index ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor Example ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġcolor . color , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Options Ġ= Ġcolor Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollapsed Ġ= Ġcollapsed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġcollapsed State [ index ] Ġ= Ġ! collapsed Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Opt In ( Experimental Foundation Api :: class ) Ċ @ Composable Ċ fun ĠColor Example ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġcolor : ĠColor , ĊĠĠĠ Ġcolor Options : ĠList < Named Color > Ġ= ĠlistOf (), ĊĠĠĠ Ġcollapsed : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit Ġ= Ġ{} Ċ ) Ġ{ ĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( vertical Ġ= Ġ 4 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ ĠonClick () Ġ}, ĊĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . Space Between ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġname ) ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 2 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Circle Shape ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. border ( 2 . dp , ĠColor . Black , Ġshape Ġ= ĠCircle Shape ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ(! collapsed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcolor Options . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( it . color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġit . option . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Preview Ċ @ Composable Ċ fun ĠColor List Preview () Ġ{ ĊĠĠĠ ĠColor List ( ĊĠĠĠĠĠĠĠ Ġsync Theme Ġ= ĠSync Theme . default ( Local Context . current ), ĊĠĠĠĠĠĠĠ Ġcolor Options Ġ= Ġget Named Colors ( Local Context . current , Ġfalse ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ fun ĠColor Example Preview Collapsed () Ġ{ ĊĠĠĠ ĠColor Example (" Example Ġcolor ", ĠColor . Yellow ) Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ fun ĠColor Example Preview Open () Ġ{ ĊĠĠĠ ĠColor Example ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Example Ġcolor ", ĊĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . Yellow , ĊĠĠĠĠĠĠĠ Ġcolor Options Ġ= Ġget Named Colors ( Local Context . current , Ġfalse ), ĊĠĠĠĠĠĠĠ Ġcollapsed Ġ= Ġfalse ĊĠĠĠ Ġ) Ċ } Ċ