> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/android/navigation/ux/llms.txt)

# Search panel customization

You can customize the search panel by providing your own UI written in Jetpack Compose.

![Places preview card](https://docs.mapbox.com/android/assets/ideal-img/dash-sdk-search-panel.fe02a52.480.png)

### Customization Process

`DashNavigationFragment` provides `setSearchPanel` function for search panel customization. It accepts a lambda with two parameters, `modifier` and `state`. `modifier` is an instance of [`Modifier`](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier) used by default implementations. `state` parameter is an instance of [`SearchPanelState`](https://docs.mapbox.com/android/navigation/api/uxframework/1.28.0/driver/com.mapbox.dash.driver.presentation.search/-search-panel-state/).

The search screen can be opened using `Dash.controller.openSearch` function. The user's favorite places can be observed using `Dash.controller.observeFavorites` function.

### Example Usage

For real-world implementations of a custom search panel, visit our [GitHub repository](https://github.com/mapbox/dash-android-examples).

You can hide the search panel completely at any point during runtime:

```kotlin
fragment.setSearchPanel { _, _ -> }
```

### See Also

> **Related content (guide): [Search panel configuration](https://docs.mapbox.com/android/navigation/ux/guides/configuration/search-panel/)**
> 
> Learn how to change the search panel's position.