nexoreui-cli 1.8.2 → 1.8.4

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.js CHANGED
@@ -935,7 +935,7 @@ const alertVariants = cva(
935
935
  minimal: "border-0 bg-muted/40 p-3 text-sm rounded-xl text-foreground hover:bg-muted/60 shadow-none [&>svg]:top-3.5",
936
936
  neon: "border-purple-500/50 bg-purple-500/10 text-purple-200 shadow-[0_0_15px_rgba(168,85,247,0.3)] [&>svg]:text-purple-400",
937
937
  cyberpunk: "border-l-4 border-yellow-400 bg-black text-yellow-400 shadow-[4px_4px_0_0_rgba(250,204,21,1)] rounded-none font-mono uppercase [&>svg]:text-yellow-400",
938
- gradient: "bg-gradient-to-r from-blue-500/10 to-indigo-500/10 border-blue-500/20 text-foreground [&>svg]:text-blue-500",
938
+ gradient: "bg-linear-to-r from-blue-500/10 to-indigo-500/10 border-blue-500/20 text-foreground [&>svg]:text-blue-500",
939
939
  banner: "w-full bg-indigo-600 text-white border-0 shadow-md rounded-none sm:rounded-xl [&>svg]:text-white",
940
940
  },
941
941
  },
@@ -1532,7 +1532,7 @@ export const AuroraBorderCard = React.forwardRef<HTMLDivElement, AuroraBorderCar
1532
1532
  </h3>
1533
1533
  <h4
1534
1534
  className={cn(
1535
- 'text-xl sm:text-2xl font-bold tracking-tight bg-clip-text text-transparent bg-gradient-to-r',
1535
+ 'text-xl sm:text-2xl font-bold tracking-tight bg-clip-text text-transparent bg-linear-to-r',
1536
1536
  subtitleGradients[variant] || subtitleGradients.aurora
1537
1537
  )}
1538
1538
  >
@@ -2244,7 +2244,7 @@ export const AuroraSearchPill = React.forwardRef<HTMLDivElement, AuroraSearchPil
2244
2244
  sizeStyle.height,
2245
2245
  active ? cn(sizeStyle.paddingSearch, sizeStyle.minWidthSearch) : sizeStyle.paddingDots,
2246
2246
  bodyThemeClass,
2247
- 'transition-all duration-500 [transition-timing-function:cubic-bezier(0.16,1,0.3,1)]'
2247
+ 'transition-all duration-500 ease-out'
2248
2248
  )}
2249
2249
  >
2250
2250
  {/* STATE 1: Pulsing Dots (Idle/Listening) */}
@@ -2252,7 +2252,7 @@ export const AuroraSearchPill = React.forwardRef<HTMLDivElement, AuroraSearchPil
2252
2252
  className={cn(
2253
2253
  'flex items-center',
2254
2254
  sizeStyle.dotGap,
2255
- 'transition-all duration-400 [transition-timing-function:cubic-bezier(0.16,1,0.3,1)]',
2255
+ 'transition-all duration-400 ease-out',
2256
2256
  active
2257
2257
  ? 'opacity-0 scale-50 -translate-y-2 pointer-events-none absolute'
2258
2258
  : 'opacity-100 scale-100 translate-y-0'
@@ -2274,7 +2274,7 @@ export const AuroraSearchPill = React.forwardRef<HTMLDivElement, AuroraSearchPil
2274
2274
  <div
2275
2275
  className={cn(
2276
2276
  'flex items-center gap-2.5 whitespace-nowrap',
2277
- 'transition-all duration-400 [transition-timing-function:cubic-bezier(0.16,1,0.3,1)]',
2277
+ 'transition-all duration-400 ease-out',
2278
2278
  active
2279
2279
  ? 'opacity-100 scale-100 translate-y-0'
2280
2280
  : 'opacity-0 scale-90 translate-y-2 pointer-events-none absolute'
@@ -2392,7 +2392,7 @@ const avatarVariants = cva(
2392
2392
  },
2393
2393
  variant: {
2394
2394
  default: "border-2 border-background",
2395
- gradient: "p-[2px] bg-gradient-to-tr from-violet-500 to-pink-500",
2395
+ gradient: "p-[2px] bg-linear-to-tr from-violet-500 to-pink-500",
2396
2396
  glow: "shadow-[0_0_15px_rgba(139,92,246,0.5)] border-2 border-violet-500",
2397
2397
  glass: "backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10",
2398
2398
  }
@@ -2431,7 +2431,7 @@ const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(
2431
2431
  {...props}
2432
2432
  >
2433
2433
  {variant === "gradient" ? (
2434
- <div className="flex h-full w-full items-center justify-center rounded-full bg-background p-[1px]">
2434
+ <div className="flex h-full w-full items-center justify-center rounded-full bg-background p-px">
2435
2435
  {children}
2436
2436
  </div>
2437
2437
  ) : (
@@ -2589,7 +2589,7 @@ export const StackAvatar = ({
2589
2589
  }
2590
2590
 
2591
2591
  export const DottedAvatar = ({ src, fallback, size, status, className }: any) => (
2592
- <Avatar size={size} status={status} className={cn("border-2 border-dashed border-primary p-[1px]", className)}>
2592
+ <Avatar size={size} status={status} className={cn("border-2 border-dashed border-primary p-px", className)}>
2593
2593
  {src ? <AvatarImage src={src} /> : <AvatarFallback>{fallback}</AvatarFallback>}
2594
2594
  </Avatar>
2595
2595
  )
@@ -2657,7 +2657,7 @@ const badgeVariants = cva(
2657
2657
  secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
2658
2658
  destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
2659
2659
  outline: "text-foreground border-border hover:bg-accent",
2660
- gradient: "border-transparent bg-gradient-to-r from-violet-600 to-pink-600 dark:from-violet-500 dark:to-pink-500 text-white shadow-sm",
2660
+ gradient: "border-transparent bg-linear-to-r from-violet-600 to-pink-600 dark:from-violet-500 dark:to-pink-500 text-white shadow-sm",
2661
2661
  neon: "border-primary/50 bg-primary/10 text-primary shadow-[0_0_10px_rgba(var(--primary-rgb),0.3)]",
2662
2662
  success: "border-transparent bg-emerald-500/20 text-emerald-600 dark:text-emerald-400",
2663
2663
  warning: "border-transparent bg-amber-500/20 text-amber-600 dark:text-amber-400",
@@ -2879,14 +2879,14 @@ const buttonVariants = cva(
2879
2879
  ghost: "hover:bg-accent hover:text-accent-foreground",
2880
2880
  link: "text-primary underline-offset-4 hover:underline",
2881
2881
  // Premium variants
2882
- premium: "bg-gradient-to-r from-violet-600 via-pink-600 to-orange-500 text-white shadow-lg shadow-purple-500/20 hover:shadow-xl hover:shadow-purple-500/30",
2882
+ premium: "bg-linear-to-r from-violet-600 via-pink-600 to-orange-500 text-white shadow-lg shadow-purple-500/20 hover:shadow-xl hover:shadow-purple-500/30",
2883
2883
  neon: "bg-background border-2 border-primary text-foreground shadow-[0_0_var(--glow-radius)_rgba(var(--glow-color),var(--glow-strength))] hover:shadow-[0_0_calc(var(--glow-radius)*1.5)_rgba(var(--glow-color),calc(var(--glow-strength)*1.5))]",
2884
2884
  glass: "backdrop-blur-md bg-zinc-900/10 dark:bg-zinc-100/10 border border-zinc-900/20 dark:border-zinc-100/20 text-zinc-900 dark:text-zinc-50 hover:bg-zinc-900/20 dark:hover:bg-zinc-100/20 shadow-md",
2885
2885
  shimmer: "relative overflow-hidden bg-slate-900 text-white dark:bg-white dark:text-black",
2886
2886
  // New requested variants
2887
- gradient: "bg-gradient-to-r from-indigo-600 via-purple-600 to-violet-600 dark:from-indigo-500 dark:via-purple-500 dark:to-violet-500 text-white shadow-lg shadow-indigo-500/20 hover:shadow-xl hover:shadow-indigo-500/30 hover:opacity-95",
2887
+ gradient: "bg-linear-to-r from-indigo-600 via-purple-600 to-violet-600 dark:from-indigo-500 dark:via-purple-500 dark:to-violet-500 text-white shadow-lg shadow-indigo-500/20 hover:shadow-xl hover:shadow-indigo-500/30 hover:opacity-95",
2888
2888
  glow: "bg-primary text-primary-foreground shadow-[0_0_var(--glow-radius)_rgba(var(--glow-color),var(--glow-strength))] hover:shadow-[0_0_calc(var(--glow-radius)*1.5)_rgba(var(--glow-color),calc(var(--glow-strength)*1.5))] border border-primary/20",
2889
- magnetic: "bg-gradient-to-br from-violet-600 to-indigo-600 text-white shadow-md hover:shadow-lg",
2889
+ magnetic: "bg-linear-to-br from-violet-600 to-indigo-600 text-white shadow-md hover:shadow-lg",
2890
2890
  loading: "bg-primary/80 text-primary-foreground/80 pointer-events-none cursor-wait",
2891
2891
  },
2892
2892
  size: {
@@ -2972,7 +2972,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
2972
2972
  <>
2973
2973
  {isShimmer && (
2974
2974
  <motion.div
2975
- className="absolute inset-0 w-[200%] bg-gradient-to-r from-transparent via-white/20 to-transparent"
2975
+ className="absolute inset-0 w-[200%] bg-linear-to-r from-transparent via-white/20 to-transparent"
2976
2976
  initial={{ x: '-100%' }}
2977
2977
  animate={{ x: '100%' }}
2978
2978
  transition={{
@@ -3074,7 +3074,7 @@ export const ThreeDButton = React.forwardRef<HTMLButtonElement, ButtonProps>(
3074
3074
  <Button
3075
3075
  ref={ref}
3076
3076
  className={cn(
3077
- "shadow-[0_5px_0_hsl(var(--primary-dark,240_5.9%_30%))] hover:shadow-[0_2px_0_hsl(var(--primary-dark,240_5.9%_30%))] active:translate-y-[3px] active:shadow-[0_0px_0_transparent] transition-all",
3077
+ "shadow-[0_5px_0_hsl(var(--primary-dark,240_5.9%_30%))] hover:shadow-[0_2px_0_hsl(var(--primary-dark,240_5.9%_30%))] active:translate-y-0.75 active:shadow-[0_0px_0_transparent] transition-all",
3078
3078
  className
3079
3079
  )}
3080
3080
  {...props}
@@ -3162,8 +3162,8 @@ export const BorderBeamButton = React.forwardRef<HTMLButtonElement, ButtonProps>
3162
3162
  )}
3163
3163
  {...props}
3164
3164
  >
3165
- <div className="absolute inset-0 bg-gradient-to-r from-primary to-transparent opacity-0 group-hover:opacity-20 transition-opacity"></div>
3166
- <div className="absolute top-0 left-0 w-full h-[2px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform origin-left"></div>
3165
+ <div className="absolute inset-0 bg-linear-to-r from-primary to-transparent opacity-0 group-hover:opacity-20 transition-opacity"></div>
3166
+ <div className="absolute top-0 left-0 w-full h-0.5 bg-primary scale-x-0 group-hover:scale-x-100 transition-transform origin-left"></div>
3167
3167
  <span className="relative z-10">{children}</span>
3168
3168
  </Button>
3169
3169
  )
@@ -3213,7 +3213,7 @@ export const GlowButton = React.forwardRef<HTMLButtonElement, ButtonProps & { gl
3213
3213
  ({ children, glowColor = "rgba(139, 92, 246, 0.15)", className, ...props }, ref) => (
3214
3214
  <div className="relative group inline-block">
3215
3215
  <div
3216
- className="absolute -inset-0.5 bg-gradient-to-r from-primary to-purple-600 rounded-lg blur opacity-75 group-hover:opacity-100 transition duration-1000 group-hover:duration-200"
3216
+ className="absolute -inset-0.5 bg-linear-to-r from-primary to-purple-600 rounded-lg blur opacity-75 group-hover:opacity-100 transition duration-1000 group-hover:duration-200"
3217
3217
  style={{ backgroundColor: glowColor }}
3218
3218
  />
3219
3219
  <Button ref={ref} className={cn("relative bg-background", className)} {...props}>
@@ -3287,10 +3287,10 @@ const cardVariants = cva(
3287
3287
  variant: {
3288
3288
  default: "border bg-card text-card-foreground shadow-sm hover:shadow-md",
3289
3289
  glass: "backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10 shadow-lg",
3290
- gradient: "bg-gradient-to-br from-violet-500/10 via-pink-500/10 to-orange-500/10 border border-purple-500/20 shadow-lg shadow-purple-500/5",
3290
+ gradient: "bg-linear-to-br from-violet-500/10 via-pink-500/10 to-orange-500/10 border border-purple-500/20 shadow-lg shadow-purple-500/5",
3291
3291
  glow: "bg-card border-2 border-primary/20 shadow-[0_0_15px_rgba(var(--primary-rgb),0.1)] hover:shadow-[0_0_25px_rgba(var(--primary-rgb),0.2)]",
3292
3292
  // New variants
3293
- bento: "border border-border/60 bg-gradient-to-br from-card to-muted/20 text-card-foreground shadow-md hover:shadow-lg hover:border-primary/30 relative",
3293
+ bento: "border border-border/60 bg-linear-to-br from-card to-muted/20 text-card-foreground shadow-md hover:shadow-lg hover:border-primary/30 relative",
3294
3294
  spotlight: "border bg-card text-card-foreground relative hover:border-primary/20",
3295
3295
  flip: "bg-transparent border-0 shadow-none overflow-visible relative",
3296
3296
  tilt: "border bg-card text-card-foreground shadow-md",
@@ -3404,7 +3404,7 @@ const Card = React.forwardRef<HTMLDivElement, CardProps>(
3404
3404
  </div>
3405
3405
 
3406
3406
  {/* Back Face */}
3407
- <div className="absolute inset-0 backface-hidden rotate-y-180 border bg-gradient-to-br from-primary/10 to-primary/5 text-card-foreground rounded-2xl shadow-sm flex flex-col p-6 items-center justify-center text-center overflow-hidden">
3407
+ <div className="absolute inset-0 backface-hidden rotate-y-180 border bg-linear-to-br from-primary/10 to-primary/5 text-card-foreground rounded-2xl shadow-sm flex flex-col p-6 items-center justify-center text-center overflow-hidden">
3408
3408
  {backContent || (
3409
3409
  <div className="text-sm font-medium text-muted-foreground">
3410
3410
  Flip side content placeholder
@@ -3487,7 +3487,7 @@ const CardTitle = React.forwardRef<
3487
3487
  >(({ className, ...props }, ref) => (
3488
3488
  <h3
3489
3489
  ref={ref}
3490
- className={cn("font-semibold leading-none tracking-tight text-xl bg-gradient-to-br from-foreground to-foreground/75 bg-clip-text text-transparent", className)}
3490
+ className={cn("font-semibold leading-none tracking-tight text-xl bg-linear-to-br from-foreground to-foreground/75 bg-clip-text text-transparent", className)}
3491
3491
  {...props}
3492
3492
  />
3493
3493
  ))
@@ -3604,7 +3604,7 @@ const Checkbox = React.forwardRef<
3604
3604
  <CheckboxPrimitive.Root
3605
3605
  ref={ref}
3606
3606
  className={cn(
3607
- "peer h-5 w-5 shrink-0 rounded-md border border-muted-foreground/30 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 data-[state=checked]:bg-gradient-to-br data-[state=checked]:from-primary data-[state=checked]:to-primary/80 data-[state=checked]:text-primary-foreground data-[state=checked]:border-transparent data-[state=checked]:shadow-lg data-[state=checked]:shadow-primary/20",
3607
+ "peer h-5 w-5 shrink-0 rounded-md border border-muted-foreground/30 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 data-[state=checked]:bg-linear-to-br data-[state=checked]:from-primary data-[state=checked]:to-primary/80 data-[state=checked]:text-primary-foreground data-[state=checked]:border-transparent data-[state=checked]:shadow-lg data-[state=checked]:shadow-primary/20",
3608
3608
  className
3609
3609
  )}
3610
3610
  {...props}
@@ -4183,7 +4183,7 @@ export function Timeline({ items, className }: { items: TimelineItem[]; classNam
4183
4183
  {items.map((item, index) => (
4184
4184
  <div key={index} className="relative flex gap-6 pb-8 last:pb-0">
4185
4185
  {index !== items.length - 1 && (
4186
- <div className="absolute left-[11px] top-4 h-full w-[2px] bg-border" />
4186
+ <div className="absolute left-[11px] top-4 h-full w-0.5 bg-border" />
4187
4187
  )}
4188
4188
  <div
4189
4189
  className={cn(
@@ -4343,7 +4343,7 @@ export function Divider({ orientation = "horizontal", className, ...props }: Div
4343
4343
  <div
4344
4344
  className={cn(
4345
4345
  "bg-border shrink-0",
4346
- orientation === "horizontal" ? "h-[1px] w-full" : "w-[1px] h-full",
4346
+ orientation === "horizontal" ? "h-px w-full" : "w-px h-full",
4347
4347
  className
4348
4348
  )}
4349
4349
  {...props}
@@ -4488,7 +4488,7 @@ const DialogTitle = React.forwardRef<
4488
4488
  <DialogPrimitive.Title
4489
4489
  ref={ref}
4490
4490
  className={cn(
4491
- "text-xl font-semibold leading-none tracking-tight bg-gradient-to-br from-foreground to-foreground/70 bg-clip-text text-transparent",
4491
+ "text-xl font-semibold leading-none tracking-tight bg-linear-to-br from-foreground to-foreground/70 bg-clip-text text-transparent",
4492
4492
  className
4493
4493
  )}
4494
4494
  {...props}
@@ -5344,7 +5344,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
5344
5344
  {...(htmlProps as any)}
5345
5345
  />
5346
5346
  {variant === "gradient" && (
5347
- <div className="absolute inset-0 -z-10 rounded-xl bg-gradient-to-r from-violet-500 to-pink-500 opacity-0 blur transition-opacity peer-focus:opacity-20" />
5347
+ <div className="absolute inset-0 -z-10 rounded-xl bg-linear-to-r from-violet-500 to-pink-500 opacity-0 blur transition-opacity peer-focus:opacity-20" />
5348
5348
  )}
5349
5349
  </motion.div>
5350
5350
  );
@@ -6212,7 +6212,7 @@ export function ShimmerBlock({ className }: { className?: string }) {
6212
6212
  return (
6213
6213
  <div className={cn("relative overflow-hidden bg-muted rounded-md h-24 w-full", className)}>
6214
6214
  <motion.div
6215
- className="absolute inset-0 -translate-x-full bg-gradient-to-r from-transparent via-white/10 to-transparent"
6215
+ className="absolute inset-0 -translate-x-full bg-linear-to-r from-transparent via-white/10 to-transparent"
6216
6216
  animate={{ translateX: ["-100%", "100%"] }}
6217
6217
  transition={{ repeat: Infinity, duration: 1.5, ease: "linear" }}
6218
6218
  />
@@ -6720,9 +6720,9 @@ export const MorphingGeometry = React.forwardRef<HTMLDivElement, MorphingGeometr
6720
6720
 
6721
6721
  let variantClasses = '';
6722
6722
  if (variant === 'gradient') {
6723
- variantClasses = \`bg-gradient-to-tr \${colorScheme.bg} border \${colorScheme.border} \${colorScheme.text}\`;
6723
+ variantClasses = \`bg-linear-to-tr \${colorScheme.bg} border \${colorScheme.border} \${colorScheme.text}\`;
6724
6724
  } else if (variant === 'aurora') {
6725
- variantClasses = \`bg-gradient-to-tr \${colorScheme.bg} border-2 border-white/40 shadow-2xl \${colorScheme.text}\`;
6725
+ variantClasses = \`bg-linear-to-tr \${colorScheme.bg} border-2 border-white/40 shadow-2xl \${colorScheme.text}\`;
6726
6726
  } else if (variant === 'neon') {
6727
6727
  variantClasses = \`bg-black/90 border-2 \${colorScheme.border} \${colorScheme.text}\`;
6728
6728
  } else if (variant === 'glass') {
@@ -6764,7 +6764,7 @@ export const MorphingGeometry = React.forwardRef<HTMLDivElement, MorphingGeometr
6764
6764
  {...(props as any)}
6765
6765
  >
6766
6766
  {/* Specular ambient surface highlight */}
6767
- <div className="absolute inset-0 bg-gradient-to-b from-white/25 via-transparent to-black/20 pointer-events-none" />
6767
+ <div className="absolute inset-0 bg-linear-to-b from-white/25 via-transparent to-black/20 pointer-events-none" />
6768
6768
 
6769
6769
  {/* Content / Icon Slot */}
6770
6770
  <div className="relative z-10 flex flex-col items-center justify-center p-2 text-center">
@@ -6919,7 +6919,7 @@ export function Steps({ items, className }: { items: Step[]; className?: string
6919
6919
  transition={{ delay: index * 0.1 }}
6920
6920
  className={cn(
6921
6921
  "flex h-9 w-9 items-center justify-center rounded-full border-2 text-sm font-bold transition-all duration-300",
6922
- item.status === "complete" && "border-transparent bg-gradient-to-br from-emerald-500 to-emerald-600 text-white shadow-lg shadow-emerald-500/20",
6922
+ item.status === "complete" && "border-transparent bg-linear-to-br from-emerald-500 to-emerald-600 text-white shadow-lg shadow-emerald-500/20",
6923
6923
  item.status === "current" && "border-primary bg-background text-primary shadow-lg shadow-primary/20 ring-4 ring-primary/10",
6924
6924
  item.status === "upcoming" && "border-muted-foreground/30 bg-muted text-muted-foreground"
6925
6925
  )}
@@ -6932,7 +6932,7 @@ export function Steps({ items, className }: { items: Step[]; className?: string
6932
6932
  </motion.div>
6933
6933
  {index !== items.length - 1 && (
6934
6934
  <div className={cn(
6935
- "h-full w-[2px] min-h-[30px] my-2 transition-colors duration-300",
6935
+ "h-full w-0.5 min-h-[30px] my-2 transition-colors duration-300",
6936
6936
  item.status === "complete" ? "bg-emerald-500" : "bg-border"
6937
6937
  )} />
6938
6938
  )}
@@ -7036,9 +7036,9 @@ export const BreadcrumbTrail = () => (
7036
7036
  export const StepIndicator = () => (
7037
7037
  <div className="flex items-center w-full max-w-sm">
7038
7038
  <div className="flex items-center text-primary"><div className="w-8 h-8 rounded-full border-2 border-primary bg-primary text-primary-foreground flex items-center justify-center font-bold text-sm">1</div></div>
7039
- <div className="flex-1 h-[2px] bg-primary mx-2"></div>
7039
+ <div className="flex-1 h-0.5 bg-primary mx-2"></div>
7040
7040
  <div className="flex items-center text-primary"><div className="w-8 h-8 rounded-full border-2 border-primary bg-background flex items-center justify-center font-bold text-sm">2</div></div>
7041
- <div className="flex-1 h-[2px] bg-muted mx-2"></div>
7041
+ <div className="flex-1 h-0.5 bg-muted mx-2"></div>
7042
7042
  <div className="flex items-center text-muted-foreground"><div className="w-8 h-8 rounded-full border-2 border-muted bg-background flex items-center justify-center font-bold text-sm">3</div></div>
7043
7043
  </div>
7044
7044
  )
@@ -7517,7 +7517,7 @@ export function LeaderboardWidget({ items, title, className }: {
7517
7517
  i === 2 ? "bg-orange-500/20 text-orange-500" :
7518
7518
  "bg-muted text-muted-foreground"
7519
7519
  )}>{i + 1}</span>
7520
- <div className="w-8 h-8 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0">
7520
+ <div className="w-8 h-8 rounded-full bg-linear-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0">
7521
7521
  {item.avatar || item.name.charAt(0)}
7522
7522
  </div>
7523
7523
  <div className="flex-1 min-w-0">
@@ -7853,7 +7853,7 @@ export function ModernBarChart({
7853
7853
  boxShadow: isHovered ? \`0 0 20px \${colorTheme.glow}\` : "none",
7854
7854
  }}
7855
7855
  >
7856
- <div className="absolute inset-0 bg-gradient-to-t from-black/20 to-white/20" />
7856
+ <div className="absolute inset-0 bg-linear-to-t from-black/20 to-white/20" />
7857
7857
  </motion.div>
7858
7858
 
7859
7859
  <span
@@ -8024,7 +8024,7 @@ export function ProductCardPro({
8024
8024
  {...(props as any)}
8025
8025
  >
8026
8026
  {/* Product Image / Visual Container */}
8027
- <div className="relative aspect-[4/3] rounded-2xl bg-gradient-to-br from-muted/60 via-card to-background border border-border/50 overflow-hidden flex items-center justify-center">
8027
+ <div className="relative aspect-[4/3] rounded-2xl bg-linear-to-br from-muted/60 via-card to-background border border-border/50 overflow-hidden flex items-center justify-center">
8028
8028
  {/* Atmospheric ambient glow */}
8029
8029
  <div
8030
8030
  className="absolute inset-0 opacity-20 blur-2xl transition-colors duration-500 pointer-events-none"
@@ -8065,7 +8065,7 @@ export function ProductCardPro({
8065
8065
  />
8066
8066
  ) : (
8067
8067
  <div className="flex flex-col items-center gap-2 select-none group-hover:scale-105 transition-transform duration-300">
8068
- <div className="w-20 h-20 rounded-2xl bg-gradient-to-tr from-primary/20 via-primary/10 to-transparent border border-primary/20 flex items-center justify-center text-primary shadow-lg">
8068
+ <div className="w-20 h-20 rounded-2xl bg-linear-to-tr from-primary/20 via-primary/10 to-transparent border border-primary/20 flex items-center justify-center text-primary shadow-lg">
8069
8069
  <ShoppingBag className="w-9 h-9" />
8070
8070
  </div>
8071
8071
  <span className="text-[10px] font-mono tracking-widest text-muted-foreground uppercase">
@@ -8407,7 +8407,7 @@ export function CreditCardVisual({
8407
8407
  return (
8408
8408
  <div
8409
8409
  className={cn(
8410
- "relative w-full max-w-sm aspect-[1.6/1] rounded-2xl bg-gradient-to-tr from-zinc-950 via-zinc-900 to-zinc-800 border border-white/10 p-6 text-white shadow-2xl overflow-hidden select-none flex flex-col justify-between",
8410
+ "relative w-full max-w-sm aspect-[1.6/1] rounded-2xl bg-linear-to-tr from-zinc-950 via-zinc-900 to-zinc-800 border border-white/10 p-6 text-white shadow-2xl overflow-hidden select-none flex flex-col justify-between",
8411
8411
  className
8412
8412
  )}
8413
8413
  {...props}
@@ -8420,9 +8420,9 @@ export function CreditCardVisual({
8420
8420
  <div className="flex items-center justify-between z-10">
8421
8421
  <div className="flex items-center gap-3">
8422
8422
  {/* Gold EMV Chip */}
8423
- <div className="w-10 h-7 rounded-md bg-gradient-to-br from-amber-300 via-amber-400 to-amber-600 border border-amber-200/50 shadow-xs relative overflow-hidden">
8424
- <div className="absolute inset-x-0 top-1/2 -translate-y-1/2 h-[1px] bg-amber-900/30" />
8425
- <div className="absolute inset-y-0 left-1/2 -translate-x-1/2 w-[1px] bg-amber-900/30" />
8423
+ <div className="w-10 h-7 rounded-md bg-linear-to-br from-amber-300 via-amber-400 to-amber-600 border border-amber-200/50 shadow-xs relative overflow-hidden">
8424
+ <div className="absolute inset-x-0 top-1/2 -translate-y-1/2 h-px bg-amber-900/30" />
8425
+ <div className="absolute inset-y-0 left-1/2 -translate-x-1/2 w-px bg-amber-900/30" />
8426
8426
  </div>
8427
8427
 
8428
8428
  {/* Contactless Wave */}
@@ -9099,7 +9099,7 @@ export function BentoCard({
9099
9099
  {...(motionSafeProps as any)}
9100
9100
  >
9101
9101
  {/* Glow highlight */}
9102
- <div className="pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100 bg-gradient-to-tr from-primary/5 via-transparent to-transparent" />
9102
+ <div className="pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100 bg-linear-to-tr from-primary/5 via-transparent to-transparent" />
9103
9103
 
9104
9104
  {header && <div className="w-full overflow-hidden rounded-lg mb-4">{header}</div>}
9105
9105
 
@@ -9166,7 +9166,7 @@ export function ImageCarousel({ images, autoPlay = true, interval = 4000, classN
9166
9166
  transition={{ duration: 0.5 }}
9167
9167
  className="absolute inset-0"
9168
9168
  >
9169
- <div className="w-full h-full bg-gradient-to-br from-violet-500/20 to-pink-500/20 flex items-center justify-center text-muted-foreground">
9169
+ <div className="w-full h-full bg-linear-to-br from-violet-500/20 to-pink-500/20 flex items-center justify-center text-muted-foreground">
9170
9170
  {img.alt || \`Slide \${i + 1}\`}
9171
9171
  </div>
9172
9172
  </motion.div>
@@ -9198,7 +9198,7 @@ export function VideoPlayer({ title, duration = "3:45", thumbnail: _thumbnail, c
9198
9198
 
9199
9199
  return (
9200
9200
  <div className={cn("relative overflow-hidden rounded-xl bg-muted group cursor-pointer", className)}>
9201
- <div className="aspect-video bg-gradient-to-br from-slate-800 to-slate-900 flex items-center justify-center">
9201
+ <div className="aspect-video bg-linear-to-br from-slate-800 to-slate-900 flex items-center justify-center">
9202
9202
  <motion.button
9203
9203
  whileHover={{ scale: 1.1 }}
9204
9204
  whileTap={{ scale: 0.95 }}
@@ -9213,7 +9213,7 @@ export function VideoPlayer({ title, duration = "3:45", thumbnail: _thumbnail, c
9213
9213
  </motion.button>
9214
9214
  </div>
9215
9215
  {(title || duration) && (
9216
- <div className="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4">
9216
+ <div className="absolute bottom-0 left-0 right-0 bg-linear-to-t from-black/80 to-transparent p-4">
9217
9217
  {title && <p className="text-white text-sm font-medium">{title}</p>}
9218
9218
  {duration && <span className="text-white/70 text-xs">{duration}</span>}
9219
9219
  </div>
@@ -9288,7 +9288,7 @@ export function FilePreviewCard({ name, size, type = "file", className }: {
9288
9288
  whileHover={{ y: -2 }}
9289
9289
  className={cn("rounded-xl border border-border bg-card p-4 flex items-center gap-3 cursor-pointer transition-shadow hover:shadow-md", className)}
9290
9290
  >
9291
- <div className={cn("w-12 h-12 rounded-lg bg-gradient-to-br flex items-center justify-center shrink-0 border border-border/40", colors[type])}>
9291
+ <div className={cn("w-12 h-12 rounded-lg bg-linear-to-br flex items-center justify-center shrink-0 border border-border/40", colors[type])}>
9292
9292
  <Icon className="w-5 h-5" />
9293
9293
  </div>
9294
9294
  <div className="flex-1 min-w-0">
@@ -9314,7 +9314,7 @@ export function EmbedCard({ title, description, domain, favicon, className }: {
9314
9314
  }) {
9315
9315
  return (
9316
9316
  <div className={cn("rounded-xl border border-border bg-card overflow-hidden hover:shadow-md transition-shadow cursor-pointer", className)}>
9317
- <div className="h-36 bg-gradient-to-br from-violet-500/20 via-blue-500/20 to-pink-500/20" />
9317
+ <div className="h-36 bg-linear-to-br from-violet-500/20 via-blue-500/20 to-pink-500/20" />
9318
9318
  <div className="p-4 border-t border-border">
9319
9319
  <div className="flex items-center gap-2 mb-2">
9320
9320
  <div className="w-4 h-4 rounded-full bg-muted flex items-center justify-center text-[8px]">
@@ -9347,7 +9347,7 @@ export function MusicPlayer({ title, artist, album, className }: {
9347
9347
  <motion.div
9348
9348
  animate={playing ? { rotate: 360 } : {}}
9349
9349
  transition={playing ? { duration: 3, repeat: Infinity, ease: "linear" } : {}}
9350
- className="w-14 h-14 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center shadow-lg shrink-0"
9350
+ className="w-14 h-14 rounded-full bg-linear-to-br from-violet-500 to-pink-500 flex items-center justify-center shadow-lg shrink-0"
9351
9351
  >
9352
9352
  <div className="w-5 h-5 rounded-full bg-background" />
9353
9353
  </motion.div>
@@ -9438,7 +9438,7 @@ export function ImageCompare({
9438
9438
  {rightImage ? (
9439
9439
  <img src={rightImage} alt={rightLabel} className="absolute inset-0 w-full h-full object-cover" />
9440
9440
  ) : (
9441
- <div className="absolute inset-0 bg-gradient-to-br from-slate-600 to-slate-800" />
9441
+ <div className="absolute inset-0 bg-linear-to-br from-slate-600 to-slate-800" />
9442
9442
  )}
9443
9443
 
9444
9444
  {/* Left side (Foreground - Before) */}
@@ -9451,7 +9451,7 @@ export function ImageCompare({
9451
9451
  />
9452
9452
  ) : (
9453
9453
  <div
9454
- className="absolute inset-0 bg-gradient-to-br from-violet-500 to-pink-500"
9454
+ className="absolute inset-0 bg-linear-to-br from-violet-500 to-pink-500"
9455
9455
  style={{ clipPath: \`inset(0 \${100 - position}% 0 0)\` }}
9456
9456
  />
9457
9457
  )}
@@ -9491,7 +9491,7 @@ export function GalleryGrid({ items, className }: {
9491
9491
  key={i}
9492
9492
  whileHover={{ scale: 1.02 }}
9493
9493
  className={cn(
9494
- "rounded-xl bg-gradient-to-br p-4 flex items-end cursor-pointer transition-shadow hover:shadow-lg",
9494
+ "rounded-xl bg-linear-to-br p-4 flex items-end cursor-pointer transition-shadow hover:shadow-lg",
9495
9495
  item.color || colors[i % colors.length],
9496
9496
  i === 0 ? "row-span-2 min-h-[200px]" : "min-h-[100px]"
9497
9497
  )}
@@ -10142,8 +10142,8 @@ export const ChatMessageAvatar = React.forwardRef<HTMLDivElement, ChatMessageAva
10142
10142
  className={cn(
10143
10143
  'relative w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold shrink-0 select-none shadow-sm',
10144
10144
  isOwn
10145
- ? 'bg-gradient-to-tr from-primary to-violet-500 text-white shadow-primary/20'
10146
- : 'bg-gradient-to-tr from-zinc-700 to-zinc-900 dark:from-zinc-800 dark:to-zinc-950 text-white border border-border/80',
10145
+ ? 'bg-linear-to-tr from-primary to-violet-500 text-white shadow-primary/20'
10146
+ : 'bg-linear-to-tr from-zinc-700 to-zinc-900 dark:from-zinc-800 dark:to-zinc-950 text-white border border-border/80',
10147
10147
  className
10148
10148
  )}
10149
10149
  {...props}
@@ -10530,7 +10530,7 @@ export const UserProfileCover = React.forwardRef<HTMLDivElement, UserProfileCove
10530
10530
  ref={ref}
10531
10531
  className={cn(
10532
10532
  'h-36 w-full relative overflow-hidden rounded-t-2xl',
10533
- gradient || 'bg-gradient-to-r from-violet-600 via-indigo-600 to-cyan-500',
10533
+ gradient || 'bg-linear-to-r from-violet-600 via-indigo-600 to-cyan-500',
10534
10534
  className
10535
10535
  )}
10536
10536
  {...props}
@@ -10541,7 +10541,7 @@ export const UserProfileCover = React.forwardRef<HTMLDivElement, UserProfileCove
10541
10541
  <div className="absolute -top-12 -right-12 w-44 h-44 bg-white/20 rounded-full blur-2xl pointer-events-none" />
10542
10542
  <div className="absolute -bottom-10 -left-10 w-40 h-40 bg-black/40 rounded-full blur-2xl pointer-events-none" />
10543
10543
  {/* Smooth bottom blend into card */}
10544
- <div className="absolute inset-0 bg-gradient-to-t from-card/80 via-transparent to-transparent pointer-events-none" />
10544
+ <div className="absolute inset-0 bg-linear-to-t from-card/80 via-transparent to-transparent pointer-events-none" />
10545
10545
  {imageSrc && <img src={imageSrc} alt="Cover" className="w-full h-full object-cover" />}
10546
10546
  {children}
10547
10547
  </div>
@@ -10561,7 +10561,7 @@ export const UserProfileAvatar = React.forwardRef<HTMLDivElement, UserProfileAva
10561
10561
  <div
10562
10562
  ref={ref}
10563
10563
  className={cn(
10564
- 'w-20 h-20 rounded-full border-4 border-card ring-2 ring-primary/30 bg-gradient-to-tr from-violet-600 via-indigo-600 to-cyan-500 flex items-center justify-center text-white font-extrabold text-2xl shadow-2xl overflow-hidden select-none',
10564
+ 'w-20 h-20 rounded-full border-4 border-card ring-2 ring-primary/30 bg-linear-to-tr from-violet-600 via-indigo-600 to-cyan-500 flex items-center justify-center text-white font-extrabold text-2xl shadow-2xl overflow-hidden select-none',
10565
10565
  className
10566
10566
  )}
10567
10567
  {...props}
@@ -10788,7 +10788,7 @@ export const CommentAvatar = React.forwardRef<HTMLDivElement, CommentAvatarProps
10788
10788
  <div
10789
10789
  ref={ref}
10790
10790
  className={cn(
10791
- 'rounded-full flex items-center justify-center font-bold text-white shrink-0 bg-gradient-to-tr from-violet-500 to-indigo-600 shadow-xs',
10791
+ 'rounded-full flex items-center justify-center font-bold text-white shrink-0 bg-linear-to-tr from-violet-500 to-indigo-600 shadow-xs',
10792
10792
  size === 'sm' ? 'w-6 h-6 text-[10px]' : 'w-8 h-8 text-xs',
10793
10793
  className
10794
10794
  )}
@@ -10989,7 +10989,7 @@ export const SocialPostAvatar = React.forwardRef<HTMLDivElement, CommentAvatarPr
10989
10989
  <div
10990
10990
  ref={ref}
10991
10991
  className={cn(
10992
- 'w-10 h-10 rounded-full bg-gradient-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white font-bold shrink-0 shadow-xs',
10992
+ 'w-10 h-10 rounded-full bg-linear-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white font-bold shrink-0 shadow-xs',
10993
10993
  className
10994
10994
  )}
10995
10995
  {...props}
@@ -11211,7 +11211,7 @@ export const ActivityItem = React.forwardRef<HTMLDivElement, ActivityItemProps>(
11211
11211
 
11212
11212
  return (
11213
11213
  <div ref={ref} className={cn('flex items-start gap-3 py-3 w-full', className)} {...props}>
11214
- <div className="w-8 h-8 rounded-full bg-gradient-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white text-xs font-bold shrink-0 shadow-xs">
11214
+ <div className="w-8 h-8 rounded-full bg-linear-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white text-xs font-bold shrink-0 shadow-xs">
11215
11215
  {icon || user?.charAt(0) || 'U'}
11216
11216
  </div>
11217
11217
  <div className="flex-1 min-w-0">
@@ -11283,7 +11283,7 @@ export const OnlineUsersList = React.forwardRef<HTMLDivElement, OnlineUsersListP
11283
11283
  {users?.map((user, i) => (
11284
11284
  <div key={i} className="flex items-center gap-2.5 py-1">
11285
11285
  <div className="relative shrink-0">
11286
- <div className="w-7 h-7 rounded-full bg-gradient-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white text-[11px] font-bold shadow-2xs">
11286
+ <div className="w-7 h-7 rounded-full bg-linear-to-tr from-violet-500 to-indigo-600 flex items-center justify-center text-white text-[11px] font-bold shadow-2xs">
11287
11287
  {user.name.charAt(0)}
11288
11288
  </div>
11289
11289
  <div
@@ -11785,7 +11785,7 @@ export function TextButton({ children, className, ...props }: React.ButtonHTMLAt
11785
11785
  {...props}
11786
11786
  >
11787
11787
  {children}
11788
- <span className="absolute bottom-0 left-0 h-[2px] w-0 bg-primary transition-all duration-300 group-hover:w-full" />
11788
+ <span className="absolute bottom-0 left-0 h-0.5 w-0 bg-primary transition-all duration-300 group-hover:w-full" />
11789
11789
  </button>
11790
11790
  )
11791
11791
  }
@@ -11827,7 +11827,7 @@ export function NeumorphicCard({ children, className }: { children: React.ReactN
11827
11827
  export function GradientMeshCard({ children, className }: { children: React.ReactNode; className?: string }) {
11828
11828
  return (
11829
11829
  <div className={cn("relative rounded-2xl overflow-hidden", className)}>
11830
- <div className="absolute inset-0 bg-gradient-to-br from-violet-500/20 via-transparent to-pink-500/20 dark:from-violet-500/10 dark:to-pink-500/10" />
11830
+ <div className="absolute inset-0 bg-linear-to-br from-violet-500/20 via-transparent to-pink-500/20 dark:from-violet-500/10 dark:to-pink-500/10" />
11831
11831
  <div className="absolute top-0 right-0 w-32 h-32 bg-orange-400/20 dark:bg-orange-400/10 rounded-full blur-3xl" />
11832
11832
  <div className="absolute bottom-0 left-0 w-32 h-32 bg-blue-400/20 dark:bg-blue-400/10 rounded-full blur-3xl" />
11833
11833
  <div className="relative p-6 border border-white/10 dark:border-white/5 rounded-2xl backdrop-blur-sm">
@@ -11959,7 +11959,7 @@ export const StatWidgetCard = ({ title = "Total Revenue", value = "$45,231.89",
11959
11959
  export const ActivityFeed = () => (
11960
11960
  <div className="border rounded-xl bg-card p-6">
11961
11961
  <h3 className="font-bold mb-4">Recent Activity</h3>
11962
- <div className="space-y-6 relative before:absolute before:inset-0 before:ml-4 before:-translate-x-px md:before:mx-auto md:before:translate-x-0 before:h-full before:w-0.5 before:bg-gradient-to-b before:from-transparent before:via-border before:to-transparent">
11962
+ <div className="space-y-6 relative before:absolute before:inset-0 before:ml-4 before:-translate-x-px md:before:mx-auto md:before:translate-x-0 before:h-full before:w-0.5 before:bg-linear-to-b before:from-transparent before:via-border before:to-transparent">
11963
11963
  {[1, 2].map(i => (
11964
11964
  <div key={i} className="relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active">
11965
11965
  <div className="flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-primary text-primary-foreground shadow shrink-0 md:order-1 md:group-odd:-translate-x-1/2 md:group-even:translate-x-1/2 z-10"><Zap className="w-4 h-4" /></div>
@@ -12077,7 +12077,7 @@ export const ProductGallery = () => {
12077
12077
  ))}
12078
12078
  </div>
12079
12079
  <div className="flex-1 bg-muted rounded-2xl aspect-[4/3] flex items-center justify-center text-muted-foreground order-1 md:order-2 overflow-hidden relative">
12080
- <div className="absolute inset-0 bg-gradient-to-tr from-background/10 to-transparent" />
12080
+ <div className="absolute inset-0 bg-linear-to-tr from-background/10 to-transparent" />
12081
12081
  <span className="font-medium">Product View {active}</span>
12082
12082
  </div>
12083
12083
  </div>
@@ -12211,7 +12211,7 @@ export const SizeSelector = () => (
12211
12211
  export const CategoryCard = () => (
12212
12212
  <div className="relative group overflow-hidden rounded-2xl cursor-pointer aspect-square bg-muted flex items-center justify-center">
12213
12213
  <div className="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors z-10" />
12214
- <div className="absolute inset-0 scale-100 group-hover:scale-110 transition-transform duration-500 bg-gradient-to-tr from-indigo-500 to-purple-500 opacity-50" />
12214
+ <div className="absolute inset-0 scale-100 group-hover:scale-110 transition-transform duration-500 bg-linear-to-tr from-indigo-500 to-purple-500 opacity-50" />
12215
12215
  <div className="relative z-20 text-white text-center">
12216
12216
  <h3 className="text-3xl font-bold mb-2">Sneakers</h3>
12217
12217
  <div className="flex items-center gap-1 text-sm font-medium justify-center group-hover:gap-2 transition-all">Shop Now <ArrowRight className="w-4 h-4" /></div>
@@ -12748,7 +12748,7 @@ export const SplitScreenLayout = () => (
12748
12748
  <div className="w-full h-10 bg-muted rounded-lg mb-8" />
12749
12749
  <div className="w-full h-12 bg-primary rounded-lg" />
12750
12750
  </div>
12751
- <div className="hidden md:block flex-1 bg-gradient-to-br from-indigo-500 to-purple-600 p-12 text-white flex flex-col justify-between">
12751
+ <div className="hidden md:block flex-1 bg-linear-to-br from-indigo-500 to-purple-600 p-12 text-white flex flex-col justify-between">
12752
12752
  <div></div>
12753
12753
  <div>
12754
12754
  <h2 className="text-4xl font-bold mb-4">Nexore UI</h2>
@@ -12796,7 +12796,7 @@ export const DashboardGridLayout = () => (
12796
12796
  // 5. BentoGridVisual
12797
12797
  export const BentoGridVisual = () => (
12798
12798
  <div className="w-full h-[400px] border rounded-xl bg-background p-4 grid grid-cols-4 grid-rows-3 gap-4">
12799
- <div className="col-span-2 row-span-2 bg-gradient-to-br from-primary/20 to-primary/5 border rounded-2xl p-6 flex flex-col justify-end"><h3 className="text-2xl font-bold">Main Feature</h3></div>
12799
+ <div className="col-span-2 row-span-2 bg-linear-to-br from-primary/20 to-primary/5 border rounded-2xl p-6 flex flex-col justify-end"><h3 className="text-2xl font-bold">Main Feature</h3></div>
12800
12800
  <div className="col-span-1 row-span-1 bg-card border rounded-2xl" />
12801
12801
  <div className="col-span-1 row-span-2 bg-card border rounded-2xl" />
12802
12802
  <div className="col-span-1 row-span-1 bg-card border rounded-2xl" />
@@ -13118,7 +13118,7 @@ export const ComparisonTableMock = () => (
13118
13118
  export const AnimatedHeroText = () => (
13119
13119
  <h1 className="text-4xl md:text-6xl font-black text-center leading-tight">
13120
13120
  Create the next <br/>
13121
- <span className="text-transparent bg-clip-text bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500 animate-[pulse_4s_ease-in-out_infinite]">unicorn startup.</span>
13121
+ <span className="text-transparent bg-clip-text bg-linear-to-r from-blue-500 via-purple-500 to-pink-500 animate-[pulse_4s_ease-in-out_infinite]">unicorn startup.</span>
13122
13122
  </h1>
13123
13123
  )
13124
13124
 
@@ -13145,7 +13145,7 @@ export const NewsletterSignup = () => (
13145
13145
  // 9. VideoModalVisual
13146
13146
  export const VideoModalVisual = () => (
13147
13147
  <div className="relative w-full max-w-2xl mx-auto aspect-video bg-zinc-900 rounded-2xl overflow-hidden shadow-2xl group cursor-pointer border border-white/10">
13148
- <div className="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" />
13148
+ <div className="absolute inset-0 bg-linear-to-t from-black/60 to-transparent" />
13149
13149
  <div className="absolute inset-0 flex items-center justify-center">
13150
13150
  <div className="w-16 h-16 bg-white/20 backdrop-blur-md rounded-full flex items-center justify-center group-hover:scale-110 transition-transform"><Play className="w-6 h-6 text-white ml-1" /></div>
13151
13151
  </div>
@@ -13156,7 +13156,7 @@ export const VideoModalVisual = () => (
13156
13156
  // 10. GradientCTABlock
13157
13157
  export const GradientCTABlock = () => (
13158
13158
  <div className="relative p-12 rounded-3xl overflow-hidden border shadow-lg text-center">
13159
- <div className="absolute inset-0 bg-gradient-to-br from-indigo-500/20 via-purple-500/20 to-pink-500/20" />
13159
+ <div className="absolute inset-0 bg-linear-to-br from-indigo-500/20 via-purple-500/20 to-pink-500/20" />
13160
13160
  <div className="relative z-10 max-w-lg mx-auto space-y-6">
13161
13161
  <h2 className="text-3xl md:text-4xl font-extrabold">Ready to dive in?</h2>
13162
13162
  <p className="text-lg text-muted-foreground">Start your free 14-day trial today. No credit card required.</p>
@@ -13576,7 +13576,7 @@ export const FileExplorerTable = () => (
13576
13576
 
13577
13577
  // 6. LeaderboardTable
13578
13578
  export const LeaderboardTable = () => (
13579
- <div className="w-full border rounded-2xl bg-gradient-to-b from-card to-muted/20 overflow-hidden shadow-lg">
13579
+ <div className="w-full border rounded-2xl bg-linear-to-b from-card to-muted/20 overflow-hidden shadow-lg">
13580
13580
  <div className="p-6 text-center border-b"><h3 className="font-bold text-xl uppercase tracking-widest text-yellow-500">Global Ranking</h3></div>
13581
13581
  <div className="divide-y">
13582
13582
  {[1, 2, 3].map(i => (
@@ -13743,10 +13743,10 @@ const Progress = React.forwardRef<
13743
13743
  const percentage = Math.min(100, Math.max(0, (value / max) * 100));
13744
13744
 
13745
13745
  const variantClasses: Record<"default" | "success" | "warning" | "error", string> = {
13746
- default: "bg-gradient-to-r from-primary to-primary/80",
13747
- success: "bg-gradient-to-r from-emerald-500 to-teal-500",
13748
- warning: "bg-gradient-to-r from-amber-500 to-orange-500",
13749
- error: "bg-gradient-to-r from-red-500 to-rose-500",
13746
+ default: "bg-linear-to-r from-primary to-primary/80",
13747
+ success: "bg-linear-to-r from-emerald-500 to-teal-500",
13748
+ warning: "bg-linear-to-r from-amber-500 to-orange-500",
13749
+ error: "bg-linear-to-r from-red-500 to-rose-500",
13750
13750
  };
13751
13751
 
13752
13752
  const sizeClasses: Record<"default" | "sm" | "lg", string> = {
@@ -13779,7 +13779,7 @@ const Progress = React.forwardRef<
13779
13779
  "h-full w-full flex-1 rounded-full",
13780
13780
  variantClasses[variant as "default" | "success" | "warning" | "error"],
13781
13781
  isIndeterminate
13782
- ? "absolute inset-0 -translate-x-full origin-left bg-gradient-to-r from-primary/30 via-primary to-primary/30"
13782
+ ? "absolute inset-0 -translate-x-full origin-left bg-linear-to-r from-primary/30 via-primary to-primary/30"
13783
13783
  : "transition-transform ease-out",
13784
13784
  animated && !isIndeterminate ? "duration-500" : "duration-0"
13785
13785
  )}
@@ -14363,9 +14363,9 @@ const ScrollBar = React.forwardRef<
14363
14363
  className={cn(
14364
14364
  "flex touch-none select-none transition-colors duration-150 rounded-full",
14365
14365
  orientation === "vertical" &&
14366
- "h-full w-2 border-l border-l-transparent p-[1px] hover:bg-black/5 dark:hover:bg-white/5",
14366
+ "h-full w-2 border-l border-l-transparent p-px hover:bg-black/5 dark:hover:bg-white/5",
14367
14367
  orientation === "horizontal" &&
14368
- "h-2 flex-col border-t border-t-transparent p-[1px] hover:bg-black/5 dark:hover:bg-white/5",
14368
+ "h-2 flex-col border-t border-t-transparent p-px hover:bg-black/5 dark:hover:bg-white/5",
14369
14369
  className
14370
14370
  )}
14371
14371
  {...props}
@@ -14577,7 +14577,7 @@ function Skeleton({
14577
14577
  >
14578
14578
  {animated && (
14579
14579
  <span
14580
- className="absolute inset-0 -translate-x-full bg-gradient-to-r from-transparent via-foreground/5 to-transparent animate-[shimmer_2s_infinite]"
14580
+ className="absolute inset-0 -translate-x-full bg-linear-to-r from-transparent via-foreground/5 to-transparent animate-[shimmer_2s_infinite]"
14581
14581
  style={{
14582
14582
  animation: "shimmer 2s infinite",
14583
14583
  }}
@@ -15065,7 +15065,7 @@ export function TypingAnimation({
15065
15065
  <motion.span
15066
15066
  animate={{ opacity: [1, 0, 1] }}
15067
15067
  transition={{ duration: 0.8, repeat: Infinity, ease: "linear" }}
15068
- className="ml-0.5 inline-block w-[2px] h-[1.1em] bg-current font-normal align-middle"
15068
+ className="ml-0.5 inline-block w-0.5 h-[1.1em] bg-current font-normal align-middle"
15069
15069
  >
15070
15070
  |
15071
15071
  </motion.span>
@@ -15364,7 +15364,7 @@ export const Stepper = React.forwardRef<HTMLDivElement, StepperProps>(
15364
15364
 
15365
15365
  {/* Vertical Connector Line perfectly centered under the circle */}
15366
15366
  {!isLast && (
15367
- <div className="w-[2px] min-h-[36px] bg-muted/40 my-1 rounded-full relative overflow-hidden flex-1">
15367
+ <div className="w-0.5 min-h-[36px] bg-muted/40 my-1 rounded-full relative overflow-hidden flex-1">
15368
15368
  <motion.div
15369
15369
  className="absolute top-0 left-0 right-0 bg-primary"
15370
15370
  initial={{ height: "0%" }}
@@ -15496,7 +15496,7 @@ export const Stepper = React.forwardRef<HTMLDivElement, StepperProps>(
15496
15496
  <ChevronRight className={cn("h-4 w-4 shrink-0 transition-colors", isCompleted && "text-primary")} />
15497
15497
  </div>
15498
15498
  ) : (
15499
- <div className="h-[2px] w-full bg-muted/50 rounded-full overflow-hidden relative">
15499
+ <div className="h-0.5 w-full bg-muted/50 rounded-full overflow-hidden relative">
15500
15500
  <motion.div
15501
15501
  className="absolute inset-y-0 left-0 bg-primary"
15502
15502
  initial={{ width: "0%" }}
@@ -15640,7 +15640,7 @@ const tableContainerVariants = cva(
15640
15640
  minimal: "bg-transparent border-0 border-b border-border/50 text-foreground rounded-none shadow-none",
15641
15641
  cyberpunk: "bg-black border-2 border-green-500/50 text-green-400 font-mono rounded-none shadow-[0_0_15px_rgba(34,197,94,0.15)]",
15642
15642
  aurora: "bg-card/25 backdrop-blur-xl border border-pink-500/10 text-card-foreground rounded-2xl shadow-xl",
15643
- gradient: "bg-gradient-to-b from-card to-muted/20 border border-border/80 text-foreground rounded-2xl shadow-md",
15643
+ gradient: "bg-linear-to-b from-card to-muted/20 border border-border/80 text-foreground rounded-2xl shadow-md",
15644
15644
  }
15645
15645
  },
15646
15646
  defaultVariants: {
@@ -15744,8 +15744,8 @@ const TableHeader = React.forwardRef<
15744
15744
  variant === 'cyberpunk' && "bg-green-950/40 border-b-2 border-green-500/60 text-green-300 font-bold uppercase tracking-wider",
15745
15745
  variant === 'neon' && "bg-purple-950/20 border-b border-purple-500/40 text-purple-200 tracking-wide",
15746
15746
  variant === 'glass' && "bg-white/5 dark:bg-white/3 border-b border-white/10 text-foreground/80",
15747
- variant === 'aurora' && "bg-gradient-to-r from-pink-500/10 via-purple-500/10 to-indigo-500/10 border-b border-purple-500/20 text-purple-300",
15748
- variant === 'gradient' && "bg-gradient-to-r from-primary/10 to-indigo-500/5 border-b border-border/80 text-foreground/90",
15747
+ variant === 'aurora' && "bg-linear-to-r from-pink-500/10 via-purple-500/10 to-indigo-500/10 border-b border-purple-500/20 text-purple-300",
15748
+ variant === 'gradient' && "bg-linear-to-r from-primary/10 to-indigo-500/5 border-b border-border/80 text-foreground/90",
15749
15749
  className
15750
15750
  );
15751
15751
 
@@ -16495,7 +16495,7 @@ export function AnimatedGradientBorder({
16495
16495
  duration = 3,
16496
16496
  }: AnimatedGradientBorderProps) {
16497
16497
  return (
16498
- <div className={cn("relative rounded-xl p-[1px]", containerClassName)}>
16498
+ <div className={cn("relative rounded-xl p-px", containerClassName)}>
16499
16499
  <motion.div
16500
16500
  className={cn(
16501
16501
  "absolute inset-0 rounded-xl",
@@ -16632,7 +16632,7 @@ export function RetroGrid({ className, angle = 65 }: RetroGridProps) {
16632
16632
  }}
16633
16633
  />
16634
16634
  </div>
16635
- <div className="absolute inset-0 bg-gradient-to-t from-background to-transparent to-90%" />
16635
+ <div className="absolute inset-0 bg-linear-to-t from-background to-transparent to-90%" />
16636
16636
  </div>
16637
16637
  )
16638
16638
  }
@@ -16678,7 +16678,7 @@ export function Meteors({ number = 20, className }: MeteorsProps) {
16678
16678
  animationDuration: meteor.animationDuration,
16679
16679
  }}
16680
16680
  >
16681
- <div className="absolute top-1/2 -translate-y-1/2 w-[1px] h-full bg-gradient-to-b from-foreground/30 to-transparent" />
16681
+ <div className="absolute top-1/2 -translate-y-1/2 w-px h-full bg-linear-to-b from-foreground/30 to-transparent" />
16682
16682
  </span>
16683
16683
  ))}
16684
16684
  </div>
@@ -37816,7 +37816,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url))
37816
37816
  function injectThemeCss(baseDir, cssRelativePath, themeName, radiusValue, fontFamily = "system", density = "default", animationStyle = "energetic") {
37817
37817
  const cssAbsolutePath = path4.join(baseDir, cssRelativePath);
37818
37818
  const palette = THEME_PALETTES[themeName] || THEME_PALETTES.cyan;
37819
- const radius = typeof radiusValue === "number" ? radiusValue : parseFloat(radiusValue) || 0.75;
37819
+ const radius = typeof radiusValue === "number" ? radiusValue : radiusValue !== void 0 && !isNaN(parseFloat(radiusValue)) ? parseFloat(radiusValue) : 0.75;
37820
37820
  const fontMap = {
37821
37821
  inter: "'Inter', sans-serif",
37822
37822
  geist: "'Geist', sans-serif",
@@ -37830,14 +37830,17 @@ function injectThemeCss(baseDir, cssRelativePath, themeName, radiusValue, fontFa
37830
37830
  if (animationStyle === "none") {
37831
37831
  animationCss = `
37832
37832
  /* NexoreUI Animation Style: None */
37833
- *, *::before, *::after {
37834
- animation-duration: 0.001ms !important;
37835
- animation-iteration-count: 1 !important;
37836
- transition-duration: 0.001ms !important;
37833
+ :root {
37834
+ --motion-ease: linear;
37835
+ --motion-duration: 0s;
37836
+ }
37837
+ button, a, input, select, textarea, [role="button"] {
37838
+ transition-duration: 0s !important;
37837
37839
  }
37838
37840
  `;
37839
37841
  } else if (animationStyle === "subtle") {
37840
37842
  animationCss = `
37843
+ /* NexoreUI Animation Style: Subtle */
37841
37844
  :root {
37842
37845
  --motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
37843
37846
  --motion-duration: 0.35s;
@@ -37845,6 +37848,7 @@ function injectThemeCss(baseDir, cssRelativePath, themeName, radiusValue, fontFa
37845
37848
  `;
37846
37849
  } else {
37847
37850
  animationCss = `
37851
+ /* NexoreUI Animation Style: Energetic */
37848
37852
  :root {
37849
37853
  --motion-ease: cubic-bezier(0.34, 1.56, 0.64, 1);
37850
37854
  --motion-duration: 0.2s;
@@ -37852,8 +37856,6 @@ function injectThemeCss(baseDir, cssRelativePath, themeName, radiusValue, fontFa
37852
37856
  `;
37853
37857
  }
37854
37858
  const themeBlock = `/* NexoreUI Theme Tokens */
37855
- @source "../node_modules/nexoreui/dist/**/*.{js,mjs}";
37856
-
37857
37859
  @theme {
37858
37860
  --color-background: var(--background);
37859
37861
  --color-foreground: var(--foreground);
@@ -37936,44 +37938,25 @@ function injectThemeCss(baseDir, cssRelativePath, themeName, radiusValue, fontFa
37936
37938
  --density-gap: ${densityGap};
37937
37939
  }
37938
37940
 
37939
- body {
37941
+ html, body {
37942
+ font-family: var(--font-sans);
37940
37943
  background-color: var(--background);
37941
37944
  color: var(--foreground);
37942
37945
  }
37943
37946
  ${animationCss}
37944
37947
  /* End NexoreUI Theme Tokens */`;
37945
- if (fs4.existsSync(cssAbsolutePath)) {
37946
- let existingContent = fs4.readFileSync(cssAbsolutePath, "utf8");
37947
- existingContent = existingContent.replace(/#root\s*\{[^}]*\}/g, "");
37948
- existingContent = existingContent.replace(/:root\s*\{[^}]*color:\s*rgba\(255,\s*255,\s*255[^}]*\}/g, "");
37949
- existingContent = existingContent.replace(/body\s*\{[^}]*place-items:\s*center[^}]*\}/g, "");
37950
- if (existingContent.includes("/* NexoreUI Theme Tokens */")) {
37951
- existingContent = existingContent.replace(
37952
- /\/\* NexoreUI Theme Tokens \*\/[\s\S]*?\/\* End NexoreUI Theme Tokens \*\//,
37953
- themeBlock
37954
- );
37955
- fs4.writeFileSync(cssAbsolutePath, existingContent, "utf8");
37956
- return true;
37957
- } else if (existingContent.includes("--color-primary")) {
37958
- existingContent = existingContent.replace(/(@source[\s\S]*|@theme[\s\S]*)/, themeBlock);
37959
- fs4.writeFileSync(cssAbsolutePath, existingContent, "utf8");
37960
- return true;
37961
- } else {
37962
- let finalContent = existingContent.trim() + "\n\n" + themeBlock;
37963
- if (!finalContent.includes('@import "tailwindcss"') && !finalContent.includes("@import 'tailwindcss'")) {
37964
- finalContent = '@import "tailwindcss";\n' + finalContent;
37965
- }
37966
- fs4.writeFileSync(cssAbsolutePath, finalContent, "utf8");
37967
- return true;
37968
- }
37969
- } else {
37970
- const cssDir = path4.dirname(cssAbsolutePath);
37971
- if (!fs4.existsSync(cssDir)) fs4.mkdirSync(cssDir, { recursive: true });
37972
- fs4.writeFileSync(cssAbsolutePath, `@import "tailwindcss";
37948
+ const fontImports = `@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');`;
37949
+ const cleanFullCss = `@import "tailwindcss";
37950
+ ${fontImports}
37973
37951
 
37974
- ` + themeBlock, "utf8");
37975
- return true;
37976
- }
37952
+ @custom-variant dark (&:where(.dark, .dark *));
37953
+
37954
+ ${themeBlock}
37955
+ `;
37956
+ const cssDir = path4.dirname(cssAbsolutePath);
37957
+ if (!fs4.existsSync(cssDir)) fs4.mkdirSync(cssDir, { recursive: true });
37958
+ fs4.writeFileSync(cssAbsolutePath, cleanFullCss, "utf8");
37959
+ return true;
37977
37960
  }
37978
37961
  function installPeerDependencies(baseDir, packageManager, dependencies = ["clsx", "tailwind-merge", "lucide-react", "framer-motion", "class-variance-authority"]) {
37979
37962
  try {
@@ -38137,8 +38120,8 @@ async function createCommand(projectName, options = {}) {
38137
38120
  }
38138
38121
  process.chdir(targetDir);
38139
38122
  console.log(`
38140
- \x1B[33m\u{1F4E6} Step 2/4: Installing NexoreUI, Tailwind CSS, and core packages...\x1B[0m`);
38141
- (0, import_child_process3.execSync)(`npm install --legacy-peer-deps nexoreui lucide-react clsx tailwind-merge framer-motion class-variance-authority @tailwindcss/vite tailwindcss`, {
38123
+ \x1B[33m\u{1F4E6} Step 2/4: Installing Tailwind CSS and core packages...\x1B[0m`);
38124
+ (0, import_child_process3.execSync)(`npm install --legacy-peer-deps lucide-react clsx tailwind-merge framer-motion class-variance-authority @tailwindcss/vite tailwindcss`, {
38142
38125
  stdio: "inherit"
38143
38126
  });
38144
38127
  try {
@@ -38182,7 +38165,7 @@ export default function App() {
38182
38165
 
38183
38166
  {/* Hero Title */}
38184
38167
  <div className="space-y-3">
38185
- <h1 className="text-4xl sm:text-5xl font-extrabold tracking-tight">
38168
+ <h1 className="text-4xl sm:text-5xl font-extrabold tracking-tight text-foreground">
38186
38169
  Welcome to <span className="text-primary">NexoreUI</span>
38187
38170
  </h1>
38188
38171
  <p className="text-muted-foreground text-sm sm:text-base max-w-md mx-auto">