package Ġk arak um . mui Ċ Ċ import Ġjava . io . File Ċ Ċ private Ġconst Ġval ĠGENER ATOR _ COMMENT Ġ= Ġ" Autom atically Ġgenerated Ġ- Ġdo Ġnot Ġmodify !" Ċ Ċ private Ġval ĠDEFAULT _ IMPORT S Ġ= ĠlistOf ( ĊĠĠĠ Ġ" Promise " Ġto Ġ" kotlin . js . Promise ", ĊĊĠĠĠ Ġ" Readonly Array " Ġto Ġ" kotlin x . js . Readonly Array ", ĊĠĠĠ Ġ" Record < " Ġto Ġ" kotlin x . js . Record ", ĊĠĠĠ Ġ" Void " Ġto Ġ" kotlin x . js . Void ", ĊĊĠĠĠ Ġ" ĠClass Name " Ġto Ġ" cs stype . ClassName ", Ċ ) Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠTY PES _ PRO PS _ WITH _ COMPONENT Ġ= Ġ""" Ċ external Ġinterface ĠProps With Component Ġ: Ġreact . Props Ġ{ ĊĠĠĠ Ġvar Ġcomponent : Ġreact . ElementType < *> ? Ċ } Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ ALI ASE S Ġ= Ġ""" Ċ type alias ĠUnion Ġ= ĠString Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ SX _ PRO PS Ġ= Ġ""" Ċ @ Suppress (" UNUSED _ TYPE ALIAS _ PARAMETER ") Ċ type alias ĠS x Props < T > Ġ= Ġreact . CSS Properties Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ PRO PS _ WITH _ SX Ġ= Ġ""" Ċ import Ġreact . Props ĠĠĠĠ ĊĠĠĠĠ Ċ external Ġinterface ĠProps With Sx Ġ: ĠProps Ġ{ ĊĠĠĠ Ġvar Ġsx : ĠS x Props < Theme >? Ċ } Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ SX Ġ= Ġ""" Ċ import Ġcs stype . Properties Builder Ċ import Ġkotlinx . js . js o Ċ Ċ inline Ġfun ĠProps With Sx . sx ( ĊĠĠĠ Ġcross inline Ġblock : ĠProperties Builder . () Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ Ġsx Ġ= Ġj so ( block ) Ċ } Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ RESP ON SIVE _ STYLE _ VALUE Ġ= Ġ""" Ċ external Ġinterface ĠResponsive Style Value < T Ġ: ĠAny > Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ inline Ġfun Ġ< T Ġ: ĠAny > Ġresponsive ( ĊĠĠĠ Ġvalue : ĠT , Ċ ): ĠResponsive Style Value < T > Ġ= ĊĠĠĠ Ġvalue . unsafe Cast < Responsive Style Value < T >>() Ċ Ċ @ Suppress (" BOUN DS _ NOT _ ALLOWED _ IF _ BOUNDED _ BY _ TYPE _ PARAMETER ") Ċ fun Ġ< T Ġ: ĠAny , ĠR > Ġresponsive ( ĊĠĠĠ Ġvar arg Ġvalues : ĠPair < Breakpoint , ĠT >, Ċ ): ĠR Ġwhere ĠR Ġ: ĠT , ĊĠĠĠĠĠĠĠĠĠĠ ĠR Ġ: ĠResponsive Style Value < T > Ġ= ĊĠĠĠ ĠRecord < Breakpoint , ĠT > Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġvalues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. unsafe Cast < R >() Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ STANDARD _ PRO PS Ġ= Ġ""" Ċ external Ġinterface ĠStandard Props : ĠĊĠĠĠ Ġreact . Props With Style , ĊĠĠĠ Ġreact . Props With ClassName Ċ """. trim Indent () Ċ Ċ private Ġval ĠSYSTEM _ BREAK POINT Ġ= Ġconvert Union (" Breakpoint Ġ= Ġ' xs ' Ġ| Ġ' sm ' Ġ| Ġ' md ' Ġ| Ġ' lg ' Ġ| Ġ' xl '") !! Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSYSTEM _ SHAPE Ġ= Ġ""" Ċ external Ġinterface ĠShape Ġ{ ĊĠĠĠ Ġvar ĠborderRadius : Ġcs stype . Border Radius Ċ } Ċ Ċ type alias ĠShape Options Ġ= ĠShape Ċ """. trim Indent () Ċ Ċ private Ġval ĠM ATER IAL _ PAL ET TE _ MODE Ġ= Ġconvert Union (" Palette Mode Ġ= Ġ' light ' Ġ| Ġ' dark '") !! Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠSTYLE _ TRANS ITION _ CREATE _ OPTIONS Ġ= Ġ""" Ċ external Ġinterface ĠTransition Create Options Ġ{ ĊĠĠĠ Ġvar Ġduration : ĠNumber ? ĊĠĠĠ Ġvar Ġeasing : ĠString ? ĊĠĠĠ Ġvar Ġdelay : ĠNumber ? ĠĠĠĠ Ċ } Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠM ATER IAL _ SIZE Ġ= Ġ""" Ċ @ Suppress ( ĊĠĠĠ Ġ" NAME _ CONTAIN S _ IL LEG AL _ CHARS ", ĊĠĠĠ Ġ" NE ST ED _ CLASS _ IN _ EXTERNAL _ INTERFACE ", Ċ ) Ċ // Ġlanguage = JavaScript Ċ @ Js Name ("( /* union */ { small : Ġ' small ', Ġmedium : Ġ' medium ', Ġnormal : Ġ' normal ', Ġlarge : Ġ' large '} /* union */ )") Ċ sealed Ġexternal Ġinterface ĠSize Ġ{ ĊĠĠĠ Ġobject Ġsmall Ġ: ĠSize , ĠBase Size , ĠNormal Size ĊĠĠĠ Ġobject Ġmedium Ġ: ĠSize , ĠBase Size ĊĠĠĠ Ġobject Ġnormal Ġ: ĠNormal Size ĊĠĠĠ Ġobject Ġlarge Ġ: ĠSize Ċ } Ċ Ċ sealed Ġexternal Ġinterface ĠBase Size Ċ sealed Ġexternal Ġinterface ĠNormal Size Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠTRANS ITION S _ ST UB S Ġ= Ġ""" Ċ external Ġinterface ĠTransition Props : Ġreact . Props Ċ """. trim Indent () Ċ Ċ // Ġlanguage = Kotlin Ċ private Ġval ĠP ICK ERS _ ST UB S Ġ= Ġ""" Ċ type alias ĠP icker Selection State Ġ= ĠString Ċ Ċ type alias ĠP icker OnChange Fn < T Date > Ġ= Ġ( ĊĠĠĠ Ġdate : ĠT Date ?, ĠĊĠĠĠ Ġselection State : ĠP icker Selection State ?, Ċ ) Ġ-> ĠUnit Ċ """. trim Indent () Ċ Ċ private Ġval ĠCAL END AR _ P ICK ER _ VIEW Ġ= Ġconvert Union (" Calendar Picker View Ġ= Ġ' year ' Ġ| Ġ' day ' Ġ| Ġ' month '") !! Ċ private Ġval ĠC LOCK _ P ICK ER _ VIEW Ġ= Ġconvert Union (" Clock Picker View Ġ= Ġ' hours ' Ġ| Ġ' minutes ' Ġ| Ġ' seconds '") !! Ċ Ċ private Ġval ĠBASE _ TYPES Ġ= Ġset Of ( ĊĠĠĠ Ġ" Click Away Listener ", ĊĠĠĠ Ġ" No S sr ", ĊĠĠĠ Ġ" Portal ", ĊĠĠĠ Ġ" Text area Aut os ize ", Ċ ) Ċ Ċ private Ġval ĠEX CL UDE D _ TYPES Ġ= Ġset Of ( ĊĠĠĠ Ġ" Calendar Picker ", ĊĠĠĠ Ġ" Calendar Picker Skeleton ", ĊĠĠĠ Ġ" Clock Picker ", ĊĠĠĠ Ġ" DatePicker ", ĊĠĠĠ Ġ" DateTime Picker ", ĊĠĠĠ Ġ" Desktop DatePicker ", ĊĠĠĠ Ġ" Desktop DateTime Picker ", ĊĠĠĠ Ġ" Desktop Time Picker ", ĊĠĠĠ Ġ" Localization Provider ", ĊĠĠĠ Ġ" Mobile DatePicker ", ĊĠĠĠ Ġ" Mobile DateTime Picker ", ĊĠĠĠ Ġ" Mobile Time Picker ", ĊĠĠĠ Ġ" Month Picker ", ĊĠĠĠ Ġ" Pick ers Day ", ĊĠĠĠ Ġ" Static DatePicker ", ĊĠĠĠ Ġ" Static DateTime Picker ", ĊĠĠĠ Ġ" Static Time Picker ", ĊĠĠĠ Ġ" Time Picker ", ĊĠĠĠ Ġ" Year Picker ", ĊĊĠĠĠ Ġ" DateRange Picker ", ĊĠĠĠ Ġ" DateRange Picker Day ", ĊĠĠĠ Ġ" Desktop DateRange Picker ", ĊĠĠĠ Ġ" Mobile DateRange Picker ", ĊĠĠĠ Ġ" Static DateRange Picker ", ĊĊĠĠĠ Ġ// ĠTODO : Ġfix ĊĠĠĠ Ġ" Timeline " Ċ ) Ċ Ċ private Ġenum Ġclass ĠPackage ( ĊĠĠĠ Ġid : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġpkg : ĠString ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġtypes , ĊĠĠĠ Ġbase , ĊĠĠĠ Ġmaterial , ĊĠĠĠ Ġmaterial Styles (" material / styles "), ĊĠĠĠ Ġmaterial Transitions , ĊĠĠĠ Ġicons Material (" icons - material "), ĊĠĠĠ Ġsystem , ĊĠĠĠ Ġpick ers (" x - date - pick ers ", Ġ" mu ix . pick ers "), ĊĠĠĠ Ġlab , ĊĊĠĠĠ Ġ; ĊĊĠĠĠ Ġval Ġid Ġ= Ġid Ġ?: Ġname ĊĊĠĠĠ Ġval Ġpkg : ĠString Ġ= Ġpkg Ġ?: Ġ(" mui ." Ġ+ Ġname . replace ( Regex (""" [ A - Z ] "" ")) Ġ{ Ġ"." Ġ+ Ġit . value . toLowerCase () Ġ}) Ċ } Ċ Ċ fun Ġgenerate Kotlin Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġgenerate Types Declarations ( source Dir ) ĊĠĠĠ Ġgenerate Base Declarations ( types Dir . resolve (" base "), Ġsource Dir ) ĊĠĠĠ Ġgenerate System Declarations ( types Dir . resolve (" system "), Ġsource Dir ) ĊĠĠĠ Ġgenerate Material Declarations ( types Dir . resolve (" material "), Ġsource Dir ) ĊĠĠĠ Ġgenerate Styles Declarations ( types Dir . resolve (" material / styles "), Ġsource Dir ) ĊĠĠĠ Ġgenerate Transitions Declarations ( source Dir ) ĊĠĠĠ Ġgenerate Lab Declarations ( types Dir . resolve (" lab "), Ġsource Dir ) ĊĠĠĠ Ġgenerate Pick ers Declarations ( types Dir . resolve (" x - date - pick ers "), Ġsource Dir ) Ċ } Ċ Ċ fun Ġgenerate Kotlin Icons Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġgenerate Icons Material Declarations ( types Dir . resolve (" icons - material "), Ġsource Dir ) Ċ } Ċ Ċ private Ġfun Ġgenerate Types Declarations ( ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / types ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġtarget Dir . resolve (" Props With Component . kt ") ĊĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( body Ġ= ĠTY PES _ PRO PS _ WITH _ COMPONENT , Ġpkg Ġ= ĠPackage . types )) Ċ } Ċ Ċ private Ġfun Ġgenerate Base Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / base ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġval Ġdirectories Ġ= Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġfile . isDirectory Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġdirectories . as Sequence () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . is Component Name () Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name Ġ!= Ġ" List box Un styled " Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġname Ġ= Ġit . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name Ġ== Ġ" Autocomplete Un styled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" use Autocomplete " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . resolve ("$ name . d . ts ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġcomponent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdir Ġ= Ġcomponent . parent File ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhooks Ġ= Ġif Ġ( dir . name Ġ== Ġ" Switch Un styled ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Of ( dir . resolve (" use " Ġ+ Ġdir . name . remove Suffix (" Un styled ") Ġ+ Ġ". d . ts ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġempty Sequence () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdir . exist ed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . name Ġ+ Ġ" Props . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . name Ġ+ Ġ". types . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" use " Ġ+ Ġdir . name . remove Suffix (" Un styled ") Ġ+ Ġ" Props . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" use " Ġ+ Ġdir . name . remove Suffix (" Un styled ") Ġ+ Ġ". types . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Use " Ġ+ Ġdir . name . remove Suffix (" Un styled ") Ġ+ Ġ" Props . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ Ġhooks Ġ+ Ġcomponent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . base ) Ġ} Ċ } Ċ Ċ private Ġfun Ġgenerate System Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / system ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġval Ġdirectories Ġ= Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġfile . isDirectory Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġdirectories . as Sequence () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . is Component Name () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . resolve ("${ it . name }. d . ts ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġcomponent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdir Ġ= Ġcomponent . parent File ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdir . exist ed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . name Ġ+ Ġ" Props . d . ts ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ Ġcomponent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . system ) Ġ} ĊĊĠĠĠ Ġtypes Dir . resolve (" create Theme ") ĊĠĠĠĠĠĠĠ Ġ. list Files Ġ{ Ġfile Ġ-> Ġfile . name . startsWith (" create ") Ġ&& Ġfile . name . endsWith (". d . ts ") Ġ} !! ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . system ) Ġ} ĊĊĠĠĠ Ġgenerate ( types Dir . resolve (" use Theme . d . ts "), Ġtarget Dir , ĠPackage . system ) ĊĊĠĠĠ Ġsequence Of ( ĊĠĠĠĠĠĠĠ Ġ" Breakpoint " Ġto ĠSYSTEM _ BREAK POINT , ĊĠĠĠĠĠĠĠ Ġ" shape " Ġto ĠSYSTEM _ SHAPE , ĊĊĠĠĠĠĠĠĠ Ġ" Aliases " Ġto ĠSYSTEM _ ALI ASE S , ĊĊĠĠĠĠĠĠĠ Ġ" Sx Props " Ġto ĠSYSTEM _ SX _ PRO PS , ĊĠĠĠĠĠĠĠ Ġ" Props With Sx " Ġto ĠSYSTEM _ PRO PS _ WITH _ SX , ĊĠĠĠĠĠĠĠ Ġ" sx " Ġto ĠSYSTEM _ SX , ĊĊĠĠĠĠĠĠĠ Ġ" Responsive Style Value " Ġto ĠSYSTEM _ RESP ON SIVE _ STYLE _ VALUE , ĊĠĠĠĠĠĠĠ Ġ" Standard Props " Ġto ĠSYSTEM _ STANDARD _ PRO PS , ĊĠĠĠ Ġ). forEach Ġ{ Ġ( name , Ġbody ) Ġ-> ĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( body Ġ= Ġbody , Ġpkg Ġ= ĠPackage . system )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġgenerate Material Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / material ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġval Ġdirectories Ġ= Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġfile . isDirectory Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġdirectories . as Sequence () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . is Component Name () Ġ|| Ġit . name Ġ== Ġ" internal " Ġ|| Ġit . name Ġ== Ġ" use Media Query " Ġ|| Ġit . name Ġ== Ġ" use Pagination " Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name Ġ! in ĠBASE _ TYPES Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name Ġ!= Ġ" Styled Engine Provider " Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Button Base " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġit . resolve (" Touch R ipple . d . ts ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate ( file , Ġtarget Dir , ĠPackage . material , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Table Pagination " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġit . resolve ("${ it . name } Actions . d . ts ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate ( file , Ġtarget Dir , ĠPackage . material , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġwhen Ġ( it . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" internal " Ġ-> Ġ" Switch Base . d . ts " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"${ it . name }. d . ts " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . resolve ( fileName ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . material ) Ġ} ĊĊĠĠĠ Ġsequence Of ( ĊĠĠĠĠĠĠĠ ĠM UI Ġto ĠM UI _ BODY , ĊĠĠĠĠĠĠĠ Ġ" Palette Mode " Ġto ĠM ATER IAL _ PAL ET TE _ MODE , ĊĠĠĠĠĠĠĠ Ġ" Size " Ġto ĠM ATER IAL _ SIZE , ĊĠĠĠ Ġ). forEach Ġ{ Ġ( name , Ġbody ) Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġannotations Ġ= Ġif Ġ( name Ġ== ĠM UI ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ file : Suppress (\ n \" NE ST ED _ CLASS _ IN _ EXTERNAL _ INTERFACE \",\ n )" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ"" ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( annotations , Ġbody , ĠPackage . material )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġgenerate Styles Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / material / styles ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġfun Ġis Style Definition ( fileName : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠfileName . remove Suffix (". d . ts ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit Ġ!= ĠfileName Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( name . startsWith (" create ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Theme Provider ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" use Theme ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" z Index ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġis Style Definition ( file . name ) Ġ} !! ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . material Styles ) Ġ} Ċ } ĊĊ Ċ private Ġfun Ġgenerate Transitions Declarations ( ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / material / transitions ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġtarget Dir . resolve (" Stub s . kt ") ĊĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( body Ġ= ĠTRANS ITION S _ ST UB S , Ġpkg Ġ= ĠPackage . material Transitions )) Ċ } Ċ Ċ private Ġfun Ġgenerate Icons Material Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / icons / material ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġfor Ġ(( name , Ġbody ) Ġin Ġconvert Icons ( types Dir . resolve (" index . d . ts "))) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġannotations Ġ= Ġif Ġ( name Ġ!= Ġ" Svg Icon Component ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Declaration ( Package . icons Material , Ġnull , Ġname ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ"" ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( annotations , Ġbody , ĠPackage . icons Material )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġgenerate Lab Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mui / lab ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġval Ġdirectories Ġ= Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġfile . isDirectory Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġdirectories . as Sequence () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . name . startsWith (" Adapter ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name Ġ! in ĠEX CL UDE D _ TYPES Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . is Component Name () Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . resolve ("${ it . name }. d . ts "). read Text (). startsWith (" export Ġ{ Ġdefault Ġ} Ġfrom Ġ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" TreeItem " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġit . resolve ("${ it . name } Content . d . ts ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate ( file , Ġtarget Dir , ĠPackage . lab ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . resolve ("${ it . name }. d . ts ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . lab ) Ġ} Ċ } Ċ Ċ private Ġfun Ġgenerate Pick ers Declarations ( ĊĠĠĠ Ġtypes Dir : ĠFile , ĊĠĠĠ Ġsource Dir : ĠFile , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Dir Ġ= Ġsource Dir . resolve (" mu ix / pick ers ") ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . mkdir s () Ġ} ĊĊĠĠĠ Ġval Ġdirectories Ġ= Ġtypes Dir . list Files Ġ{ Ġfile Ġ-> Ġfile . isDirectory Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġdirectories . as Sequence () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . name . startsWith (" Adapter ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . is Component Name () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . resolve ("${ it . name }. d . ts ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġgenerate ( it , Ġtarget Dir , ĠPackage . pick ers ) Ġ} ĊĊĠĠĠ Ġsequence Of ( ĊĠĠĠĠĠĠĠ Ġ" Stub s " Ġto ĠP ICK ERS _ ST UB S , ĊĠĠĠĠĠĠĠ Ġ" Calendar Picker View " Ġto ĠCAL END AR _ P ICK ER _ VIEW , ĊĠĠĠĠĠĠĠ Ġ" Clock Picker View " Ġto ĠC LOCK _ P ICK ER _ VIEW , ĊĠĠĠĠĠĠĠ ĠDATE _ ADAPTER Ġto ĠDATE _ ADAPTER _ BODY , ĊĠĠĠ Ġ). forEach Ġ{ Ġ( name , Ġbody ) Ġ-> ĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( body Ġ= Ġbody , Ġpkg Ġ= ĠPackage . pick ers )) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠDATE _ ADAPTER S . forEach Ġ{ Ġ( name , Ġbody ) Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġannotations Ġ= Ġmodule Declaration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpkg Ġ= ĠPackage . pick ers , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub package Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġfile Content ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotations Ġ= Ġannotations , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġbody , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpkg Ġ= ĠPackage . pick ers , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( content ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠString . is Component Name (): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ(" _" Ġin Ġthis ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĊĠĠĠ Ġval Ġchar Ġ= Ġget ( 0 ) ĊĠĠĠ Ġreturn Ġchar Ġ== Ġchar . toUpperCase () Ġ&& Ġchar Ġ!= Ġchar . toLowerCase () Ċ } Ċ Ċ private Ġfun Ġmodule Declaration ( ĊĠĠĠ Ġpkg : ĠPackage , ĊĠĠĠ Ġsub package : ĠString ?, ĊĠĠĠ Ġcomponent Name : ĠString , Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval ĠmoduleName Ġ= Ġsequence Of ( ĊĠĠĠĠĠĠĠ Ġ"@ mui ", ĊĠĠĠĠĠĠĠ Ġpkg . id , ĊĠĠĠĠĠĠĠ Ġsub package , ĊĠĠĠĠĠĠĠ Ġcomponent Name , ĊĠĠĠ Ġ). filter NotNull () ĊĠĠĠĠĠĠĠ Ġ. join ToString ("/") ĊĊĠĠĠ Ġreturn Ġ"@ file : Js Module (\" $ moduleName \") \ n @ file : Js Non Module " Ċ } ĊĊ Ċ private Ġfun Ġgenerate ( ĊĠĠĠ Ġdefinition File : ĠFile , ĊĠĠĠ Ġtarget Dir : ĠFile , ĊĠĠĠ Ġpkg : ĠPackage , ĊĠĠĠ Ġfull Path : ĠBoolean Ġ= Ġfalse , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcomponent Name Ġ= Ġwhen Ġ( definition File . name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" shared . d . ts " Ġ-> Ġ" Calendar Picker View " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġdefinition File . name . remove Suffix (". d . ts ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġ( body , Ġextensions ) Ġ= Ġconvert Definitions ( definition File ) ĊĊĠĠĠ Ġval Ġsub package Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġpkg Ġ== ĠPackage . material Styles ĊĠĠĠĠĠĠĠ Ġ-> Ġnull ĊĊĠĠĠĠĠĠĠ Ġfull Path Ġ|| Ġcomponent Name Ġ== Ġ" Switch Base " Ġ|| Ġcomponent Name Ġ== Ġ" use Autocomplete " Ġ|| Ġcomponent Name Ġ== Ġ" use Switch " Ġ|| Ġcomponent Name . startsWith ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" create " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ-> Ġdefinition File . parent File . name ĊĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġannotations Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġif Ġ(" external Ġval Ġ" Ġin Ġbody Ġ|| Ġ" external Ġfun Ġ" Ġin Ġbody ) ĊĠĠĠĠĠĠĠ Ġannotations Ġ+= Ġmodule Declaration ( pkg , Ġsub package , Ġcomponent Name ) ĊĊĠĠĠ Ġif Ġ( component Name Ġ== Ġ" TextField ") ĊĠĠĠĠĠĠĠ Ġannotations Ġ+= Ġ"@ file : Suppress (\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" VIRTUAL _ MEMBER _ HIDDEN \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" NON _ EXTERNAL _ DECL AR ATION _ IN _ IN APPRO PRI ATE _ FILE \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ")" ĊĊĠĠĠ Ġif Ġ( component Name Ġin ĠOVER RIDE _ FIX _ REQUIRED ) ĊĠĠĠĠĠĠĠ Ġannotations Ġ+= Ġ"@ file : Suppress (\ n \" VIRTUAL _ MEMBER _ HIDDEN \",\ n )" ĊĊĠĠĠ Ġif Ġ( component Name Ġ!= Ġ" Calendar Picker View " Ġ&& Ġcomponent Name Ġ!= Ġ" create Typography ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfinal Body Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ== Ġ" create Transitions " Ġ-> Ġbody Ġ+ Ġ"\ n \ n " Ġ+ ĠSTYLE _ TRANS ITION _ CREATE _ OPTIONS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpkg Ġ== ĠPackage . pick ers Ġ-> Ġbody . replace ( JS _ NAME _ DEFAULT , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġbody ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ component Name . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( annotations . join ToString ("\ n \ n "), Ġfinal Body , Ġpkg )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( extensions . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġwhen Ġ( component Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step per " Ġ-> Ġ" Orientation " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"$ component Name . ext " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġextensions Annotations Ġ= Ġif Ġ(" inline Ġfun Ġ" Ġin Ġextensions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ file : Suppress (\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" DECL AR ATION _ C ANT _ BE _ IN LIN ED \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" NOTH ING _ TO _ INLINE \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ")" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ"" ĊĊĠĠĠĠĠĠĠ Ġval Ġfinal Body Ġ= Ġwhen Ġ( component Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" create Typography " Ġ-> Ġextensions . replace First (" Variant ", Ġ" Typography Variant ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġextensions ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ fileName . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( annotations Ġ= Ġextensions Annotations , Ġbody Ġ= Ġfinal Body , Ġpkg Ġ= Ġpkg )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġclasses Name Ġ= Ġcomponent Name Ġ+ Ġ" Classes " ĊĠĠĠ Ġval Ġclasses File Ġ= Ġdefinition File . parent File . resolve ( classes Name . de capitalize () Ġ+ Ġ". d . ts ") ĊĠĠĠ Ġif Ġ( classes File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( classes , Ġm ui ) Ġ= Ġconvert Classes ( component Name , Ġclasses File ) ĊĊĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ component Name . classes . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( body Ġ= Ġclasses , Ġpkg Ġ= Ġpkg )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( mui Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm ui Annotations Ġ= Ġ"@ file : Suppress (\ n \" NE ST ED _ CLASS _ IN _ EXTERNAL _ INTERFACE \",\ n )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Dir . resolve ("$ component Name . mui . kt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Text ( file Content ( annotations Ġ= Ġm ui Annotations , Ġbody Ġ= Ġm ui , Ġpkg Ġ= Ġpkg )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġfile Content ( ĊĠĠĠ Ġannotations : ĠString Ġ= Ġ"", ĊĠĠĠ Ġbody : ĠString , ĊĠĠĠ Ġpkg : ĠPackage , Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval Ġdefault Imports Ġ= ĠDEFAULT _ IMPORT S ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . first Ġin Ġbody Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . second Ġ} ĊĠĠĠĠĠĠĠ Ġ. plus ( system Imports ( body , Ġpkg )) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ" import Ġ$ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ. join ToString ("\ n ") ĊĊĠĠĠ Ġreturn Ġsequence Of ( ĊĠĠĠĠĠĠĠ Ġ"// Ġ$ GENER ATOR _ COMMENT ", ĊĠĠĠĠĠĠĠ Ġannotations , ĊĠĠĠĠĠĠĠ Ġ" package Ġ${ pkg . pkg }", ĊĠĠĠĠĠĠĠ Ġdefault Imports , ĊĠĠĠĠĠĠĠ Ġbody , ĊĠĠĠ Ġ). filter Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ. join ToString ("\ n \ n ") ĊĠĠĠĠĠĠĠ Ġ. remove Suffix ("\ n ") Ġ+ Ġ"\ n " Ċ } Ċ Ċ private Ġfun Ġsystem Imports ( ĊĠĠĠ Ġbody : ĠString , ĊĠĠĠ Ġpkg : ĠPackage , Ċ ): ĠSequence < String > Ġ= ĊĠĠĠ Ġif Ġ(" Sx Props < Theme >" Ġin Ġbody Ġ&& Ġpkg Ġ!= ĠPackage . system ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsequence Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" mui . material . styles . Theme ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" mui . system . Sx Props ", ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġempty Sequence () Ċ