From 3d8bdaa90320acc0cf225c3d6374ed98f9879291 Mon Sep 17 00:00:00 2001
From: Matthew L McPeak
Date: Mon, 13 Jul 2026 18:14:52 -0400
Subject: [PATCH] refactor: rewrite the Dialog root family without reka-ui
Root/Trigger/Overlay/Close/Title/Description now share a small
provide/inject context instead of reka-ui's Dialog primitives.
DialogContent/DialogScrollContent follow in the next commit since they
need the focus-trap and dismissable-layer composables.
---
.../src/components/ui/dialog/Dialog.vue | 28 ++++++++++--------
.../src/components/ui/dialog/DialogClose.vue | 18 ++++++++----
.../ui/dialog/DialogDescription.vue | 22 ++++++--------
.../src/components/ui/dialog/DialogFooter.vue | 2 +-
.../components/ui/dialog/DialogOverlay.vue | 29 ++++++++++---------
.../src/components/ui/dialog/DialogTitle.vue | 22 ++++++--------
.../components/ui/dialog/DialogTrigger.vue | 20 +++++++++----
.../src/components/ui/dialog/context.ts | 9 ++++++
8 files changed, 85 insertions(+), 65 deletions(-)
create mode 100644 packages/library/src/components/ui/dialog/context.ts
diff --git a/packages/library/src/components/ui/dialog/Dialog.vue b/packages/library/src/components/ui/dialog/Dialog.vue
index ade5260..2beffb3 100644
--- a/packages/library/src/components/ui/dialog/Dialog.vue
+++ b/packages/library/src/components/ui/dialog/Dialog.vue
@@ -1,19 +1,23 @@
-
-
-
+
diff --git a/packages/library/src/components/ui/dialog/DialogClose.vue b/packages/library/src/components/ui/dialog/DialogClose.vue
index c5fae04..367dc74 100644
--- a/packages/library/src/components/ui/dialog/DialogClose.vue
+++ b/packages/library/src/components/ui/dialog/DialogClose.vue
@@ -1,15 +1,21 @@
-
-
+
diff --git a/packages/library/src/components/ui/dialog/DialogDescription.vue b/packages/library/src/components/ui/dialog/DialogDescription.vue
index 6f4faa1..7da194c 100644
--- a/packages/library/src/components/ui/dialog/DialogDescription.vue
+++ b/packages/library/src/components/ui/dialog/DialogDescription.vue
@@ -1,23 +1,19 @@
-
-
+
diff --git a/packages/library/src/components/ui/dialog/DialogFooter.vue b/packages/library/src/components/ui/dialog/DialogFooter.vue
index 92f81b8..9a8182d 100644
--- a/packages/library/src/components/ui/dialog/DialogFooter.vue
+++ b/packages/library/src/components/ui/dialog/DialogFooter.vue
@@ -1,6 +1,6 @@
-
-
-
+
+
diff --git a/packages/library/src/components/ui/dialog/DialogTitle.vue b/packages/library/src/components/ui/dialog/DialogTitle.vue
index 211ca04..a4af6e5 100644
--- a/packages/library/src/components/ui/dialog/DialogTitle.vue
+++ b/packages/library/src/components/ui/dialog/DialogTitle.vue
@@ -1,23 +1,19 @@
-
-
+
diff --git a/packages/library/src/components/ui/dialog/DialogTrigger.vue b/packages/library/src/components/ui/dialog/DialogTrigger.vue
index 49667e9..134e21e 100644
--- a/packages/library/src/components/ui/dialog/DialogTrigger.vue
+++ b/packages/library/src/components/ui/dialog/DialogTrigger.vue
@@ -1,15 +1,23 @@
-
-
+
diff --git a/packages/library/src/components/ui/dialog/context.ts b/packages/library/src/components/ui/dialog/context.ts
new file mode 100644
index 0000000..ad52a24
--- /dev/null
+++ b/packages/library/src/components/ui/dialog/context.ts
@@ -0,0 +1,9 @@
+import type { InjectionKey, Ref } from 'vue'
+
+export interface DialogContext {
+ open: Ref
+ titleId: string
+ descriptionId: string
+}
+
+export const DialogContextKey: InjectionKey = Symbol('DialogContext')