package Ġcom . van pr a . compose material dialogs Ċ Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . text . Keyboard Actions Ċ import Ġandroidx . compose . foundation . text . Keyboard Options Ċ import Ġandroidx . compose . material . Local TextStyle Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Outlined TextField Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . TextField Ċ import Ġandroidx . compose . material . TextField Colors Ċ import Ġandroidx . compose . material . TextField Defaults Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Disposable Effect Ċ 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 . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . focus . Focus Request er Ċ import Ġandroidx . compose . ui . focus . focus Request er Ċ import Ġandroidx . compose . ui . platform . test Tag Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . text . input . Visual Transformation Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ Ċ enum Ġclass ĠTextField Style Ġ{ ĊĠĠĠ ĠF illed , ĊĠĠĠ ĠOut lined Ċ } Ċ Ċ /** Ċ Ġ* Ġ ĠAdds Ġan Ġinput Ġfield Ġwith Ġthe Ġgiven Ġparameters Ġto Ġthe Ġdialog Ċ Ġ* Ġ@ param Ġlabel Ġstring Ġto Ġbe Ġshown Ġin Ġthe Ġinput Ġfield Ġbefore Ġselection Ġeg . ĠUsername Ċ Ġ* Ġ@ param Ġplaceholder Ġhint Ġto Ġbe Ġshown Ġin Ġthe Ġinput Ġfield Ġwhen Ġit Ġis Ġselected Ġbut Ġempty Ġeg . ĠJo e Ċ Ġ* Ġ@ param Ġpref ill Ġstring Ġto Ġbe Ġinput Ġinto Ġthe Ġtext Ġfield Ġby Ġdefault Ċ Ġ* Ġ@ param ĠwaitFor Positive Button Ġif Ġtrue Ġthe Ġ[ on Input ] Ġcallback Ġwill Ġonly Ġbe Ġcalled Ġwhen Ġthe Ċ Ġ* Ġpositive Ġbutton Ġis Ġpressed , Ġotherwise Ġit Ġwill Ġbe Ġcalled Ġwhen Ġthe Ġinput Ġvalue Ġis Ġchanged Ċ Ġ* Ġ@ param Ġvisual Transformation Ġa Ġvisual Ġtransformation Ġof Ġthe Ġcontent Ġof Ġthe Ġtext Ġfield Ċ Ġ* Ġ@ param Ġkeyboard Options Ġsoftware Ġkeyboard Ġoptions Ġwhich Ġcan Ġbe Ġused Ġto Ġcustomize Ġparts Ċ Ġ* Ġof Ġthe Ġkeyboard Ċ Ġ* Ġ@ param ĠerrorMessage Ġa Ġmessage Ġto Ġbe Ġshown Ġto Ġthe Ġuser Ġwhen Ġthe Ġinput Ġis Ġnot Ġvalid Ċ Ġ* Ġ@ param Ġfocus Request er Ġa Ġ[ Focus Request er ] Ġwhich Ġcan Ġbe Ġused Ġto Ġcontrol Ġthe Ġfocus Ġstate Ġof Ġthe Ċ Ġ* Ġtext Ġfield Ċ Ġ* Ġ@ param Ġfocus On Show Ġif Ġset Ġto Ġtrue Ġthis Ġwill Ġauto Ġfocus Ġthe Ġtext Ġfield Ġwhen Ġthe Ġinput Ċ Ġ* Ġfield Ġis Ġshown Ċ Ġ* Ġ@ param Ġis Text Valid Ġa Ġfunction Ġwhich Ġis Ġcalled Ġto Ġcheck Ġif Ġthe Ġuser Ġinput Ġis Ġvalid Ċ Ġ* Ġ@ param Ġon Input Ġa Ġfunction Ġwhich Ġis Ġcalled Ġwith Ġthe Ġuser Ġinput . ĠThe Ġtiming Ġof Ġthis Ġcall Ġis Ċ Ġ* Ġdict ated Ġby Ġ[ waitFor Positive Button ] Ċ Ġ*/ Ċ @ Composable Ċ fun ĠMaterial Dialog Scope . input ( ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġlabel : ĠString , ĊĠĠĠ Ġplaceholder : ĠString Ġ= Ġ"", ĊĠĠĠ Ġpref ill : ĠString Ġ= Ġ"", ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ ĠreadOnly : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġtext Style : ĠTextStyle Ġ= ĠLocal TextStyle . current , ĊĠĠĠ Ġleading Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġtrailing Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġ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 () Ġ}, ĊĠĠĠ Ġcolors : ĠTextField Colors Ġ= ĠTextField Defaults . textField Colors (), ĊĠĠĠ Ġtext Field Style : ĠTextField Style Ġ= ĠTextField Style . Filled , ĊĠĠĠ ĠwaitFor Positive Button : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ ĠerrorMessage : ĠString Ġ= Ġ"", ĊĠĠĠ Ġfocus Request er : ĠFocus Request er Ġ= ĠFocus Request er . Default , ĊĠĠĠ Ġfocus On Show : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġis Text Valid : Ġ( String ) Ġ-> ĠBoolean Ġ= Ġ{ Ġtrue Ġ}, ĊĠĠĠ Ġon Input : Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{} Ċ Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġtext Ġby Ġremember Ġ{ Ġmutable State Of ( pref ill ) Ġ} ĊĠĠĠ Ġval Ġvalid Ġ= Ġremember ( text ) Ġ{ Ġis Text Valid ( text ) Ġ} ĊĊĠĠĠ ĠPositive Button Enabled ( valid Ġ= Ġvalid , Ġon Dispose Ġ= Ġ{}) ĊĊĠĠĠ Ġif Ġ( waitFor Positive Button ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDialog Callback Ġ{ Ġon Input ( text ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . padding ( start Ġ= Ġ 2 4 . dp , Ġend Ġ= Ġ 2 4 . dp , Ġtop Ġ= Ġ 8 . dp , Ġbottom Ġ= Ġ 8 . dp )) Ġ{ ĊĠĠĠĠĠĠĠ ĠTextField With Style ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. focus Request er ( focus Request er ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. test Tag (" dialog _ input "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! waitFor Positive Button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Input ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= ĠreadOnly , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġtext Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĠText ( label , Ġcolor Ġ= ĠMaterial Theme . colors . on Background . copy ( 0 . 8 f )) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ{ ĠText ( placeholder , Ġcolor Ġ= ĠMaterial Theme . colors . on Background . copy ( 0 . 5 f )) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġleading Icon , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrailing Icon Ġ= Ġtrailing Icon , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Error Ġ= Ġ! valid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisual Transformation Ġ= Ġvisual Transformation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Options Ġ= Ġkeyboard Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyboard Actions Ġ= Ġkeyboard Actions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Line Ġ= Ġsingle Line , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġmax Lines , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġtext Field Style ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrorMessage , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 4 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . error , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . End ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. test Tag (" dialog _ input _ error ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( focus On Show ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDis posable Effect ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfocus Request er . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Dispose Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠTextField With Style ( ĊĠĠĠ Ġ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 , ĊĠĠĠ Ġ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 () Ġ}, ĊĠĠĠ Ġcolors : ĠTextField Colors Ġ= ĠTextField Defaults . textField Colors (), ĊĠĠĠ Ġstyle : ĠTextField Style Ġ= ĠTextField Style . Filled Ċ ) Ġ{ ĊĠĠĠ Ġwhen Ġ( style ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTextField Style . Filled Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTextField ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Value Change , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= ĠreadOnly , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġtext Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġplaceholder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġleading Icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrailing Icon Ġ= Ġ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 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠTextField Style . Outlined Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOut lined TextField ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Value Change , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= ĠreadOnly , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġtext Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġplaceholder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġleading Icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrailing Icon Ġ= Ġ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 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }