Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Linear Grid Integration Block for React

An integration grid section for a cycle-planning tool syncing with Linear: six issue fields on shared hairlines, each with a drawing of its two sides whose arrow flips and a three-button direction control, plus a derived 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 React with Base UI, written for Cyclemoor, a fictional cycle-planning tool, and its Linear sync. A compact header ("Choose a direction for each field") has the mark pair at its end. Six cells share hairlines: Title, Description, Status, Assignee, Priority and Estimate. Each draws two boxes, Linear's and Cyclemoor's, joined by a connector whose icon follows the choice (an arrow from Linear, a two-way arrow, or a dashed link with a cross when the field is off, where the two boxes show different values). A three-button toggle group under each drawing sets From Linear, Both ways or Off. A legend band at the foot gives the tally ("4 both ways, 1 one way, 1 off"), worked out from the six choices, and a polite status line that says what stays local and which scope the choices would need. It's built from Guides and Toggle Group, with your theme's tokens for every colour. Linear is named in text only: no Linear logo, colour or wordmark ships with the block. Nothing is sent to Linear, and the field samples are example data.

FAQ

How do I change the fields?

Edit FIELDS at the top of the file: each field has an id, a title, a short text about it in Linear, the sample value Linear shows and own, the different value Cyclemoor keeps when the field is off. START lists each field's starting direction in the same order. The tally, the drawings and the status line all derive from the current choices.

Why does the status line talk about scopes?

Reading from Linear needs only the read scope, which Linear always includes. Sending a change back, which both ways does, needs write access, so the line switches between the two sentences as soon as any field is set to Both ways. The wording matches the Linear detail block, where write is the one scope only field sync asks for.

Does a direction change anything in Linear?

No. Each choice changes this page's state and the polite status line says so ("Priority now syncs both ways in this demo. Nothing is sent to Linear."). The line is in the page from the first paint. In a real product, store the six directions with the connection and let your sync job read them.

How is it named for keyboards and screen readers?

Each toggle group is named by its field ("Priority direction") and its three buttons are a single-choice group that can't be left empty, so there is always a direction. The drawing is hidden from assistive technology because the field's name, the group and the status line carry the same facts. Arrow keys move inside a group.

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

On a phone the cells stack in one column and the drawing's boxes shrink and truncate their values. In a right-to-left layout the two boxes swap sides and the arrows mirror, so "From Linear" still points from Linear to Cyclemoor; the counts keep their reading order. The header fades up once on load and nothing else moves; with reduced motion it simply appears.

  • Pro

    An integration detail section for a cycle-planning tool connecting to Linear: one framed panel with a three-way access level over a checklist of six permissions that grows with the level, the OAuth scopes it requests, and three install steps.

  • Pro

    Linear List Integration

    Grouped and triaged

    An integration list section for a cycle-planning tool reading issues from Linear's Triage: three real tabs, five issue rows with Accept and Decline always visible, a roving keyboard set (J, K, A, D) that only acts inside the list, and a working Retry.

  • Pro

    An integration setup flow for a cycle-planning tool connecting to Linear in three steps: who comments and creates issues (an app or you, each with a drawn sample comment), the OAuth scopes to ask for, and a test issue with its draft card.

  • Pro

    An integration stats section for a cycle-planning tool reading finished issues from Linear: a framed strip plot of days to done on one 0 to 14 day axis, four team lanes with a dot per issue and a median tick, and a headline that names the slowest issue.

  • Pro

    An integration grid section for a design-docs tool connected to Figma: four variable collections (Colour, Type, Radius, Spacing) on shared hairlines, each with a mode switch that redraws its greyscale sample and a switch for syncing it to a tokens file, with a live tally.

  • Pro

    A tabbed integration directory for an integration hub: twelve tiles with abstract monograms, each with a connect switch, three category tabs and a live count of what is connected.