Compact inset motion surface with structured content slots and subtle live-state animation.
Signal
Compact motion surface for live SaaS state without turning into a feature block.
Latency
24ms
Sync
98%
"use client";
import {
KineticCard,
KineticCardContent,
KineticCardFooter,
KineticCardHeader,
} from "@/components/matos-ui/kinetic-card";
const signals = [
{ label: "Latency", value: "24ms" },
{ label: "Sync", value: "98%" },
];
export function KineticCardDemo() {
return (
<div className="flex w-full items-center justify-center">
<KineticCard className="max-w-[360px]" badge="Live" tone="primary">
<KineticCardHeader>
<div className="space-y-1 pr-16">
<p className="text-xs font-medium uppercase tracking-widest text-muted-foreground">
Signal
</p>
<h3 className="text-base font-semibold leading-5">
Adaptive queue
</h3>
</div>
</KineticCardHeader>
<KineticCardContent>
<p className="text-muted-foreground text-xs leading-5">
Compact motion surface for live SaaS state without turning into a
feature block.
</p>
<div className="mt-3 grid grid-cols-2 gap-2">
{signals.map((signal) => (
<div
className="rounded-lg border border-border/70 bg-secondary px-2.5 py-2"
key={signal.label}
>
<p className="text-[10px] font-medium text-muted-foreground">
{signal.label}
</p>
<p className="mt-0.5 text-sm font-semibold">{signal.value}</p>
</div>
))}
</div>
</KineticCardContent>
<KineticCardFooter>
<span className="text-xs text-muted-foreground">
Updated just now
</span>
<span className="size-2 rounded-full bg-primary" />
</KineticCardFooter>
</KineticCard>
</div>
);
}
pnpm dlx shadcn@latest add https://matos-ui.com/r/kinetic-card.jsonimport {
KineticCard,
KineticCardHeader,
KineticCardContent,
KineticCardFooter
} from '@/components/matos-ui/kinetic-card'<KineticCard badge="Live" tone="primary" className="max-w-[360px]">
<KineticCardHeader>
<h3>Adaptive queue</h3>
</KineticCardHeader>
<KineticCardContent>
<p>Compact surface for live SaaS state.</p>
</KineticCardContent>
<KineticCardFooter>
<span>Updated now</span>
</KineticCardFooter>
</KineticCard>| Prop | Type | Default | Description |
|---|---|---|---|
size | "sm" | "md" | "lg" | "full" | - | Optional maximum width preset. |
tone | "default" | "primary" | "accent" | "destructive" | "default" | Theme token used by the motion accent. |
badge | ReactNode | undefined | Optional floating badge in the top right. |
| Component | Description |
|---|---|
KineticCardHeader | Header slot with balanced top spacing. |
KineticCardContent | Main content slot for text or custom layout. |
KineticCardFooter | Footer slot for status and actions. |
Also exported: kineticCardVariants, kineticCardHeaderVariants, kineticCardContentVariants, kineticCardFooterVariants, and their corresponding prop types.
Install Matos UI
Choose a package manager and copy one command for every component.