package Ġworld . ph ant asm al . we bui . widgets Ċ Ċ import Ġorg . w 3 c . dom . HTML InputElement Ċ import Ġworld . ph ant asm al . observable . cell . Cell Ċ import Ġworld . ph ant asm al . observable . cell . empty String Cell Ċ import Ġworld . ph ant asm al . observable . cell . null Cell Ċ import Ġworld . ph ant asm al . observable . cell . true Cell Ċ Ċ class ĠText Input ( ĊĠĠĠ Ġvisible : ĠCell < Boolean > Ġ= Ġtrue Cell (), ĊĠĠĠ Ġenabled : ĠCell < Boolean > Ġ= Ġtrue Cell (), ĊĠĠĠ Ġtooltip : ĠCell < String ?> Ġ= Ġnull Cell (), ĊĠĠĠ Ġlabel : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġlabel Cell : ĠCell < String >? Ġ= Ġnull , ĊĠĠĠ Ġpreferred Label Position : ĠLabel Position Ġ= ĠLabel Position . Before , ĊĠĠĠ Ġvalue : ĠCell < String > Ġ= Ġempty String Cell (), ĊĠĠĠ ĠonChange : Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġprivate Ġval ĠmaxLength : ĠInt ? Ġ= Ġnull , Ċ ) Ġ: ĠInput < String >( ĊĠĠĠ Ġvisible , ĊĠĠĠ Ġenabled , ĊĠĠĠ Ġtooltip , ĊĠĠĠ Ġlabel , ĊĠĠĠ Ġlabel Cell , ĊĠĠĠ Ġpreferred Label Position , ĊĠĠĠ ĠclassName Ġ= Ġ" pw - text - input ", ĊĠĠĠ Ġvalue , ĊĠĠĠ ĠonChange , Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġintercept InputElement ( input : ĠHTML InputElement ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . intercept InputElement ( input ) ĊĊĠĠĠĠĠĠĠ Ġinput . type Ġ= Ġ" text " ĊĠĠĠĠĠĠĠ ĠmaxLength ?. let Ġ{ Ġinput . maxLength Ġ= Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Input Value ( input : ĠHTML InputElement ): ĠString Ġ= Ġinput . value ĊĊĠĠĠ Ġoverride Ġfun Ġset Input Value ( input : ĠHTML InputElement , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinput . value Ġ= Ġvalue ĊĠĠĠ Ġ} Ċ } Ċ