Skip to main content
The Swish UI is organized into views, and each view is built from an ordered list of sections. You configure views by passing a sections array under ui when initializing the SDK. Every section follows the same shape:
Set hidden: true on any section to remove it from the view without deleting its configuration. When you provide a sections array for a view, it replaces the defaults entirely.

Available views

The drawer has a built-in router with the following views:

Single list only

Stores that want one wishlist per customer instead of many turn multiple lists off.
When it’s false, saving and unsaving stop prompting for a list: the save toast’s action opens your default view instead of the list picker, and unsaving skips the picker whatever intents.unsaveProduct.selectList says. Saving still shows a toast - that stays governed by intents.saveProduct.showFeedback. Intents you invoke yourself are unaffected: edit:item-lists (also reached through useSwishItem().lists.update), create:list, and view:lists still open list UI. The setting governs the prompts Swish raises on its own, not what your theme code can ask for. Setting it in the customiser (Global → Preferences → Wishlist experience) also hides the list sections on Home and Saves, and the Lists tab in the drawer footer. “For you” lists stay visible: they’re smart lists, with no create-or-manage actions of their own. The classic wishlist page (ui.wishlist.experience: "classic-page") already implies a single list, so it suppresses the same list prompts on its own - reach for multipleLists when you want one list and the drawer. On the classic page the save toast carries no action at all, since there is no drawer to open.

Opening the drawer

view:home means “open Swish”, not “open the Home view”: it opens whichever view ui.defaultView names. That covers the header button, swish-intent buttons, #swish links and the query string below, so pointing a store at Saves takes one customiser setting rather than an edit to every trigger. See ui.defaultView.

From the home button

The header button opens the drawer to the default view on click.

From intents

Use navigation intents to open the drawer to a specific view:

From HTML attributes

Add the swish-intent attribute to any clickable element:

From URL hash

A subset of views can be triggered via the URL hash, useful for links in emails or marketing campaigns:

From URL query string

Further reading