{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "date-tile",
  "type": "registry:ui",
  "title": "DateTile",
  "description": "کاشی تاریخ شمسی به شکل برگ تقویم: روز، ماه، روز هفته، مناسبت تعطیل و معادل میلادی",
  "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/DateTile.tsx",
      "type": "registry:ui",
      "target": "components/kashi/DateTile.tsx",
      "content": "\"use client\";\n\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { getIranHoliday, JALALI_MONTHS, jalaliWeekday, toFaDigits, toISODate, toJalali, WEEKDAYS, type HolidayOptions } from \"@kashi-ui/persian\";\nimport { cx } from \"./cx\";\nimport { useKashi } from \"./KashiProvider\";\n\nexport interface DateTileProps extends Omit<HTMLAttributes<HTMLElement>, \"children\"> {\n  date: Date;\n  /** نمایش مناسبت تعطیل رسمی؛ true یا تنظیمات getIranHoliday @default true */\n  holidays?: boolean | HolidayOptions;\n  /** تاریخ میلادی معادل در پایین @default true */\n  gregorian?: boolean;\n  size?: \"sm\" | \"md\" | \"lg\";\n}\n\nconst gregFmt = new Intl.DateTimeFormat(\"fa-IR-u-ca-gregory-nu-arabext\", { day: \"numeric\", month: \"long\", year: \"numeric\" });\nconst gregFmtEn = new Intl.DateTimeFormat(\"en-US\", { day: \"numeric\", month: \"long\", year: \"numeric\" });\n\n/** کاشی تاریخ شمسی به شکل برگ تقویم: روز، ماه، روز هفته، مناسبت تعطیل و معادل میلادی */\nexport const DateTile = forwardRef<HTMLTimeElement, DateTileProps>(function DateTile(\n  { date, holidays = true, gregorian = true, size = \"md\", className, ...rest },\n  ref,\n) {\n  const { jy, jm, jd } = toJalali(date);\n  const { n, locale, months: MONTHS, weekdays: WD, friday: FRI } = useKashi();\n  const holiday = holidays ? getIranHoliday(date, holidays === true ? { locale } : { locale, ...holidays }) : null;\n  const occasion = holiday && holiday !== FRI ? holiday : null;\n  return (\n    <time\n      ref={ref}\n      dateTime={toISODate(date)}\n      className={cx(\"k-datetile\", `k-datetile--${size}`, className)}\n      data-holiday={holiday ? \"\" : undefined}\n      {...rest}\n    >\n      <span className=\"k-datetile__head\">{MONTHS[jm - 1]} {n(jy)}</span>\n      <span className=\"k-datetile__day\">{n(jd)}</span>\n      <span className=\"k-datetile__weekday\">{WD[jalaliWeekday(date)]}</span>\n      {occasion && <span className=\"k-datetile__occasion\">{occasion}</span>}\n      {gregorian && <span className=\"k-datetile__greg\">{(locale === \"en\" ? gregFmtEn : gregFmt).format(date)}</span>}\n    </time>\n  );\n});\n"
    }
  ]
}