Skip to content

Commit

Permalink
Refactor TimePicker component to handle input changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Rishit30G committed Dec 20, 2024
1 parent dea955c commit 45f2307
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions packages/components/src/date-time/time/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,18 @@ export function TimePicker( {
onChange?.( format( newDate, TIMEZONELESS_FORMAT ) );
};

const handleInputChange = (
event: React.FormEvent< HTMLInputElement >,
method: 'date' | 'year'
) => {
const newValue = ( event as React.ChangeEvent< HTMLInputElement > )
.target.value;
const changeCallback = buildNumberControlChangeCallback(
method === 'year' ? 'year' : 'date'
);
changeCallback( newValue, { event } );
};

const dayField = (
<DayInput
key="day"
Expand All @@ -154,6 +166,7 @@ export function TimePicker( {
isDragEnabled={ false }
isShiftStepEnabled={ false }
onChange={ buildNumberControlChangeCallback( 'date' ) }
onInput={ ( e ) => handleInputChange( e, 'date' ) }
/>
);

Expand Down Expand Up @@ -194,6 +207,7 @@ export function TimePicker( {
isShiftStepEnabled={ false }
onChange={ buildNumberControlChangeCallback( 'year' ) }
__unstableStateReducer={ buildPadInputStateReducer( 4 ) }
onInput={ ( e ) => handleInputChange( e, 'year' ) }
/>
);

Expand Down

0 comments on commit 45f2307

Please sign in to comment.