+
+
+
+
+ –
+
+
+ {state.validationState === 'invalid' && (
+
+
+
+ )}
+
+
+
+
+
+ {state.validationState === 'invalid' && (
+
+ Insert error message here
+
+ )}
+ {state.isOpen && (
+
+
+
+
+
state.setTime('start', v)}
+ hourCycle={24}
+ className="flex-shrink-0 flex-grow basis-0"
+ />
+ –
+ state.setTime('end', v)}
+ hourCycle={24}
+ className="flex-shrink-0 flex-grow basis-0"
+ />
+
+
+
+ )}
+
+ )
+}
diff --git a/libs/ui/lib/date-picker/Dialog.tsx b/libs/ui/lib/date-picker/Dialog.tsx
new file mode 100644
index 0000000000..e6b59a8e4f
--- /dev/null
+++ b/libs/ui/lib/date-picker/Dialog.tsx
@@ -0,0 +1,19 @@
+import { useRef } from 'react'
+import type { ReactNode } from 'react'
+import { useDialog } from 'react-aria'
+import type { AriaDialogProps } from 'react-aria'
+
+interface DialogProps extends AriaDialogProps {
+ children: ReactNode
+}
+
+export function Dialog({ children, ...props }: DialogProps) {
+ const ref = useRef