---
title: "Preview(_:widget:relevanceProvider:relevance:)"
framework: widgetkit
role: symbol
role_heading: Macro
path: "widgetkit/preview(_:widget:relevanceprovider:relevance:)"
---

# Preview(_:widget:relevanceProvider:relevance:)

Preview a widget with a relevance configuration, using the specified relevances.

## Declaration

```swift
@freestanding(declaration) macro Preview<Widget, Provider>(_ name: String? = nil, widget: @escaping @MainActor () -> Widget, relevanceProvider: @escaping @MainActor () -> Provider, relevance: @escaping @MainActor () async -> WidgetRelevance<Provider.Configuration>) where Widget : Widget, Provider : RelevanceEntriesProvider
```

## Parameters

- `name`: An optional display name for the preview that appears in the Xcode preview canvas.
- `widget`: A closure producing the widget to be previewed.
- `relevanceProvider`: A closure producing the relevance provider that generates the preview’s entries.
- `relevance`: A closure producing the relevance that the relevance provider uses.

## Overview

Overview Provide the relevance provider with sample data and use it to step through relevance entries in the Xcode proview canvas. note: The relevance provider must be of the type that the widget expects.

## See Also

### Generating a widget preview

- [Preview(_:as:widget:timelineProvider:)](widgetkit/preview(_:as:widget:timelineprovider:).md)
- [Preview(_:as:using:widget:timelineProvider:)](widgetkit/preview(_:as:using:widget:timelineprovider:)-4ljg1.md)
- [Preview(_:as:using:widget:timelineProvider:)](widgetkit/preview(_:as:using:widget:timelineprovider:)-3df1l.md)
- [Preview(_:as:widget:timeline:)](widgetkit/preview(_:as:widget:timeline:).md)
- [Preview(_:widget:relevanceEntries:)](widgetkit/preview(_:widget:relevanceentries:).md)
- [Preview(_:widget:relevanceProvider:)](widgetkit/preview(_:widget:relevanceprovider:).md)
