{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "sidebar-06",
  "title": "Starred Project Sidebar",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-angular/blocks/sidebar-06/sidebar-06.component.ts",
      "content": "// Colorful, customised HRMS-style sidebar -- branded project tiles, badges, status dots,\n// and a user pill footer. Every row is spelled out inline so you can swap colors and\n// labels in place. Port of the React block 1:1.\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\nimport {\n  Briefcase,\n  Calendar,\n  ChartLine,\n  ChevronsUpDown,\n  ClipboardList,\n  Folder,\n  GraduationCap,\n  HeartPulse,\n  HelpCircle,\n  Inbox,\n  LayoutDashboard,\n  LucideAngularModule,\n  Monitor,\n  Moon,\n  Palette,\n  Search,\n  Send,\n  Settings as SettingsIcon,\n  Star,\n  Sun,\n  Users,\n} from 'lucide-angular'\nimport { injectTheme } from '@/lib/use-theme'\nimport { UiAvatarComponent, UiAvatarFallbackComponent } from '@/ui/avatar/avatar.component'\nimport {\n  UiDropdownMenuComponent,\n  UiDropdownMenuContentComponent,\n  UiDropdownMenuItemComponent,\n  UiDropdownMenuLabelComponent,\n  UiDropdownMenuRadioGroupComponent,\n  UiDropdownMenuRadioItemComponent,\n  UiDropdownMenuSeparatorComponent,\n  UiDropdownMenuSubComponent,\n  UiDropdownMenuSubContentComponent,\n  UiDropdownMenuSubTriggerComponent,\n  UiDropdownMenuTriggerComponent,\n} from '@/ui/dropdown-menu/dropdown-menu.component'\nimport { UiInputComponent } from '@/ui/input/input.component'\nimport {\n  UiSidebarComponent,\n  UiSidebarContentComponent,\n  UiSidebarFooterComponent,\n  UiSidebarGroupComponent,\n  UiSidebarGroupContentComponent,\n  UiSidebarGroupLabelComponent,\n  UiSidebarHeaderComponent,\n  UiSidebarMenuBadgeComponent,\n  UiSidebarMenuButtonComponent,\n  UiSidebarMenuComponent,\n  UiSidebarMenuItemComponent,\n  UiSidebarRailComponent,\n  UiSidebarSeparatorComponent,\n  injectSidebar,\n} from '@/ui/sidebar/sidebar.component'\n\n/**\n * Sidebar06 -- the React block, 1:1: a `collapsible=\"icon\"` Sidebar with a brand +\n * search header, workspace / workforce / starred-project / team / admin groups, and a\n * user pill footer with a theme radio submenu. It reads the surrounding\n * <ui-sidebar-provider> (pair with <ui-sidebar-inset> + <ui-sidebar-trigger>).\n * Edit the rows below to change routes; wire the user to your auth session.\n */\n@Component({\n  changeDetection: ChangeDetectionStrategy.Eager,\n  selector: 'ui-sidebar-06, [ui-sidebar-06]',\n  standalone: true,\n  // React renders <Sidebar> itself: keep this wrapper out of the provider's flex layout.\n  host: { class: 'contents' },\n  imports: [\n    LucideAngularModule,\n    UiAvatarComponent,\n    UiAvatarFallbackComponent,\n    UiDropdownMenuComponent,\n    UiDropdownMenuTriggerComponent,\n    UiDropdownMenuContentComponent,\n    UiDropdownMenuLabelComponent,\n    UiDropdownMenuSeparatorComponent,\n    UiDropdownMenuItemComponent,\n    UiDropdownMenuRadioGroupComponent,\n    UiDropdownMenuRadioItemComponent,\n    UiDropdownMenuSubComponent,\n    UiDropdownMenuSubTriggerComponent,\n    UiDropdownMenuSubContentComponent,\n    UiInputComponent,\n    UiSidebarComponent,\n    UiSidebarHeaderComponent,\n    UiSidebarContentComponent,\n    UiSidebarFooterComponent,\n    UiSidebarGroupComponent,\n    UiSidebarGroupLabelComponent,\n    UiSidebarGroupContentComponent,\n    UiSidebarMenuComponent,\n    UiSidebarMenuItemComponent,\n    UiSidebarMenuButtonComponent,\n    UiSidebarMenuBadgeComponent,\n    UiSidebarSeparatorComponent,\n    UiSidebarRailComponent,\n  ],\n  template: `\n    <ui-sidebar collapsible=\"icon\">\n      <ui-sidebar-header>\n        <ul ui-sidebar-menu>\n          <li ui-sidebar-menu-item>\n            <button\n              type=\"button\"\n              ui-sidebar-menu-button\n              size=\"lg\"\n              tooltip=\"uipkge\"\n              class=\"group-data-[collapsible=icon]:!justify-center\"\n            >\n              <div\n                class=\"bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 shrink-0 items-center justify-center rounded-lg shadow-sm group-data-[collapsible=icon]:size-6\"\n              >\n                <svg\n                  viewBox=\"0 0 24 24\"\n                  class=\"size-4 group-data-[collapsible=icon]:size-3.5\"\n                  fill=\"currentColor\"\n                  aria-hidden=\"true\"\n                >\n                  <rect x=\"2\" y=\"2\" width=\"9\" height=\"9\" rx=\"1.5\" />\n                  <rect x=\"13\" y=\"2\" width=\"9\" height=\"9\" rx=\"1.5\" opacity=\"0.55\" />\n                  <rect x=\"2\" y=\"13\" width=\"9\" height=\"9\" rx=\"1.5\" opacity=\"0.55\" />\n                  <rect x=\"13\" y=\"13\" width=\"9\" height=\"9\" rx=\"1.5\" />\n                </svg>\n              </div>\n              <div class=\"grid flex-1 text-left text-sm leading-tight group-data-[collapsible=icon]:hidden\">\n                <span class=\"font-display truncate font-bold\">uipkge</span>\n                <span class=\"text-muted-foreground truncate text-xs\">uipkge.dev</span>\n              </div>\n            </button>\n          </li>\n        </ul>\n\n        <div class=\"px-1 pt-1 group-data-[collapsible=icon]:hidden\">\n          <ui-input\n            type=\"text\"\n            placeholder=\"Search...\"\n            allowClear\n            [prefix]=\"searchPrefix\"\n            [suffix]=\"searchSuffix\"\n            class=\"bg-background h-8 w-full shadow-none\"\n          />\n          <ng-template #searchPrefix>\n            <lucide-icon [img]=\"Search\" class=\"text-muted-foreground size-3.5\" />\n          </ng-template>\n          <ng-template #searchSuffix>\n            <kbd\n              class=\"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 items-center gap-0.5 rounded border px-1 font-mono text-xs font-medium select-none\"\n            >\n              <span>&#8984;</span>F\n            </kbd>\n          </ng-template>\n        </div>\n      </ui-sidebar-header>\n\n      <ui-sidebar-content>\n        <ui-sidebar-group>\n          <ui-sidebar-group-content>\n            <ul ui-sidebar-menu>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button isActive tooltip=\"Dashboard\">\n                  <lucide-icon [img]=\"LayoutDashboard\" class=\"size-4\" />\n                  <span>Dashboard</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Employees\">\n                  <lucide-icon [img]=\"Users\" class=\"size-4\" />\n                  <span>Employees</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Clients\">\n                  <lucide-icon [img]=\"Briefcase\" class=\"size-4\" />\n                  <span>Clients</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Projects\">\n                  <lucide-icon [img]=\"Folder\" class=\"size-4\" />\n                  <span>Projects</span>\n                </button>\n              </li>\n            </ul>\n          </ui-sidebar-group-content>\n        </ui-sidebar-group>\n\n        <ui-sidebar-separator />\n\n        <ui-sidebar-group>\n          <ui-sidebar-group-label>Workforce</ui-sidebar-group-label>\n          <ui-sidebar-group-content>\n            <ul ui-sidebar-menu>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Calendar\">\n                  <lucide-icon [img]=\"Calendar\" class=\"size-4\" />\n                  <span>Calendar</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Attendance\">\n                  <lucide-icon [img]=\"ClipboardList\" class=\"size-4\" />\n                  <span>Attendance</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Inbox\">\n                  <lucide-icon [img]=\"Inbox\" class=\"size-4\" />\n                  <span>Inbox</span>\n                </button>\n                <ui-sidebar-menu-badge class=\"bg-destructive text-white\">6</ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Analytics\">\n                  <lucide-icon [img]=\"ChartLine\" class=\"size-4\" />\n                  <span>Analytics</span>\n                </button>\n              </li>\n            </ul>\n          </ui-sidebar-group-content>\n        </ui-sidebar-group>\n\n        <ui-sidebar-separator />\n\n        <ui-sidebar-group>\n          <ui-sidebar-group-label>Projects</ui-sidebar-group-label>\n          <ui-sidebar-group-content>\n            <ul ui-sidebar-menu>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Shift Planner\">\n                  <div\n                    class=\"bg-chart-1 flex aspect-square size-5 shrink-0 items-center justify-center rounded-md text-white\"\n                  >\n                    <lucide-icon [img]=\"Folder\" class=\"size-3\" />\n                  </div>\n                  <span>Shift Planner</span>\n                </button>\n                <ui-sidebar-menu-badge class=\"text-warning\">\n                  <lucide-icon [img]=\"Star\" class=\"size-3.5 fill-current\" />\n                </ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Training Portal\">\n                  <div\n                    class=\"bg-chart-2 flex aspect-square size-5 shrink-0 items-center justify-center rounded-md text-white\"\n                  >\n                    <lucide-icon [img]=\"GraduationCap\" class=\"size-3\" />\n                  </div>\n                  <span>Training Portal</span>\n                </button>\n                <ui-sidebar-menu-badge class=\"text-warning\">\n                  <lucide-icon [img]=\"Star\" class=\"size-3.5 fill-current\" />\n                </ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Performance Hub\">\n                  <div\n                    class=\"bg-chart-3 flex aspect-square size-5 shrink-0 items-center justify-center rounded-md text-white\"\n                  >\n                    <lucide-icon [img]=\"HeartPulse\" class=\"size-3\" />\n                  </div>\n                  <span>Performance Hub</span>\n                </button>\n                <ui-sidebar-menu-badge class=\"text-warning\">\n                  <lucide-icon [img]=\"Star\" class=\"size-3.5 fill-current\" />\n                </ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Expense Claims\">\n                  <div\n                    class=\"bg-chart-4 flex aspect-square size-5 shrink-0 items-center justify-center rounded-md text-white\"\n                  >\n                    <lucide-icon [img]=\"ChartLine\" class=\"size-3\" />\n                  </div>\n                  <span>Expense Claims</span>\n                </button>\n                <ui-sidebar-menu-badge class=\"text-warning\">\n                  <lucide-icon [img]=\"Star\" class=\"size-3.5 fill-current\" />\n                </ui-sidebar-menu-badge>\n              </li>\n            </ul>\n          </ui-sidebar-group-content>\n        </ui-sidebar-group>\n\n        <ui-sidebar-separator />\n\n        <ui-sidebar-group>\n          <ui-sidebar-group-label>My team</ui-sidebar-group-label>\n          <ui-sidebar-group-content>\n            <ul ui-sidebar-menu>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Olivia Bennett\">\n                  <ui-avatar class=\"size-5\">\n                    <ui-avatar-fallback class=\"bg-chart-1/15 text-foreground text-xs\">OB</ui-avatar-fallback>\n                  </ui-avatar>\n                  <span>Olivia Bennett</span>\n                </button>\n                <ui-sidebar-menu-badge>\n                  <span class=\"bg-destructive size-1.5 rounded-full\"></span>\n                </ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Daniel Morgan\">\n                  <ui-avatar class=\"size-5\">\n                    <ui-avatar-fallback class=\"bg-chart-2/15 text-foreground text-xs\">DM</ui-avatar-fallback>\n                  </ui-avatar>\n                  <span>Daniel Morgan</span>\n                </button>\n                <ui-sidebar-menu-badge>\n                  <span class=\"bg-warning size-1.5 rounded-full\"></span>\n                </ui-sidebar-menu-badge>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Ethan Reynolds\">\n                  <ui-avatar class=\"size-5\">\n                    <ui-avatar-fallback class=\"bg-chart-3/15 text-foreground text-xs\">ER</ui-avatar-fallback>\n                  </ui-avatar>\n                  <span>Ethan Reynolds</span>\n                </button>\n                <ui-sidebar-menu-badge>\n                  <span class=\"bg-success size-1.5 rounded-full\"></span>\n                </ui-sidebar-menu-badge>\n              </li>\n            </ul>\n          </ui-sidebar-group-content>\n        </ui-sidebar-group>\n\n        <ui-sidebar-separator />\n\n        <ui-sidebar-group>\n          <ui-sidebar-group-label>Administration</ui-sidebar-group-label>\n          <ui-sidebar-group-content>\n            <ul ui-sidebar-menu>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Settings\">\n                  <lucide-icon [img]=\"SettingsIcon\" class=\"size-4\" />\n                  <span>Settings</span>\n                </button>\n              </li>\n              <li ui-sidebar-menu-item>\n                <button type=\"button\" ui-sidebar-menu-button tooltip=\"Help center\">\n                  <lucide-icon [img]=\"HelpCircle\" class=\"size-4\" />\n                  <span>Help center</span>\n                </button>\n              </li>\n            </ul>\n          </ui-sidebar-group-content>\n        </ui-sidebar-group>\n      </ui-sidebar-content>\n\n      <ui-sidebar-footer>\n        <ul ui-sidebar-menu>\n          <li ui-sidebar-menu-item>\n            <ui-dropdown-menu>\n              <button\n                type=\"button\"\n                ui-sidebar-menu-button\n                ui-dropdown-menu-trigger\n                size=\"lg\"\n                class=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground group-data-[collapsible=icon]:!justify-center\"\n              >\n                <span class=\"relative shrink-0\">\n                  <ui-avatar class=\"h-8 w-8 rounded-lg group-data-[collapsible=icon]:size-6\">\n                    <ui-avatar-fallback class=\"bg-sidebar-accent text-sidebar-accent-foreground rounded-lg text-xs\"\n                      >JC</ui-avatar-fallback\n                    >\n                  </ui-avatar>\n                  <span\n                    class=\"bg-destructive ring-sidebar absolute -right-0.5 -bottom-0.5 size-2.5 rounded-full ring-2\"\n                  ></span>\n                </span>\n                <span class=\"grid flex-1 text-left text-sm leading-tight group-data-[collapsible=icon]:hidden\">\n                  <span class=\"truncate font-medium\">James Carter</span>\n                  <span class=\"text-muted-foreground truncate text-xs\">Admin</span>\n                </span>\n                <lucide-icon [img]=\"ChevronsUpDown\" class=\"ml-auto size-4 group-data-[collapsible=icon]:hidden\" />\n              </button>\n              <ui-dropdown-menu-content\n                class=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n                [side]=\"sidebar.isMobile ? 'bottom' : 'right'\"\n                align=\"end\"\n                [sideOffset]=\"4\"\n              >\n                <ui-dropdown-menu-label>James Carter</ui-dropdown-menu-label>\n                <ui-dropdown-menu-separator />\n                <ui-dropdown-menu-item>\n                  <lucide-icon [img]=\"Send\" class=\"size-4\" /> Invite teammates\n                </ui-dropdown-menu-item>\n                <ui-dropdown-menu-item>\n                  <lucide-icon [img]=\"SettingsIcon\" class=\"size-4\" /> Workspace settings\n                </ui-dropdown-menu-item>\n                <ui-dropdown-menu-separator />\n                <ui-dropdown-menu-sub>\n                  <ui-dropdown-menu-sub-trigger>\n                    <lucide-icon [img]=\"Palette\" class=\"size-4\" />\n                    Theme\n                    <span class=\"text-muted-foreground ml-auto text-xs capitalize\">{{ theme.theme() }}</span>\n                  </ui-dropdown-menu-sub-trigger>\n                  <ui-dropdown-menu-sub-content class=\"min-w-36\">\n                    <ui-dropdown-menu-radio-group [value]=\"theme.theme()\" (valueChange)=\"theme.setTheme($any($event))\">\n                      <ui-dropdown-menu-radio-item value=\"light\">\n                        <lucide-icon [img]=\"Sun\" class=\"size-4\" /> Light\n                      </ui-dropdown-menu-radio-item>\n                      <ui-dropdown-menu-radio-item value=\"dark\">\n                        <lucide-icon [img]=\"Moon\" class=\"size-4\" /> Dark\n                      </ui-dropdown-menu-radio-item>\n                      <ui-dropdown-menu-radio-item value=\"system\">\n                        <lucide-icon [img]=\"Monitor\" class=\"size-4\" /> System\n                      </ui-dropdown-menu-radio-item>\n                    </ui-dropdown-menu-radio-group>\n                  </ui-dropdown-menu-sub-content>\n                </ui-dropdown-menu-sub>\n              </ui-dropdown-menu-content>\n            </ui-dropdown-menu>\n          </li>\n        </ul>\n      </ui-sidebar-footer>\n\n      <button ui-sidebar-rail></button>\n    </ui-sidebar>\n  `,\n})\nexport class UiSidebar06Component {\n  readonly sidebar = injectSidebar()\n  readonly theme = injectTheme()\n\n  protected readonly Briefcase = Briefcase\n  protected readonly Calendar = Calendar\n  protected readonly ChartLine = ChartLine\n  protected readonly ChevronsUpDown = ChevronsUpDown\n  protected readonly ClipboardList = ClipboardList\n  protected readonly Folder = Folder\n  protected readonly GraduationCap = GraduationCap\n  protected readonly HeartPulse = HeartPulse\n  protected readonly HelpCircle = HelpCircle\n  protected readonly Inbox = Inbox\n  protected readonly LayoutDashboard = LayoutDashboard\n  protected readonly Monitor = Monitor\n  protected readonly Moon = Moon\n  protected readonly Palette = Palette\n  protected readonly Search = Search\n  protected readonly Send = Send\n  protected readonly SettingsIcon = SettingsIcon\n  protected readonly Star = Star\n  protected readonly Sun = Sun\n  protected readonly Users = Users\n}\n",
      "type": "registry:block",
      "target": "~/src/app/components/blocks/sidebar-06/sidebar-06.component.ts"
    },
    {
      "path": "packages/registry-angular/blocks/sidebar-06/index.ts",
      "content": "export { UiSidebar06Component } from './sidebar-06.component'\n",
      "type": "registry:block",
      "target": "~/src/app/components/blocks/sidebar-06/index.ts"
    }
  ],
  "dependencies": [
    "lucide-angular"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/angular/sidebar.json",
    "https://uipkge.dev/r/angular/avatar.json",
    "https://uipkge.dev/r/angular/dropdown-menu.json",
    "https://uipkge.dev/r/angular/use-theme.json"
  ],
  "description": "Colorful, customised app sidebar -- branded project tiles with star favorites, badge counts, team avatars with status dots, and a user pill footer. Inline search input with ⌘F shortcut. Modeled on a HRMS workspace shell.",
  "categories": [
    "layout",
    "sidebar"
  ]
}