package Ġde . rob ol ab . client . theme . utils Ċ Ċ import Ġde . rob ol ab . client . theme .* Ċ Ċ enum Ġclass ĠTheme ( val Ġgroup : ĠString , Ġval Ġis Dark Mode : ĠBoolean ?, Ġval Ġtheme : ĠI Theme ) Ġ{ ĊĠĠĠ ĠLIGHT (" Default ", Ġfalse , ĠDefault Light Theme ), ĊĠĠĠ ĠD ARK (" Default ", Ġtrue , ĠDefault Dark Theme ), ĊĠĠĠ ĠGR UV BOX _ LIGHT (" G ru v box ", Ġfalse , ĠG ru v box Light Theme ), ĊĠĠĠ ĠGR UV BOX _ DARK (" G ru v box ", Ġtrue , ĠG ru v box Dark Theme ), ĊĠĠĠ ĠN ORD _ LIGHT (" N ord ", Ġfalse , ĠN ord Light Theme ), ĊĠĠĠ ĠN ORD _ DARK (" N ord ", Ġtrue , ĠN ord Dark Theme ); ĊĊĠĠĠ Ġval Ġlabel Ġ= Ġgroup Ġ+ Ġwhen Ġ( is Dark Mode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġ" Ġdark " ĊĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ" Ġlight " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Theme By Mode ( is Dark Mode : ĠBoolean ?): ĠTheme Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . is Dark Mode Ġ== Ġis Dark Mode Ġ|| Ġthis . is Dark Mode Ġ== Ġnull Ġ|| Ġis Dark Mode Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġinverse Theme Ġ= Ġvalues (). find Ġ{ Ġit . group Ġ== Ġgroup Ġ&& Ġit . is Dark Mode Ġ== Ġis Dark Mode Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( inverse Theme Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinverse Theme ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠBreak Ġrecursive Ġcall ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ== ĠDEFAULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDEFAULT . get Theme By Mode ( is Dark Mode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT Ġ= ĠLIGHT ĊĠĠĠ Ġ} Ċ } Ċ