package Ġcom . cc fr aser . mu ir wik . components . form Ċ Ċ import Ġcom . cc fr aser . mu ir wik . components .* Ċ import Ġreact . R Builder Ċ import Ġreact . R Component Ċ import Ġreact . R State Ċ import Ġstyled . Styled Handler ĊĊ Ċ @ Js Module ("@ material - ui / core / FormControl ") Ċ private Ġexternal Ġval Ġform Control Module : Ġdynamic Ċ Ċ @ Suppress (" Unsafe Cast From Dynamic ") Ċ private Ġval Ġform Control Component : ĠR Component < M FormControl Props , ĠR State > Ġ= Ġform Control Module . default Ċ Ċ @ Suppress (" Enum Entry Name ") Ċ enum Ġclass ĠM FormControl Variant Ġ{ ĊĠĠĠ Ġstandard , Ġoutlined , Ġfilled Ċ } ĊĊ Ċ /** Ċ Ġ* ĠDiv Ġand ĠField Set Ġseem Ġto Ġbe Ġthe Ġmost Ġused Ġvalues Ġfor Ġthis Ġprop , Ġso Ġwe Ġshall Ġenum Ġthese ... Ġif Ġyou Ġneed Ġsomething Ċ Ġ* Ġelse , Ġyou Ġwill Ġhave Ġto Ġuse Ġthe Ġattrs Ġdirectly . Ċ Ġ*/ Ċ @ Suppress (" Enum Entry Name ") Ċ enum Ġclass ĠM FormControl Component Ġ{ ĊĠĠĠ Ġdiv , Ġfield Set ; ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . toString (). to Hy phen Case () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" Enum Entry Name ") Ċ enum Ġclass ĠM FormControl Margin Ġ{ ĊĠĠĠ Ġnone , Ġdense , Ġnormal Ċ } Ċ Ċ interface ĠM FormControl Props Ġ: ĠStyled Props With Common Attributes Ġ{ ĊĠĠĠ Ġvar Ġdisabled : ĠBoolean ĊĠĠĠ Ġvar Ġerror : ĠBoolean ĊĠĠĠ Ġvar Ġfull Width : ĠBoolean ĊĠĠĠ Ġvar Ġhidden Label : ĠBoolean ĊĠĠĠ Ġvar Ġrequired : ĠBoolean Ċ } Ċ var ĠM FormControl Props . margin Ġby ĠEnum Prop ToString ( M FormControl Margin . values ()) Ċ var ĠM FormControl Props . component Ġby ĠEnum Prop ToString ( M FormControl Component . values ()) Ċ var ĠM FormControl Props . variant Ġby ĠEnum Prop ToString ( M FormControl Variant . values ()) ĊĊ Ċ fun ĠR Builder . m FormControl ( ĊĠĠĠĠĠĠĠ Ġcomponent : ĠM FormControl Component Ġ= ĠM FormControl Component . div , ĊĠĠĠĠĠĠĠ Ġdisabled : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġerror : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġfull Width : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġmargin : ĠM FormControl Margin Ġ= ĠM FormControl Margin . none , ĊĠĠĠĠĠĠĠ Ġrequired : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġvariant : ĠM FormControl Variant Ġ= ĠM FormControl Variant . standard , ĊĠĠĠĠĠĠĠ Ġhidden Label : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ ĠclassName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġhandler : ĠStyled Handler < M FormControl Props >? Ġ= Ġnull ) Ġ= Ġcreate Styled ( form Control Component ) Ġ{ ĊĠĠĠ Ġattrs . component Ġ= Ġcomponent ĊĠĠĠ Ġattrs . disabled Ġ= Ġdisabled ĊĠĠĠ Ġattrs . error Ġ= Ġerror ĊĠĠĠ Ġattrs . full Width Ġ= Ġfull Width ĊĠĠĠ Ġattrs . hidden Label Ġ= Ġhidden Label ĊĠĠĠ Ġattrs . margin Ġ= Ġmargin ĊĠĠĠ Ġattrs . required Ġ= Ġrequired ĊĠĠĠ Ġattrs . variant Ġ= Ġvariant ĊĊĠĠĠ Ġset Styled Props And Run Handler ( className , Ġhandler ) Ċ } Ċ