From 6c38eb5a4c54e10ea945675f2bb4d9fed4a4a6aa Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 25 Aug 2023 16:45:41 +0100 Subject: [PATCH] Add back in auto focus behaviour to modals but disable it for screen creation --- packages/bbui/src/Modal/Modal.svelte | 12 ++++++++++++ .../_components/NewScreen/CreateScreenModal.svelte | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Modal/Modal.svelte b/packages/bbui/src/Modal/Modal.svelte index 36d2e4cf0e..da97bf332e 100644 --- a/packages/bbui/src/Modal/Modal.svelte +++ b/packages/bbui/src/Modal/Modal.svelte @@ -9,6 +9,7 @@ export let fixed = false export let inline = false export let disableCancel = false + export let autoFocus = true const dispatch = createEventDispatcher() let visible = fixed || inline @@ -53,6 +54,9 @@ } async function focusModal(node) { + if (!autoFocus) { + return + } await tick() // Try to focus first input @@ -60,6 +64,14 @@ if (inputs?.length) { inputs[0].focus() } + + // Otherwise try to focus confirmation button + else if (modal) { + const confirm = modal.querySelector(".confirm-wrap .spectrum-Button") + if (confirm) { + confirm.focus() + } + } } setContext(Context.Modal, { show, hide, toggle, cancel }) diff --git a/packages/builder/src/pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte b/packages/builder/src/pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte index 7e5ef96411..dd611041ed 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte @@ -175,7 +175,7 @@ } - +