{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "relative-time",
  "type": "registry:ui",
  "title": "RelativeTime",
  "description": "«۵ دقیقه پیش» در یک <time> معنایی؛ تاریخ کامل شمسی در title و برای صفحه‌خوان در دسترس است",
  "dependencies": [
    "@kashi-ui/persian@^1.8.0"
  ],
  "registryDependencies": [
    "https://kashi.sepantapouya.com/r/cx.json",
    "https://kashi.sepantapouya.com/r/kashi-provider.json"
  ],
  "files": [
    {
      "path": "registry/kashi/RelativeTime.tsx",
      "type": "registry:ui",
      "target": "components/kashi/RelativeTime.tsx",
      "content": "\"use client\";\n\nimport { useEffect, useState, type HTMLAttributes } from \"react\";\nimport { formatJalali, formatRelative } from \"@kashi-ui/persian\";\nimport { useKashi } from \"./KashiProvider\";\n\nexport interface RelativeTimeProps extends Omit<HTMLAttributes<HTMLTimeElement>, \"children\"> {\n  date: Date;\n  /** @default \"fa\" */\n  digits?: \"fa\" | \"latin\";\n  /** فاصلهٔ به‌روزرسانی بر حسب میلی‌ثانیه @default 60000 */\n  refresh?: number;\n}\n\n/** «۵ دقیقه پیش» در یک <time> معنایی؛ تاریخ کامل شمسی در title و برای صفحه‌خوان در دسترس است */\nexport function RelativeTime({ date, digits, refresh = 60_000, ...rest }: RelativeTimeProps) {\n  const { digits: D, locale } = useKashi();\n  digits ??= D;\n  const [now, setNow] = useState(() => new Date());\n  useEffect(() => {\n    const t = setInterval(() => setNow(new Date()), refresh);\n    return () => clearInterval(t);\n  }, [refresh]);\n  return (\n    <time dateTime={date.toISOString()} title={formatJalali(date, { style: \"full\", digits, locale })} {...rest}>\n      {formatRelative(date, { now, digits, locale })}\n    </time>\n  );\n}\n"
    }
  ]
}