Skip to main content
A tab is a full-width surface that sits in a host page’s tab strip, next to Tappify’s own tabs, with your vendor tile on the label.

The manifest entry

The command writes this entry. You can hand-edit tappify.extension.json instead — the $schema line gives your editor completion and validation, and tappify extension doctor checks the result. A tab validates on overview, analytics and deployments. The host draws it on Analytics and Deployments today; Home accepts the contribution and does not render it yet — see Pages and slots. mobile: false hides the tab on phone layouts.

The component

TapTabProps is empty — a tab reads everything it needs from the bridge.
A reviews query needs reviews:read, and the result carries reviews, averageRating and total. See Scopes.

What the host renders

The tab strip is Tappify’s. Your label carries the vendor tile; selecting it mounts your component full width with tap.ui.size set to page. The four boundary states from Add a widget apply here too — a tab that fails to load shows the failure card in the tab body, and the rest of the page is untouched. A tab always renders at the page’s own width, so use container queries against your mount rather than viewport media queries. The viewport tells you nothing about how wide you are.