From cf183a1e9719aa65c14420b51769cdef2ff484eb Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Dec 2025 10:04:58 +0000 Subject: [PATCH 01/24] wip --- resources/js/components/ui/Modal/Modal.vue | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/resources/js/components/ui/Modal/Modal.vue b/resources/js/components/ui/Modal/Modal.vue index a41225154e8..27bbe17dfc3 100644 --- a/resources/js/components/ui/Modal/Modal.vue +++ b/resources/js/components/ui/Modal/Modal.vue @@ -42,16 +42,15 @@ const modalClasses = cva({ ], })({}); -const hasModalTitleComponent = hasComponent('ModalTitle'); -const isUsingOpenProp = computed(() => instance?.vnode.props?.hasOwnProperty('open')); - -const instance = getCurrentInstance(); - const modal = ref(null); const mounted = ref(false); const visible = ref(false); const escBinding = ref(null); +const instance = getCurrentInstance(); +const hasModalTitleComponent = hasComponent('ModalTitle'); +const isUsingOpenProp = computed(() => instance?.vnode.props?.hasOwnProperty('open')); + const portal = computed(() => modal.value ? `#portal-target-${modal.value.id}` : null); function open() { @@ -61,9 +60,7 @@ function open() { nextTick(() => { mounted.value = true; - nextTick(() => visible.value = true); - updateOpen(true); }); } From d0cc323444f16115d460875db6db239fb0f47352 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Dec 2025 10:19:56 +0000 Subject: [PATCH 02/24] convert stack to composition api --- resources/js/components/ui/Stack/Stack.vue | 296 ++++++++++----------- 1 file changed, 136 insertions(+), 160 deletions(-) diff --git a/resources/js/components/ui/Stack/Stack.vue b/resources/js/components/ui/Stack/Stack.vue index 7afa41e40f5..a7685a9a1fb 100644 --- a/resources/js/components/ui/Stack/Stack.vue +++ b/resources/js/components/ui/Stack/Stack.vue @@ -1,3 +1,138 @@ + + - - + \ No newline at end of file From 0958c666ede0688a558495e5c85683475f7a3d8a Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Dec 2025 11:09:16 +0000 Subject: [PATCH 03/24] wip --- resources/js/components/ui/Modal/Modal.vue | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resources/js/components/ui/Modal/Modal.vue b/resources/js/components/ui/Modal/Modal.vue index 27bbe17dfc3..5ccc873b5f3 100644 --- a/resources/js/components/ui/Modal/Modal.vue +++ b/resources/js/components/ui/Modal/Modal.vue @@ -50,7 +50,6 @@ const escBinding = ref(null); const instance = getCurrentInstance(); const hasModalTitleComponent = hasComponent('ModalTitle'); const isUsingOpenProp = computed(() => instance?.vnode.props?.hasOwnProperty('open')); - const portal = computed(() => modal.value ? `#portal-target-${modal.value.id}` : null); function open() { @@ -81,8 +80,6 @@ function dismiss() { close(); } -provide('closeModal', close); - function updateOpen(value) { if (isUsingOpenProp.value) { emit('update:open', value); @@ -107,6 +104,8 @@ defineExpose({ open, close, }); + +provide('closeModal', close);