هسته‌ی نمودار

chart-coreنمودار

قاب مشترک همه‌ی نمودارها که عرض را اندازه می‌گیره و راهنما، تولتیپ، ناوبری با کیبورد، جدول مخفی برای صفحه‌خوان و پالت رنگ را فراهم می‌کنه.

پالت هفت‌رنگ که از --chart-1 تا --chart-7 خونده میشه:

  • رنگ ۱
  • رنگ ۲
  • رنگ ۳
  • رنگ ۴
  • رنگ ۵
  • رنگ ۶
  • رنگ ۷

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add chart-core
  2. نصب دستی

    محتوای تب «کد» را در components/charts/chart-core.tsx بگذارید.

    $ npm i lucide-react
    کپی کل فایلregistry json

استفاده

usage.tsx
1import { ChartFrame, Legend, ChartTooltip, colorAt, useActive } from "@/components/charts/chart-core"23// بیشتر وقت‌ها مستقیم سراغش نمیاید. هر نمودار خودش از این فایل استفاده می‌کنه.4// برای نمودار سفارشی:5<ChartFrame title="فروش" height={240} table={{ head: ["ماه", "فروش"], rows }}>6  {(width) => <svg width={width} height={240}>…</svg>}7</ChartFrame>

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
titlestring-اسم قابل دسترس نمودار که عنوان جدول مخفی هم میشه.
heightnumber-ارتفاع ناحیه‌ی رسم به پیکسل. عرض از والد گرفته میشه.
children(width) => ReactNode-بعد از اندازه‌گیری با عرض واقعی صدا زده میشه.
table{ head, rows }-جدولی که فقط صفحه‌خوان می‌خونه.
keyboarduseActive(n)-فوکوس‌پذیر می‌کنه و کلیدهای جهت را وصل می‌کنه.

نکته‌ها

  • رنگ‌ها اول --chart-1 تا --chart-7 را می‌خونن، پس کافیه در globals.css این متغیرها را تعریف کنید تا همه‌ی نمودارها رنگ برند شما را بگیرن.
  • انیمیشن‌ها از --motion و --motion-ease تم می‌آن، پس در سیستم ترمینال پله‌ای و در سیستم خمیری فنری حرکت می‌کنن.