{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"calendario-de-agendamento","type":"registry:component","title":"Calendário de agendamento","description":"Calendário com horários disponíveis e confirmação.","author":"UI Catalog <https://ui.codehall.io>","dependencies":[],"registryDependencies":["button","calendar","card"],"files":[{"path":"components/calendario-de-agendamento.tsx","type":"registry:component","content":"'use client'\n\nimport { useState } from 'react'\nimport { Calendar } from '@/components/ui/calendar'\nimport { Button } from '@/components/ui/button'\nimport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'\n\nconst SLOTS = ['09:00', '09:30', '10:00', '11:00', '14:00', '14:30', '15:00', '16:30']\n\nexport default function CalendarioAgendamento() {\n  const [date, setDate] = useState<Date | undefined>(new Date(2026, 9, 14))\n  const [slot, setSlot] = useState<string | null>('10:00')\n  return (\n    <Card className=\"w-full max-w-xl\">\n      <CardHeader>\n        <CardTitle>Agendar demonstração</CardTitle>\n        <CardDescription>30 minutos · Google Meet · horário de Brasília</CardDescription>\n      </CardHeader>\n      <CardContent className=\"grid gap-6 sm:grid-cols-[auto_1fr]\">\n        <Calendar mode=\"single\" selected={date} onSelect={setDate} className=\"rounded-lg border\" />\n        <div>\n          <div className=\"mb-2 text-sm font-medium\">{date ? date.toLocaleDateString('pt-BR', { weekday: 'long', day: '2-digit', month: 'long' }) : 'Escolha um dia'}</div>\n          <div className=\"grid grid-cols-2 gap-2\">\n            {SLOTS.map((s) => (\n              <Button key={s} size=\"sm\" variant={slot === s ? 'default' : 'outline'} onClick={() => setSlot(s)}>\n                {s}\n              </Button>\n            ))}\n          </div>\n        </div>\n      </CardContent>\n      <CardFooter className=\"justify-end gap-2 border-t\">\n        <Button variant=\"ghost\">Cancelar</Button>\n        <Button disabled={!date || !slot}>Confirmar {slot ?? ''}</Button>\n      </CardFooter>\n    </Card>\n  )\n}\n"}]}