{
  "name": "lexy-kit",
  "cdn": "https://cdn.jsdelivr.net/npm/@lexydesign/kit@latest/kit",
  "entry": "https://cdn.jsdelivr.net/npm/@lexydesign/kit@latest/kit/llms.txt",
  "assets": {
    "css": "kit.css",
    "js": "kit.js",
    "fonts": [
      "fonts/geist-sans-variable.woff2",
      "fonts/geist-sans-variable-italic.woff2",
      "fonts/geist-mono-variable.woff2",
      "fonts/geist-mono-variable-italic.woff2"
    ]
  },
  "guides": {
    "agents": "AGENTS.md",
    "readme": "README.md",
    "llms": "llms.txt",
    "llmsFull": "llms-full.txt",
    "pautas": [
      "pautas/arquitectura-informacion-ux.md",
      "pautas/buenas-practicas.md",
      "pautas/calidad-industria.md",
      "pautas/diseno-cliente.md",
      "pautas/diseno-crm-lexy.md",
      "pautas/patrones-de-codigo.md",
      "pautas/recetas-layout.md",
      "pautas/sistema-visual.md",
      "pautas/ux-writing.md"
    ]
  },
  "components": [
    {
      "name": "Accordion",
      "type": "component",
      "file": "components/accordion.html",
      "description": "Secciones colapsables para mostrar detalle bajo demanda (Radix). Progressive disclosure: muestra primero los títulos y despliega el contenido al pedirlo. El componente vive en tu proyecto: instálalo con `create-lexy add accordion` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "AlertDialog",
      "type": "component",
      "file": "components/alert-dialog.html",
      "description": "Confirmación modal que **interrumpe** (rol `alertdialog`): la persona debe elegir entre cancelar o confirmar — no hay X, ni cierre con click afuera. Para destruir, descartar cambios o salir de un flujo con costo. El componente vive en tu proyecto: instálalo con `create-lexy add alert-dialog` y edítalo con libertad.",
      "specimens": [
        "Destructivo",
        "Confirmacion",
        "Interactivo"
      ],
      "interactive": "modal"
    },
    {
      "name": "AppAccordion",
      "type": "component",
      "file": "components/app-accordion.html",
      "description": "Acordeón de aplicación **data-driven**. Describe los items como datos (`items`)",
      "specimens": [
        "Default",
        "WithIcons",
        "Containered",
        "ContaineredWithIcons",
        "Multiple",
        "WithDisabled",
        "Controlled"
      ]
    },
    {
      "name": "AppDialog",
      "type": "component",
      "file": "components/app-dialog.html",
      "description": "Diálogo de aplicación al estilo **Material 3**. Estructura canónica sin dividers: El componente vive en tu proyecto: instálalo con `create-lexy add app-dialog` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithIcon",
        "Destructive",
        "WithContent",
        "ActionsCenter",
        "ActionsLeft",
        "ActionsSpaceBetween",
        "Controlled",
        "Interactivo"
      ],
      "interactive": "modal"
    },
    {
      "name": "AppHeaderBar",
      "type": "component",
      "file": "components/app-header-bar.html",
      "description": "Barra de navegación superior **data-driven**. Describe la navegación como datos",
      "specimens": [
        "Default",
        "WithBrand",
        "NavySurface",
        "Transparent",
        "NoBrand",
        "BrandAsImage",
        "Sticky"
      ]
    },
    {
      "name": "AppSidebar",
      "type": "component",
      "file": "components/app-sidebar.html",
      "description": "Barra lateral de navegación **data-driven**. Describes la navegación como datos",
      "specimens": [
        "Playground",
        "Completa",
        "ColapsableIconos",
        "SinUsuario",
        "SinLogo",
        "SinBorde"
      ]
    },
    {
      "name": "Avatar",
      "type": "component",
      "file": "components/avatar.html",
      "description": "Imagen de perfil con fallback. Para identificación visual. El componente vive en tu proyecto: instálalo con `create-lexy add avatar` y edítalo con libertad.",
      "specimens": [
        "WithImage",
        "Fallback"
      ]
    },
    {
      "name": "Badge",
      "type": "component",
      "file": "components/badge.html",
      "description": "Etiqueta de estado o categoría, **no interactiva** (`<span>`). Para marcar estados (\"Activo\", \"Pendiente\") o clasificar. El componente vive en tu proyecto: instálalo con `create-lexy add badge` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Secondary",
        "Destructive",
        "Outline",
        "Sizes",
        "VariantsWithIcons"
      ]
    },
    {
      "name": "BrandBackground",
      "type": "component",
      "file": "components/brand-background.html",
      "description": "Fondos oficiales del manual de marca Lexy (sección 05. Fondos) como componente:",
      "specimens": [
        "CubosNavy",
        "AspasIndigo",
        "Grainient",
        "ComoFondoDeHero"
      ]
    },
    {
      "name": "Breadcrumb",
      "type": "component",
      "file": "components/breadcrumb.html",
      "description": "Componente Breadcrumb. El componente vive en tu proyecto: instálalo con `create-lexy add breadcrumb` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithEllipsis"
      ]
    },
    {
      "name": "Button",
      "type": "component",
      "file": "components/button.html",
      "description": "Botón de acción. Renderiza un `<button>` nativo; acepta todos sus atributos (`onClick`, `type`, `disabled`, `aria-*`). El componente vive en tu proyecto: instálalo con `create-lexy add button` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Outline",
        "Secondary",
        "Ghost",
        "Link",
        "Destructive",
        "Icon",
        "Disabled",
        "Loading",
        "States",
        "JerarquiaLexy"
      ]
    },
    {
      "name": "ButtonGroup",
      "type": "component",
      "file": "components/button-group.html",
      "description": "Agrupa botones relacionados en una sola unidad visual. Sirve para acciones hermanas, comandos de toolbar o split actions. No mantiene estado de selección por sí mismo. El componente vive en tu proyecto: instálalo con `create-lexy add button-group` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithSeparator",
        "Vertical",
        "WithText",
        "InToolbar"
      ]
    },
    {
      "name": "Calendar",
      "type": "component",
      "file": "components/calendar.html",
      "description": "Selector de fechas construido sobre [React DayPicker](https://daypicker.dev),",
      "specimens": [
        "Default",
        "Range",
        "Multiple",
        "Dropdown"
      ]
    },
    {
      "name": "Card",
      "type": "component",
      "file": "components/card.html",
      "description": "Contenedor de contenido. Para agrupar información relacionada. El componente vive en tu proyecto: instálalo con `create-lexy add card` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Small",
        "Elevation",
        "Spacing",
        "WithImage"
      ]
    },
    {
      "name": "Chart",
      "type": "component",
      "file": "components/chart.html",
      "description": "Gráficos construidos sobre [Recharts](https://recharts.org). No es un componente",
      "specimens": [
        "Default",
        "Stacked",
        "Lines"
      ]
    },
    {
      "name": "Checkbox",
      "type": "component",
      "file": "components/checkbox.html",
      "description": "Casilla de verificación (Radix). Para un sí/no independiente o para elegir **varias** opciones de una lista. No trae label: emparéjalo con `Label`. El componente vive en tu proyecto: instálalo con `create-lexy add checkbox` y edítalo con libertad.",
      "specimens": [
        "Default",
        "States"
      ]
    },
    {
      "name": "Combobox",
      "type": "component",
      "file": "components/combobox.html",
      "description": "Campo de entrada con lista desplegable filtrable. Para búsqueda + selección. El componente vive en tu proyecto: instálalo con `create-lexy add combobox` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Preselected",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "Command",
      "type": "component",
      "file": "components/command.html",
      "description": "Paleta de comandos. Para búsqueda y acciones rápidas. El componente vive en tu proyecto: instálalo con `create-lexy add command` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "CounterBadge",
      "type": "component",
      "file": "components/counter-badge.html",
      "description": "Badge con contador numérico. Para notificaciones. El componente vive en tu proyecto: instálalo con `create-lexy add counter-badge` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "DatePicker",
      "type": "component",
      "file": "components/date-picker.html",
      "description": "Selector de fecha en un campo: un `Button` que abre un `Popover` con un",
      "specimens": [
        "Default",
        "Controlled",
        "DateOfBirth",
        "RangePicker",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "Dialog",
      "type": "component",
      "file": "components/dialog.html",
      "description": "Diálogo modal primitivo (Radix). **Para la mayoría de los casos usa `AppDialog`**, que ya arma la composición Material 3 (icono, título, descripción, acciones). Usa `Dialog` directo solo para layouts modales a medida sin esa estructura. El componente vive en tu proyecto: instálalo con `create-lexy add dialog` y edítalo con libertad.",
      "specimens": [
        "Default",
        "ConFormulario",
        "Destructivo",
        "Interactivo"
      ],
      "interactive": "modal"
    },
    {
      "name": "DropdownMenu",
      "type": "component",
      "file": "components/dropdown-menu.html",
      "description": "Menú de **acciones** contextuales que se abre desde un disparador (Radix). Para agrupar acciones secundarias (\"⋯\", \"Opciones\") sin llenar la pantalla de botones. El componente vive en tu proyecto: instálalo con `create-lexy add dropdown-menu` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "Empty",
      "type": "component",
      "file": "components/empty.html",
      "description": "Estado vacío para cuando no hay datos, resultados o contenido que mostrar.",
      "specimens": [
        "Default",
        "WithIcon",
        "WithAction",
        "WithCustomContent",
        "MultipleStates"
      ]
    },
    {
      "name": "FeatureCard",
      "type": "component",
      "file": "components/feature-card.html",
      "description": "Tarjeta con icono y descripción. Para destacar características. El componente vive en tu proyecto: instálalo con `create-lexy add feature-card` y edítalo con libertad.",
      "specimens": [
        "Static",
        "Linked"
      ]
    },
    {
      "name": "Form",
      "type": "component",
      "file": "components/form.html",
      "description": "Formularios con validación (patrón shadcn sobre `react-hook-form` + `zod`). `Form` provee el contexto, `FormField` registra cada campo y `FormItem`/`FormLabel`/`FormControl` cablean ids y `aria-*` automáticamente; `FormMessage` muestra el error del campo. `create-lexy add form` instala también `zod` y `@hookform/resolvers`. El componente vive en tu proyecto: instálalo con `create-lexy add form` y edítalo con libertad.",
      "specimens": [
        "Default",
        "ConSelectYCheckbox"
      ]
    },
    {
      "name": "HeaderBar",
      "type": "component",
      "file": "components/header-bar.html",
      "description": "Barra superior de aplicación o sitio: marca a la izquierda y acciones a la derecha. Renderiza un `<header>` semántico. El componente vive en tu proyecto: instálalo con `create-lexy add header-bar` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Navy",
        "Transparent"
      ]
    },
    {
      "name": "Input",
      "type": "component",
      "file": "components/input.html",
      "description": "Campo de texto de una línea. Renderiza un `<input>` nativo; acepta todos sus atributos (`type`, `value`, `onChange`, `placeholder`, `aria-*`). El componente vive en tu proyecto: instálalo con `create-lexy add input` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithValue",
        "Email",
        "Disabled",
        "Error",
        "States"
      ]
    },
    {
      "name": "Label",
      "type": "component",
      "file": "components/label.html",
      "description": "Etiqueta para campos de formulario. Incluye indicador de requerido. El componente vive en tu proyecto: instálalo con `create-lexy add label` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "Logo",
      "type": "component",
      "file": "components/logo.html",
      "description": "Logo de Lexy. Para marca del producto. El componente vive en tu proyecto: instálalo con `create-lexy add logo` y edítalo con libertad.",
      "specimens": [
        "OnLightSurface",
        "OnDarkSurface",
        "SubBrands"
      ]
    },
    {
      "name": "Menubar",
      "type": "component",
      "file": "components/menubar.html",
      "description": "Barra de menús horizontal. Para navegación de aplicación. El componente vive en tu proyecto: instálalo con `create-lexy add menubar` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "NavigationMenu",
      "type": "component",
      "file": "components/navigation-menu.html",
      "description": "Menú de navegación con dropdowns. Para sitios web. El componente vive en tu proyecto: instálalo con `create-lexy add navigation-menu` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "Pagination",
      "type": "component",
      "file": "components/pagination.html",
      "description": "Navegación de paginación para listados, tablas y resultados de búsqueda.",
      "specimens": [
        "Default",
        "WithManyPages",
        "FirstPage",
        "LastPage",
        "Compact"
      ]
    },
    {
      "name": "Popover",
      "type": "component",
      "file": "components/popover.html",
      "description": "Panel flotante que se ancla a un elemento. Para contenido interactivo. El componente vive en tu proyecto: instálalo con `create-lexy add popover` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "ProfileCard",
      "type": "component",
      "file": "components/profile-card.html",
      "description": "Tarjeta de perfil. Para mostrar información de usuario. El componente vive en tu proyecto: instálalo con `create-lexy add profile-card` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithImage"
      ]
    },
    {
      "name": "Progress",
      "type": "component",
      "file": "components/progress.html",
      "description": "Barra de progreso. Para mostrar avance. El componente vive en tu proyecto: instálalo con `create-lexy add progress` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Empty",
        "Full"
      ]
    },
    {
      "name": "RadioGroup",
      "type": "component",
      "file": "components/radio-group.html",
      "description": "Selección **única** entre opciones visibles (Radix). Usa `RadioGroup` como contenedor y `RadioGroupItem` por opción. El componente vive en tu proyecto: instálalo con `create-lexy add radio-group` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "ScrollArea",
      "type": "component",
      "file": "components/scroll-area.html",
      "description": "Área de scroll estilizada con barras de scroll personalizadas.",
      "specimens": [
        "Default",
        "Horizontal",
        "Both",
        "StyledScrollbar"
      ]
    },
    {
      "name": "Searchbox",
      "type": "component",
      "file": "components/searchbox.html",
      "description": "Campo de búsqueda con icono. Para búsquedas. El componente vive en tu proyecto: instálalo con `create-lexy add searchbox` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithClear"
      ]
    },
    {
      "name": "Select",
      "type": "component",
      "file": "components/select.html",
      "description": "Lista desplegable de selección **única** (Radix). Ahorra espacio cuando hay muchas opciones y no necesitas verlas todas a la vez. El componente vive en tu proyecto: instálalo con `create-lexy add select` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Preselected",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "Separator",
      "type": "component",
      "file": "components/separator.html",
      "description": "Separador visual. Para dividir secciones. El componente vive en tu proyecto: instálalo con `create-lexy add separator` y edítalo con libertad.",
      "specimens": [
        "Horizontal",
        "Vertical"
      ]
    },
    {
      "name": "Sheet",
      "type": "component",
      "file": "components/sheet.html",
      "description": "Panel lateral deslizante. Alternativa a `Dialog` para contenido secundario que",
      "specimens": [
        "Default",
        "Left",
        "Top",
        "Bottom",
        "Interactivo"
      ],
      "interactive": "sheet"
    },
    {
      "name": "Sidebar",
      "type": "component",
      "file": "components/sidebar.html",
      "description": "Primitivas internas (estilo shadcn) que usa `AppSidebar` por debajo. **No las compongas a mano para una barra de navegación: usa `AppSidebar`** (data-driven). Recurre a estas primitivas solo para layouts a medida. El componente vive en tu proyecto: instálalo con `create-lexy add sidebar` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "Skeleton",
      "type": "component",
      "file": "components/skeleton.html",
      "description": "Esqueleto de carga. Para estados de espera. El componente vive en tu proyecto: instálalo con `create-lexy add skeleton` y edítalo con libertad.",
      "specimens": [
        "Line",
        "Avatar",
        "Block",
        "Card"
      ]
    },
    {
      "name": "Slider",
      "type": "component",
      "file": "components/slider.html",
      "description": "Control deslizante. Para selección de rango numérico. El componente vive en tu proyecto: instálalo con `create-lexy add slider` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Range"
      ]
    },
    {
      "name": "Snippet",
      "type": "component",
      "file": "components/snippet.html",
      "description": "Fragmento de código. Para mostrar código con copia. El componente vive en tu proyecto: instálalo con `create-lexy add snippet` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "Spinner",
      "type": "component",
      "file": "components/spinner.html",
      "description": "Indicador de carga visual. Usa el icono `Loader2` de Lucide con animación de rotación. El componente vive en tu proyecto: instálalo con `create-lexy add spinner` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Sizes",
        "CustomColor",
        "InContext",
        "ButtonLoading"
      ]
    },
    {
      "name": "StatusDot",
      "type": "component",
      "file": "components/status-dot.html",
      "description": "Punto de estado con color, pensado para acompañar texto (estado de una fila, disponibilidad, conexión). El color **nunca** es la única señal: va con texto o `aria-label`. El componente vive en tu proyecto: instálalo con `create-lexy add status-dot` y edítalo con libertad.",
      "specimens": [
        "Tones"
      ]
    },
    {
      "name": "Switch",
      "type": "component",
      "file": "components/switch.html",
      "description": "Interruptor de palanca. Para activar/desactivar estados. El componente vive en tu proyecto: instálalo con `create-lexy add switch` y edítalo con libertad.",
      "specimens": [
        "Default",
        "States"
      ]
    },
    {
      "name": "Table",
      "type": "component",
      "file": "components/table.html",
      "description": "Tabla de datos para comparar/escanear filas y columnas. Componente compuesto (`TableHeader`, `TableContent`, `TableRow`, `TableCell` — también disponibles como alias `Table.Header`, `Table.Content`, `Table.Row`, `Table.Cell`) basado en CSS grid. El componente vive en tu proyecto: instálalo con `create-lexy add table` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Basic",
        "Striped",
        "StickyHeader"
      ]
    },
    {
      "name": "Tabs",
      "type": "component",
      "file": "components/tabs.html",
      "description": "Pestañas para alternar entre vistas **del mismo nivel** sin salir de la página (Radix). Progressive disclosure: muestra una categoría a la vez. El componente vive en tu proyecto: instálalo con `create-lexy add tabs` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    },
    {
      "name": "Tag",
      "type": "component",
      "file": "components/tag.html",
      "description": "Etiqueta de categoría. Para clasificación. El componente vive en tu proyecto: instálalo con `create-lexy add tag` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Tones",
        "Sizes",
        "Removable"
      ]
    },
    {
      "name": "Textarea",
      "type": "component",
      "file": "components/textarea.html",
      "description": "Campo de texto multilínea, redimensionable verticalmente (alto mínimo predefinido). Renderiza un `<textarea>` nativo. El componente vive en tu proyecto: instálalo con `create-lexy add textarea` y edítalo con libertad.",
      "specimens": [
        "Default",
        "WithValue",
        "Disabled",
        "Error",
        "States"
      ]
    },
    {
      "name": "Toaster",
      "type": "component",
      "file": "components/toaster.html",
      "description": "Notificaciones efímeras de la app (sobre **Sonner**, tematizado con tokens Lexy). Se monta **una vez** en el layout raíz y se dispara imperativo con `toast.*` desde cualquier parte. Reemplaza al `Toast` presentacional del sistema antiguo (deprecado). El componente vive en tu proyecto: instálalo con `create-lexy add toaster` y edítalo con libertad.",
      "specimens": [
        "Default",
        "MundoCliente"
      ]
    },
    {
      "name": "Tooltip",
      "type": "component",
      "file": "components/tooltip.html",
      "description": "Etiqueta breve que aparece al pasar el cursor o enfocar (Radix). Para **ayuda complementaria**, nunca para información esencial. El componente vive en tu proyecto: instálalo con `create-lexy add tooltip` y edítalo con libertad.",
      "specimens": [
        "Default",
        "Interactivo"
      ],
      "interactive": "anchored"
    },
    {
      "name": "Tree",
      "type": "component",
      "file": "components/tree.html",
      "description": "Árbol jerárquico. Para navegación en profundidad. El componente vive en tu proyecto: instálalo con `create-lexy add tree` y edítalo con libertad.",
      "specimens": [
        "Default"
      ]
    }
  ],
  "blocks": [
    {
      "name": "confirmacion",
      "type": "block",
      "file": "blocks/confirmacion.html",
      "description": "Pantalla de confirmación / éxito para **mundo cliente**: celebra breve, dice qué pasa ahora y dónde seguir. Instálalo con `create-lexy add confirmacion` — trae `Button` (el icono es de lucide). La vista queda en tu proyecto (`views/EnvioConfirmado.tsx`): edítala con libertad.",
      "specimens": [
        "EnvioConfirmado"
      ]
    },
    {
      "name": "crm-app-layout",
      "type": "block",
      "file": "blocks/crm-app-layout.html",
      "description": "Estructura persistente de la app interna (**CRM**): navegación lateral colapsable data-driven (`AppSidebar`) y área de trabajo (`SidebarInset`). Instálalo con `create-lexy add crm-app-layout` — trae `AppSidebar`, `Sidebar` y `Logo`. La vista queda en tu proyecto (`views/AppLayout.tsx`): edítala con libertad.",
      "specimens": [
        "AppLayout"
      ]
    },
    {
      "name": "crm-desk",
      "type": "block",
      "file": "blocks/crm-desk.html",
      "description": "Desk de trabajo para **CRM**: ancho completo, toolbar con búsqueda y acción primaria, tabla densa y escaneable con estado por fila, y paginación al pie. Instálalo con `create-lexy add crm-desk` — trae `Table`, `StatusDot`, `Pagination`, `Input` y `Button`. La vista queda en tu proyecto (`views/CasosDesk.tsx`): edítala con libertad.",
      "specimens": [
        "CasosDesk"
      ]
    },
    {
      "name": "crm-detalle-caso",
      "type": "block",
      "file": "blocks/crm-detalle-caso.html",
      "description": "Detalle master-detail para **CRM**: contexto del caso a la izquierda (panel fijo de 288px), trabajo al centro en tabs, acción primaria a la mano. La información que se consulta junta vive junta. Instálalo con `create-lexy add crm-detalle-caso` — trae `Tabs`, `Badge`, `Separator` y `Button`. La vista queda en tu proyecto (`views/CasoDetalle.tsx`): edítala con libertad.",
      "specimens": [
        "CasoDetalle"
      ]
    },
    {
      "name": "intake-wizard",
      "type": "block",
      "file": "blocks/intake-wizard.html",
      "description": "Paso de wizard de intake para **mundo cliente**: un paso enfocado, columna angosta (`max-w-xl`), indicador de avance arriba y CTA al final. Instálalo con `create-lexy add intake-wizard` — trae consigo `Progress`, `Input`, `Label` y `Button`. La vista queda en tu proyecto (`views/IntakeDatosPersonales.tsx`): edítala con libertad.",
      "specimens": [
        "IntakeDatosPersonales"
      ]
    },
    {
      "name": "login",
      "type": "block",
      "file": "blocks/login.html",
      "description": "Pantalla de acceso: una sola tarea, foco único, ayuda contextual breve. Instálalo con `create-lexy add login` — trae `Card`, `Input`, `Label` y `Button`. La vista queda en tu proyecto (`views/Login.tsx`): edítala con libertad.",
      "specimens": [
        "Login"
      ]
    }
  ]
}
