{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "menubar",
  "title": "Menubar",
  "description": "A capsule of menu titles whose menus share one panel of glass.",
  "dependencies": [
    "@base-ui/react@^1.8.0"
  ],
  "registryDependencies": [
    "https://liquikit.dev/r/core.json",
    "https://liquikit.dev/r/glass.json",
    "https://liquikit.dev/r/menu.json",
    "https://liquikit.dev/r/popup.json"
  ],
  "files": [
    {
      "path": "src/menubar.tsx",
      "content": "\"use client\";\n\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { Menubar as BaseMenubar } from \"@base-ui/react/menubar\";\nimport { type CSSProperties, type ReactNode, useState } from \"react\";\nimport { GlassPane, type GlassRefraction } from \"./glass\";\nimport { Menu, MenuPlacement } from \"./menu\";\nimport { type GlassHandoff, Handoff, usePopupState } from \"./popup\";\nimport { cx, type GlassOptions } from \"./types\";\nimport \"./liquikit.css\";\n\nconst BELOW = { side: \"bottom\", align: \"start\", sideOffset: 10 } as const;\n\nexport type MenubarRootProps = Omit<\n\tBaseMenubar.Props,\n\t\"className\" | \"style\" | \"render\"\n> &\n\tGlassOptions & {\n\t\trefraction?: GlassRefraction;\n\t\tclassName?: string;\n\t\tstyle?: CSSProperties;\n\t\tchildren?: ReactNode;\n\t};\n\nfunction Root({\n\ttheme,\n\tlens,\n\tliquid,\n\trefraction,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...barProps\n}: MenubarRootProps) {\n\tconst [handoff] = useState<GlassHandoff>(() => ({\n\t\tpanel: { current: null },\n\t\topen: { current: 0 },\n\t}));\n\treturn (\n\t\t<Handoff.Provider value={handoff}>\n\t\t\t<MenuPlacement.Provider value={BELOW}>\n\t\t\t\t<BaseMenubar\n\t\t\t\t\t{...barProps}\n\t\t\t\t\tclassName={cx(\"glass-ui-menubar\", className)}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\trender={(props) => (\n\t\t\t\t\t\t<GlassPane\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tradius=\"capsule\"\n\t\t\t\t\t\t\ttheme={theme}\n\t\t\t\t\t\t\tlens={lens}\n\t\t\t\t\t\t\tliquid={liquid}\n\t\t\t\t\t\t\trefraction={refraction}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"glass-ui-menubar__row\">{children}</span>\n\t\t\t\t</BaseMenubar>\n\t\t\t</MenuPlacement.Provider>\n\t\t</Handoff.Provider>\n\t);\n}\n\nfunction Trigger({\n\tclassName,\n\t...triggerProps\n}: Omit<BaseMenu.Trigger.Props, \"className\"> & { className?: string }) {\n\tconst { trigger } = usePopupState();\n\treturn (\n\t\t<BaseMenu.Trigger\n\t\t\t{...triggerProps}\n\t\t\tref={(element: HTMLElement | null) => {\n\t\t\t\ttrigger.current = element;\n\t\t\t}}\n\t\t\tclassName={cx(\n\t\t\t\t\"glass-ui-toolbar__button glass-ui-menubar__item\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t/>\n\t);\n}\n\nexport const Menubar = {\n\tRoot,\n\tMenu: Menu.Root,\n\tTrigger,\n\tPopup: Menu.Popup,\n};\n\nexport const MenubarRoot = Menubar.Root;\nexport const MenubarMenu = Menubar.Menu;\nexport const MenubarTrigger = Menubar.Trigger;\nexport const MenubarPopup = Menubar.Popup;\n",
      "type": "registry:ui",
      "target": "@components/liquikit/menubar.tsx"
    }
  ],
  "type": "registry:ui"
}