Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Trigger Event Wall Grid Integration Block for Vue

An integration grid section for an onboarding-checklist tool connected to PostHog: eight event cells on shared hairlines, each a checkbox with the event name, how often it was seen this week and the checklist step it ticks, with a live tally.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

An integration grid section for Vue with Ark UI, written for Cairnstep, a fictional tool that builds onboarding checklists whose steps tick off when a PostHog event arrives, and its PostHog connection. A start-aligned header says which events tick a step, with one sentence whose first part is a tally counted from the cells ("4 of 8 events tick a step") in a polite status region, and at its end the mark pair (Cairnstep's own tile and PostHog's neutral lettermark tile). Under it, eight event cells share hairlines inside a frame whose rules overshoot its corners, four across from lg and two on a phone. Each cell is one label around a checkbox: the event name in code (signed_up, invited_teammate, published_first_page, $pageview and the rest), how often it was seen this week, and the checklist step it ticks, introduced by "Ticks" or "Would tick" so the state is in words as well as weight. Four events are on to start. Choices stay in the page, and the line says so. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Guides, Checkbox and Field, with CSS transitions and your theme's tokens for every colour. PostHog is named in text only: no PostHog logo, colour or wordmark ships with the block. The events, counts and steps are example data.

FAQ

How is the tally worked out?

The events that are on live in one array of ids. The line is built from it: how many are on, out of how many. It sits in a polite status region that is in the page from the start, so a screen reader hears the new count after each change. Nothing is saved or sent: choices stay in the page, as the sentence says.

How does a cell work?

The cell is a label around a checkbox, so the whole cell is the target, and the checkbox is named by the event name and described by the step it ticks. A ticked box fills with the foreground colour and the cell adds no fill, so the page's one primary colour stays on its main action elsewhere; the words "Ticks" and "Would tick" and the step's weight carry the state. The two states use the same line count, so a change never moves the grid.

Are those real event names?

$pageview and $autocapture are names of events PostHog captures itself, which is why they begin with a dollar sign; the others (signed_up, invited_teammate and the rest) are made up, the way your own app names its events. The counts are example data typed in the file. Replace TRIGGERS with the events your product reads.

What happens to a long event name in a narrow cell?

It wraps after an underscore, using an invisible break character after each one, so published_first_page never pushes the cell wider. The break is invisible but it is in the text, so trim it if you copy a name out of a narrow cell.

Can I show PostHog's logo?

The block names PostHog in text and ships no PostHog logo, colour or wordmark. PostHog's tile is a neutral lettermark, Ph in a muted square, in an icon slot that a code comment marks: drop in the official mark only if you have the rights to use it, under the owner's brand guidelines, and never redraw it.

How does it fit on a phone, in right-to-left layouts and with reduced motion?

Below lg the wall is two cells across and each cell's text wraps. In a right-to-left layout the cells and the checkboxes flip while event names keep their left-to-right order. The hover tint is a short transition that is off with reduced motion, and the header fades up once on load; with reduced motion it simply appears.