Documentation
Page blocksIntegration

Integration Orbit

Concentric rings of integration logos that orbit a featured brand mark on hover.

v0.1.0Page blockIntegration familyIntegration section
import type { Block } from 'payload'import { integrationFeaturedMark, integrationFields } from '@/blocks/shared/integrationFields'export const IntegrationOrbit: Block = {  slug: 'integrationOrbit',  interfaceName: 'IntegrationOrbitBlock',  fields: [    // Shared integration core (heading + subtext + integrations). Edit the shared    // shape in @/blocks/shared/integrationFields to update every integration variant.    ...integrationFields,    // Variant-specific: a featured center brand mark the rings orbit around.    integrationFeaturedMark,  ],  labels: {    plural: 'Integration Orbit Blocks',    singular: 'Integration Orbit',  },}

Installation

npx payload-components add integration-orbit

Copy the files straight from the registry, then wire the Payload fragments by hand:

pnpm dlx shadcn@latest add https://www.payload-components.xyz/r/integration-orbit.json

What it installs

Copies 3 source files into your project:

  • src/blocks/shared/integrationFields.tsshared
  • src/blocks/IntegrationOrbit/config.ts
  • src/blocks/IntegrationOrbit/Component.tsx

…and makes 4 edits to wire the block into your project:

Registers the blocksrc/collections/Pages/index.ts
Maps the renderersrc/blocks/RenderBlocks.tsx
Regenerates typessrc/payload-types.ts
Regenerates the admin import mapsrc/app/(payload)/admin/importMap.js
integrationFields.ts is the shared field core for this family — every variant composes it. Editing it updates each installed block at once, and re-running an install never overwrites a copy you have changed.

Re-running the install converges: it detects existing wiring, skips it, and records install state in .payload-components/state.json.

Content model

heading, subtext, and integrations come from the shared integrationFields base. This variant adds an optional featuredLogo at the center of the rings. The rings spin only on hover and respect prefers-reduced-motion.

Prop

Type

Each item in integrations carries:

Prop

Type

Usage

Add the block to a page. In the Payload admin, open (or create) a Page and add the IntegrationOrbit block to its layout.
Fill the content. Complete the fields from the content model above — the component ships sample content you can start from.
Publish. Save and publish the page; the block renders through RenderBlocks on the frontend, fully typed — no extra wiring.

Requirements

Target
payload-website-starter
Payload
v3
Next.js
15 / 16
shadcn UI
none

Your project must already expose components.json, src/payload.config.ts, src/blocks/RenderBlocks.tsx, src/collections/Pages/index.ts — the surfaces payload-components add patches. The CLI verifies this against the support matrix before touching anything.

In this family