crucıble

Manifold

Integrations directory section block: searchable, Detent-filtered grid of seeded geometric app marks with badges and connected chips that re-flows on layout springs, a cursor-follow accent border glow, a featured hero row, and a detail sheet (side or bottom, focus-trapped) where a Conduit beam joins your app to the integration — async Connect carries light down the beam and morphs to Connected with a Disconnect ghost.

motionfree

Installation

CLI

npx shadcn@latest add @crucible/manifold

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
integrationsManifoldIntegration[]24 seeded fictional integrations in 6 categoriesIntegrations to list.
categoriesstring[]categories in order of first appearanceCategory tab order.
eyebrowReact.ReactNode"Integrations"Section eyebrow.
titleReact.ReactNode"Plug into the tools you already use"Section headline (<h2>).
subtitleReact.ReactNodeSupporting copy under the headline.
allLabelstring"All"Label for the catch-all tab.
showFeaturedbooleantrueShow the larger "Featured" hero row (integrations with featured: true). Hidden while searching.
appMarkReact.ReactNodea neutral seeded markYour product's mark, shown on the left of the connection beam.
appNamestring"Your workspace"Your product's name, shown under appMark.
onConnect(id: string) => void | Promise<unknown>a simulated 1.2s connectionCalled when Connect is pressed. Return a Promise to hold the beam in its pending state — resolve to connect, reject to show the error inline.
onDisconnect(id: string) => void | Promise<unknown>Called when Disconnect is pressed. Same Promise semantics as onConnect.
onConnectedChange(id: string, connected: boolean) => voidFires after a connect/disconnect settles successfully.
onOpenChange(id: string | null) => voidFires when the detail sheet opens (id) or closes (null).
requestHrefstring"#"Href for the empty-state "Request an integration" link.
onRequest(query: string) => voidClick handler for the "Request an integration" link (receives the current query).
accentColorstring"#f472b6"Signature accent (hex) for glows, focus rings, the beam and the Connect button.
refReact.Ref<ManifoldHandle>Imperative handle (replay(), open(id), close()). React 19 ref-as-prop.
classNamestringExtra classes for the <section> root.
Also accepts all props of Omit<React.ComponentPropsWithoutRef<"section">, "children" | "title"> — they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.