/* store-mockups.jsx — elegant mini product previews used in cards, hero collage, and gallery. Each fills its parent width; keep them light and on-palette. Exported to window. */ function L({ w = "100%", h = 5, c = "#e9edf5", mb = 5, r = 9999 }) { return
; } function Sheet({ children, pad = 14, bg = "#fff" }) { return (
{children}
); } /* 1. Business Planner — weekly spread */ function MkPlanner() { return (
Weekly Plan
2026
{[0, 1, 2, 3].map((i) => (
))}
); } /* 2. Invoice */ function MkInvoice() { return (
Invoice
#INV-0248
{[0, 1, 2].map((i) => (
Item {i + 1}${(120 * (i + 1)).toFixed(2)}
))}
Total$720.00
); } /* 3. Content Calendar */ function MkCalendar() { return (
Content Calendar
{Array.from({ length: 28 }).map((_, i) => { const on = [3, 8, 12, 17, 22, 25].includes(i); return
; })}
); } /* 4. Social Media Kit — post grid */ function MkSocial() { const grads = ["linear-gradient(135deg,#c9b6f5,#533afd)", "linear-gradient(135deg,#f7b986,#ea2261)", "linear-gradient(135deg,#b9b9f9,#665efd)", "linear-gradient(135deg,#f96bee,#533afd)"]; return (
Social Kit
{grads.map((g, i) =>
)}
); } /* 5. Resume */ function MkResume() { return (
Alex Rivera
Product Designer
); } /* 6. Budget Tracker — chart */ function MkBudget() { const bars = [50, 72, 40, 88, 64, 96, 58]; return (
Budget
+12%
$8,240
{bars.map((h, i) =>
)}
); } /* 7. Media Kit */ function MkMediaKit() { return (
Media Kit
{[["48K", "reach"], ["6.2%", "eng."], ["120", "posts"]].map(([v, l]) => (
{v}
{l}
))}
); } /* 8. Client Onboarding — checklist */ function MkOnboarding() { const check = ; return (
Welcome Pack
{[1, 1, 1, 0].map((done, i) => (
{done ? check : null}
))}
); } /* 9. Productivity Dashboard */ function MkDashboard() { return (
Fluvex
{[1, 0, 0, 0].map((a, i) =>
)}
84%
12
); } /* 10. Business Card pair */ function MkCard() { return (
Studio Co.
); } /* 11. Wedding Invitation — formal invitation card, densely composed */ function MkWedding() { return (
{/* rose gold inner frame */}
Rose
&
Ethan
Sept · 08 · 2026
); } /* 11b. Wedding Invitation — compact bundle version (smaller typography) */ function MkWeddingBundle() { return (
Rose
&
Ethan
Sept · 08 · 2026
); } /* 12. Floral Wedding Invitation — soft floral corners, densely composed */ function MkFloralWedding() { const petal = (bg) => ({ position: "absolute", width: 10, height: 10, borderRadius: "60% 40% 60% 40%", background: bg, opacity: 0.85 }); return (
{/* floral clusters */}
Save the date
Lily
&
Noah
May · 22 · 2026
Garden Chapel
); } /* 13. AI Prompts for Students — stacked prompt cards, filled composition */ function MkAIPrompts() { const prompts = [ { c: "Essay", t: "Outline my argument", b: "#eae4ff", d: "#533afd" }, { c: "Study", t: "14-day revision plan", b: "#ffe9d9", d: "#f7a35b" }, { c: "Research", t: "Summarise this paper", b: "#e0f2ec", d: "#1f8a5b" }, { c: "Writing", t: "Improve this paragraph", b: "#fde3ee", d: "#c94b7d" }, ]; return (
AI Prompt Pack
43 prompts
{prompts.map((p, i) => (
{p.c}
{p.t}
))}
); } /* 14. Cover Letter — clean ATS letter */ function MkCoverLetter() { return (
Alex Morgan
Product Designer · Cover Letter
Dear Hiring Team,
); } /* 13b. AI Prompts — compact bundle version with prominent rounded-square icon */ function MkAIPromptsBundle() { return (
AI Prompt Pack
43 prompts
); } const MOCKS = { MkPlanner, MkInvoice, MkCalendar, MkSocial, MkResume, MkBudget, MkMediaKit, MkOnboarding, MkDashboard, MkCard, MkWedding, MkWeddingBundle, MkFloralWedding, MkAIPrompts, MkAIPromptsBundle, MkCoverLetter }; Object.assign(window, MOCKS, { MOCKS });