diff --git a/packages/dnb-eufemia/src/components/date-picker/__tests__/DatePicker.test.tsx b/packages/dnb-eufemia/src/components/date-picker/__tests__/DatePicker.test.tsx
index 65baae0bbc7..ac57c66de4a 100644
--- a/packages/dnb-eufemia/src/components/date-picker/__tests__/DatePicker.test.tsx
+++ b/packages/dnb-eufemia/src/components/date-picker/__tests__/DatePicker.test.tsx
@@ -1413,6 +1413,7 @@ describe('DatePicker component', () => {
expect(onChange.mock.calls[4][0].date).toBe('2019-01-03')
expect(onChange.mock.calls[4][0].is_valid).toBe(true)
})
+
it('has to auto-correct invalid min/max dates', async () => {
const onChange = jest.fn()
@@ -1455,6 +1456,31 @@ describe('DatePicker component', () => {
)
})
+ it('has to auto-correct invalid date based on min date', async () => {
+ render(
+
+ )
+
+ const dayElem = document.querySelectorAll(
+ 'input.dnb-date-picker__input--day'
+ )[0] as HTMLInputElement
+ const monthElem = document.querySelectorAll(
+ 'input.dnb-date-picker__input--month'
+ )[0] as HTMLInputElement
+ const yearElem = document.querySelectorAll(
+ 'input.dnb-date-picker__input--year'
+ )[0] as HTMLInputElement
+
+ expect(dayElem.value).toBe('12')
+ expect(monthElem.value).toBe('12')
+ expect(yearElem.value).toBe('2024')
+ })
+
it('has valid on_type and onChange event calls', () => {
const onType = jest.fn()
const onChange = jest.fn()
diff --git a/packages/dnb-eufemia/src/components/date-picker/hooks/useDates.ts b/packages/dnb-eufemia/src/components/date-picker/hooks/useDates.ts
index ee2433cfcd7..a30d14f9db5 100644
--- a/packages/dnb-eufemia/src/components/date-picker/hooks/useDates.ts
+++ b/packages/dnb-eufemia/src/components/date-picker/hooks/useDates.ts
@@ -231,9 +231,6 @@ function mapDates(
dateFormat,
})
- const hasValidStartDate = isValid(startDate)
- const hasValidEndDate = isValid(endDate)
-
const correctedDates = shouldCorrectDate
? correctDates({ startDate, endDate, minDate, maxDate, isRange })
: {}
@@ -249,6 +246,9 @@ function mapDates(
...correctedDates,
}
+ const hasValidStartDate = isValid(dates.startDate)
+ const hasValidEndDate = isValid(dates.endDate)
+
return {
...dates,
__startDay: hasValidStartDate
diff --git a/packages/dnb-eufemia/src/components/date-picker/stories/DatePicker.stories.tsx b/packages/dnb-eufemia/src/components/date-picker/stories/DatePicker.stories.tsx
index 5b14da98202..b065fd88fdc 100644
--- a/packages/dnb-eufemia/src/components/date-picker/stories/DatePicker.stories.tsx
+++ b/packages/dnb-eufemia/src/components/date-picker/stories/DatePicker.stories.tsx
@@ -552,6 +552,7 @@ export const GlobalStatusExample = () => {
export const CorrectInvalidDateExample = () => {
return (