Переглянути джерело

wrap useDialog to include default dialog options

Jason Gorst 1 місяць тому
батько
коміт
12ed168dff
1 змінених файлів з 27 додано та 0 видалено
  1. 27 0
      app/composables/useDynamicDialog.js

+ 27 - 0
app/composables/useDynamicDialog.js

@@ -0,0 +1,27 @@
+import { defu } from "defu"
+
+export default function useDynamicDialog() {
+  const nuxtApp = useNuxtApp()
+
+  return nuxtApp.runWithContext(() => {
+    const dialog = useDialog()
+
+    const defaultOptions = {
+      props: {
+        modal: true,
+        dismissableMask: true,
+        showHeader: false,
+        pt: {
+          root: "z-90 w-11/12 max-w-128",
+          content: "p-0"
+        },
+        ptOptions: { mergeProps: ptViewMerge }
+      }
+    }
+
+    return {
+      open: (component, options = {}) =>
+        dialog.open(component, defu(options, defaultOptions))
+    }
+  })
+}