From 2b284e0c43e94b6f679e191404e451bb5771af2c Mon Sep 17 00:00:00 2001 From: Dag Frode Solberg Date: Tue, 11 Mar 2025 10:55:39 +0100 Subject: [PATCH] fix(ffe-datepicker-react): Get input to work with user adding 0 --- .../src/datepicker/DatepickerComp.tsx | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/packages/ffe-datepicker-react/src/datepicker/DatepickerComp.tsx b/packages/ffe-datepicker-react/src/datepicker/DatepickerComp.tsx index 288be454b2..bed122f8d5 100644 --- a/packages/ffe-datepicker-react/src/datepicker/DatepickerComp.tsx +++ b/packages/ffe-datepicker-react/src/datepicker/DatepickerComp.tsx @@ -296,17 +296,19 @@ export const DatepickerComp: React.FC = ({ max={31} onPaste={handlePaste} onSpinButtonChange={(newValue, allowFocusNext = true) => { - onChange( - `${padZero(toNumber(newValue))}.${month}.${year}`, - ); - - return allowFocusNext - ? setDay(newValue, () => - monthRef.current?.focus({ - preventScroll: true, - }), - ) - : setDay(newValue); + if (!(newValue.length === 1 && newValue[0] === 0)) { + onChange( + `${padZero(toNumber(newValue))}.${month}.${year}`, + ); + + return allowFocusNext + ? setDay(newValue, () => + monthRef.current?.focus({ + preventScroll: true, + }), + ) + : setDay(newValue); + } }} nextSpinButton={monthRef} maxLength={2} @@ -327,16 +329,18 @@ export const DatepickerComp: React.FC = ({ max={12} onPaste={handlePaste} onSpinButtonChange={(newValue, allowFocusNext = true) => { - onChange( - `${day}.${padZero(toNumber(newValue))}.${year}`, - ); - return allowFocusNext - ? setMonth(newValue, () => - yearRef.current?.focus({ - preventScroll: true, - }), - ) - : setMonth(newValue); + if (!(newValue.length === 1 && newValue[0] === 0)) { + onChange( + `${day}.${padZero(toNumber(newValue))}.${year}`, + ); + return allowFocusNext + ? setMonth(newValue, () => + yearRef.current?.focus({ + preventScroll: true, + }), + ) + : setMonth(newValue); + } }} nextSpinButton={yearRef} prevSpinButton={dayRef} @@ -365,7 +369,7 @@ export const DatepickerComp: React.FC = ({ max={9999} onPaste={handlePaste} onSpinButtonChange={newValue => { - onChange(`${day}.${month}.${newValue}`); + onChange(`${day}.${month}.${toNumber(newValue)}`); setYear(newValue); }} prevSpinButton={monthRef}