screens/DSSearchResultsScreen

DSSearchResultsScreen

screens
since v2.0

Full search screen with a sticky search bar, category filter chips, recent searches, and a results list with skeleton loading.

iOS 17+

Purpose

App-wide search, product search, and in-content search.

Props

PropTypeDefaultDescription
queryreqBinding<String>Bound search query.
resultsreq[DSSearchResult]Array of result items.
isLoadingBoolfalseShows skeleton rows while loading.
categories[String][]Filter chip options.
selectedCategoryBinding<String?>nilActive category filter.
recentSearches[String][]Shown when query is empty.
onResultSelectreq((DSSearchResult) -> Void)Result row tap handler.

Examples

Global app search

Full search screen with categories.

swift
DSSearchResultsScreen(
    query: $searchQuery,
    results: viewModel.results,
    isLoading: viewModel.isSearching,
    categories: ["All", "People", "Projects", "Files"],
    selectedCategory: $viewModel.selectedCategory,
    recentSearches: viewModel.recentSearches
) { result in
    navigate(.resultDetail(result))
}

Related Components