Ship-It Designv0.0.4
GitHub

ConnectorCard

Integration-hub card. Renders a connector logo (via @ship-it-ui/icons connector glyphs), the connector name, a sync-state dot (with a pulse on syncing), a relative last-synced timestamp, an optional summary, and an actions slot.

When onClick is provided the whole card becomes keyboard-focusable (role="button", Enter/Space activate). Inner action buttons stop event propagation so they don't trigger the card's click.

Default#

Three connectors in three states — connected, syncing, and error. The syncing dot pulses to indicate live activity.

Loading…

Props#

Props for ConnectorCard
PropTypeDefaultDescription
connector *(string & {}) | "github" | "notion" | "slack" | "linear" | "jira" | "pagerduty" | "confluence" | "gdrive" | "s3" | "postgres"Connector name keyed into `@ship-it-ui/icons` connectorGlyphs.
name *ReactNodeDisplay name shown next to the logo.
status *enumSync status. Drives the status dot tone + the default status label.
lastSyncedAtstring | number | Date | undefinedLast successful sync timestamp. Formatted relative to `relativeNow`.
relativeNowDate | undefinedReference time for relative formatting (injectable for tests/SSR).
summaryReactNodeFree-text summary (e.g. "1,243 docs · 8 channels").
actionsReactNodeTrailing action slot — typically a `Button` or `DropdownMenu` trigger.
onClick(() => void) | undefinedClick handler. When provided, the card becomes a button.
accessibleNamestring | undefinedAccessible name override. Required when `onClick` is set *and* `name` is not a string — without it the button has no accessible name (axe `button-name`). Optional otherwise.