{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "range-calendar",
  "title": "Range Calendar",
  "description": "Calendar that selects a start and end date as a range.",
  "dependencies": [
    "@vllnt/ui@^0.2.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/range-calendar/range-calendar.tsx",
      "content": "\"use client\";\n\nimport { useState } from \"react\";\n\nimport type { DateRange } from \"react-day-picker\";\n\nimport { Calendar } from \"@vllnt/ui\";\n\n/** Calendar that selects a start and end date as a range. */\nexport type RangeCalendarProps = {\n  className?: string;\n  defaultValue?: DateRange;\n  numberOfMonths?: number;\n  onValueChange?: (range?: DateRange) => void;\n  value?: DateRange;\n};\n\nfunction RangeCalendar({\n  className,\n  defaultValue,\n  numberOfMonths = 2,\n  onValueChange,\n  value,\n}: RangeCalendarProps) {\n  const [internalValue, setInternalValue] = useState<DateRange | undefined>(\n    defaultValue,\n  );\n  const selected = value ?? internalValue;\n\n  const handleSelect = (range: DateRange | undefined) => {\n    if (value === undefined) {\n      setInternalValue(range);\n    }\n\n    onValueChange?.(range);\n  };\n\n  return (\n    <Calendar\n      className={className}\n      mode=\"range\"\n      numberOfMonths={numberOfMonths}\n      onSelect={handleSelect}\n      selected={selected}\n    />\n  );\n}\n\nexport { RangeCalendar };\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component",
  "version": "0.2.1",
  "stability": "stable"
}
