8-bit Menu Bar
8bitcn/menubarFreeComponent
A simple 8-bit menu bar component
Install it
npx shadcn@latest add https://www.8bitcn.com/r/menubar.jsonSource
1"use client";23import * as React from "react";45import * as MenubarPrimitive from "@radix-ui/react-menubar";6import { cva } from "class-variance-authority";7import { Circle } from "lucide-react";89import { cn } from "@/lib/utils";1011import "@/components/ui/8bit/styles/retro.css";1213export const menubarVariants = cva("", {14 variants: {15 font: {16 normal: "",17 retro: "retro",18 },19 },20 defaultVariants: {21 font: "retro",22 },23});2425function MenubarMenu({26 ...props27}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {28 return <MenubarPrimitive.Menu {...props} />;29}3031function MenubarGroup({32 ...props33}: React.ComponentProps<typeof MenubarPrimitive.Group>) {34 return <MenubarPrimitive.Group {...props} />;35}3637function MenubarPortal({38 ...props39}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {40 return <MenubarPrimitive.Portal {...props} />;41}4243function MenubarRadioGroup({44 ...props45}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {46 return <MenubarPrimitive.RadioGroup {...props} />;47}4849function MenubarSub({50 ...props51}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {52 return <MenubarPrimitive.Sub data-slot="menubar-sub" {...props} />;53}5455const Menubar = React.forwardRef<56 React.ComponentRef<typeof MenubarPrimitive.Root>,57 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>58>(({ className, ...props }, ref) => (59 <div60 className={cn(61 "relative border-y-6 border-foreground dark:border-ring !p-0",62 menubarVariants({ font: "retro" }),63 className64 )}65 >66 <MenubarPrimitive.Root67 ref={ref}68 className={cn(69 "flex h-10 items-center space-x-1 bg-background p-1",70 className71 )}72 {...props}73 />74 <div75 className="absolute inset-0 border-x-6 -mx-1.5 border-foreground dark:border-ring pointer-events-none"76 aria-hidden="true"77 />78 </div>79));80Menubar.displayName = MenubarPrimitive.Root.displayName;8182const MenubarTrigger = React.forwardRef<83 React.ComponentRef<typeof MenubarPrimitive.Trigger>,84 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>85>(({ className, ...props }, ref) => (86 <MenubarPrimitive.Trigger87 ref={ref}88 className={cn(89// … truncated
Files it writes
More from 8bitcn
All 121 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| 8-bit Accordionaccordion | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alertalert | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alert Dialogalert-dialog | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Avataravatar | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Badgebadge | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Breadcrumbbreadcrumb | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Buttonbutton | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Button Groupbutton-group | 8bitcn | Components | Free | no deps · 4 files |
