@@ -42,7 +42,7 @@ function IntervalChoice(props) {
4242
4343 const validateLower = ( e ) => {
4444 const bound = Math . min ( values [ 1 ] , upper ) ;
45- let value = parseInt ( e . target . value ) ;
45+ let value = parseFloat ( e . target . value ) ;
4646 if ( value < lower || e . target . value === "" ) {
4747 value = lower ;
4848 } else if ( value > bound ) {
@@ -54,7 +54,7 @@ function IntervalChoice(props) {
5454
5555 const validateUpper = ( e ) => {
5656 const bound = Math . max ( values [ 0 ] , lower ) ;
57- let value = parseInt ( e . target . value ) ;
57+ let value = parseFloat ( e . target . value ) ;
5858 if ( value > upper || e . target . value === "" ) {
5959 value = upper ;
6060 } else if ( value < bound ) {
@@ -95,6 +95,13 @@ function IntervalChoice(props) {
9595 }
9696 }
9797
98+ function update ( value , values , step ) {
99+ if ( step === 1 ) {
100+ setValues ( [ value && parseInt ( value ) , values [ 1 ] ] )
101+ }
102+ setValues ( [ value && parseFloat ( value ) , values [ 1 ] ] ) ;
103+ }
104+
98105 return (
99106 < form onSubmit = { ( event ) => afterSubmission ( event ) } >
100107 < Grid mt = { 1 } mx = { 3 } gap = { 0 } columns = { [ 2 , "3fr 5fr" ] } >
@@ -152,9 +159,7 @@ function IntervalChoice(props) {
152159 max = { upper }
153160 value = { values [ 0 ] }
154161 disabled = { props . disabled }
155- onChange = { ( e ) =>
156- setValues ( [ e . target . value && parseInt ( e . target . value ) , values [ 1 ] ] )
157- }
162+ onChange = { ( e ) => update ( e . target . value , values , props . step ) }
158163 onBlur = { validateLower }
159164 onKeyDown = { ( e ) => {
160165 if ( e . key === "Enter" ) e . target . blur ( ) ;
@@ -172,9 +177,7 @@ function IntervalChoice(props) {
172177 max = { upper }
173178 value = { values [ 1 ] }
174179 disabled = { props . disabled }
175- onChange = { ( e ) =>
176- setValues ( [ values [ 0 ] , e . target . value && parseInt ( e . target . value ) ] )
177- }
180+ onChange = { ( e ) => update ( e . target . value , values , props . step ) }
178181 onBlur = { validateUpper }
179182 onKeyDown = { ( e ) => {
180183 if ( e . key === "Enter" ) e . target . blur ( ) ;
0 commit comments