+
+
+
+
+
+
+
+
+
+ {showMonthPicker ? (
+ <>
+
+ Year
+ setActiveYear(Number(event.target.value))}
+ />
+
+
+
Month
+
+ {Object.keys(CALENDAR_MONTHS).map((month, index) => (
+
+ ))}
+
+
+ >
+ ) : (
+
+ {cal.map((date, index) => (
+
+ ))}
+
+ )}
+
+ )
+}
diff --git a/packages/dm-core/src/components/Pickers/Datepicker/Datepicker.tsx b/packages/dm-core/src/components/Pickers/Datepicker/Datepicker.tsx
new file mode 100644
index 000000000..f3768a9ab
--- /dev/null
+++ b/packages/dm-core/src/components/Pickers/Datepicker/Datepicker.tsx
@@ -0,0 +1,207 @@
+import React, { ReactElement, useEffect, useRef, useState } from 'react'
+import { Icon, InputWrapper } from '@equinor/eds-core-react'
+import { Calendar } from './Calendar'
+import { Timefield } from './Timefield'
+import { useClickOutside } from '../../../hooks/useClickOutside'
+import { DateTime } from 'luxon'
+import { calendar } from '@equinor/eds-icons'
+import { DateSelection, zeroPad } from './calendarUtils'
+import { extractDateComponents } from './datepickerUtils'
+
+interface DatepickerProps {
+ id: string
+ readonly?: boolean
+ label?: string
+ variant: 'date' | 'datetime'
+ value: string // ISO
+ onChange: (date: string) => unknown
+ useMinutes?: boolean
+ helperText?: string
+ isDirty?: boolean
+}
+
+export const Datepicker = (props: DatepickerProps): ReactElement => {
+ const {
+ variant,
+ value: selectedDate,
+ useMinutes,
+ onChange,
+ id,
+ readonly,
+ label,
+ helperText,
+ isDirty,
+ } = props
+ const [open, setOpen] = useState(false)
+ const datepickerRef = useRef