package Ġui . utils Ċ Ċ import Ġandroidx . compose . desktop . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . required Height Ċ import Ġandroidx . compose . foundation . text . Keyboard Actions Ċ import Ġandroidx . compose . foundation . text . Keyboard Options Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . rounded . Error Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . graphics . vector . remember Vector Painter Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . text . input . TextField Value Ċ import Ġandroidx . compose . ui . text . input . Visual Transformation Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ Ċ @ Composable Ċ fun ĠOut lined TextField WithError ( ĊĠĠĠ Ġvalue : ĠText FieldValue , ĊĠĠĠ Ġon Value Change : Ġ( TextField Value ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ ĠreadOnly : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġtext Style : ĠTextStyle Ġ= ĠLocal TextStyle . current , ĊĠĠĠ Ġlabel : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġplaceholder : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġleading Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġtrailing Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġerror Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġhelper Message : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ ĠerrorMessage : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġis Error : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvisual Transformation : ĠVisual Transformation Ġ= ĠVisual Transformation . None , ĊĠĠĠ Ġkeyboard Options : ĠKeyboard Options Ġ= ĠKeyboard Options . Default , ĊĠĠĠ Ġkeyboard Actions : ĠKeyboard Actions Ġ= ĠKeyboard Actions (), ĊĠĠĠ Ġsingle Line : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġmax Lines : ĠInt Ġ= ĠInt . MAX _ VALUE , ĊĠĠĠ Ġinteraction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , ĊĠĠĠ Ġcolors : ĠTextField Colors Ġ= ĠTextField Defaults . textField Colors () Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġandroidx . compose . material . Outlined TextField ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Value Change , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= ĠreadOnly , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġtext Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġplaceholder , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġleading Icon , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrailing Icon Ġ= Ġif Ġ( isError ) Ġerror Icon Ġelse Ġtrailing Icon , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Error Ġ= Ġis Error , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisual Transformation Ġ= Ġvisual Transformation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Options Ġ= Ġkeyboard Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Actions Ġ= Ġkeyboard Actions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Line Ġ= Ġsingle Line , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġmax Lines , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. required Height ( 3 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġ 1 6 . dp , Ġend Ġ= Ġ 1 2 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal TextStyle Ġprovides ĠLocal TextStyle . current . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 2 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġif Ġ( isError ) ĠMaterial Theme . colors . error Ġelse ĠLocal TextStyle . current . color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( errorMessage Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrorMessage () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( helper Message Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĠContent Alpha . medium ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper Message () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠOut lined TextField WithError ( ĊĠĠĠ Ġvalue : ĠString , ĊĠĠĠ Ġon Value Change : Ġ( String ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ ĠreadOnly : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġtext Style : ĠTextStyle Ġ= ĠLocal TextStyle . current , ĊĠĠĠ Ġlabel : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġplaceholder : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġleading Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġtrailing Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġerror Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġhelper Message : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ ĠerrorMessage : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġis Error : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvisual Transformation : ĠVisual Transformation Ġ= ĠVisual Transformation . None , ĊĠĠĠ Ġkeyboard Options : ĠKeyboard Options Ġ= ĠKeyboard Options . Default , ĊĠĠĠ Ġkeyboard Actions : ĠKeyboard Actions Ġ= ĠKeyboard Actions (), ĊĠĠĠ Ġsingle Line : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġmax Lines : ĠInt Ġ= ĠInt . MAX _ VALUE , ĊĠĠĠ Ġinteraction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , ĊĠĠĠ Ġcolors : ĠTextField Colors Ġ= ĠTextField Defaults . textField Colors () Ċ ) Ġ{ ĊĊĠĠĠ Ġval Ġtext FieldValue State Ġ= Ġremember Ġ{ Ġmutable State Of ( TextField Value ( text Ġ= Ġvalue )) Ġ} ĊĠĠĠ Ġval Ġtext FieldValue Ġ= Ġtext FieldValue State . value . copy ( text Ġ= Ġvalue ) ĊĊĠĠĠ ĠOut lined TextField WithError ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġtext FieldValue , ĊĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext FieldValue State . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġit . text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change ( it . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠ ĠreadOnly Ġ= ĠreadOnly , ĊĠĠĠĠĠĠĠ Ġsingle Line Ġ= Ġsingle Line , ĊĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġtext Style , ĊĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġplaceholder , ĊĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġleading Icon , ĊĠĠĠĠĠĠĠ Ġtrailing Icon Ġ= Ġtrailing Icon , ĊĠĠĠĠĠĠĠ Ġerror Icon Ġ= Ġerror Icon , ĊĠĠĠĠĠĠĠ Ġhelper Message Ġ= Ġhelper Message , ĊĠĠĠĠĠĠĠ ĠerrorMessage Ġ= ĠerrorMessage , ĊĠĠĠĠĠĠĠ Ġis Error Ġ= Ġis Error , ĊĠĠĠĠĠĠĠ Ġvisual Transformation Ġ= Ġvisual Transformation , ĊĠĠĠĠĠĠĠ Ġkeyboard Options Ġ= Ġkeyboard Options , ĊĠĠĠĠĠĠĠ Ġkeyboard Actions Ġ= Ġkeyboard Actions , ĊĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġmax Lines , ĊĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source , ĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , ĊĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Preview () Ċ @ Composable Ċ fun ĠOut lined TextField Night Helper Preview () Ġ{ ĊĠĠĠ Ġval Ġtext Ġ= Ġremember Ġ{ Ġmutable State Of ("") Ġ} ĊĠĠĠ ĠMaterial Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface ( modifier Ġ= ĠModifier . padding ( 1 5 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOut lined TextField WithError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= ĠText FieldValue ( text . value ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{ Ġtext . value Ġ= Ġit . text Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrorMessage Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" This Ġis Ġan Ġerror !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Icon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġremember Vector Painter ( image Ġ= ĠIcons . Rounded . Error ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Error Ġ= Ġ( text . value . isNotBlank () Ġ&& Ġtext . value . toInt OrNull () Ġ!= Ġnull ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }