Enlever le focus de la .searchable() zone de recherche SwiftUI

Bonsoir à tous les codeurs, je n’arrive pas à sortir de la searchBar une fois que le focus est activé par une recherche pour illustrer mon propos un petit exemple une liste de prénoms avec une recherche, dans le bouton sous la liste je souhaite retirer le focus de la searchBar

import SwiftUI
struct ContentView: View {
    @State private var stexteRecherche = ""
    let listPrenoms = ["Philippe", "Rémy", "Nathalie", "Délphine"]
    
    var body: some View {
        NavigationStack {
            List(filtreNoms, id: \.self) { prenom in
                Text(prenom)
            }
            .searchable(text: $stexteRecherche, prompt: "rechercher noms")
            .navigationTitle("Recherche")
            
            //ExtractedView()
            Button(action: {
                stexteRecherche = ""
                // souhaite sortir de la recherche 
            }) {
                Text("Quitter recherche")
            }
        }
    }
        var filtreNoms: [String] {
            if stexteRecherche.isEmpty {
                return listPrenoms
            } else {
                return listPrenoms.filter { $0.contains(stexteRecherche) }
            }
        }
    
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Faut-il créer un textefield caché et activer le focus dessus ?
J’ai même créer une deuxième version pour utiliser le dismissSearch sans plus de succès.

import SwiftUI
struct ContentView: View {
    @State private var stexteRecherche = ""
    @State  private var montrerFenetre:Bool = false
    @Environment(\.dismissSearch) private var dismissSearch
    
    
    let lesNoms = ["Philippe", "Rémy", "Nathalie", "Délphine"]
    
    var body: some View {
        NavigationStack {
            List(filtreNoms, id: \.self) { prenom in
                Text(prenom)
            }
            .searchable(text: $stexteRecherche, prompt: "rechercher noms")
            .navigationTitle("Recherche")
            
            //ExtractedView()
            Button(action: {
                self.montrerFenetre.toggle()
            }) {
                Text("Ouvrir fenetre")
            }.sheet(isPresented: $montrerFenetre) {
                QuitterRecherche(dismissSearch: dismissSearch)
                    .presentationDetents([.fraction(0.30)])
            }
    
                
        }
        
    }
    
    var filtreNoms: [String] {
        if stexteRecherche.isEmpty {
            return lesNoms
        } else {
            return lesNoms.filter { $0.contains(stexteRecherche) }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

struct QuitterRecherche: View {
    //@Environment(\.dismissSearch) private var dismissSearch
    var dismissSearch: DismissSearchAction
    @Environment(\.dismiss) private var dismiss
    var body: some View {
        Button(action: {
            dismiss()
            dismissSearch()
        }) {
            Text("Quitter la recherche")
        }
    }
}

Je viens de modifier mon code exemple n°2 mais cela ne fonctionne toujours pas. !
Merci des retours !