Developer Docs - Mobile Docs - Cover Sheets
Sometimes you do not want to swap content into the current screen; you want to slide up a detail view over it. Hx.Target="coversheet" presents the response fragment in a cover sheet instead of swapping it in place.
coversheet is a reserved target name, alongside this. Both are case-insensitive.
Sheet scope
This is the part to plan around. The sheet is not part of the page it covers, which means:
To update the presenting page from inside a sheet, use HX-Refresh or an X-Helix-Command header. See Endpoint Responses.
Sheet options
The fragment configures the sheet, not the button that opens it. Set these on the root element of what your endpoint returns:
For a coversheet target this sets the sheet title. For a normal swap it sets the page title.
Hx.SheetNavigationBar and Hx.SheetPresentation only matter when the fragment is presented with Hx.Target="coversheet". On a normal swap they do nothing.
Putting Hx.PageTitle on the initiating element does nothing at all, silently. That is a decision, not an oversight: keeping the title server-controlled is better than a pile of Hx.CoverSheet.* properties on every button that opens a sheet. Put it on what you return.
Hiding the navigation bar
A sheet with no navigation bar also has no title and no close button. The fragment owns all of it:
Without the bar, the fragment starts directly under the status bar, so give it its own top spacing. FormSheet and PageSheet can still be swiped down to close. FullScreen and OverFullScreen cannot, so a fragment that hides the bar in those styles must include a {Binding CloseCoverSheet} button, or the person has no way out.
Sheet behavior
The general cover sheet guidance still applies: use them for secondary detail, and keep to one at a time.