ExpandedSurfaceHostSuppression

Which of the host's own expanded-shelf behaviors stand down while a takeover is on screen.

struct ExpandedSurfaceHostSuppression

Every option here is a rule the shipping host used to apply by asking one hardcoded question: "is the transcription surface up right now". Seven separate sites asked it, each with its own copy of the answer, and none of them could be reused by a second takeover. Declaring the set turns those seven questions into one descriptor field, which is the same trade ShelfWidgetDescriptor makes for widget layout: the host keeps one algorithm and the droplet supplies parameters.

Suppression is a request like everything else here. A host is free to decline one, and a host that has never heard of an option simply does not act on it.

Initializers

init(rawValue:)

init(rawValue: Int)

Creates a suppression set from raw bits.

Type properties

autoCollapse

static let autoCollapse: ExpandedSurfaceHostSuppression

The host's auto-collapse timer. Suppress this for a surface the user is reading or dictating into rather than pointing at: the timer measures how long the pointer has been outside the shelf, and a surface nobody needs to hover collapses out from under them.

favoritesBar

static let favoritesBar: ExpandedSurfaceHostSuppression

The favorites bar along the bottom of the expanded shelf.

floatingNavLane

static let floatingNavLane: ExpandedSurfaceHostSuppression

The floating navigation lane that rides the shelf's bottom edge.

none

static let none: ExpandedSurfaceHostSuppression

Nothing stands down: your content shares the shelf with the host's.

notificationBanners

static let notificationBanners: ExpandedSurfaceHostSuppression

Notification banners, which would otherwise arrive over your content.

outsideClickDismissal

static let outsideClickDismissal: ExpandedSurfaceHostSuppression

Dismissal on a click outside the shelf.

shelfWidgets

static let shelfWidgets: ExpandedSurfaceHostSuppression

The host's own shelf widgets, which would otherwise render behind or beside your content.

swipeGestures

static let swipeGestures: ExpandedSurfaceHostSuppression

The host's trackpad swipe gestures over the shelf.

takeover

static let takeover: ExpandedSurfaceHostSuppression

The full set, for a surface that genuinely owns the shelf until it is done: the host's content is hidden and none of its dismissal paths fire.

Ask for this only when your surface has its own visible way out. A takeover with no close affordance and no host dismissal path is a shelf the user cannot get rid of, and review rejects it.

Properties

rawValue

let rawValue: Int

The raw bit set.