{
+ if (
+ !escapeClosesPanel({
+ key: event.key,
+ defaultPrevented: event.defaultPrevented,
+ targetInsidePanel: panelRef.current?.contains(event.target as Node) ?? false,
+ targetInDialog: Boolean((event.target as Element).closest?.("[data-dialog]")),
+ targetExpanded: ownsEscape(event.target as Element),
+ })
+ )
+ return;
+ event.preventDefault();
+ onClose();
+ }}
+ >
+
New alert}
+ onClose={onClose}
+ />
+
+
+
+
+
+
+ );
+}
+
+/* oxlint-enable jsx-a11y/no-static-element-interactions */
+
+export function ManualAlertCreationDock({
+ open,
+ prefill,
+ alertDetailPath,
+ onCreated,
+ onReplaced,
+ onClose,
+ children,
+}: {
+ open: boolean;
+ prefill: DraftPrefillParams;
+ alertDetailPath: (alertId: string) => string;
+ onCreated: (alertId: string | undefined) => void;
+ onReplaced?: (result: ReplacedResult) => void;
+ onClose: () => void;
+ children: ReactNode;
+}) {
+ const panelHandle = useRef