@dilipod/ui 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/logo.tsx +4 -4
- package/src/components/stat.tsx +4 -4
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -179,7 +179,7 @@ var sizes = {
|
|
|
179
179
|
function Logo({
|
|
180
180
|
variant = "dark",
|
|
181
181
|
size = "md",
|
|
182
|
-
href,
|
|
182
|
+
href = "/",
|
|
183
183
|
className
|
|
184
184
|
}) {
|
|
185
185
|
const s = sizes[size];
|
|
@@ -230,8 +230,8 @@ function Logo({
|
|
|
230
230
|
]
|
|
231
231
|
}
|
|
232
232
|
);
|
|
233
|
-
if (href) {
|
|
234
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: "inline-flex items-center group", children: svgContent });
|
|
233
|
+
if (href !== null) {
|
|
234
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, "aria-label": "Go to homepage", className: "inline-flex items-center group", children: svgContent });
|
|
235
235
|
}
|
|
236
236
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex items-center", children: svgContent });
|
|
237
237
|
}
|
|
@@ -510,8 +510,8 @@ var statVariants = classVarianceAuthority.cva("", {
|
|
|
510
510
|
var valueVariants = classVarianceAuthority.cva("font-bold", {
|
|
511
511
|
variants: {
|
|
512
512
|
size: {
|
|
513
|
-
sm: "text-
|
|
514
|
-
default: "text-
|
|
513
|
+
sm: "text-lg",
|
|
514
|
+
default: "text-2xl",
|
|
515
515
|
lg: "text-4xl md:text-5xl",
|
|
516
516
|
xl: "text-5xl md:text-6xl"
|
|
517
517
|
},
|
|
@@ -551,10 +551,10 @@ var Stat = React4__namespace.forwardRef(
|
|
|
551
551
|
className: cn(statVariants({ variant, align }), className),
|
|
552
552
|
...props,
|
|
553
553
|
children: [
|
|
554
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-baseline gap-2", justifyClass), children: [
|
|
554
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-wrap lg:flex-nowrap items-baseline gap-x-2", justifyClass), children: [
|
|
555
555
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(valueVariants({ size: valueSize, color: valueColor })), children: value }),
|
|
556
556
|
suffix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
|
|
557
|
-
"font-medium text-[var(--cyan)]",
|
|
557
|
+
"font-medium text-[var(--cyan)] shrink-0",
|
|
558
558
|
valueSize === "lg" || valueSize === "xl" ? "text-lg md:text-xl" : "text-base md:text-lg"
|
|
559
559
|
), children: suffix })
|
|
560
560
|
] }),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/button.tsx","../src/components/sheet.tsx","../src/components/logo.tsx","../src/components/badge.tsx","../src/components/card.tsx","../src/components/progress.tsx","../src/components/icon-box.tsx","../src/components/tag.tsx","../src/components/stat.tsx"],"names":["twMerge","clsx","cva","React","Slot","jsx","SheetPrimitive","React2","jsxs","X","React3","React4","React5","React6","React7","React8"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer',\n {\n variants: {\n variant: {\n default:\n 'bg-[var(--black)] text-white border-2 border-[var(--black)] hover:bg-gray-800 hover:border-gray-800 active:scale-95',\n primary:\n 'bg-[var(--cyan)] text-[var(--black)] border-2 border-[var(--cyan)] hover:bg-[var(--cyan-dark)] hover:border-[var(--cyan-dark)] active:scale-95',\n destructive:\n 'bg-red-600 text-white border-2 border-red-600 hover:bg-red-700 hover:border-red-700 active:scale-95',\n outline:\n 'border-2 border-gray-300 bg-transparent hover:bg-gray-100 active:scale-95',\n secondary:\n 'bg-gray-100 text-[var(--black)] border-2 border-gray-100 hover:bg-gray-200 hover:border-gray-200 active:scale-95',\n ghost:\n 'hover:bg-gray-100 border-2 border-transparent',\n link:\n 'text-[var(--cyan)] underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-6 py-2',\n sm: 'h-9 px-4 text-xs',\n lg: 'h-12 px-8 text-base',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { X } from '@phosphor-icons/react'\n\nimport { cn } from '../lib/utils'\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col space-y-2 text-center sm:text-left',\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-[var(--black)]', className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\n\ninterface LogoProps {\n variant?: 'dark' | 'light' // dark = black text, light = white text\n size?: 'sm' | 'md' | 'lg'\n href?: string\n className?: string\n}\n\nconst sizes = {\n sm: { width: 100, height: 30 },\n md: { width: 130, height: 40 },\n lg: { width: 160, height: 50 },\n}\n\n/**\n * Logo component that renders the Dilipod logo as inline SVG\n * \n * @param variant - 'dark' for light backgrounds (black text), 'light' for dark backgrounds (white text)\n * @param size - 'sm' | 'md' | 'lg'\n * @param href - Optional link href (wraps logo in anchor tag)\n * @param className - Additional CSS classes\n */\nexport function Logo({\n variant = 'dark',\n size = 'md',\n href,\n className,\n}: LogoProps) {\n const s = sizes[size]\n const textColor = variant === 'light' ? 'white' : '#0A0A0A'\n const iconTextColor = variant === 'light' ? 'white' : '#0A0A0A'\n\n const svgContent = (\n <svg\n width={s.width}\n height={s.height}\n viewBox=\"0 0 130 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <defs>\n <linearGradient id={`gradient-${variant}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#007A70\" />\n <stop offset=\"50%\" stopColor=\"#00B8A9\" />\n <stop offset=\"100%\" stopColor=\"#00E5D4\" />\n </linearGradient>\n </defs>\n {/* Icon */}\n <rect width=\"40\" height=\"40\" rx=\"4\" fill={`url(#gradient-${variant})`} />\n <text\n x=\"20\"\n y=\"29\"\n textAnchor=\"middle\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"24\"\n fontWeight=\"700\"\n fill={iconTextColor}\n >\n D\n </text>\n {/* Text */}\n <text\n x=\"52\"\n y=\"28\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"20\"\n fontWeight=\"700\"\n letterSpacing=\"1\"\n fill={textColor}\n >\n Dilipod\n </text>\n </svg>\n )\n\n if (href) {\n return (\n <a href={href} className=\"inline-flex items-center group\">\n {svgContent}\n </a>\n )\n }\n\n return <div className=\"inline-flex items-center\">{svgContent}</div>\n}\n\nexport type { LogoProps }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center gap-1.5 rounded-full font-semibold transition-colors',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-gray-700',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n success: 'bg-green-100 text-green-700',\n warning: 'bg-amber-100 text-amber-700',\n error: 'bg-red-100 text-red-700',\n outline: 'border border-gray-200 text-gray-600 bg-white',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n default: 'px-2.5 py-1 text-xs',\n lg: 'px-3 py-1.5 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n /** Show animated pulse dot */\n pulse?: boolean\n /** Custom pulse color (overrides variant-based color) */\n pulseColor?: 'default' | 'primary' | 'success' | 'warning' | 'error'\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, pulse, pulseColor: pulseColorProp, children, ...props }, ref) => {\n const pulseColorMap = {\n default: 'bg-gray-500',\n primary: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n outline: 'bg-gray-400',\n }\n \n // Use custom pulseColor if provided, otherwise derive from variant\n const pulseColor = pulseColorProp \n ? pulseColorMap[pulseColorProp] \n : pulseColorMap[variant || 'default']\n\n return (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n >\n {pulse && (\n <span className=\"relative flex h-1.5 w-1.5\">\n <span\n className={cn(\n 'absolute inline-flex h-full w-full animate-ping rounded-full opacity-75',\n pulseColor\n )}\n />\n <span\n className={cn(\n 'relative inline-flex h-1.5 w-1.5 rounded-full',\n pulseColor\n )}\n />\n </span>\n )}\n {children}\n </span>\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge, badgeVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-sm border border-gray-200 bg-white shadow-sm',\n className\n )}\n {...props}\n />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n))\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n 'text-lg font-bold leading-none tracking-tight text-[var(--black)]',\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n))\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n))\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst progressVariants = cva('h-full rounded-full transition-all duration-300', {\n variants: {\n variant: {\n default: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n gradient: 'bg-gradient-to-r from-[var(--cyan-dark)] to-[var(--cyan)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressVariants> {\n /** Progress value (0-100) */\n value: number\n /** Show percentage label */\n showLabel?: boolean\n /** Custom label text (defaults to \"Progress\") */\n label?: string\n /** Size of the progress bar */\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value, variant, showLabel, label = 'Progress', size = 'default', ...props }, ref) => {\n const clampedValue = Math.min(100, Math.max(0, value))\n \n const heightClass = {\n sm: 'h-1',\n default: 'h-1.5',\n lg: 'h-2.5',\n }[size]\n\n return (\n <div className={cn('w-full', className)} ref={ref} {...props}>\n {showLabel && (\n <div className=\"flex justify-between text-xs mb-1\">\n <span className=\"text-gray-500\">{label}</span>\n <span className=\"font-semibold text-[var(--black)]\">{clampedValue}%</span>\n </div>\n )}\n <div\n className={cn(\n 'w-full bg-gray-200 rounded-full overflow-hidden',\n heightClass\n )}\n >\n <div\n className={cn(progressVariants({ variant }))}\n style={{ width: `${clampedValue}%` }}\n />\n </div>\n </div>\n )\n }\n)\nProgress.displayName = 'Progress'\n\nexport { Progress, progressVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst iconBoxVariants = cva(\n 'inline-flex items-center justify-center shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-[var(--black)] text-white',\n primary: 'bg-[var(--cyan)] text-[var(--black)]',\n outline: 'border-2 border-gray-200 bg-white text-[var(--black)]',\n ghost: 'bg-gray-100 text-gray-600',\n gradient: 'bg-gradient-to-br from-[var(--black)] to-[var(--cyan-dark)] text-white',\n },\n size: {\n sm: 'w-8 h-8',\n default: 'w-10 h-10',\n lg: 'w-12 h-12',\n xl: 'w-14 h-14',\n },\n rounded: {\n sm: 'rounded-sm',\n default: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n rounded: 'sm',\n },\n }\n)\n\nexport interface IconBoxProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconBoxVariants> {}\n\nconst IconBox = React.forwardRef<HTMLDivElement, IconBoxProps>(\n ({ className, variant, size, rounded, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(iconBoxVariants({ variant, size, rounded }), className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nIconBox.displayName = 'IconBox'\n\nexport { IconBox, iconBoxVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst tagVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-[var(--black)]',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n outline: 'border border-gray-200 bg-white text-gray-700 hover:border-[var(--black)] hover:text-[var(--black)]',\n dark: 'bg-[var(--black)] text-white',\n },\n size: {\n sm: 'px-2 py-1 text-[10px] rounded',\n default: 'px-3 py-1.5 text-xs rounded-full',\n lg: 'px-4 py-2 text-sm rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof tagVariants> {\n /** Optional icon to display before text */\n icon?: React.ReactNode\n}\n\nconst Tag = React.forwardRef<HTMLSpanElement, TagProps>(\n ({ className, variant, size, icon, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(tagVariants({ variant, size }), className)}\n {...props}\n >\n {icon && <span className=\"shrink-0\">{icon}</span>}\n {children}\n </span>\n )\n }\n)\nTag.displayName = 'Tag'\n\nexport { Tag, tagVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst statVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'p-3 rounded-sm bg-gray-50 text-center',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n variant: 'default',\n align: 'left',\n },\n})\n\nconst valueVariants = cva('font-bold', {\n variants: {\n size: {\n sm: 'text-xl',\n default: 'text-3xl md:text-4xl',\n lg: 'text-4xl md:text-5xl',\n xl: 'text-5xl md:text-6xl',\n },\n color: {\n default: 'text-[var(--black)]',\n primary: 'text-[var(--cyan)]',\n white: 'text-white',\n gradient: 'text-gradient',\n },\n },\n defaultVariants: {\n size: 'default',\n color: 'default',\n },\n})\n\nexport interface StatProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statVariants> {\n /** The main value to display */\n value: string | number\n /** Label below the value */\n label?: string\n /** Optional suffix after value (e.g., \"faster\", \"cheaper\") */\n suffix?: string\n /** Size of the value text */\n valueSize?: 'sm' | 'default' | 'lg' | 'xl'\n /** Color of the value */\n valueColor?: 'default' | 'primary' | 'white' | 'gradient'\n}\n\nconst Stat = React.forwardRef<HTMLDivElement, StatProps>(\n (\n {\n className,\n variant,\n align,\n value,\n label,\n suffix,\n valueSize = 'default',\n valueColor = 'default',\n ...props\n },\n ref\n ) => {\n const justifyClass = {\n left: 'justify-start',\n center: 'justify-center',\n right: 'justify-end',\n }[align || 'left']\n\n return (\n <div\n ref={ref}\n className={cn(statVariants({ variant, align }), className)}\n {...props}\n >\n <div className={cn('flex items-baseline gap-2', justifyClass)}>\n <span className={cn(valueVariants({ size: valueSize, color: valueColor }))}>\n {value}\n </span>\n {suffix && (\n <span className={cn(\n \"font-medium text-[var(--cyan)]\",\n valueSize === 'lg' || valueSize === 'xl' ? 'text-lg md:text-xl' : 'text-base md:text-lg'\n )}>\n {suffix}\n </span>\n )}\n </div>\n {label && (\n <div className={cn(\n \"font-medium mt-1\",\n valueColor === 'white' ? 'text-white/70 text-sm md:text-base' : 'text-gray-500 text-xs md:text-sm'\n )}>\n {label}\n </div>\n )}\n </div>\n )\n }\n)\nStat.displayName = 'Stat'\n\nexport { Stat, statVariants, valueVariants }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/button.tsx","../src/components/sheet.tsx","../src/components/logo.tsx","../src/components/badge.tsx","../src/components/card.tsx","../src/components/progress.tsx","../src/components/icon-box.tsx","../src/components/tag.tsx","../src/components/stat.tsx"],"names":["twMerge","clsx","cva","React","Slot","jsx","SheetPrimitive","React2","jsxs","X","React3","React4","React5","React6","React7","React8"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer',\n {\n variants: {\n variant: {\n default:\n 'bg-[var(--black)] text-white border-2 border-[var(--black)] hover:bg-gray-800 hover:border-gray-800 active:scale-95',\n primary:\n 'bg-[var(--cyan)] text-[var(--black)] border-2 border-[var(--cyan)] hover:bg-[var(--cyan-dark)] hover:border-[var(--cyan-dark)] active:scale-95',\n destructive:\n 'bg-red-600 text-white border-2 border-red-600 hover:bg-red-700 hover:border-red-700 active:scale-95',\n outline:\n 'border-2 border-gray-300 bg-transparent hover:bg-gray-100 active:scale-95',\n secondary:\n 'bg-gray-100 text-[var(--black)] border-2 border-gray-100 hover:bg-gray-200 hover:border-gray-200 active:scale-95',\n ghost:\n 'hover:bg-gray-100 border-2 border-transparent',\n link:\n 'text-[var(--cyan)] underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-6 py-2',\n sm: 'h-9 px-4 text-xs',\n lg: 'h-12 px-8 text-base',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { X } from '@phosphor-icons/react'\n\nimport { cn } from '../lib/utils'\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col space-y-2 text-center sm:text-left',\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-[var(--black)]', className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\n\ninterface LogoProps {\n variant?: 'dark' | 'light' // dark = black text, light = white text\n size?: 'sm' | 'md' | 'lg'\n href?: string | null // defaults to '/', pass null to disable link\n className?: string\n}\n\nconst sizes = {\n sm: { width: 100, height: 30 },\n md: { width: 130, height: 40 },\n lg: { width: 160, height: 50 },\n}\n\n/**\n * Logo component that renders the Dilipod logo as inline SVG\n * \n * @param variant - 'dark' for light backgrounds (black text), 'light' for dark backgrounds (white text)\n * @param size - 'sm' | 'md' | 'lg'\n * @param href - Optional link href (wraps logo in anchor tag)\n * @param className - Additional CSS classes\n */\nexport function Logo({\n variant = 'dark',\n size = 'md',\n href = '/',\n className,\n}: LogoProps) {\n const s = sizes[size]\n const textColor = variant === 'light' ? 'white' : '#0A0A0A'\n const iconTextColor = variant === 'light' ? 'white' : '#0A0A0A'\n\n const svgContent = (\n <svg\n width={s.width}\n height={s.height}\n viewBox=\"0 0 130 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <defs>\n <linearGradient id={`gradient-${variant}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#007A70\" />\n <stop offset=\"50%\" stopColor=\"#00B8A9\" />\n <stop offset=\"100%\" stopColor=\"#00E5D4\" />\n </linearGradient>\n </defs>\n {/* Icon */}\n <rect width=\"40\" height=\"40\" rx=\"4\" fill={`url(#gradient-${variant})`} />\n <text\n x=\"20\"\n y=\"29\"\n textAnchor=\"middle\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"24\"\n fontWeight=\"700\"\n fill={iconTextColor}\n >\n D\n </text>\n {/* Text */}\n <text\n x=\"52\"\n y=\"28\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"20\"\n fontWeight=\"700\"\n letterSpacing=\"1\"\n fill={textColor}\n >\n Dilipod\n </text>\n </svg>\n )\n\n if (href !== null) {\n return (\n <a href={href} aria-label=\"Go to homepage\" className=\"inline-flex items-center group\">\n {svgContent}\n </a>\n )\n }\n\n return <div className=\"inline-flex items-center\">{svgContent}</div>\n}\n\nexport type { LogoProps }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center gap-1.5 rounded-full font-semibold transition-colors',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-gray-700',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n success: 'bg-green-100 text-green-700',\n warning: 'bg-amber-100 text-amber-700',\n error: 'bg-red-100 text-red-700',\n outline: 'border border-gray-200 text-gray-600 bg-white',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n default: 'px-2.5 py-1 text-xs',\n lg: 'px-3 py-1.5 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n /** Show animated pulse dot */\n pulse?: boolean\n /** Custom pulse color (overrides variant-based color) */\n pulseColor?: 'default' | 'primary' | 'success' | 'warning' | 'error'\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, pulse, pulseColor: pulseColorProp, children, ...props }, ref) => {\n const pulseColorMap = {\n default: 'bg-gray-500',\n primary: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n outline: 'bg-gray-400',\n }\n \n // Use custom pulseColor if provided, otherwise derive from variant\n const pulseColor = pulseColorProp \n ? pulseColorMap[pulseColorProp] \n : pulseColorMap[variant || 'default']\n\n return (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n >\n {pulse && (\n <span className=\"relative flex h-1.5 w-1.5\">\n <span\n className={cn(\n 'absolute inline-flex h-full w-full animate-ping rounded-full opacity-75',\n pulseColor\n )}\n />\n <span\n className={cn(\n 'relative inline-flex h-1.5 w-1.5 rounded-full',\n pulseColor\n )}\n />\n </span>\n )}\n {children}\n </span>\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge, badgeVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-sm border border-gray-200 bg-white shadow-sm',\n className\n )}\n {...props}\n />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n))\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n 'text-lg font-bold leading-none tracking-tight text-[var(--black)]',\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n))\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n))\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst progressVariants = cva('h-full rounded-full transition-all duration-300', {\n variants: {\n variant: {\n default: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n gradient: 'bg-gradient-to-r from-[var(--cyan-dark)] to-[var(--cyan)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressVariants> {\n /** Progress value (0-100) */\n value: number\n /** Show percentage label */\n showLabel?: boolean\n /** Custom label text (defaults to \"Progress\") */\n label?: string\n /** Size of the progress bar */\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value, variant, showLabel, label = 'Progress', size = 'default', ...props }, ref) => {\n const clampedValue = Math.min(100, Math.max(0, value))\n \n const heightClass = {\n sm: 'h-1',\n default: 'h-1.5',\n lg: 'h-2.5',\n }[size]\n\n return (\n <div className={cn('w-full', className)} ref={ref} {...props}>\n {showLabel && (\n <div className=\"flex justify-between text-xs mb-1\">\n <span className=\"text-gray-500\">{label}</span>\n <span className=\"font-semibold text-[var(--black)]\">{clampedValue}%</span>\n </div>\n )}\n <div\n className={cn(\n 'w-full bg-gray-200 rounded-full overflow-hidden',\n heightClass\n )}\n >\n <div\n className={cn(progressVariants({ variant }))}\n style={{ width: `${clampedValue}%` }}\n />\n </div>\n </div>\n )\n }\n)\nProgress.displayName = 'Progress'\n\nexport { Progress, progressVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst iconBoxVariants = cva(\n 'inline-flex items-center justify-center shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-[var(--black)] text-white',\n primary: 'bg-[var(--cyan)] text-[var(--black)]',\n outline: 'border-2 border-gray-200 bg-white text-[var(--black)]',\n ghost: 'bg-gray-100 text-gray-600',\n gradient: 'bg-gradient-to-br from-[var(--black)] to-[var(--cyan-dark)] text-white',\n },\n size: {\n sm: 'w-8 h-8',\n default: 'w-10 h-10',\n lg: 'w-12 h-12',\n xl: 'w-14 h-14',\n },\n rounded: {\n sm: 'rounded-sm',\n default: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n rounded: 'sm',\n },\n }\n)\n\nexport interface IconBoxProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconBoxVariants> {}\n\nconst IconBox = React.forwardRef<HTMLDivElement, IconBoxProps>(\n ({ className, variant, size, rounded, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(iconBoxVariants({ variant, size, rounded }), className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nIconBox.displayName = 'IconBox'\n\nexport { IconBox, iconBoxVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst tagVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-[var(--black)]',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n outline: 'border border-gray-200 bg-white text-gray-700 hover:border-[var(--black)] hover:text-[var(--black)]',\n dark: 'bg-[var(--black)] text-white',\n },\n size: {\n sm: 'px-2 py-1 text-[10px] rounded',\n default: 'px-3 py-1.5 text-xs rounded-full',\n lg: 'px-4 py-2 text-sm rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof tagVariants> {\n /** Optional icon to display before text */\n icon?: React.ReactNode\n}\n\nconst Tag = React.forwardRef<HTMLSpanElement, TagProps>(\n ({ className, variant, size, icon, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(tagVariants({ variant, size }), className)}\n {...props}\n >\n {icon && <span className=\"shrink-0\">{icon}</span>}\n {children}\n </span>\n )\n }\n)\nTag.displayName = 'Tag'\n\nexport { Tag, tagVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst statVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'p-3 rounded-sm bg-gray-50 text-center',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n variant: 'default',\n align: 'left',\n },\n})\n\nconst valueVariants = cva('font-bold', {\n variants: {\n size: {\n sm: 'text-lg',\n default: 'text-2xl',\n lg: 'text-4xl md:text-5xl',\n xl: 'text-5xl md:text-6xl',\n },\n color: {\n default: 'text-[var(--black)]',\n primary: 'text-[var(--cyan)]',\n white: 'text-white',\n gradient: 'text-gradient',\n },\n },\n defaultVariants: {\n size: 'default',\n color: 'default',\n },\n})\n\nexport interface StatProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statVariants> {\n /** The main value to display */\n value: string | number\n /** Label below the value */\n label?: string\n /** Optional suffix after value (e.g., \"faster\", \"cheaper\") */\n suffix?: string\n /** Size of the value text */\n valueSize?: 'sm' | 'default' | 'lg' | 'xl'\n /** Color of the value */\n valueColor?: 'default' | 'primary' | 'white' | 'gradient'\n}\n\nconst Stat = React.forwardRef<HTMLDivElement, StatProps>(\n (\n {\n className,\n variant,\n align,\n value,\n label,\n suffix,\n valueSize = 'default',\n valueColor = 'default',\n ...props\n },\n ref\n ) => {\n const justifyClass = {\n left: 'justify-start',\n center: 'justify-center',\n right: 'justify-end',\n }[align || 'left']\n\n return (\n <div\n ref={ref}\n className={cn(statVariants({ variant, align }), className)}\n {...props}\n >\n <div className={cn('flex flex-wrap lg:flex-nowrap items-baseline gap-x-2', justifyClass)}>\n <span className={cn(valueVariants({ size: valueSize, color: valueColor }))}>\n {value}\n </span>\n {suffix && (\n <span className={cn(\n \"font-medium text-[var(--cyan)] shrink-0\",\n valueSize === 'lg' || valueSize === 'xl' ? 'text-lg md:text-xl' : 'text-base md:text-lg'\n )}>\n {suffix}\n </span>\n )}\n </div>\n {label && (\n <div className={cn(\n \"font-medium mt-1\",\n valueColor === 'white' ? 'text-white/70 text-sm md:text-base' : 'text-gray-500 text-xs md:text-sm'\n )}>\n {label}\n </div>\n )}\n </div>\n )\n }\n)\nStat.displayName = 'Stat'\n\nexport { Stat, statVariants, valueVariants }\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -157,7 +157,7 @@ var sizes = {
|
|
|
157
157
|
function Logo({
|
|
158
158
|
variant = "dark",
|
|
159
159
|
size = "md",
|
|
160
|
-
href,
|
|
160
|
+
href = "/",
|
|
161
161
|
className
|
|
162
162
|
}) {
|
|
163
163
|
const s = sizes[size];
|
|
@@ -208,8 +208,8 @@ function Logo({
|
|
|
208
208
|
]
|
|
209
209
|
}
|
|
210
210
|
);
|
|
211
|
-
if (href) {
|
|
212
|
-
return /* @__PURE__ */ jsx("a", { href, className: "inline-flex items-center group", children: svgContent });
|
|
211
|
+
if (href !== null) {
|
|
212
|
+
return /* @__PURE__ */ jsx("a", { href, "aria-label": "Go to homepage", className: "inline-flex items-center group", children: svgContent });
|
|
213
213
|
}
|
|
214
214
|
return /* @__PURE__ */ jsx("div", { className: "inline-flex items-center", children: svgContent });
|
|
215
215
|
}
|
|
@@ -488,8 +488,8 @@ var statVariants = cva("", {
|
|
|
488
488
|
var valueVariants = cva("font-bold", {
|
|
489
489
|
variants: {
|
|
490
490
|
size: {
|
|
491
|
-
sm: "text-
|
|
492
|
-
default: "text-
|
|
491
|
+
sm: "text-lg",
|
|
492
|
+
default: "text-2xl",
|
|
493
493
|
lg: "text-4xl md:text-5xl",
|
|
494
494
|
xl: "text-5xl md:text-6xl"
|
|
495
495
|
},
|
|
@@ -529,10 +529,10 @@ var Stat = React4.forwardRef(
|
|
|
529
529
|
className: cn(statVariants({ variant, align }), className),
|
|
530
530
|
...props,
|
|
531
531
|
children: [
|
|
532
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex items-baseline gap-2", justifyClass), children: [
|
|
532
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-wrap lg:flex-nowrap items-baseline gap-x-2", justifyClass), children: [
|
|
533
533
|
/* @__PURE__ */ jsx("span", { className: cn(valueVariants({ size: valueSize, color: valueColor })), children: value }),
|
|
534
534
|
suffix && /* @__PURE__ */ jsx("span", { className: cn(
|
|
535
|
-
"font-medium text-[var(--cyan)]",
|
|
535
|
+
"font-medium text-[var(--cyan)] shrink-0",
|
|
536
536
|
valueSize === "lg" || valueSize === "xl" ? "text-lg md:text-xl" : "text-base md:text-lg"
|
|
537
537
|
), children: suffix })
|
|
538
538
|
] }),
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/button.tsx","../src/components/sheet.tsx","../src/components/logo.tsx","../src/components/badge.tsx","../src/components/card.tsx","../src/components/progress.tsx","../src/components/icon-box.tsx","../src/components/tag.tsx","../src/components/stat.tsx"],"names":["React","React2","jsx","cva","jsxs","React3","React5","React6","React7","React8"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer',\n {\n variants: {\n variant: {\n default:\n 'bg-[var(--black)] text-white border-2 border-[var(--black)] hover:bg-gray-800 hover:border-gray-800 active:scale-95',\n primary:\n 'bg-[var(--cyan)] text-[var(--black)] border-2 border-[var(--cyan)] hover:bg-[var(--cyan-dark)] hover:border-[var(--cyan-dark)] active:scale-95',\n destructive:\n 'bg-red-600 text-white border-2 border-red-600 hover:bg-red-700 hover:border-red-700 active:scale-95',\n outline:\n 'border-2 border-gray-300 bg-transparent hover:bg-gray-100 active:scale-95',\n secondary:\n 'bg-gray-100 text-[var(--black)] border-2 border-gray-100 hover:bg-gray-200 hover:border-gray-200 active:scale-95',\n ghost:\n 'hover:bg-gray-100 border-2 border-transparent',\n link:\n 'text-[var(--cyan)] underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-6 py-2',\n sm: 'h-9 px-4 text-xs',\n lg: 'h-12 px-8 text-base',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { X } from '@phosphor-icons/react'\n\nimport { cn } from '../lib/utils'\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col space-y-2 text-center sm:text-left',\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-[var(--black)]', className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\n\ninterface LogoProps {\n variant?: 'dark' | 'light' // dark = black text, light = white text\n size?: 'sm' | 'md' | 'lg'\n href?: string\n className?: string\n}\n\nconst sizes = {\n sm: { width: 100, height: 30 },\n md: { width: 130, height: 40 },\n lg: { width: 160, height: 50 },\n}\n\n/**\n * Logo component that renders the Dilipod logo as inline SVG\n * \n * @param variant - 'dark' for light backgrounds (black text), 'light' for dark backgrounds (white text)\n * @param size - 'sm' | 'md' | 'lg'\n * @param href - Optional link href (wraps logo in anchor tag)\n * @param className - Additional CSS classes\n */\nexport function Logo({\n variant = 'dark',\n size = 'md',\n href,\n className,\n}: LogoProps) {\n const s = sizes[size]\n const textColor = variant === 'light' ? 'white' : '#0A0A0A'\n const iconTextColor = variant === 'light' ? 'white' : '#0A0A0A'\n\n const svgContent = (\n <svg\n width={s.width}\n height={s.height}\n viewBox=\"0 0 130 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <defs>\n <linearGradient id={`gradient-${variant}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#007A70\" />\n <stop offset=\"50%\" stopColor=\"#00B8A9\" />\n <stop offset=\"100%\" stopColor=\"#00E5D4\" />\n </linearGradient>\n </defs>\n {/* Icon */}\n <rect width=\"40\" height=\"40\" rx=\"4\" fill={`url(#gradient-${variant})`} />\n <text\n x=\"20\"\n y=\"29\"\n textAnchor=\"middle\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"24\"\n fontWeight=\"700\"\n fill={iconTextColor}\n >\n D\n </text>\n {/* Text */}\n <text\n x=\"52\"\n y=\"28\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"20\"\n fontWeight=\"700\"\n letterSpacing=\"1\"\n fill={textColor}\n >\n Dilipod\n </text>\n </svg>\n )\n\n if (href) {\n return (\n <a href={href} className=\"inline-flex items-center group\">\n {svgContent}\n </a>\n )\n }\n\n return <div className=\"inline-flex items-center\">{svgContent}</div>\n}\n\nexport type { LogoProps }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center gap-1.5 rounded-full font-semibold transition-colors',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-gray-700',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n success: 'bg-green-100 text-green-700',\n warning: 'bg-amber-100 text-amber-700',\n error: 'bg-red-100 text-red-700',\n outline: 'border border-gray-200 text-gray-600 bg-white',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n default: 'px-2.5 py-1 text-xs',\n lg: 'px-3 py-1.5 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n /** Show animated pulse dot */\n pulse?: boolean\n /** Custom pulse color (overrides variant-based color) */\n pulseColor?: 'default' | 'primary' | 'success' | 'warning' | 'error'\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, pulse, pulseColor: pulseColorProp, children, ...props }, ref) => {\n const pulseColorMap = {\n default: 'bg-gray-500',\n primary: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n outline: 'bg-gray-400',\n }\n \n // Use custom pulseColor if provided, otherwise derive from variant\n const pulseColor = pulseColorProp \n ? pulseColorMap[pulseColorProp] \n : pulseColorMap[variant || 'default']\n\n return (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n >\n {pulse && (\n <span className=\"relative flex h-1.5 w-1.5\">\n <span\n className={cn(\n 'absolute inline-flex h-full w-full animate-ping rounded-full opacity-75',\n pulseColor\n )}\n />\n <span\n className={cn(\n 'relative inline-flex h-1.5 w-1.5 rounded-full',\n pulseColor\n )}\n />\n </span>\n )}\n {children}\n </span>\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge, badgeVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-sm border border-gray-200 bg-white shadow-sm',\n className\n )}\n {...props}\n />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n))\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n 'text-lg font-bold leading-none tracking-tight text-[var(--black)]',\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n))\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n))\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst progressVariants = cva('h-full rounded-full transition-all duration-300', {\n variants: {\n variant: {\n default: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n gradient: 'bg-gradient-to-r from-[var(--cyan-dark)] to-[var(--cyan)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressVariants> {\n /** Progress value (0-100) */\n value: number\n /** Show percentage label */\n showLabel?: boolean\n /** Custom label text (defaults to \"Progress\") */\n label?: string\n /** Size of the progress bar */\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value, variant, showLabel, label = 'Progress', size = 'default', ...props }, ref) => {\n const clampedValue = Math.min(100, Math.max(0, value))\n \n const heightClass = {\n sm: 'h-1',\n default: 'h-1.5',\n lg: 'h-2.5',\n }[size]\n\n return (\n <div className={cn('w-full', className)} ref={ref} {...props}>\n {showLabel && (\n <div className=\"flex justify-between text-xs mb-1\">\n <span className=\"text-gray-500\">{label}</span>\n <span className=\"font-semibold text-[var(--black)]\">{clampedValue}%</span>\n </div>\n )}\n <div\n className={cn(\n 'w-full bg-gray-200 rounded-full overflow-hidden',\n heightClass\n )}\n >\n <div\n className={cn(progressVariants({ variant }))}\n style={{ width: `${clampedValue}%` }}\n />\n </div>\n </div>\n )\n }\n)\nProgress.displayName = 'Progress'\n\nexport { Progress, progressVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst iconBoxVariants = cva(\n 'inline-flex items-center justify-center shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-[var(--black)] text-white',\n primary: 'bg-[var(--cyan)] text-[var(--black)]',\n outline: 'border-2 border-gray-200 bg-white text-[var(--black)]',\n ghost: 'bg-gray-100 text-gray-600',\n gradient: 'bg-gradient-to-br from-[var(--black)] to-[var(--cyan-dark)] text-white',\n },\n size: {\n sm: 'w-8 h-8',\n default: 'w-10 h-10',\n lg: 'w-12 h-12',\n xl: 'w-14 h-14',\n },\n rounded: {\n sm: 'rounded-sm',\n default: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n rounded: 'sm',\n },\n }\n)\n\nexport interface IconBoxProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconBoxVariants> {}\n\nconst IconBox = React.forwardRef<HTMLDivElement, IconBoxProps>(\n ({ className, variant, size, rounded, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(iconBoxVariants({ variant, size, rounded }), className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nIconBox.displayName = 'IconBox'\n\nexport { IconBox, iconBoxVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst tagVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-[var(--black)]',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n outline: 'border border-gray-200 bg-white text-gray-700 hover:border-[var(--black)] hover:text-[var(--black)]',\n dark: 'bg-[var(--black)] text-white',\n },\n size: {\n sm: 'px-2 py-1 text-[10px] rounded',\n default: 'px-3 py-1.5 text-xs rounded-full',\n lg: 'px-4 py-2 text-sm rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof tagVariants> {\n /** Optional icon to display before text */\n icon?: React.ReactNode\n}\n\nconst Tag = React.forwardRef<HTMLSpanElement, TagProps>(\n ({ className, variant, size, icon, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(tagVariants({ variant, size }), className)}\n {...props}\n >\n {icon && <span className=\"shrink-0\">{icon}</span>}\n {children}\n </span>\n )\n }\n)\nTag.displayName = 'Tag'\n\nexport { Tag, tagVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst statVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'p-3 rounded-sm bg-gray-50 text-center',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n variant: 'default',\n align: 'left',\n },\n})\n\nconst valueVariants = cva('font-bold', {\n variants: {\n size: {\n sm: 'text-xl',\n default: 'text-3xl md:text-4xl',\n lg: 'text-4xl md:text-5xl',\n xl: 'text-5xl md:text-6xl',\n },\n color: {\n default: 'text-[var(--black)]',\n primary: 'text-[var(--cyan)]',\n white: 'text-white',\n gradient: 'text-gradient',\n },\n },\n defaultVariants: {\n size: 'default',\n color: 'default',\n },\n})\n\nexport interface StatProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statVariants> {\n /** The main value to display */\n value: string | number\n /** Label below the value */\n label?: string\n /** Optional suffix after value (e.g., \"faster\", \"cheaper\") */\n suffix?: string\n /** Size of the value text */\n valueSize?: 'sm' | 'default' | 'lg' | 'xl'\n /** Color of the value */\n valueColor?: 'default' | 'primary' | 'white' | 'gradient'\n}\n\nconst Stat = React.forwardRef<HTMLDivElement, StatProps>(\n (\n {\n className,\n variant,\n align,\n value,\n label,\n suffix,\n valueSize = 'default',\n valueColor = 'default',\n ...props\n },\n ref\n ) => {\n const justifyClass = {\n left: 'justify-start',\n center: 'justify-center',\n right: 'justify-end',\n }[align || 'left']\n\n return (\n <div\n ref={ref}\n className={cn(statVariants({ variant, align }), className)}\n {...props}\n >\n <div className={cn('flex items-baseline gap-2', justifyClass)}>\n <span className={cn(valueVariants({ size: valueSize, color: valueColor }))}>\n {value}\n </span>\n {suffix && (\n <span className={cn(\n \"font-medium text-[var(--cyan)]\",\n valueSize === 'lg' || valueSize === 'xl' ? 'text-lg md:text-xl' : 'text-base md:text-lg'\n )}>\n {suffix}\n </span>\n )}\n </div>\n {label && (\n <div className={cn(\n \"font-medium mt-1\",\n valueColor === 'white' ? 'text-white/70 text-sm md:text-base' : 'text-gray-500 text-xs md:text-sm'\n )}>\n {label}\n </div>\n )}\n </div>\n )\n }\n)\nStat.displayName = 'Stat'\n\nexport { Stat, statVariants, valueVariants }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/button.tsx","../src/components/sheet.tsx","../src/components/logo.tsx","../src/components/badge.tsx","../src/components/card.tsx","../src/components/progress.tsx","../src/components/icon-box.tsx","../src/components/tag.tsx","../src/components/stat.tsx"],"names":["React","React2","jsx","cva","jsxs","React3","React5","React6","React7","React8"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer',\n {\n variants: {\n variant: {\n default:\n 'bg-[var(--black)] text-white border-2 border-[var(--black)] hover:bg-gray-800 hover:border-gray-800 active:scale-95',\n primary:\n 'bg-[var(--cyan)] text-[var(--black)] border-2 border-[var(--cyan)] hover:bg-[var(--cyan-dark)] hover:border-[var(--cyan-dark)] active:scale-95',\n destructive:\n 'bg-red-600 text-white border-2 border-red-600 hover:bg-red-700 hover:border-red-700 active:scale-95',\n outline:\n 'border-2 border-gray-300 bg-transparent hover:bg-gray-100 active:scale-95',\n secondary:\n 'bg-gray-100 text-[var(--black)] border-2 border-gray-100 hover:bg-gray-200 hover:border-gray-200 active:scale-95',\n ghost:\n 'hover:bg-gray-100 border-2 border-transparent',\n link:\n 'text-[var(--cyan)] underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-6 py-2',\n sm: 'h-9 px-4 text-xs',\n lg: 'h-12 px-8 text-base',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { X } from '@phosphor-icons/react'\n\nimport { cn } from '../lib/utils'\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col space-y-2 text-center sm:text-left',\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-[var(--black)]', className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\n\ninterface LogoProps {\n variant?: 'dark' | 'light' // dark = black text, light = white text\n size?: 'sm' | 'md' | 'lg'\n href?: string | null // defaults to '/', pass null to disable link\n className?: string\n}\n\nconst sizes = {\n sm: { width: 100, height: 30 },\n md: { width: 130, height: 40 },\n lg: { width: 160, height: 50 },\n}\n\n/**\n * Logo component that renders the Dilipod logo as inline SVG\n * \n * @param variant - 'dark' for light backgrounds (black text), 'light' for dark backgrounds (white text)\n * @param size - 'sm' | 'md' | 'lg'\n * @param href - Optional link href (wraps logo in anchor tag)\n * @param className - Additional CSS classes\n */\nexport function Logo({\n variant = 'dark',\n size = 'md',\n href = '/',\n className,\n}: LogoProps) {\n const s = sizes[size]\n const textColor = variant === 'light' ? 'white' : '#0A0A0A'\n const iconTextColor = variant === 'light' ? 'white' : '#0A0A0A'\n\n const svgContent = (\n <svg\n width={s.width}\n height={s.height}\n viewBox=\"0 0 130 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <defs>\n <linearGradient id={`gradient-${variant}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#007A70\" />\n <stop offset=\"50%\" stopColor=\"#00B8A9\" />\n <stop offset=\"100%\" stopColor=\"#00E5D4\" />\n </linearGradient>\n </defs>\n {/* Icon */}\n <rect width=\"40\" height=\"40\" rx=\"4\" fill={`url(#gradient-${variant})`} />\n <text\n x=\"20\"\n y=\"29\"\n textAnchor=\"middle\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"24\"\n fontWeight=\"700\"\n fill={iconTextColor}\n >\n D\n </text>\n {/* Text */}\n <text\n x=\"52\"\n y=\"28\"\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n fontSize=\"20\"\n fontWeight=\"700\"\n letterSpacing=\"1\"\n fill={textColor}\n >\n Dilipod\n </text>\n </svg>\n )\n\n if (href !== null) {\n return (\n <a href={href} aria-label=\"Go to homepage\" className=\"inline-flex items-center group\">\n {svgContent}\n </a>\n )\n }\n\n return <div className=\"inline-flex items-center\">{svgContent}</div>\n}\n\nexport type { LogoProps }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center gap-1.5 rounded-full font-semibold transition-colors',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-gray-700',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n success: 'bg-green-100 text-green-700',\n warning: 'bg-amber-100 text-amber-700',\n error: 'bg-red-100 text-red-700',\n outline: 'border border-gray-200 text-gray-600 bg-white',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n default: 'px-2.5 py-1 text-xs',\n lg: 'px-3 py-1.5 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n /** Show animated pulse dot */\n pulse?: boolean\n /** Custom pulse color (overrides variant-based color) */\n pulseColor?: 'default' | 'primary' | 'success' | 'warning' | 'error'\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, pulse, pulseColor: pulseColorProp, children, ...props }, ref) => {\n const pulseColorMap = {\n default: 'bg-gray-500',\n primary: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n outline: 'bg-gray-400',\n }\n \n // Use custom pulseColor if provided, otherwise derive from variant\n const pulseColor = pulseColorProp \n ? pulseColorMap[pulseColorProp] \n : pulseColorMap[variant || 'default']\n\n return (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n >\n {pulse && (\n <span className=\"relative flex h-1.5 w-1.5\">\n <span\n className={cn(\n 'absolute inline-flex h-full w-full animate-ping rounded-full opacity-75',\n pulseColor\n )}\n />\n <span\n className={cn(\n 'relative inline-flex h-1.5 w-1.5 rounded-full',\n pulseColor\n )}\n />\n </span>\n )}\n {children}\n </span>\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge, badgeVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-sm border border-gray-200 bg-white shadow-sm',\n className\n )}\n {...props}\n />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n))\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n 'text-lg font-bold leading-none tracking-tight text-[var(--black)]',\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-gray-500', className)}\n {...props}\n />\n))\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n))\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n))\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst progressVariants = cva('h-full rounded-full transition-all duration-300', {\n variants: {\n variant: {\n default: 'bg-[var(--cyan)]',\n success: 'bg-green-500',\n warning: 'bg-amber-500',\n error: 'bg-red-500',\n gradient: 'bg-gradient-to-r from-[var(--cyan-dark)] to-[var(--cyan)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressVariants> {\n /** Progress value (0-100) */\n value: number\n /** Show percentage label */\n showLabel?: boolean\n /** Custom label text (defaults to \"Progress\") */\n label?: string\n /** Size of the progress bar */\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value, variant, showLabel, label = 'Progress', size = 'default', ...props }, ref) => {\n const clampedValue = Math.min(100, Math.max(0, value))\n \n const heightClass = {\n sm: 'h-1',\n default: 'h-1.5',\n lg: 'h-2.5',\n }[size]\n\n return (\n <div className={cn('w-full', className)} ref={ref} {...props}>\n {showLabel && (\n <div className=\"flex justify-between text-xs mb-1\">\n <span className=\"text-gray-500\">{label}</span>\n <span className=\"font-semibold text-[var(--black)]\">{clampedValue}%</span>\n </div>\n )}\n <div\n className={cn(\n 'w-full bg-gray-200 rounded-full overflow-hidden',\n heightClass\n )}\n >\n <div\n className={cn(progressVariants({ variant }))}\n style={{ width: `${clampedValue}%` }}\n />\n </div>\n </div>\n )\n }\n)\nProgress.displayName = 'Progress'\n\nexport { Progress, progressVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst iconBoxVariants = cva(\n 'inline-flex items-center justify-center shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-[var(--black)] text-white',\n primary: 'bg-[var(--cyan)] text-[var(--black)]',\n outline: 'border-2 border-gray-200 bg-white text-[var(--black)]',\n ghost: 'bg-gray-100 text-gray-600',\n gradient: 'bg-gradient-to-br from-[var(--black)] to-[var(--cyan-dark)] text-white',\n },\n size: {\n sm: 'w-8 h-8',\n default: 'w-10 h-10',\n lg: 'w-12 h-12',\n xl: 'w-14 h-14',\n },\n rounded: {\n sm: 'rounded-sm',\n default: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n rounded: 'sm',\n },\n }\n)\n\nexport interface IconBoxProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconBoxVariants> {}\n\nconst IconBox = React.forwardRef<HTMLDivElement, IconBoxProps>(\n ({ className, variant, size, rounded, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(iconBoxVariants({ variant, size, rounded }), className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nIconBox.displayName = 'IconBox'\n\nexport { IconBox, iconBoxVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst tagVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer',\n {\n variants: {\n variant: {\n default: 'bg-gray-100 text-[var(--black)]',\n primary: 'bg-[var(--cyan)]/10 text-[var(--cyan)]',\n outline: 'border border-gray-200 bg-white text-gray-700 hover:border-[var(--black)] hover:text-[var(--black)]',\n dark: 'bg-[var(--black)] text-white',\n },\n size: {\n sm: 'px-2 py-1 text-[10px] rounded',\n default: 'px-3 py-1.5 text-xs rounded-full',\n lg: 'px-4 py-2 text-sm rounded-full',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof tagVariants> {\n /** Optional icon to display before text */\n icon?: React.ReactNode\n}\n\nconst Tag = React.forwardRef<HTMLSpanElement, TagProps>(\n ({ className, variant, size, icon, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(tagVariants({ variant, size }), className)}\n {...props}\n >\n {icon && <span className=\"shrink-0\">{icon}</span>}\n {children}\n </span>\n )\n }\n)\nTag.displayName = 'Tag'\n\nexport { Tag, tagVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../lib/utils'\n\nconst statVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'p-3 rounded-sm bg-gray-50 text-center',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n variant: 'default',\n align: 'left',\n },\n})\n\nconst valueVariants = cva('font-bold', {\n variants: {\n size: {\n sm: 'text-lg',\n default: 'text-2xl',\n lg: 'text-4xl md:text-5xl',\n xl: 'text-5xl md:text-6xl',\n },\n color: {\n default: 'text-[var(--black)]',\n primary: 'text-[var(--cyan)]',\n white: 'text-white',\n gradient: 'text-gradient',\n },\n },\n defaultVariants: {\n size: 'default',\n color: 'default',\n },\n})\n\nexport interface StatProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statVariants> {\n /** The main value to display */\n value: string | number\n /** Label below the value */\n label?: string\n /** Optional suffix after value (e.g., \"faster\", \"cheaper\") */\n suffix?: string\n /** Size of the value text */\n valueSize?: 'sm' | 'default' | 'lg' | 'xl'\n /** Color of the value */\n valueColor?: 'default' | 'primary' | 'white' | 'gradient'\n}\n\nconst Stat = React.forwardRef<HTMLDivElement, StatProps>(\n (\n {\n className,\n variant,\n align,\n value,\n label,\n suffix,\n valueSize = 'default',\n valueColor = 'default',\n ...props\n },\n ref\n ) => {\n const justifyClass = {\n left: 'justify-start',\n center: 'justify-center',\n right: 'justify-end',\n }[align || 'left']\n\n return (\n <div\n ref={ref}\n className={cn(statVariants({ variant, align }), className)}\n {...props}\n >\n <div className={cn('flex flex-wrap lg:flex-nowrap items-baseline gap-x-2', justifyClass)}>\n <span className={cn(valueVariants({ size: valueSize, color: valueColor }))}>\n {value}\n </span>\n {suffix && (\n <span className={cn(\n \"font-medium text-[var(--cyan)] shrink-0\",\n valueSize === 'lg' || valueSize === 'xl' ? 'text-lg md:text-xl' : 'text-base md:text-lg'\n )}>\n {suffix}\n </span>\n )}\n </div>\n {label && (\n <div className={cn(\n \"font-medium mt-1\",\n valueColor === 'white' ? 'text-white/70 text-sm md:text-base' : 'text-gray-500 text-xs md:text-sm'\n )}>\n {label}\n </div>\n )}\n </div>\n )\n }\n)\nStat.displayName = 'Stat'\n\nexport { Stat, statVariants, valueVariants }\n"]}
|
package/package.json
CHANGED
package/src/components/logo.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import * as React from 'react'
|
|
|
5
5
|
interface LogoProps {
|
|
6
6
|
variant?: 'dark' | 'light' // dark = black text, light = white text
|
|
7
7
|
size?: 'sm' | 'md' | 'lg'
|
|
8
|
-
href?: string
|
|
8
|
+
href?: string | null // defaults to '/', pass null to disable link
|
|
9
9
|
className?: string
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -26,7 +26,7 @@ const sizes = {
|
|
|
26
26
|
export function Logo({
|
|
27
27
|
variant = 'dark',
|
|
28
28
|
size = 'md',
|
|
29
|
-
href,
|
|
29
|
+
href = '/',
|
|
30
30
|
className,
|
|
31
31
|
}: LogoProps) {
|
|
32
32
|
const s = sizes[size]
|
|
@@ -77,9 +77,9 @@ export function Logo({
|
|
|
77
77
|
</svg>
|
|
78
78
|
)
|
|
79
79
|
|
|
80
|
-
if (href) {
|
|
80
|
+
if (href !== null) {
|
|
81
81
|
return (
|
|
82
|
-
<a href={href} className="inline-flex items-center group">
|
|
82
|
+
<a href={href} aria-label="Go to homepage" className="inline-flex items-center group">
|
|
83
83
|
{svgContent}
|
|
84
84
|
</a>
|
|
85
85
|
)
|
package/src/components/stat.tsx
CHANGED
|
@@ -25,8 +25,8 @@ const statVariants = cva('', {
|
|
|
25
25
|
const valueVariants = cva('font-bold', {
|
|
26
26
|
variants: {
|
|
27
27
|
size: {
|
|
28
|
-
sm: 'text-
|
|
29
|
-
default: 'text-
|
|
28
|
+
sm: 'text-lg',
|
|
29
|
+
default: 'text-2xl',
|
|
30
30
|
lg: 'text-4xl md:text-5xl',
|
|
31
31
|
xl: 'text-5xl md:text-6xl',
|
|
32
32
|
},
|
|
@@ -85,13 +85,13 @@ const Stat = React.forwardRef<HTMLDivElement, StatProps>(
|
|
|
85
85
|
className={cn(statVariants({ variant, align }), className)}
|
|
86
86
|
{...props}
|
|
87
87
|
>
|
|
88
|
-
<div className={cn('flex items-baseline gap-2', justifyClass)}>
|
|
88
|
+
<div className={cn('flex flex-wrap lg:flex-nowrap items-baseline gap-x-2', justifyClass)}>
|
|
89
89
|
<span className={cn(valueVariants({ size: valueSize, color: valueColor }))}>
|
|
90
90
|
{value}
|
|
91
91
|
</span>
|
|
92
92
|
{suffix && (
|
|
93
93
|
<span className={cn(
|
|
94
|
-
"font-medium text-[var(--cyan)]",
|
|
94
|
+
"font-medium text-[var(--cyan)] shrink-0",
|
|
95
95
|
valueSize === 'lg' || valueSize === 'xl' ? 'text-lg md:text-xl' : 'text-base md:text-lg'
|
|
96
96
|
)}>
|
|
97
97
|
{suffix}
|