"use client" import * as React from "react" import { CoachMark, CoachMarkCatalogFrame } from "@/components/ui/coach-mark" import { Button } from "@/components/ui/button" import { useCoachMark } from "@/hooks/use-coach-mark" import { COACH_MARK_FLOWS } from "@/lib/coach-mark-registry" import { DS_DOC_SUBSECTION_TITLE } from "@/lib/design-system/doc-typography" const DEMO_FLOW_ID = "design-system-coach-mark-catalog" const VARIANT_GROUPS = [ { title: "Single", variants: [ { label: "Without image", title: "Customize your dashboard", description: "Drag tiles to reorder KPIs. Changes save per program.", }, { label: "With image", title: "Meet Ask Leo", description: "Hover any chart for plot insights, or open Leo for longer answers.", image: true, }, ], }, { title: "Multi-step", variants: [ { label: "Without image", title: "Step 2 · Filter placements", description: "Use lifecycle filters to focus on upcoming rotations before site matching.", multiStep: true, stepIndex: 1, }, { label: "With image", title: "Step 3 · Properties", description: "Pin columns, add filters, and sort from one drawer.", image: true, multiStep: true, stepIndex: 2, }, ], }, ] as const function VariantCaption({ children }: { children: React.ReactNode }) { return
{children}
} export function CoachMarkVariantsPreview() { return (
Register flows in lib/coach-mark-registry.ts.
Settings lists each flow with Preview and Reset — uses{" "}
resetCoachMarkFlow and{" "}
resetAllCoachMarks.
{flow.name}
{flow.stepCount} step{flow.stepCount === 1 ? "" : "s"} · {flow.page}