diff --git a/apps/demo/components/ui/badge.tsx b/apps/demo/components/ui/badge.tsx new file mode 100644 index 0000000000..69bef33370 --- /dev/null +++ b/apps/demo/components/ui/badge.tsx @@ -0,0 +1,31 @@ +import { type VariantProps, cva } from "class-variance-authority"; +import * as React from "react"; + +import { classNames } from "../../lib/utils"; + +const badgeVariants = cva( + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +); + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return
; +} + +export { Badge, badgeVariants }; diff --git a/apps/demo/components/ui/breadcrumb.tsx b/apps/demo/components/ui/breadcrumb.tsx new file mode 100644 index 0000000000..82d777b7e4 --- /dev/null +++ b/apps/demo/components/ui/breadcrumb.tsx @@ -0,0 +1,91 @@ +import { Slot } from "@radix-ui/react-slot"; +import { ChevronRight, MoreHorizontal } from "lucide-react"; +import * as React from "react"; + +import { classNames } from "../../lib/utils"; + +const Breadcrumb = React.forwardRef< + HTMLElement, + React.ComponentPropsWithoutRef<"nav"> & { + separator?: React.ReactNode; + } +>(({ ...props }, ref) =>