{
    "$schema": "https://ui.shadcn.com/schema/registry-item.json",
    "name": "sidebar",
    "type": "registry:component",
    "title": "Sidebar",
    "description": "Console navigation with a brand header, grouped items with icons and an active state, and a user block. Pair with the app shell for a full screen.",
    "registryDependencies": [
        "tokens",
        "tokens-console",
        "badge",
        "avatar",
        "button"
    ],
    "meta": {
        "category": "Console",
        "layout": "block",
        "theme": "console"
    },
    "files": [
        {
            "path": "components/sidebar.html",
            "type": "registry:file",
            "target": "components/sidebar.html",
            "content": "<!-- Sidebar\n     The console navigation. Mark the current item with data-active. Inactive\n     items are muted; the active item is brand purple and bold on a soft fill.\n     Group labels carry a divider; collapsed groups use data-collapsed and a\n     right chevron. Best shown under the console theme. Pair with .dp-shell +\n     .dp-shell-main for a full screen. -->\n\n<nav class=\"dp-sidebar\">\n  <div class=\"dp-sidebar-head\">\n    <span class=\"dp-sidebar-logo\">\n      <svg viewBox=\"0 0 294 82\" role=\"img\" aria-label=\"Dataprovider.com\">\n        <g fill=\"currentColor\">\n          <path d=\"M121.52.73h7.79c2.98.04 7.48.1 10.6 2.88 2.53 2.29 3.5 5.72 3.5 9.14 0 2.11-.31 3.67-.62 4.71-2.25 7.55-9.08 7.69-11.64 7.72h-9.63zm6.17 5.16v14.37h1.87c3.26-.07 7.76-.24 7.76-7.27 0-1.7-.17-3.39-1.28-4.92-1.66-2.22-4.02-2.18-5.89-2.18zM157.17.73l9.01 24.45h-6.51l-1.21-3.91h-9.01l-1.21 3.91h-6.51L150.8.73zm-3.29 5.82c-.31 1.25-.66 2.53-1 3.78-.52 1.84-1.45 4.71-2.01 6.55h6.2zM162.08.7h18.84v4.85h-6.34v19.64h-6.13V5.55h-6.37zM192.16.73l9.01 24.45h-6.51l-1.21-3.91h-9.01l-1.21 3.91h-6.51L185.79.73zm-3.29 5.82c-.31 1.25-.66 2.53-1 3.78-.52 1.84-1.45 4.71-2.01 6.55h6.2zM121.52 28.82h9.84c4.02 0 7.59 0 9.73 3.08.94 1.39 1.39 3.36 1.39 5.02 0 1.35-.28 2.67-.83 3.81-2.11 4.36-6.62 4.47-9.94 4.54h-4.05v8h-6.13V28.82zm6.13 4.51v7.41h3.67c2.29 0 5.06-.07 5.06-3.84 0-3.57-3.08-3.57-4.85-3.57zM143.84 28.82h11.01c2.56.04 5.75.07 8 2.49 1.14 1.28 1.94 3.22 1.94 5.44 0 4.92-3.36 6.13-5.02 6.75l5.65 9.77h-6.75l-4.85-8.73h-3.84v8.73h-6.13V28.82zm6.13 4.57v6.62h5.06c.87-.03 3.67-.1 3.67-3.36 0-3.12-2.25-3.22-3.53-3.26zM177.79 53.97c-7.76 0-12.16-5.96-12.16-13.02 0-6.62 4.19-12.88 12.05-12.88 1.45 0 2.98.21 4.47.73 7.48 2.6 7.97 10.74 7.97 12.4 0 4.23-1.94 8.04-4.64 10.22-2.39 1.96-5.17 2.55-7.69 2.55m4.22-19.02c-1.04-1.11-2.63-1.8-4.3-1.8-3.71 0-6.06 3.26-6.06 7.69 0 5.82 3.26 7.97 6.13 7.97 2.91 0 6.03-2.08 6.2-7.2.11-2.57-.58-5.17-1.97-6.66M204.9 28.82h6.51l-8.49 24.45h-6.23l-8.38-24.45h6.51l5.06 17.39zM218.22 28.82v24.45h-6.1V28.82zM220.82 28.82h7.79c2.98.04 7.48.1 10.6 2.88 2.53 2.29 3.5 5.72 3.5 9.14 0 2.11-.31 3.67-.62 4.71-2.25 7.55-9.08 7.69-11.64 7.72h-9.63zm6.17 5.16v14.37h1.87c3.26-.07 7.76-.24 7.76-7.27 0-1.7-.17-3.4-1.28-4.92-1.66-2.22-4.02-2.18-5.89-2.18zM244.28 28.82h18.08v4.75h-11.98V38h11.19v4.64h-11.19v5.82h13.06v4.81h-19.15zM265.05 28.82h11.01c2.56.04 5.75.07 8 2.49 1.14 1.28 1.94 3.22 1.94 5.44 0 4.92-3.36 6.13-5.02 6.75l5.65 9.77h-6.75l-4.85-8.73h-3.84v8.73h-6.13V28.82zm6.13 4.57v6.62h5.06c.87-.03 3.67-.1 3.67-3.36 0-3.12-2.25-3.22-3.53-3.26zM287.75 47.49h5.47v5.78h-5.47zM142.79 75.21c-.9 1.42-1.77 2.81-3.71 4.16-1.04.73-3.43 2.15-6.82 2.15-6.48 0-11.71-4.71-11.71-12.99 0-7.24 4.92-12.95 11.85-12.95 2.81 0 5.3.97 7.14 2.42 1.7 1.35 2.49 2.7 3.19 3.91l-4.85 2.42c-.35-.8-.76-1.63-1.84-2.53-1.18-.94-2.36-1.21-3.36-1.21-3.95 0-6.03 3.67-6.03 7.76 0 5.37 2.74 8.04 6.03 8.04 3.19 0 4.47-2.22 5.3-3.64z\"></path>\n          <path d=\"M154.48 81.48c-7.76 0-12.16-5.96-12.16-13.02 0-6.62 4.19-12.88 12.05-12.88 1.45 0 2.98.21 4.47.73 7.48 2.6 7.97 10.74 7.97 12.4 0 4.23-1.94 8.04-4.64 10.22-2.39 1.97-5.16 2.55-7.69 2.55m4.22-19.01c-1.04-1.11-2.63-1.8-4.3-1.8-3.71 0-6.06 3.26-6.06 7.69 0 5.82 3.26 7.97 6.13 7.97 2.91 0 6.03-2.08 6.2-7.2.11-2.57-.58-5.17-1.97-6.66M195.27 56.34v24.45h-5.85l.38-17.42.07-2.46-.21.87c-.31 1.39-.35 1.56-.62 2.6l-4.61 16.42h-5.26l-4.43-15.73-1.07-4.36c.1 1.94.1 2.36.21 4.68l.31 15.41h-5.92V56.35h8.94l3.74 13.72.87 3.91c.35-1.7.38-1.87.66-3.01l3.91-14.62h8.88z\"></path>\n          <circle cx=\"77.71\" cy=\"71.82\" r=\"9.55\"></circle>\n          <path d=\"M34.86.72c5.16 0 9.96.82 14.41 2.47s8.3 4.11 11.55 7.4 5.79 7.4 7.62 12.33 2.75 10.73 2.75 17.38c0 5.83-.75 11.21-2.24 16.15q-2.25 7.395-6.78 12.78c-3.03 3.59-6.8 6.41-11.33 8.46-4.52 2.06-9.85 3.08-15.98 3.08H.33V.72z\"></path>\n        </g>\n      </svg>\n    </span>\n    <button class=\"dp-sidebar-collapse\" type=\"button\" aria-label=\"Collapse sidebar\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m11 17-5-5 5-5\"></path><path d=\"m18 17-5-5 5-5\"></path></svg>\n    </button>\n  </div>\n\n  <div class=\"dp-sidebar-nav\">\n    <a class=\"dp-nav-item\" data-active href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><path d=\"M9 22V12h6v10\"></path></svg>\n      Home\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"m16 8-6 2-2 6 6-2z\"></path></svg>\n      AI Navigator <span class=\"dp-nav-beta\">Beta</span>\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M11 15h2a2 2 0 1 0 0-4h-3l-3 3\"></path><path d=\"m7 18 1-1h4\"></path><path d=\"M2 21h2.5L8 17.5\"></path><circle cx=\"16\" cy=\"6\" r=\"3\"></circle></svg>\n      Value Assistant\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"></path><path d=\"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\"></path></svg>\n      Monitoring <span class=\"dp-nav-beta\">Beta</span>\n    </a>\n\n    <div class=\"dp-nav-group\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg>\n      Library\n    </div>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"></path></svg>\n      Files\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"14\" x=\"3\" y=\"4\" rx=\"2\"></rect><path d=\"M3 10h18\"></path><path d=\"M12 18v3\"></path></svg>\n      Dashboards\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><path d=\"M14 2v6h6\"></path><path d=\"M9 13h6\"></path><path d=\"M9 17h3\"></path></svg>\n      Recipes\n    </a>\n\n    <div class=\"dp-nav-group\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg>\n      Products\n    </div>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"7\"></circle><path d=\"m21 21-4.3-4.3\"></path></svg>\n      Search Engine\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3 7V5a2 2 0 0 1 2-2h2\"></path><path d=\"M17 3h2a2 2 0 0 1 2 2v2\"></path><path d=\"M21 17v2a2 2 0 0 1-2 2h-2\"></path><path d=\"M7 21H5a2 2 0 0 1-2-2v-2\"></path><circle cx=\"12\" cy=\"11\" r=\"2\"></circle><path d=\"M9 16a3 3 0 0 1 6 0\"></path></svg>\n      Know Your Business\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M2 12h20\"></path><path d=\"M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20\"></path></svg>\n      Reverse DNS\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10\"></path></svg>\n      SSL Catalog\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M5.5 16.5C2 13 1 8 3 6s7-1 10.5 2.5S19 17 17 19s-8 1-11.5-2.5\"></path></svg>\n      Universe <span class=\"dp-nav-beta\">Beta</span>\n    </a>\n    <a class=\"dp-nav-item\" href=\"#\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 2v3\"></path><path d=\"M5 5h11l3 3-3 3H5z\"></path><path d=\"M12 11v3\"></path><path d=\"M8 17h11l-3-3\"></path><path d=\"M12 17v5\"></path></svg>\n      Traffic\n    </a>\n\n    <div class=\"dp-nav-group\" data-collapsed>\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m9 18 6-6-6-6\"></path></svg>\n      Account\n    </div>\n    <div class=\"dp-nav-group\" data-collapsed>\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m9 18 6-6-6-6\"></path></svg>\n      Support\n    </div>\n    <div class=\"dp-nav-group\" data-collapsed>\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m9 18 6-6-6-6\"></path></svg>\n      Admin\n    </div>\n    <div class=\"dp-nav-group\" data-collapsed>\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m9 18 6-6-6-6\"></path></svg>\n      Legal\n    </div>\n  </div>\n\n  <div class=\"dp-sidebar-foot\">\n    <span class=\"dp-avatar\" data-size=\"sm\" style=\"background: var(--dp-accent-yellow, #ffd200); color: var(--dp-brand-purple, #2d145f);\">CB</span>\n    <span class=\"dp-sidebar-user\">\n      <span class=\"dp-sidebar-user-name\">Christian Branbergen</span>\n      <span class=\"dp-sidebar-user-org\">Dataprovider BV</span>\n    </span>\n    <button class=\"dp-btn\" type=\"button\" data-variant=\"outline\" data-size=\"sm\">Log out</button>\n  </div>\n</nav>\n"
        },
        {
            "path": "components/sidebar.css",
            "type": "registry:file",
            "target": "components/sidebar.css",
            "content": "/* Sidebar\n   The console app navigation: a brand header, grouped nav items with icons and\n   an active state, and a user block with a sign-out action. Pair with\n   .dp-shell to lay it out beside the main content. Best used under the console\n   theme (data-theme=\"console\"). Colour and type come from tokens.css. */\n\n/* App shell: sidebar beside scrolling content */\n.dp-shell {\n  display: flex;\n  align-items: stretch;\n  min-height: 100%;\n  background: var(--dp-bg);\n}\n\n.dp-shell-main {\n  flex: 1;\n  min-width: 0;\n  padding: var(--dp-space-8);\n  overflow: auto;\n}\n\n.dp-sidebar {\n  display: flex;\n  flex-direction: column;\n  width: 16rem;\n  flex: none;\n  padding: var(--dp-space-4);\n  background: var(--dp-surface);\n  border-right: 1px solid var(--dp-border);\n}\n\n/* Header: wordmark and collapse control */\n.dp-sidebar-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: var(--dp-space-2) var(--dp-space-2) var(--dp-space-5);\n}\n\n.dp-sidebar-logo {\n  display: inline-flex;\n  color: var(--dp-brand-purple, var(--dp-navy));\n}\n\n.dp-sidebar-logo svg {\n  height: 30px;\n  width: auto;\n  display: block;\n}\n\n.dp-sidebar-collapse {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 1.75rem;\n  height: 1.75rem;\n  border: 1px solid var(--dp-border);\n  border-radius: var(--dp-radius-full);\n  background: var(--dp-surface);\n  color: var(--dp-text-muted);\n  cursor: pointer;\n}\n\n.dp-sidebar-collapse:hover {\n  background: var(--dp-surface-soft);\n}\n\n/* Nav */\n.dp-sidebar-nav {\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  flex: 1;\n  overflow-y: auto;\n}\n\n.dp-nav-item {\n  display: flex;\n  align-items: center;\n  gap: var(--dp-space-3);\n  min-height: 2.5rem;\n  padding: 0 var(--dp-space-3);\n  border-radius: var(--dp-radius-md);\n  color: var(--dp-text-muted);\n  font-size: var(--dp-text-sm);\n  font-weight: var(--dp-weight-regular);\n  text-decoration: none;\n  cursor: pointer;\n}\n\n.dp-nav-item svg {\n  width: 1.25rem;\n  height: 1.25rem;\n  flex: none;\n}\n\n.dp-nav-item:hover {\n  background: var(--dp-surface-soft);\n}\n\n.dp-nav-item[data-active] {\n  background: var(--dp-surface-soft);\n  color: var(--dp-navy);\n  font-weight: var(--dp-weight-bold);\n}\n\n.dp-nav-item .dp-nav-beta {\n  margin-left: auto;\n}\n\n/* Small beta tag */\n.dp-nav-beta {\n  font-size: 9px;\n  font-weight: var(--dp-weight-bold);\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  color: var(--dp-beta-text, #665400);\n  background: var(--dp-beta-bg, #ffed99);\n  padding: 2px 5px;\n  border-radius: var(--dp-radius-xs);\n  line-height: 1;\n}\n\n/* Group label with a collapse chevron, with a divider above */\n.dp-nav-group {\n  display: flex;\n  align-items: center;\n  gap: var(--dp-space-2);\n  margin: var(--dp-space-2) calc(-1 * var(--dp-space-4)) 0;\n  padding: var(--dp-space-4) var(--dp-space-4) var(--dp-space-1);\n  border-top: 1px solid var(--dp-border);\n  font-size: var(--dp-text-xs);\n  font-weight: var(--dp-weight-bold);\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n  color: var(--dp-text-subtle);\n}\n\n.dp-nav-group svg {\n  width: 0.875rem;\n  height: 0.875rem;\n  flex: none;\n}\n\n/* Collapsed group: a clickable row with a right chevron */\n.dp-nav-group[data-collapsed] {\n  cursor: pointer;\n}\n\n.dp-nav-group[data-collapsed]:hover {\n  color: var(--dp-text-muted);\n}\n\n/* User block */\n.dp-sidebar-foot {\n  display: flex;\n  align-items: center;\n  gap: var(--dp-space-3);\n  padding-top: var(--dp-space-4);\n  margin-top: var(--dp-space-2);\n  border-top: 1px solid var(--dp-border);\n}\n\n.dp-sidebar-user {\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  line-height: 1.2;\n}\n\n.dp-sidebar-user-name {\n  font-size: var(--dp-text-sm);\n  font-weight: var(--dp-weight-bold);\n  color: var(--dp-navy);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.dp-sidebar-user-org {\n  font-size: var(--dp-text-xs);\n  color: var(--dp-text-muted);\n}\n\n.dp-sidebar-foot .dp-btn {\n  margin-left: auto;\n}\n"
        }
    ]
}
