Navbar
LayoutTailwind CSSv1.0.0layoutnavigationnavbarheadertailwind
Barra de navegación IA-First: logo, enlaces con aria-current, menú móvil y CTA; herramientas goHome / openMenu / signUp y contexto activeSection.
npx webmcpcss components import tailwind-navbar/* Componente: Navbar */
/* Categoría: layout · Librería: tailwind · Versión: 1.0.0 */
/* Barra de navegación IA-First: logo, enlaces con aria-current, menú móvil y CTA; herramientas goHome / openMenu / signUp y contexto activeSection. */
/* Importar: npx webmcpcss components import tailwind-navbar */
/* El aspecto lo dan las utilidades de Tailwind en el HTML; este archivo es el contrato para agentes. */
/* Contrato WebMCP */
nav[data-component="navbar"] [data-tool="goHome"] {
webmcp-tool: "goHome";
webmcp-description: "Vuelve a la página de inicio";
webmcp-intent: "navigate";
webmcp-confirmation: "none";
webmcp-permissions: "read-only";
}
nav[data-component="navbar"] [data-tool="openMenu"] {
webmcp-tool: "openMenu";
webmcp-description: "Abre o cierra el menú de navegación (móvil)";
webmcp-intent: "action";
webmcp-confirmation: "none";
webmcp-permissions: "read-only";
webmcp-accessibility: "aria-expanded: reflejar estado; aria-controls: menú";
}
nav[data-component="navbar"] [data-tool="signUp"] {
webmcp-tool: "signUp";
webmcp-description: "Abre el registro de cuenta (llamada a la acción de la barra)";
webmcp-intent: "navigate";
webmcp-confirmation: "none";
webmcp-permissions: "read-only";
}
nav[data-component="navbar"] [aria-current="page"] { webmcp-context: "activeSection"; webmcp-format: "text"; }
<nav data-component="navbar" aria-label="Principal" class="flex flex-wrap items-center gap-4 rounded-[var(--wm-radius,0.5rem)] border border-slate-200 bg-white px-5 py-3 shadow-sm">
<a data-tool="goHome" href="#/" class="mr-auto text-lg font-extrabold text-slate-900">◆ Marca</a>
<button data-tool="openMenu" type="button" aria-expanded="false" aria-controls="tw-nav-menu" aria-label="Abrir menú" class="rounded-md p-2 hover:bg-slate-100 sm:hidden" onclick="const o=this.getAttribute('aria-expanded')==='true';this.setAttribute('aria-expanded',String(!o));document.getElementById('tw-nav-menu').classList.toggle('hidden',o)"><svg aria-hidden="true" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></svg></button>
<ul id="tw-nav-menu" class="hidden w-full flex-col gap-1 sm:flex sm:w-auto sm:flex-row">
<li><a href="#inicio" aria-current="page" class="block rounded-md px-3 py-2 font-medium text-slate-700 hover:bg-slate-100 aria-[current=page]:bg-blue-50 aria-[current=page]:text-[var(--wm-primary,#2563eb)]">Inicio</a></li>
<li><a href="#componentes" class="block rounded-md px-3 py-2 font-medium text-slate-700 hover:bg-slate-100 aria-[current=page]:bg-blue-50 aria-[current=page]:text-[var(--wm-primary,#2563eb)]">Componentes</a></li>
<li><a href="#docs" class="block rounded-md px-3 py-2 font-medium text-slate-700 hover:bg-slate-100 aria-[current=page]:bg-blue-50 aria-[current=page]:text-[var(--wm-primary,#2563eb)]">Docs</a></li>
</ul>
<a data-tool="signUp" href="#registro" class="rounded-[var(--wm-radius,0.5rem)] bg-[var(--wm-primary,#2563eb)] px-4 py-2 text-sm font-semibold text-[var(--wm-on-primary,#fff)] hover:brightness-110">Crear cuenta</a>
</nav>
{
"id": "tailwind-navbar",
"name": "Navbar",
"category": "layout",
"library": "tailwind",
"version": "1.0.0",
"description": "Barra de navegación IA-First: logo, enlaces con aria-current, menú móvil y CTA; herramientas goHome / openMenu / signUp y contexto activeSection.",
"author": "WebMCPcss Team",
"tags": [
"layout",
"navigation",
"navbar",
"header",
"tailwind"
],
"controls": [
{
"variable": "--wm-primary",
"label": "Color primario",
"type": "color",
"default": "#2563eb"
},
{
"variable": "--wm-on-primary",
"label": "Texto sobre primario",
"type": "color",
"default": "#ffffff"
},
{
"variable": "--wm-radius",
"label": "Radio",
"type": "range",
"default": "0.5rem",
"min": 0,
"max": 1.5,
"step": 0.125,
"unit": "rem"
}
],
"promptExamples": [
"añade un enlace “Precios” a la barra de navegación",
"cambia el color de fondo de la navbar"
],
"animateExamples": [
"haz que la navbar aparezca deslizándose desde arriba",
"añade fade-in a los enlaces del menú"
],
"related": [
"core-navbar",
"bootstrap-navbar",
"mui-navbar",
"shadcn-navbar"
],
"preview": "preview.css",
"css": "navbar.webmcp.css",
"html": "navbar.html"
}Cómo usarlo
- Importa el componente a tu proyecto (HTML +
.webmcp.css+component.json):npx webmcpcss components import tailwind-navbar --output ./src/components - O añade solo el contrato a tu
webmcp.cssexistente (bloque delimitado y actualizable):npx webmcpcss components import tailwind-navbar --merge ./webmcp.css - Publícalo para los agentes: MCP (
webmcpcss mcp --serve --css ./webmcp.css),document.modelContext(webmcpcss standard compile ./webmcp.css --html index.html) o exporta a tu agente favorito (webmcpcss export --agent claude-code).
Herramientas para agentes
| Herramienta | Descripción | Parámetros | Intención | Confirmación | Selector |
|---|---|---|---|---|---|
goHome | Vuelve a la página de inicio | — | navigate | none | nav[data-component="navbar"] [data-tool="goHome"] |
openMenu | Abre o cierra el menú de navegación (móvil) | — | action | none | nav[data-component="navbar"] [data-tool="openMenu"] |
signUp | Abre el registro de cuenta (llamada a la acción de la barra) | — | navigate | none | nav[data-component="navbar"] [data-tool="signUp"] |
Contexto que publica
| Dato | Formato | Selector |
|---|---|---|
activeSection | text | nav[data-component="navbar"] [aria-current="page"] |
Ejemplos con la CLI
webmcpcss prompt — lenguaje natural sobre el componente
añade un enlace “Precios” a la barra de navegacióncambia el color de fondo de la navbar
webmcpcss animate — animaciones declarativas
haz que la navbar aparezca deslizándose desde arribaañade fade-in a los enlaces del menú