Ruixen Pro is now live.50+ premium components, templates, blocks, and lifetime updates.

Command Palette

Search for a command to run...

Docs
Phone Mockup Card

Phone Mockup Card

A minimal phone frame card with pixel-perfect status bar, dynamic island, and typography metrics display.

Installation

Usage

import PhoneMockupCard from "@/components/ruixen/phone-mockup-card";
 
export default function App() {
  return (
    <PhoneMockupCard
      title="Studio"
      bodyText="Motion and layout refined through spatial depth across every surface."
      highlight="spatial depth"
      metrics={[
        { label: "Duration", value: "0.5s" },
        { label: "Easing", value: "ease" },
        { label: "Delay", value: "80ms" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
titlestring"Craft"App title shown in the nav bar
bodyTextstringSee sourcePrimary body text — supports a highlighted span
highlightstringSee sourceSubstring within bodyText rendered at full opacity
secondaryTextstringSee sourceSecondary paragraph below the body text
metrics{ label: string; value: string }[]See sourceData points rendered as a three-column grid
classNamestring-Additional className for the outermost wrapper

Features

  • Precision phone frame — layered bezel with Rauno-style shadow stack and 0.5 px inset screen edge
  • Dynamic island — centered pill on the same row as time and status icons
  • App nav bar — dot indicator, semibold title, and three-dot menu for app-like realism
  • Contrast-based highlight — emphasized text uses full foreground opacity, no decorative gradients
  • Typography metrics — three-column data grid anchoring the bottom of the screen
  • Staggered reveal — elements enter with blur-to-clear transitions on a cubic-bezier ease
  • Theme-aware — explicit neutral palette adapts cleanly to light and dark modes