package Ġdev . ad amb en net t . design . system . frontend . ui Ċ Ċ import Ġandroidx . compose . foundation . is System In Dark Theme Ċ import Ġandroidx . compose . material . Colors Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Shapes Ċ import Ġandroidx . compose . material . Typography Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Providers Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . runtime . static Ambient Of Ċ import Ġandroidx . compose . ui . graphics . Color Ċ Ċ private Ġval ĠLight Color Palette Ġ= ĠDesign System Colors ( ĊĠĠĠ Ġprimary Ġ= Ġpur ple 5 0 0 , ĊĠĠĠ Ġprimary Variant Ġ= Ġpur ple 7 0 0 , ĊĠĠĠ Ġon Primary Ġ= ĠColor . White , ĊĠĠĠ Ġsecondary Ġ= Ġte al 2 0 0 , ĊĠĠĠ Ġon Secondary Ġ= ĠColor . Black , ĊĠĠĠ Ġsurface Ġ= ĠColor . White , ĊĠĠĠ Ġon Surface Ġ= ĠColor . Gray , ĊĠĠĠ Ġon Background Ġ= ĠColor . Light Gray , ĊĠĠĠ Ġerror Ġ= ĠColor . Red , ĊĠĠĠ ĠonError Ġ= ĠColor . Dark Gray Ċ ) Ċ Ċ @ Composable Ċ fun ĠDesign System Theme ( ĊĠĠĠ Ġdark Theme : ĠBoolean Ġ= Ġis System In Dark Theme (), ĊĠĠĠ Ġcontent : Ġ@ Composable Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠProvide Design System Colors ( Light Color Palette ) Ġ{ ĊĠĠĠĠĠĠĠ ĠMaterial Theme ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġdebug Colors ( dark Theme ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġty pography Ġ= Ġty pography , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshapes Ġ= Ġshapes , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġcontent ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠDesign System Theme Ġ{ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġval Ġcolors : ĠDesign System Colors ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAmb ient Design System Colors . current Ċ } Ċ Ċ class ĠDesign System Colors ( ĊĠĠĠ Ġprimary : ĠColor , ĊĠĠĠ Ġprimary Variant : ĠColor , ĊĠĠĠ Ġon Primary : ĠColor , ĊĠĠĠ Ġsecondary : ĠColor , ĊĠĠĠ Ġon Secondary : ĠColor , ĊĠĠĠ Ġsurface : ĠColor , ĊĠĠĠ Ġon Surface : ĠColor , ĊĠĠĠ Ġon Background : ĠColor , ĊĠĠĠ Ġerror : ĠColor , ĊĠĠĠ ĠonError : ĠColor Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġprimary : ĠColor Ġby Ġmutable State Of ( primary ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġprimary Variant : ĠColor Ġby Ġmutable State Of ( primary Variant ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġon Primary : ĠColor Ġby Ġmutable State Of ( on Primary ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġsecondary : ĠColor Ġby Ġmutable State Of ( secondary ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġon Secondary : ĠColor Ġby Ġmutable State Of ( on Secondary ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġsurface : ĠColor Ġby Ġmutable State Of ( surface ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġon Surface : ĠColor Ġby Ġmutable State Of ( on Surface ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġon Background : ĠColor Ġby Ġmutable State Of ( on Background ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġerror : ĠColor Ġby Ġmutable State Of ( error ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar ĠonError : ĠColor Ġby Ġmutable State Of ( onError ) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġfun Ġupdate ( other : ĠDesign System Colors ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprimary Ġ= Ġother . primary ĊĠĠĠĠĠĠĠ Ġprimary Variant Ġ= Ġother . primary Variant ĊĠĠĠĠĠĠĠ Ġon Primary Ġ= Ġother . on Primary ĊĠĠĠĠĠĠĠ Ġsecondary Ġ= Ġother . secondary ĊĠĠĠĠĠĠĠ Ġon Secondary Ġ= Ġother . on Secondary ĊĠĠĠĠĠĠĠ Ġsurface Ġ= Ġother . surface ĊĠĠĠĠĠĠĠ Ġon Surface Ġ= Ġother . on Surface ĊĠĠĠĠĠĠĠ Ġon Background Ġ= Ġother . on Background ĊĠĠĠĠĠĠĠ Ġerror Ġ= Ġother . error ĊĠĠĠĠĠĠĠ ĠonError Ġ= Ġother . onError ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠProvide Design System Colors ( ĊĠĠĠ Ġcolors : ĠDesign System Colors , ĊĠĠĠ Ġcontent : Ġ@ Composable Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcolor Palette Ġ= Ġremember Ġ{ Ġcolors Ġ} ĊĠĠĠ Ġcolor Palette . update ( colors ) ĊĠĠĠ ĠPro viders ( Ambient Design System Colors Ġprovides Ġcolor Palette , Ġchildren Ġ= Ġcontent ) Ċ } Ċ Ċ private Ġval ĠAmb ient Design System Colors Ġ= Ġstatic Ambient Of < Design System Colors > Ġ{ ĊĠĠĠ Ġerror (" No ĠColor Palette Ġprovided ") Ċ } Ċ Ċ private Ġfun Ġdebug Colors ( ĊĠĠĠ Ġdark Theme : ĠBoolean , ĊĠĠĠ Ġdebug Color : ĠColor Ġ= ĠColor . M agenta Ċ ) Ġ= ĠColors ( ĊĠĠĠ Ġprimary Ġ= Ġdebug Color , ĊĠĠĠ Ġprimary Variant Ġ= Ġdebug Color , ĊĠĠĠ Ġsecondary Ġ= Ġdebug Color , ĊĠĠĠ Ġsecondary Variant Ġ= Ġdebug Color , ĊĠĠĠ Ġbackground Ġ= Ġdebug Color , ĊĠĠĠ Ġsurface Ġ= Ġdebug Color , ĊĠĠĠ Ġerror Ġ= Ġdebug Color , ĊĠĠĠ Ġon Primary Ġ= Ġdebug Color , ĊĠĠĠ Ġon Secondary Ġ= Ġdebug Color , ĊĠĠĠ Ġon Background Ġ= Ġdebug Color , ĊĠĠĠ Ġon Surface Ġ= Ġdebug Color , ĊĠĠĠ ĠonError Ġ= Ġdebug Color , ĊĠĠĠ Ġis Light Ġ= Ġ! dark Theme Ċ ) ĊĊ