nexoreui 1.8.1 → 1.8.3
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/LICENSE +21 -0
- package/README.md +1 -1
- package/bin/nexoreui.js +32369 -17244
- package/dist/index.d.mts +9 -43
- package/dist/index.d.ts +9 -43
- package/dist/index.js +102 -98
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +200 -196
- package/dist/index.mjs.map +1 -1
- package/package.json +75 -75
- package/postinstall.js +50 -50
package/dist/index.mjs
CHANGED
|
@@ -25,14 +25,14 @@ var buttonVariants = cva(
|
|
|
25
25
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
26
26
|
link: "text-primary underline-offset-4 hover:underline",
|
|
27
27
|
// Premium variants
|
|
28
|
-
premium: "bg-
|
|
28
|
+
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",
|
|
29
29
|
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))]",
|
|
30
30
|
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",
|
|
31
31
|
shimmer: "relative overflow-hidden bg-slate-900 text-white dark:bg-white dark:text-black",
|
|
32
32
|
// New requested variants
|
|
33
|
-
gradient: "bg-
|
|
33
|
+
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",
|
|
34
34
|
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",
|
|
35
|
-
magnetic: "bg-
|
|
35
|
+
magnetic: "bg-linear-to-br from-violet-600 to-indigo-600 text-white shadow-md hover:shadow-lg",
|
|
36
36
|
loading: "bg-primary/80 text-primary-foreground/80 pointer-events-none cursor-wait"
|
|
37
37
|
},
|
|
38
38
|
size: {
|
|
@@ -80,7 +80,7 @@ var Button = React.forwardRef(
|
|
|
80
80
|
isShimmer && /* @__PURE__ */ jsx(
|
|
81
81
|
motion.div,
|
|
82
82
|
{
|
|
83
|
-
className: "absolute inset-0 w-[200%] bg-
|
|
83
|
+
className: "absolute inset-0 w-[200%] bg-linear-to-r from-transparent via-white/20 to-transparent",
|
|
84
84
|
initial: { x: "-100%" },
|
|
85
85
|
animate: { x: "100%" },
|
|
86
86
|
transition: {
|
|
@@ -216,7 +216,7 @@ var BorderBeamButton = React.forwardRef(
|
|
|
216
216
|
),
|
|
217
217
|
...props,
|
|
218
218
|
children: [
|
|
219
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-
|
|
219
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-r from-primary to-transparent opacity-0 group-hover:opacity-20 transition-opacity" }),
|
|
220
220
|
/* @__PURE__ */ jsx("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" }),
|
|
221
221
|
/* @__PURE__ */ jsx("span", { className: "relative z-10", children })
|
|
222
222
|
]
|
|
@@ -241,7 +241,7 @@ var GlowButton = React.forwardRef(
|
|
|
241
241
|
/* @__PURE__ */ jsx(
|
|
242
242
|
"div",
|
|
243
243
|
{
|
|
244
|
-
className: "absolute -inset-0.5 bg-
|
|
244
|
+
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",
|
|
245
245
|
style: { backgroundColor: glowColor }
|
|
246
246
|
}
|
|
247
247
|
),
|
|
@@ -274,10 +274,10 @@ var cardVariants = cva2(
|
|
|
274
274
|
variant: {
|
|
275
275
|
default: "border bg-card text-card-foreground shadow-sm hover:shadow-md",
|
|
276
276
|
glass: "backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10 shadow-lg",
|
|
277
|
-
gradient: "bg-
|
|
277
|
+
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",
|
|
278
278
|
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)]",
|
|
279
279
|
// New variants
|
|
280
|
-
bento: "border border-border/60 bg-
|
|
280
|
+
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",
|
|
281
281
|
spotlight: "border bg-card text-card-foreground relative hover:border-primary/20",
|
|
282
282
|
flip: "bg-transparent border-0 shadow-none overflow-visible relative",
|
|
283
283
|
tilt: "border bg-card text-card-foreground shadow-md"
|
|
@@ -350,7 +350,7 @@ var Card = React2.forwardRef(
|
|
|
350
350
|
transition: { type: "spring", stiffness: 300, damping: 22 },
|
|
351
351
|
children: [
|
|
352
352
|
/* @__PURE__ */ jsx2("div", { className: "absolute inset-0 backface-hidden border bg-card text-card-foreground rounded-2xl shadow-sm flex flex-col justify-between overflow-hidden", children }),
|
|
353
|
-
/* @__PURE__ */ jsx2("div", { className: "absolute inset-0 backface-hidden rotate-y-180 border bg-
|
|
353
|
+
/* @__PURE__ */ jsx2("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", children: backContent || /* @__PURE__ */ jsx2("div", { className: "text-sm font-medium text-muted-foreground", children: "Flip side content placeholder" }) })
|
|
354
354
|
]
|
|
355
355
|
}
|
|
356
356
|
)
|
|
@@ -416,7 +416,7 @@ var CardTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
416
416
|
"h3",
|
|
417
417
|
{
|
|
418
418
|
ref,
|
|
419
|
-
className: cn("font-semibold leading-none tracking-tight text-xl bg-
|
|
419
|
+
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),
|
|
420
420
|
...props
|
|
421
421
|
}
|
|
422
422
|
));
|
|
@@ -738,7 +738,7 @@ var Input = React3.forwardRef(
|
|
|
738
738
|
...htmlProps
|
|
739
739
|
}
|
|
740
740
|
),
|
|
741
|
-
variant === "gradient" && /* @__PURE__ */ jsx3("div", { className: "absolute inset-0 -z-10 rounded-xl bg-
|
|
741
|
+
variant === "gradient" && /* @__PURE__ */ jsx3("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" })
|
|
742
742
|
]
|
|
743
743
|
}
|
|
744
744
|
);
|
|
@@ -957,7 +957,7 @@ var badgeVariants = cva4(
|
|
|
957
957
|
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
958
958
|
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
959
959
|
outline: "text-foreground border-border hover:bg-accent",
|
|
960
|
-
gradient: "border-transparent bg-
|
|
960
|
+
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",
|
|
961
961
|
neon: "border-primary/50 bg-primary/10 text-primary shadow-[0_0_10px_rgba(var(--primary-rgb),0.3)]",
|
|
962
962
|
success: "border-transparent bg-emerald-500/20 text-emerald-600 dark:text-emerald-400",
|
|
963
963
|
warning: "border-transparent bg-amber-500/20 text-amber-600 dark:text-amber-400",
|
|
@@ -1003,7 +1003,7 @@ var avatarVariants = cva5(
|
|
|
1003
1003
|
},
|
|
1004
1004
|
variant: {
|
|
1005
1005
|
default: "border-2 border-background",
|
|
1006
|
-
gradient: "p-[2px] bg-
|
|
1006
|
+
gradient: "p-[2px] bg-linear-to-tr from-violet-500 to-pink-500",
|
|
1007
1007
|
glow: "shadow-[0_0_15px_rgba(139,92,246,0.5)] border-2 border-violet-500",
|
|
1008
1008
|
glass: "backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10"
|
|
1009
1009
|
}
|
|
@@ -1358,7 +1358,7 @@ var DialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1358
1358
|
{
|
|
1359
1359
|
ref,
|
|
1360
1360
|
className: cn(
|
|
1361
|
-
"text-xl font-semibold leading-none tracking-tight bg-
|
|
1361
|
+
"text-xl font-semibold leading-none tracking-tight bg-linear-to-br from-foreground to-foreground/70 bg-clip-text text-transparent",
|
|
1362
1362
|
className
|
|
1363
1363
|
),
|
|
1364
1364
|
...props
|
|
@@ -1440,7 +1440,7 @@ var Checkbox = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1440
1440
|
{
|
|
1441
1441
|
ref,
|
|
1442
1442
|
className: cn(
|
|
1443
|
-
"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-
|
|
1443
|
+
"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",
|
|
1444
1444
|
className
|
|
1445
1445
|
),
|
|
1446
1446
|
...props,
|
|
@@ -1576,7 +1576,7 @@ SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
|
1576
1576
|
import * as React12 from "react";
|
|
1577
1577
|
import { cva as cva9 } from "class-variance-authority";
|
|
1578
1578
|
import { motion as motion7 } from "framer-motion";
|
|
1579
|
-
import { AlertCircle as AlertCircle2, Info, CheckCircle2 as CheckCircle22, XCircle, Cookie, WifiOff, AlertTriangle
|
|
1579
|
+
import { AlertCircle as AlertCircle2, Info, CheckCircle2 as CheckCircle22, XCircle, Cookie, WifiOff, AlertTriangle, X as X3 } from "lucide-react";
|
|
1580
1580
|
import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1581
1581
|
var alertVariants = cva9(
|
|
1582
1582
|
"relative w-full rounded-2xl border p-4 [&>svg~*]:pl-7 [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 transition-all duration-300 shadow-sm",
|
|
@@ -1593,7 +1593,7 @@ var alertVariants = cva9(
|
|
|
1593
1593
|
minimal: "border-0 bg-muted/40 p-3 text-sm rounded-xl text-foreground hover:bg-muted/60 shadow-none [&>svg]:top-3.5",
|
|
1594
1594
|
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",
|
|
1595
1595
|
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",
|
|
1596
|
-
gradient: "bg-
|
|
1596
|
+
gradient: "bg-linear-to-r from-blue-500/10 to-indigo-500/10 border-blue-500/20 text-foreground [&>svg]:text-blue-500",
|
|
1597
1597
|
banner: "w-full bg-indigo-600 text-white border-0 shadow-md rounded-none sm:rounded-xl [&>svg]:text-white"
|
|
1598
1598
|
}
|
|
1599
1599
|
},
|
|
@@ -1621,7 +1621,7 @@ var Alert = React12.forwardRef(
|
|
|
1621
1621
|
if (!isOpen) return null;
|
|
1622
1622
|
const isMinimal = variant === "minimal";
|
|
1623
1623
|
const isBanner = variant === "banner";
|
|
1624
|
-
const defaultIcon = icon || (variant === "destructive" ? /* @__PURE__ */ jsx13(XCircle, { className: "h-4 w-4" }) : variant === "success" ? /* @__PURE__ */ jsx13(CheckCircle22, { className: "h-4 w-4" }) : variant === "warning" ? /* @__PURE__ */ jsx13(
|
|
1624
|
+
const defaultIcon = icon || (variant === "destructive" ? /* @__PURE__ */ jsx13(XCircle, { className: "h-4 w-4" }) : variant === "success" ? /* @__PURE__ */ jsx13(CheckCircle22, { className: "h-4 w-4" }) : variant === "warning" ? /* @__PURE__ */ jsx13(AlertTriangle, { className: "h-4 w-4" }) : variant === "info" ? /* @__PURE__ */ jsx13(Info, { className: "h-4 w-4" }) : variant === "default" ? /* @__PURE__ */ jsx13(AlertCircle2, { className: "h-4 w-4" }) : null);
|
|
1625
1625
|
const content = /* @__PURE__ */ jsxs10(Fragment2, { children: [
|
|
1626
1626
|
defaultIcon && /* @__PURE__ */ jsx13("div", { className: cn("absolute left-4", isMinimal ? "top-3" : "top-4"), children: defaultIcon }),
|
|
1627
1627
|
/* @__PURE__ */ jsxs10("div", { className: cn(defaultIcon ? "pl-7" : "", "pr-8"), children: [
|
|
@@ -1747,7 +1747,7 @@ var OfflineBanner = () => /* @__PURE__ */ jsxs10("div", { className: "w-full bg-
|
|
|
1747
1747
|
" You are currently offline. Some features may be unavailable."
|
|
1748
1748
|
] });
|
|
1749
1749
|
var RateLimitAlert = () => /* @__PURE__ */ jsxs10("div", { className: "border border-orange-500/30 bg-orange-500/10 p-5 rounded-2xl flex gap-3 items-start max-w-md shadow-sm", children: [
|
|
1750
|
-
/* @__PURE__ */ jsx13(
|
|
1750
|
+
/* @__PURE__ */ jsx13(AlertTriangle, { className: "w-5 h-5 text-orange-500 shrink-0 mt-0.5 animate-pulse" }),
|
|
1751
1751
|
/* @__PURE__ */ jsxs10("div", { className: "flex-1", children: [
|
|
1752
1752
|
/* @__PURE__ */ jsx13("h4", { className: "font-bold text-orange-600 dark:text-orange-400", children: "Rate Limit Exceeded" }),
|
|
1753
1753
|
/* @__PURE__ */ jsx13("p", { className: "text-sm text-orange-600/80 dark:text-orange-400/80 mt-1 mb-4", children: "You have made too many requests. Please wait 45 seconds before trying again." }),
|
|
@@ -1843,7 +1843,7 @@ function Skeleton({
|
|
|
1843
1843
|
children: animated && /* @__PURE__ */ jsx15(
|
|
1844
1844
|
"span",
|
|
1845
1845
|
{
|
|
1846
|
-
className: "absolute inset-0 -translate-x-full bg-
|
|
1846
|
+
className: "absolute inset-0 -translate-x-full bg-linear-to-r from-transparent via-foreground/5 to-transparent animate-[shimmer_2s_infinite]",
|
|
1847
1847
|
style: {
|
|
1848
1848
|
animation: "shimmer 2s infinite"
|
|
1849
1849
|
}
|
|
@@ -1877,10 +1877,10 @@ var Progress = React13.forwardRef(
|
|
|
1877
1877
|
}, ref) => {
|
|
1878
1878
|
const percentage = Math.min(100, Math.max(0, value / max * 100));
|
|
1879
1879
|
const variantClasses = {
|
|
1880
|
-
default: "bg-
|
|
1881
|
-
success: "bg-
|
|
1882
|
-
warning: "bg-
|
|
1883
|
-
error: "bg-
|
|
1880
|
+
default: "bg-linear-to-r from-primary to-primary/80",
|
|
1881
|
+
success: "bg-linear-to-r from-emerald-500 to-teal-500",
|
|
1882
|
+
warning: "bg-linear-to-r from-amber-500 to-orange-500",
|
|
1883
|
+
error: "bg-linear-to-r from-red-500 to-rose-500"
|
|
1884
1884
|
};
|
|
1885
1885
|
const sizeClasses2 = {
|
|
1886
1886
|
default: "h-3.5",
|
|
@@ -1913,7 +1913,7 @@ var Progress = React13.forwardRef(
|
|
|
1913
1913
|
className: cn(
|
|
1914
1914
|
"h-full w-full flex-1 rounded-full",
|
|
1915
1915
|
variantClasses[variant],
|
|
1916
|
-
isIndeterminate ? "absolute inset-0 -translate-x-full origin-left bg-
|
|
1916
|
+
isIndeterminate ? "absolute inset-0 -translate-x-full origin-left bg-linear-to-r from-primary/30 via-primary to-primary/30" : "transition-transform ease-out",
|
|
1917
1917
|
animated && !isIndeterminate ? "duration-500" : "duration-0"
|
|
1918
1918
|
),
|
|
1919
1919
|
style: isIndeterminate ? { animation: "shimmer 1.8s infinite" } : { transform: `translateX(-${100 - percentage}%)` }
|
|
@@ -2375,7 +2375,7 @@ function ShimmerBlock({ className }) {
|
|
|
2375
2375
|
return /* @__PURE__ */ jsx18("div", { className: cn("relative overflow-hidden bg-muted rounded-md h-24 w-full", className), children: /* @__PURE__ */ jsx18(
|
|
2376
2376
|
motion8.div,
|
|
2377
2377
|
{
|
|
2378
|
-
className: "absolute inset-0 -translate-x-full bg-
|
|
2378
|
+
className: "absolute inset-0 -translate-x-full bg-linear-to-r from-transparent via-white/10 to-transparent",
|
|
2379
2379
|
animate: { translateX: ["-100%", "100%"] },
|
|
2380
2380
|
transition: { repeat: Infinity, duration: 1.5, ease: "linear" }
|
|
2381
2381
|
}
|
|
@@ -2488,7 +2488,7 @@ function Steps({ items, className }) {
|
|
|
2488
2488
|
transition: { delay: index * 0.1 },
|
|
2489
2489
|
className: cn(
|
|
2490
2490
|
"flex h-9 w-9 items-center justify-center rounded-full border-2 text-sm font-bold transition-all duration-300",
|
|
2491
|
-
item.status === "complete" && "border-transparent bg-
|
|
2491
|
+
item.status === "complete" && "border-transparent bg-linear-to-br from-emerald-500 to-emerald-600 text-white shadow-lg shadow-emerald-500/20",
|
|
2492
2492
|
item.status === "current" && "border-primary bg-background text-primary shadow-lg shadow-primary/20 ring-4 ring-primary/10",
|
|
2493
2493
|
item.status === "upcoming" && "border-muted-foreground/30 bg-muted text-muted-foreground"
|
|
2494
2494
|
),
|
|
@@ -2586,7 +2586,7 @@ var BreadcrumbTrail = () => /* @__PURE__ */ jsxs14("nav", { className: "flex ite
|
|
|
2586
2586
|
/* @__PURE__ */ jsx19(ChevronRight, { className: "w-4 h-4" }),
|
|
2587
2587
|
/* @__PURE__ */ jsx19("span", { className: "text-foreground font-medium", children: "Laptop" })
|
|
2588
2588
|
] });
|
|
2589
|
-
var StepIndicator = (
|
|
2589
|
+
var StepIndicator = () => /* @__PURE__ */ jsxs14("div", { className: "flex items-center w-full max-w-sm", children: [
|
|
2590
2590
|
/* @__PURE__ */ jsx19("div", { className: "flex items-center text-primary", children: /* @__PURE__ */ jsx19("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", children: "1" }) }),
|
|
2591
2591
|
/* @__PURE__ */ jsx19("div", { className: "flex-1 h-[2px] bg-primary mx-2" }),
|
|
2592
2592
|
/* @__PURE__ */ jsx19("div", { className: "flex items-center text-primary", children: /* @__PURE__ */ jsx19("div", { className: "w-8 h-8 rounded-full border-2 border-primary bg-background flex items-center justify-center font-bold text-sm", children: "2" }) }),
|
|
@@ -2900,7 +2900,7 @@ Marquee.displayName = "Marquee";
|
|
|
2900
2900
|
|
|
2901
2901
|
// src/components/number-ticker.tsx
|
|
2902
2902
|
import * as React19 from "react";
|
|
2903
|
-
import { motion as motion13, useMotionValue
|
|
2903
|
+
import { motion as motion13, useMotionValue, useSpring, useTransform, useInView as useInView2 } from "framer-motion";
|
|
2904
2904
|
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2905
2905
|
var NumberTicker = React19.forwardRef(
|
|
2906
2906
|
({
|
|
@@ -2915,13 +2915,13 @@ var NumberTicker = React19.forwardRef(
|
|
|
2915
2915
|
const elementRef = React19.useRef(null);
|
|
2916
2916
|
const combinedRef = ref || elementRef;
|
|
2917
2917
|
const inView = useInView2(combinedRef, { once: true, margin: "0px 0px -50px 0px" });
|
|
2918
|
-
const motionValue =
|
|
2919
|
-
const springValue =
|
|
2918
|
+
const motionValue = useMotionValue(0);
|
|
2919
|
+
const springValue = useSpring(motionValue, {
|
|
2920
2920
|
stiffness: 70,
|
|
2921
2921
|
damping: 15,
|
|
2922
2922
|
mass: 1
|
|
2923
2923
|
});
|
|
2924
|
-
const displayValue =
|
|
2924
|
+
const displayValue = useTransform(springValue, (latest) => {
|
|
2925
2925
|
const formatted = Number(latest.toFixed(decimals));
|
|
2926
2926
|
return formatted.toLocaleString("en-US", {
|
|
2927
2927
|
minimumFractionDigits: decimals,
|
|
@@ -2930,7 +2930,7 @@ var NumberTicker = React19.forwardRef(
|
|
|
2930
2930
|
});
|
|
2931
2931
|
React19.useEffect(() => {
|
|
2932
2932
|
if (inView) {
|
|
2933
|
-
|
|
2933
|
+
motionValue.set(value);
|
|
2934
2934
|
}
|
|
2935
2935
|
}, [inView, value, motionValue]);
|
|
2936
2936
|
return /* @__PURE__ */ jsxs18(
|
|
@@ -2955,11 +2955,11 @@ NumberTicker.displayName = "NumberTicker";
|
|
|
2955
2955
|
function AnimatedNumber({
|
|
2956
2956
|
value,
|
|
2957
2957
|
className,
|
|
2958
|
-
duration = 0.5,
|
|
2958
|
+
duration: _duration = 0.5,
|
|
2959
2959
|
formatFn
|
|
2960
2960
|
}) {
|
|
2961
|
-
const motionValue =
|
|
2962
|
-
const springValue =
|
|
2961
|
+
const motionValue = useMotionValue(value);
|
|
2962
|
+
const springValue = useSpring(motionValue, {
|
|
2963
2963
|
stiffness: 100,
|
|
2964
2964
|
damping: 15
|
|
2965
2965
|
});
|
|
@@ -2984,8 +2984,8 @@ function AnimatedNumber({
|
|
|
2984
2984
|
|
|
2985
2985
|
// src/components/rating.tsx
|
|
2986
2986
|
import * as React20 from "react";
|
|
2987
|
-
import { motion as motion14, AnimatePresence as
|
|
2988
|
-
import { Star
|
|
2987
|
+
import { motion as motion14, AnimatePresence as AnimatePresence2 } from "framer-motion";
|
|
2988
|
+
import { Star, Heart, ThumbsUp, Flame, Trophy, Smile, CheckCircle2 as CheckCircle23 } from "lucide-react";
|
|
2989
2989
|
import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2990
2990
|
var sizeClasses = {
|
|
2991
2991
|
xs: "h-3.5 w-3.5",
|
|
@@ -3030,7 +3030,7 @@ var getIconComponent = (icon) => {
|
|
|
3030
3030
|
return Smile;
|
|
3031
3031
|
case "star":
|
|
3032
3032
|
default:
|
|
3033
|
-
return
|
|
3033
|
+
return Star;
|
|
3034
3034
|
}
|
|
3035
3035
|
};
|
|
3036
3036
|
var Rating = React20.forwardRef(
|
|
@@ -3175,7 +3175,7 @@ var Rating = React20.forwardRef(
|
|
|
3175
3175
|
" / ",
|
|
3176
3176
|
max
|
|
3177
3177
|
] }),
|
|
3178
|
-
currentTooltip && /* @__PURE__ */ jsx25(
|
|
3178
|
+
currentTooltip && /* @__PURE__ */ jsx25(AnimatePresence2, { mode: "wait", children: /* @__PURE__ */ jsx25(
|
|
3179
3179
|
motion14.span,
|
|
3180
3180
|
{
|
|
3181
3181
|
initial: { opacity: 0, x: -4 },
|
|
@@ -3227,7 +3227,7 @@ function RatingBreakdown({
|
|
|
3227
3227
|
return /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2.5 text-xs", children: [
|
|
3228
3228
|
/* @__PURE__ */ jsxs19("div", { className: "w-6 flex items-center gap-0.5 font-mono font-medium text-foreground/80 shrink-0", children: [
|
|
3229
3229
|
/* @__PURE__ */ jsx25("span", { children: stars }),
|
|
3230
|
-
/* @__PURE__ */ jsx25(
|
|
3230
|
+
/* @__PURE__ */ jsx25(Star, { className: "w-2.5 h-2.5 fill-amber-400 text-amber-400" })
|
|
3231
3231
|
] }),
|
|
3232
3232
|
/* @__PURE__ */ jsx25("div", { className: "flex-1 h-2 rounded-full bg-muted/60 overflow-hidden relative", children: /* @__PURE__ */ jsx25(
|
|
3233
3233
|
motion14.div,
|
|
@@ -3294,7 +3294,7 @@ function ReviewCard({
|
|
|
3294
3294
|
|
|
3295
3295
|
// src/components/file-upload.tsx
|
|
3296
3296
|
import * as React21 from "react";
|
|
3297
|
-
import { motion as motion15, AnimatePresence as
|
|
3297
|
+
import { motion as motion15, AnimatePresence as AnimatePresence3 } from "framer-motion";
|
|
3298
3298
|
import { UploadCloud, File, X as X4, AlertCircle as AlertCircle3 } from "lucide-react";
|
|
3299
3299
|
import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3300
3300
|
var FileUpload = React21.forwardRef(
|
|
@@ -3444,7 +3444,7 @@ var FileUpload = React21.forwardRef(
|
|
|
3444
3444
|
] })
|
|
3445
3445
|
}
|
|
3446
3446
|
),
|
|
3447
|
-
/* @__PURE__ */ jsx26(
|
|
3447
|
+
/* @__PURE__ */ jsx26(AnimatePresence3, { mode: "wait", children: error && /* @__PURE__ */ jsxs20(
|
|
3448
3448
|
motion15.div,
|
|
3449
3449
|
{
|
|
3450
3450
|
initial: { opacity: 0, y: -5 },
|
|
@@ -3457,7 +3457,7 @@ var FileUpload = React21.forwardRef(
|
|
|
3457
3457
|
]
|
|
3458
3458
|
}
|
|
3459
3459
|
) }),
|
|
3460
|
-
/* @__PURE__ */ jsx26(
|
|
3460
|
+
/* @__PURE__ */ jsx26(AnimatePresence3, { children: selectedFiles.length > 0 && /* @__PURE__ */ jsx26(
|
|
3461
3461
|
motion15.div,
|
|
3462
3462
|
{
|
|
3463
3463
|
initial: { opacity: 0 },
|
|
@@ -3529,7 +3529,7 @@ var tableContainerVariants = cva10(
|
|
|
3529
3529
|
minimal: "bg-transparent border-0 border-b border-border/50 text-foreground rounded-none shadow-none",
|
|
3530
3530
|
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)]",
|
|
3531
3531
|
aurora: "bg-card/25 backdrop-blur-xl border border-pink-500/10 text-card-foreground rounded-2xl shadow-xl",
|
|
3532
|
-
gradient: "bg-
|
|
3532
|
+
gradient: "bg-linear-to-b from-card to-muted/20 border border-border/80 text-foreground rounded-2xl shadow-md"
|
|
3533
3533
|
}
|
|
3534
3534
|
},
|
|
3535
3535
|
defaultVariants: {
|
|
@@ -3584,8 +3584,8 @@ var TableHeader = React22.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
3584
3584
|
variant === "cyberpunk" && "bg-green-950/40 border-b-2 border-green-500/60 text-green-300 font-bold uppercase tracking-wider",
|
|
3585
3585
|
variant === "neon" && "bg-purple-950/20 border-b border-purple-500/40 text-purple-200 tracking-wide",
|
|
3586
3586
|
variant === "glass" && "bg-white/5 dark:bg-white/3 border-b border-white/10 text-foreground/80",
|
|
3587
|
-
variant === "aurora" && "bg-
|
|
3588
|
-
variant === "gradient" && "bg-
|
|
3587
|
+
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",
|
|
3588
|
+
variant === "gradient" && "bg-linear-to-r from-primary/10 to-indigo-500/5 border-b border-border/80 text-foreground/90",
|
|
3589
3589
|
className
|
|
3590
3590
|
);
|
|
3591
3591
|
return /* @__PURE__ */ jsx27("thead", { ref, className: headerClass, ...props, children });
|
|
@@ -4028,7 +4028,7 @@ Stepper.displayName = "Stepper";
|
|
|
4028
4028
|
// src/components/command.tsx
|
|
4029
4029
|
import * as React24 from "react";
|
|
4030
4030
|
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
4031
|
-
import { motion as motion18, AnimatePresence as
|
|
4031
|
+
import { motion as motion18, AnimatePresence as AnimatePresence4 } from "framer-motion";
|
|
4032
4032
|
import { Search as Search3 } from "lucide-react";
|
|
4033
4033
|
import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4034
4034
|
var Command = React24.forwardRef(
|
|
@@ -4075,7 +4075,7 @@ var Command = React24.forwardRef(
|
|
|
4075
4075
|
}
|
|
4076
4076
|
}
|
|
4077
4077
|
};
|
|
4078
|
-
return /* @__PURE__ */ jsx29(DialogPrimitive2.Root, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsx29(
|
|
4078
|
+
return /* @__PURE__ */ jsx29(DialogPrimitive2.Root, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsx29(AnimatePresence4, { children: open && /* @__PURE__ */ jsxs23(DialogPrimitive2.Portal, { forceMount: true, children: [
|
|
4079
4079
|
/* @__PURE__ */ jsx29(DialogPrimitive2.Overlay, { asChild: true, children: /* @__PURE__ */ jsx29(
|
|
4080
4080
|
motion18.div,
|
|
4081
4081
|
{
|
|
@@ -4504,7 +4504,7 @@ var AuroraBorderCard = React26.forwardRef(
|
|
|
4504
4504
|
"h4",
|
|
4505
4505
|
{
|
|
4506
4506
|
className: cn(
|
|
4507
|
-
"text-xl sm:text-2xl font-bold tracking-tight bg-clip-text text-transparent bg-
|
|
4507
|
+
"text-xl sm:text-2xl font-bold tracking-tight bg-clip-text text-transparent bg-linear-to-r",
|
|
4508
4508
|
subtitleGradients[variant] || subtitleGradients.aurora
|
|
4509
4509
|
),
|
|
4510
4510
|
children: subtitle
|
|
@@ -4546,7 +4546,7 @@ AuroraBorderCard.displayName = "AuroraBorderCard";
|
|
|
4546
4546
|
|
|
4547
4547
|
// src/components/ai-prompt-input.tsx
|
|
4548
4548
|
import * as React27 from "react";
|
|
4549
|
-
import { motion as motion20, AnimatePresence as
|
|
4549
|
+
import { motion as motion20, AnimatePresence as AnimatePresence5, useReducedMotion as useReducedMotion2 } from "framer-motion";
|
|
4550
4550
|
import {
|
|
4551
4551
|
Send,
|
|
4552
4552
|
Square,
|
|
@@ -4840,7 +4840,7 @@ var AiPromptInput = React27.forwardRef(
|
|
|
4840
4840
|
variant === "minimal" && "bg-zinc-100/80 dark:bg-zinc-900/80 border border-transparent focus-within:bg-white dark:focus-within:bg-zinc-950 focus-within:border-zinc-300 dark:focus-within:border-zinc-700"
|
|
4841
4841
|
),
|
|
4842
4842
|
children: [
|
|
4843
|
-
files.length > 0 && /* @__PURE__ */ jsx32("div", { className: "flex flex-wrap gap-2 pt-0.5 pb-1", children: /* @__PURE__ */ jsx32(
|
|
4843
|
+
files.length > 0 && /* @__PURE__ */ jsx32("div", { className: "flex flex-wrap gap-2 pt-0.5 pb-1", children: /* @__PURE__ */ jsx32(AnimatePresence5, { children: files.map((file) => /* @__PURE__ */ jsxs26(
|
|
4844
4844
|
motion20.div,
|
|
4845
4845
|
{
|
|
4846
4846
|
initial: { scale: 0.8, opacity: 0 },
|
|
@@ -5268,14 +5268,14 @@ var InviteUsersForm = () => /* @__PURE__ */ jsxs27("div", { className: "w-full b
|
|
|
5268
5268
|
|
|
5269
5269
|
// src/components/pro-ecommerce.tsx
|
|
5270
5270
|
import * as React29 from "react";
|
|
5271
|
-
import { Star as
|
|
5271
|
+
import { Star as Star2, Trash2, ShoppingBag, ArrowRight as ArrowRight2, Lock as Lock2 } from "lucide-react";
|
|
5272
5272
|
import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5273
5273
|
var ProductGallery = () => {
|
|
5274
5274
|
const [active, setActive] = React29.useState(1);
|
|
5275
5275
|
return /* @__PURE__ */ jsxs28("div", { className: "flex flex-col md:flex-row gap-4 w-full", children: [
|
|
5276
5276
|
/* @__PURE__ */ jsx34("div", { className: "flex flex-row md:flex-col gap-2 order-2 md:order-1", children: [1, 2, 3, 4].map((i) => /* @__PURE__ */ jsx34("div", { onClick: () => setActive(i), className: `w-16 h-16 md:w-20 md:h-24 bg-muted rounded-lg border-2 transition-all ${i === active ? "border-primary ring-2 ring-primary/20 scale-105" : "border-transparent cursor-pointer hover:border-foreground/20"}` }, i)) }),
|
|
5277
5277
|
/* @__PURE__ */ jsxs28("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", children: [
|
|
5278
|
-
/* @__PURE__ */ jsx34("div", { className: "absolute inset-0 bg-
|
|
5278
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute inset-0 bg-linear-to-tr from-background/10 to-transparent" }),
|
|
5279
5279
|
/* @__PURE__ */ jsxs28("span", { className: "font-medium", children: [
|
|
5280
5280
|
"Product View ",
|
|
5281
5281
|
active
|
|
@@ -5385,7 +5385,7 @@ var ProductReview = () => /* @__PURE__ */ jsxs28("div", { className: "py-6 borde
|
|
|
5385
5385
|
/* @__PURE__ */ jsx34("div", { className: "font-semibold", children: "Alex Johnson" }),
|
|
5386
5386
|
/* @__PURE__ */ jsx34("div", { className: "text-sm text-muted-foreground", children: "October 12, 2025" })
|
|
5387
5387
|
] }),
|
|
5388
|
-
/* @__PURE__ */ jsx34("div", { className: "flex text-yellow-400 mb-3", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx34(
|
|
5388
|
+
/* @__PURE__ */ jsx34("div", { className: "flex text-yellow-400 mb-3", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx34(Star2, { className: "w-4 h-4 fill-current" }, i)) }),
|
|
5389
5389
|
/* @__PURE__ */ jsx34("h4", { className: "font-bold mb-1", children: "Incredible sound quality!" }),
|
|
5390
5390
|
/* @__PURE__ */ jsx34("p", { className: "text-muted-foreground text-sm leading-relaxed", children: "I've been using these for a month and they are absolutely fantastic. The noise cancellation is top tier and battery life is exactly as advertised." })
|
|
5391
5391
|
] });
|
|
@@ -5405,7 +5405,7 @@ var SizeSelector = () => /* @__PURE__ */ jsxs28("div", { children: [
|
|
|
5405
5405
|
] });
|
|
5406
5406
|
var CategoryCard = () => /* @__PURE__ */ jsxs28("div", { className: "relative group overflow-hidden rounded-2xl cursor-pointer aspect-square bg-muted flex items-center justify-center", children: [
|
|
5407
5407
|
/* @__PURE__ */ jsx34("div", { className: "absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors z-10" }),
|
|
5408
|
-
/* @__PURE__ */ jsx34("div", { className: "absolute inset-0 scale-100 group-hover:scale-110 transition-transform duration-500 bg-
|
|
5408
|
+
/* @__PURE__ */ jsx34("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" }),
|
|
5409
5409
|
/* @__PURE__ */ jsxs28("div", { className: "relative z-20 text-white text-center", children: [
|
|
5410
5410
|
/* @__PURE__ */ jsx34("h3", { className: "text-3xl font-bold mb-2", children: "Sneakers" }),
|
|
5411
5411
|
/* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-1 text-sm font-medium justify-center group-hover:gap-2 transition-all", children: [
|
|
@@ -5417,7 +5417,7 @@ var CategoryCard = () => /* @__PURE__ */ jsxs28("div", { className: "relative gr
|
|
|
5417
5417
|
|
|
5418
5418
|
// src/components/pro-ai.tsx
|
|
5419
5419
|
import { motion as motion21 } from "framer-motion";
|
|
5420
|
-
import { Sparkles as Sparkles3, Send as Send2, Mic as Mic2, Copy as Copy2, Bot as Bot2, User as User3, FileText as FileText2, ChevronDown as ChevronDown4, RefreshCw, Plus as
|
|
5420
|
+
import { Sparkles as Sparkles3, Send as Send2, Mic as Mic2, Copy as Copy2, Bot as Bot2, User as User3, FileText as FileText2, ChevronDown as ChevronDown4, RefreshCw, Plus as Plus2 } from "lucide-react";
|
|
5421
5421
|
import { jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5422
5422
|
var ChatBubbleUser = ({ message }) => /* @__PURE__ */ jsxs29("div", { className: "flex gap-4 justify-end mb-6", children: [
|
|
5423
5423
|
/* @__PURE__ */ jsx35("div", { className: "bg-primary text-primary-foreground px-5 py-3 rounded-2xl rounded-tr-sm max-w-[80%] shadow-sm", children: /* @__PURE__ */ jsx35("p", { className: "leading-relaxed", children: message || "How do I build a Next.js application with Tailwind CSS?" }) }),
|
|
@@ -5469,7 +5469,7 @@ var GeneratedCodeBlock = () => /* @__PURE__ */ jsxs29("div", { className: "round
|
|
|
5469
5469
|
] });
|
|
5470
5470
|
var ChatHistorySidebar = () => /* @__PURE__ */ jsxs29("div", { className: "w-64 h-full border-r bg-background p-4 flex flex-col", children: [
|
|
5471
5471
|
/* @__PURE__ */ jsxs29("button", { className: "w-full py-2 bg-primary text-primary-foreground rounded-lg font-medium mb-6 text-sm flex items-center justify-center gap-2", children: [
|
|
5472
|
-
/* @__PURE__ */ jsx35(
|
|
5472
|
+
/* @__PURE__ */ jsx35(Plus2, { className: "w-4 h-4" }),
|
|
5473
5473
|
" New Chat"
|
|
5474
5474
|
] }),
|
|
5475
5475
|
/* @__PURE__ */ jsx35("div", { className: "text-xs font-semibold text-muted-foreground mb-3 px-2", children: "Today" }),
|
|
@@ -5702,7 +5702,7 @@ var FileExplorerTable = () => /* @__PURE__ */ jsxs30("div", { className: "w-full
|
|
|
5702
5702
|
] })
|
|
5703
5703
|
] })
|
|
5704
5704
|
] });
|
|
5705
|
-
var LeaderboardTable = () => /* @__PURE__ */ jsxs30("div", { className: "w-full border rounded-2xl bg-
|
|
5705
|
+
var LeaderboardTable = () => /* @__PURE__ */ jsxs30("div", { className: "w-full border rounded-2xl bg-linear-to-b from-card to-muted/20 overflow-hidden shadow-lg", children: [
|
|
5706
5706
|
/* @__PURE__ */ jsx36("div", { className: "p-6 text-center border-b", children: /* @__PURE__ */ jsx36("h3", { className: "font-bold text-xl uppercase tracking-widest text-yellow-500", children: "Global Ranking" }) }),
|
|
5707
5707
|
/* @__PURE__ */ jsx36("div", { className: "divide-y", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs30("div", { className: `flex items-center px-6 py-4 ${i === 1 ? "bg-yellow-500/10" : ""}`, children: [
|
|
5708
5708
|
/* @__PURE__ */ jsxs30("div", { className: `font-black text-2xl w-8 ${i === 1 ? "text-yellow-500" : i === 2 ? "text-gray-400" : "text-amber-700"}`, children: [
|
|
@@ -5786,7 +5786,7 @@ var CompactDataList = () => /* @__PURE__ */ jsx36("div", { className: "w-full bo
|
|
|
5786
5786
|
] }, i)) });
|
|
5787
5787
|
|
|
5788
5788
|
// src/components/pro-dashboards.tsx
|
|
5789
|
-
import { DollarSign, ArrowUpRight, HardDrive, Server, Zap, Plus as
|
|
5789
|
+
import { DollarSign, ArrowUpRight, HardDrive, Server, Zap, Plus as Plus3, FileText as FileText4, Settings as Settings2 } from "lucide-react";
|
|
5790
5790
|
import { jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5791
5791
|
var DashboardShell = ({ children }) => /* @__PURE__ */ jsxs31("div", { className: "flex h-[400px] w-full border rounded-xl overflow-hidden bg-background", children: [
|
|
5792
5792
|
/* @__PURE__ */ jsxs31("div", { className: "w-48 border-r bg-muted/20 p-4 flex flex-col gap-2", children: [
|
|
@@ -5817,7 +5817,7 @@ var StatWidgetCard = ({ title = "Total Revenue", value = "$45,231.89", icon: Ico
|
|
|
5817
5817
|
] });
|
|
5818
5818
|
var ActivityFeed = () => /* @__PURE__ */ jsxs31("div", { className: "border rounded-xl bg-card p-6", children: [
|
|
5819
5819
|
/* @__PURE__ */ jsx37("h3", { className: "font-bold mb-4", children: "Recent Activity" }),
|
|
5820
|
-
/* @__PURE__ */ jsx37("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-
|
|
5820
|
+
/* @__PURE__ */ jsx37("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", children: [1, 2].map((i) => /* @__PURE__ */ jsxs31("div", { className: "relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active", children: [
|
|
5821
5821
|
/* @__PURE__ */ jsx37("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", children: /* @__PURE__ */ jsx37(Zap, { className: "w-4 h-4" }) }),
|
|
5822
5822
|
/* @__PURE__ */ jsxs31("div", { className: "w-[calc(100%-4rem)] md:w-[calc(50%-2.5rem)] border rounded-lg p-3 bg-background shadow-sm", children: [
|
|
5823
5823
|
/* @__PURE__ */ jsxs31("div", { className: "flex justify-between items-center mb-1", children: [
|
|
@@ -5841,7 +5841,7 @@ var ProgressWidget = () => /* @__PURE__ */ jsxs31("div", { className: "border ro
|
|
|
5841
5841
|
] });
|
|
5842
5842
|
var QuickActionsWidget = () => /* @__PURE__ */ jsxs31("div", { className: "border rounded-xl bg-card p-4 grid grid-cols-3 gap-2", children: [
|
|
5843
5843
|
/* @__PURE__ */ jsxs31("button", { className: "flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2", children: [
|
|
5844
|
-
/* @__PURE__ */ jsx37("div", { className: "p-2 bg-primary/10 text-primary rounded-full", children: /* @__PURE__ */ jsx37(
|
|
5844
|
+
/* @__PURE__ */ jsx37("div", { className: "p-2 bg-primary/10 text-primary rounded-full", children: /* @__PURE__ */ jsx37(Plus3, { className: "w-4 h-4" }) }),
|
|
5845
5845
|
/* @__PURE__ */ jsx37("span", { className: "text-xs font-medium", children: "New Project" })
|
|
5846
5846
|
] }),
|
|
5847
5847
|
/* @__PURE__ */ jsxs31("button", { className: "flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2", children: [
|
|
@@ -5849,7 +5849,7 @@ var QuickActionsWidget = () => /* @__PURE__ */ jsxs31("div", { className: "borde
|
|
|
5849
5849
|
/* @__PURE__ */ jsx37("span", { className: "text-xs font-medium", children: "Create Invoice" })
|
|
5850
5850
|
] }),
|
|
5851
5851
|
/* @__PURE__ */ jsxs31("button", { className: "flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2", children: [
|
|
5852
|
-
/* @__PURE__ */ jsx37("div", { className: "p-2 bg-zinc-500/10 text-zinc-500 rounded-full", children: /* @__PURE__ */ jsx37(
|
|
5852
|
+
/* @__PURE__ */ jsx37("div", { className: "p-2 bg-zinc-500/10 text-zinc-500 rounded-full", children: /* @__PURE__ */ jsx37(Settings2, { className: "w-4 h-4" }) }),
|
|
5853
5853
|
/* @__PURE__ */ jsx37("span", { className: "text-xs font-medium", children: "Settings" })
|
|
5854
5854
|
] })
|
|
5855
5855
|
] });
|
|
@@ -5962,11 +5962,11 @@ var PaginationPro = () => /* @__PURE__ */ jsxs32("div", { className: "flex items
|
|
|
5962
5962
|
|
|
5963
5963
|
// src/components/pro-feedback.tsx
|
|
5964
5964
|
import { motion as motion22 } from "framer-motion";
|
|
5965
|
-
import { CheckCircle2 as
|
|
5965
|
+
import { CheckCircle2 as CheckCircle25, X as X7, FileBox, UploadCloud as UploadCloud2 } from "lucide-react";
|
|
5966
5966
|
import { jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
5967
5967
|
var ConfettiSuccess = () => /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center justify-center p-8 border rounded-xl bg-card text-center relative overflow-hidden", children: [
|
|
5968
5968
|
/* @__PURE__ */ jsx39("div", { className: "absolute inset-0 pointer-events-none flex justify-center", children: [1, 2, 3, 4, 5, 6].map((i) => /* @__PURE__ */ jsx39(motion22.div, { animate: { y: [0, 100], x: [(i % 2 === 0 ? 1 : -1) * 20, (i % 2 === 0 ? 1 : -1) * 40], opacity: [1, 0], rotate: [0, 360] }, transition: { repeat: Infinity, duration: 2, delay: i * 0.2 }, className: `w-2 h-2 absolute top-0 ${i % 3 === 0 ? "bg-red-500" : i % 2 === 0 ? "bg-blue-500" : "bg-yellow-500"}` }, i)) }),
|
|
5969
|
-
/* @__PURE__ */ jsx39("div", { className: "w-16 h-16 bg-green-500/10 text-green-500 rounded-full flex items-center justify-center mb-4 relative z-10", children: /* @__PURE__ */ jsx39(
|
|
5969
|
+
/* @__PURE__ */ jsx39("div", { className: "w-16 h-16 bg-green-500/10 text-green-500 rounded-full flex items-center justify-center mb-4 relative z-10", children: /* @__PURE__ */ jsx39(CheckCircle25, { className: "w-8 h-8" }) }),
|
|
5970
5970
|
/* @__PURE__ */ jsx39("h3", { className: "text-2xl font-bold mb-2 relative z-10", children: "Payment Successful!" }),
|
|
5971
5971
|
/* @__PURE__ */ jsx39("p", { className: "text-muted-foreground relative z-10", children: "Your order #12345 has been processed." })
|
|
5972
5972
|
] });
|
|
@@ -5977,7 +5977,7 @@ var ActionToast = () => /* @__PURE__ */ jsxs33("div", { className: "flex items-c
|
|
|
5977
5977
|
/* @__PURE__ */ jsx39("button", { children: /* @__PURE__ */ jsx39(X7, { className: "w-4 h-4 text-muted" }) })
|
|
5978
5978
|
] })
|
|
5979
5979
|
] });
|
|
5980
|
-
var MultiStepProgress = (
|
|
5980
|
+
var MultiStepProgress = () => /* @__PURE__ */ jsxs33("div", { className: "w-full", children: [
|
|
5981
5981
|
/* @__PURE__ */ jsxs33("div", { className: "flex justify-between mb-2 text-sm font-medium", children: [
|
|
5982
5982
|
/* @__PURE__ */ jsx39("span", { className: "text-primary", children: "Cart" }),
|
|
5983
5983
|
/* @__PURE__ */ jsx39("span", { className: "text-primary", children: "Shipping" }),
|
|
@@ -6028,7 +6028,7 @@ var UploadProgress = () => /* @__PURE__ */ jsxs33("div", { className: "w-full ma
|
|
|
6028
6028
|
] });
|
|
6029
6029
|
|
|
6030
6030
|
// src/components/pro-marketing.tsx
|
|
6031
|
-
import { Check as
|
|
6031
|
+
import { Check as Check6, X as X8, Play, ArrowRight as ArrowRight3, ShieldCheck } from "lucide-react";
|
|
6032
6032
|
import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
6033
6033
|
var WaitlistForm = () => /* @__PURE__ */ jsxs34("div", { className: "w-full max-w-md mx-auto text-center space-y-6 bg-card p-8 rounded-3xl border shadow-xl", children: [
|
|
6034
6034
|
/* @__PURE__ */ jsx40("div", { className: "inline-block px-3 py-1 bg-primary/10 text-primary font-bold text-xs rounded-full mb-2", children: "EARLY ACCESS" }),
|
|
@@ -6076,14 +6076,14 @@ var ComparisonTableMock = () => /* @__PURE__ */ jsxs34("div", { className: "w-fu
|
|
|
6076
6076
|
] }),
|
|
6077
6077
|
/* @__PURE__ */ jsx40("div", { className: "divide-y text-sm", children: ["Real-time sync", "End-to-end encryption", "24/7 Support"].map((f, i) => /* @__PURE__ */ jsxs34("div", { className: "grid grid-cols-3 p-4 items-center text-center", children: [
|
|
6078
6078
|
/* @__PURE__ */ jsx40("div", { className: "text-left font-medium", children: f }),
|
|
6079
|
-
/* @__PURE__ */ jsx40("div", { className: "flex justify-center", children: i === 0 ? /* @__PURE__ */ jsx40(
|
|
6080
|
-
/* @__PURE__ */ jsx40("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx40("div", { className: "w-6 h-6 rounded-full bg-primary/10 flex items-center justify-center text-primary", children: /* @__PURE__ */ jsx40(
|
|
6079
|
+
/* @__PURE__ */ jsx40("div", { className: "flex justify-center", children: i === 0 ? /* @__PURE__ */ jsx40(Check6, { className: "w-4 h-4 text-muted-foreground/60" }) : /* @__PURE__ */ jsx40(X8, { className: "w-4 h-4 text-muted-foreground/30" }) }),
|
|
6080
|
+
/* @__PURE__ */ jsx40("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx40("div", { className: "w-6 h-6 rounded-full bg-primary/10 flex items-center justify-center text-primary", children: /* @__PURE__ */ jsx40(Check6, { className: "w-3.5 h-3.5 stroke-[2.5]" }) }) })
|
|
6081
6081
|
] }, i)) })
|
|
6082
6082
|
] });
|
|
6083
6083
|
var AnimatedHeroText = () => /* @__PURE__ */ jsxs34("h1", { className: "text-4xl md:text-6xl font-black text-center leading-tight", children: [
|
|
6084
6084
|
"Create the next ",
|
|
6085
6085
|
/* @__PURE__ */ jsx40("br", {}),
|
|
6086
|
-
/* @__PURE__ */ jsx40("span", { className: "text-transparent bg-clip-text bg-
|
|
6086
|
+
/* @__PURE__ */ jsx40("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]", children: "unicorn startup." })
|
|
6087
6087
|
] });
|
|
6088
6088
|
var StatCounter = () => /* @__PURE__ */ jsxs34("div", { className: "grid grid-cols-3 gap-4 border-y py-8 text-center bg-card", children: [
|
|
6089
6089
|
/* @__PURE__ */ jsxs34("div", { children: [
|
|
@@ -6113,7 +6113,7 @@ var NewsletterSignup = () => /* @__PURE__ */ jsxs34("div", { className: "bg-prim
|
|
|
6113
6113
|
] })
|
|
6114
6114
|
] });
|
|
6115
6115
|
var VideoModalVisual = () => /* @__PURE__ */ jsxs34("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", children: [
|
|
6116
|
-
/* @__PURE__ */ jsx40("div", { className: "absolute inset-0 bg-
|
|
6116
|
+
/* @__PURE__ */ jsx40("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 to-transparent" }),
|
|
6117
6117
|
/* @__PURE__ */ jsx40("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx40("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", children: /* @__PURE__ */ jsx40(Play, { className: "w-6 h-6 text-white ml-1" }) }) }),
|
|
6118
6118
|
/* @__PURE__ */ jsxs34("div", { className: "absolute bottom-4 left-4 text-white", children: [
|
|
6119
6119
|
/* @__PURE__ */ jsx40("h4", { className: "font-bold", children: "Watch the demo" }),
|
|
@@ -6121,7 +6121,7 @@ var VideoModalVisual = () => /* @__PURE__ */ jsxs34("div", { className: "relativ
|
|
|
6121
6121
|
] })
|
|
6122
6122
|
] });
|
|
6123
6123
|
var GradientCTABlock = () => /* @__PURE__ */ jsxs34("div", { className: "relative p-12 rounded-3xl overflow-hidden border shadow-lg text-center", children: [
|
|
6124
|
-
/* @__PURE__ */ jsx40("div", { className: "absolute inset-0 bg-
|
|
6124
|
+
/* @__PURE__ */ jsx40("div", { className: "absolute inset-0 bg-linear-to-br from-indigo-500/20 via-purple-500/20 to-pink-500/20" }),
|
|
6125
6125
|
/* @__PURE__ */ jsxs34("div", { className: "relative z-10 max-w-lg mx-auto space-y-6", children: [
|
|
6126
6126
|
/* @__PURE__ */ jsx40("h2", { className: "text-3xl md:text-4xl font-extrabold", children: "Ready to dive in?" }),
|
|
6127
6127
|
/* @__PURE__ */ jsx40("p", { className: "text-lg text-muted-foreground", children: "Start your free 14-day trial today. No credit card required." }),
|
|
@@ -6130,7 +6130,7 @@ var GradientCTABlock = () => /* @__PURE__ */ jsxs34("div", { className: "relativ
|
|
|
6130
6130
|
] });
|
|
6131
6131
|
|
|
6132
6132
|
// src/components/pro-lists.tsx
|
|
6133
|
-
import { Phone, Mail as Mail3, FileText as FileText5, Download as Download2, Briefcase, MapPin, Clock, MessageSquare, Plus as
|
|
6133
|
+
import { Phone, Mail as Mail3, FileText as FileText5, Download as Download2, Briefcase, MapPin, Clock, MessageSquare, Plus as Plus4, Check as Check7 } from "lucide-react";
|
|
6134
6134
|
import { jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
6135
6135
|
var ContactList = () => /* @__PURE__ */ jsx41("div", { className: "w-full max-w-md border rounded-xl bg-card divide-y", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs35("div", { className: "flex items-center justify-between p-4 hover:bg-muted/50 cursor-pointer", children: [
|
|
6136
6136
|
/* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-3", children: [
|
|
@@ -6185,7 +6185,7 @@ var TimelineVertical = () => /* @__PURE__ */ jsx41("div", { className: "w-full m
|
|
|
6185
6185
|
/* @__PURE__ */ jsx41("p", { className: "text-sm", children: "Completed the initial design phase and got client approval." })
|
|
6186
6186
|
] }, i)) }) });
|
|
6187
6187
|
var StepList = () => /* @__PURE__ */ jsx41("div", { className: "w-full max-w-md space-y-4", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs35("div", { className: "flex gap-4", children: [
|
|
6188
|
-
/* @__PURE__ */ jsx41("div", { className: `w-8 h-8 rounded-full flex items-center justify-center shrink-0 border-2 font-bold text-sm ${i === 1 ? "bg-primary border-primary text-primary-foreground" : "border-muted text-muted-foreground"}`, children: i === 1 ? /* @__PURE__ */ jsx41(
|
|
6188
|
+
/* @__PURE__ */ jsx41("div", { className: `w-8 h-8 rounded-full flex items-center justify-center shrink-0 border-2 font-bold text-sm ${i === 1 ? "bg-primary border-primary text-primary-foreground" : "border-muted text-muted-foreground"}`, children: i === 1 ? /* @__PURE__ */ jsx41(Check7, { className: "w-4 h-4" }) : i }),
|
|
6189
6189
|
/* @__PURE__ */ jsxs35("div", { children: [
|
|
6190
6190
|
/* @__PURE__ */ jsxs35("h4", { className: `font-bold text-sm ${i === 1 ? "" : "text-muted-foreground"}`, children: [
|
|
6191
6191
|
"Step ",
|
|
@@ -6198,7 +6198,7 @@ var StepList = () => /* @__PURE__ */ jsx41("div", { className: "w-full max-w-md
|
|
|
6198
6198
|
var FAQAccordionList = () => /* @__PURE__ */ jsx41("div", { className: "w-full max-w-2xl border rounded-xl bg-card divide-y", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs35("div", { className: "p-4", children: [
|
|
6199
6199
|
/* @__PURE__ */ jsxs35("h4", { className: "font-bold text-sm mb-2 flex justify-between", children: [
|
|
6200
6200
|
"How does pricing work? ",
|
|
6201
|
-
/* @__PURE__ */ jsx41(
|
|
6201
|
+
/* @__PURE__ */ jsx41(Plus4, { className: "w-4 h-4 text-muted-foreground" })
|
|
6202
6202
|
] }),
|
|
6203
6203
|
i === 1 && /* @__PURE__ */ jsx41("p", { className: "text-sm text-muted-foreground mt-2", children: "Pricing is based on the number of users in your workspace. You can upgrade or downgrade at any time." })
|
|
6204
6204
|
] }, i)) });
|
|
@@ -6296,7 +6296,7 @@ var SplitScreenLayout = () => /* @__PURE__ */ jsxs36("div", { className: "flex w
|
|
|
6296
6296
|
/* @__PURE__ */ jsx42("div", { className: "w-full h-10 bg-muted rounded-lg mb-8" }),
|
|
6297
6297
|
/* @__PURE__ */ jsx42("div", { className: "w-full h-12 bg-primary rounded-lg" })
|
|
6298
6298
|
] }),
|
|
6299
|
-
/* @__PURE__ */ jsxs36("div", { className: "hidden md:block flex-1 bg-
|
|
6299
|
+
/* @__PURE__ */ jsxs36("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", children: [
|
|
6300
6300
|
/* @__PURE__ */ jsx42("div", {}),
|
|
6301
6301
|
/* @__PURE__ */ jsxs36("div", { children: [
|
|
6302
6302
|
/* @__PURE__ */ jsx42("h2", { className: "text-4xl font-bold mb-4", children: "Nexore UI" }),
|
|
@@ -6350,7 +6350,7 @@ var DashboardGridLayout = () => /* @__PURE__ */ jsxs36("div", { className: "w-fu
|
|
|
6350
6350
|
] })
|
|
6351
6351
|
] });
|
|
6352
6352
|
var BentoGridVisual = () => /* @__PURE__ */ jsxs36("div", { className: "w-full h-[400px] border rounded-xl bg-background p-4 grid grid-cols-4 grid-rows-3 gap-4", children: [
|
|
6353
|
-
/* @__PURE__ */ jsx42("div", { className: "col-span-2 row-span-2 bg-
|
|
6353
|
+
/* @__PURE__ */ jsx42("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", children: /* @__PURE__ */ jsx42("h3", { className: "text-2xl font-bold", children: "Main Feature" }) }),
|
|
6354
6354
|
/* @__PURE__ */ jsx42("div", { className: "col-span-1 row-span-1 bg-card border rounded-2xl" }),
|
|
6355
6355
|
/* @__PURE__ */ jsx42("div", { className: "col-span-1 row-span-2 bg-card border rounded-2xl" }),
|
|
6356
6356
|
/* @__PURE__ */ jsx42("div", { className: "col-span-1 row-span-1 bg-card border rounded-2xl" }),
|
|
@@ -6444,7 +6444,7 @@ var HeaderFooterLayout = () => /* @__PURE__ */ jsxs36("div", { className: "flex
|
|
|
6444
6444
|
|
|
6445
6445
|
// src/components/pro-buttons.tsx
|
|
6446
6446
|
import * as React31 from "react";
|
|
6447
|
-
import { motion as motion23, AnimatePresence as
|
|
6447
|
+
import { motion as motion23, AnimatePresence as AnimatePresence6 } from "framer-motion";
|
|
6448
6448
|
import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
6449
6449
|
function MorphButton({ children, className, ...props }) {
|
|
6450
6450
|
const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props;
|
|
@@ -6485,7 +6485,7 @@ function CopyTextButton({ text, className }) {
|
|
|
6485
6485
|
},
|
|
6486
6486
|
children: [
|
|
6487
6487
|
/* @__PURE__ */ jsx43("span", { className: "truncate max-w-[200px]", children: text }),
|
|
6488
|
-
/* @__PURE__ */ jsx43(
|
|
6488
|
+
/* @__PURE__ */ jsx43(AnimatePresence6, { mode: "wait", children: copied ? /* @__PURE__ */ jsx43(motion23.svg, { initial: { scale: 0 }, animate: { scale: 1 }, exit: { scale: 0 }, className: "w-4 h-4 text-green-500", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }, "check") : /* @__PURE__ */ jsx43(motion23.svg, { initial: { scale: 0 }, animate: { scale: 1 }, exit: { scale: 0 }, className: "w-4 h-4 opacity-50", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" }) }, "copy") })
|
|
6489
6489
|
]
|
|
6490
6490
|
}
|
|
6491
6491
|
);
|
|
@@ -6525,7 +6525,7 @@ function StatusButton({ status = "idle", children, className, ...props }) {
|
|
|
6525
6525
|
error: { bg: "bg-red-500 dark:bg-red-600", text: "text-white" }
|
|
6526
6526
|
};
|
|
6527
6527
|
const v = variants[status];
|
|
6528
|
-
return /* @__PURE__ */ jsx43("button", { className: cn("relative px-5 py-2.5 rounded-lg font-semibold transition-all duration-300", v.bg, v.text, status === "loading" && "animate-pulse", className), disabled: status === "loading", ...props, children: /* @__PURE__ */ jsx43(
|
|
6528
|
+
return /* @__PURE__ */ jsx43("button", { className: cn("relative px-5 py-2.5 rounded-lg font-semibold transition-all duration-300", v.bg, v.text, status === "loading" && "animate-pulse", className), disabled: status === "loading", ...props, children: /* @__PURE__ */ jsx43(AnimatePresence6, { mode: "wait", children: /* @__PURE__ */ jsxs37(motion23.span, { initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -10 }, className: "inline-flex items-center gap-2", children: [
|
|
6529
6529
|
status === "loading" && /* @__PURE__ */ jsx43("span", { className: "w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" }),
|
|
6530
6530
|
status === "success" && /* @__PURE__ */ jsx43("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }),
|
|
6531
6531
|
status === "error" && /* @__PURE__ */ jsx43("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }),
|
|
@@ -6578,7 +6578,7 @@ function NeumorphicCard({ children, className }) {
|
|
|
6578
6578
|
}
|
|
6579
6579
|
function GradientMeshCard({ children, className }) {
|
|
6580
6580
|
return /* @__PURE__ */ jsxs38("div", { className: cn("relative rounded-2xl overflow-hidden", className), children: [
|
|
6581
|
-
/* @__PURE__ */ jsx44("div", { className: "absolute inset-0 bg-
|
|
6581
|
+
/* @__PURE__ */ jsx44("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" }),
|
|
6582
6582
|
/* @__PURE__ */ jsx44("div", { className: "absolute top-0 right-0 w-32 h-32 bg-orange-400/20 dark:bg-orange-400/10 rounded-full blur-3xl" }),
|
|
6583
6583
|
/* @__PURE__ */ jsx44("div", { className: "absolute bottom-0 left-0 w-32 h-32 bg-blue-400/20 dark:bg-blue-400/10 rounded-full blur-3xl" }),
|
|
6584
6584
|
/* @__PURE__ */ jsx44("div", { className: "relative p-6 border border-white/10 dark:border-white/5 rounded-2xl backdrop-blur-sm", children })
|
|
@@ -6637,7 +6637,7 @@ function MetricCard({ title, value, change, changeType = "positive", className }
|
|
|
6637
6637
|
|
|
6638
6638
|
// src/components/pro-inputs.tsx
|
|
6639
6639
|
import * as React33 from "react";
|
|
6640
|
-
import { motion as motion25, AnimatePresence as
|
|
6640
|
+
import { motion as motion25, AnimatePresence as AnimatePresence7 } from "framer-motion";
|
|
6641
6641
|
import { jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
6642
6642
|
function OTPCodeInput({ length = 6, className, onChange }) {
|
|
6643
6643
|
const [values, setValues] = React33.useState(Array(length).fill(""));
|
|
@@ -6681,7 +6681,7 @@ function TagInput({ placeholder = "Add tag...", className }) {
|
|
|
6681
6681
|
}
|
|
6682
6682
|
};
|
|
6683
6683
|
return /* @__PURE__ */ jsxs39("div", { className: cn("flex flex-wrap items-center gap-2 p-2.5 rounded-lg border border-border bg-background min-h-[44px]", className), children: [
|
|
6684
|
-
/* @__PURE__ */ jsx45(
|
|
6684
|
+
/* @__PURE__ */ jsx45(AnimatePresence7, { children: tags.map((tag) => /* @__PURE__ */ jsxs39(
|
|
6685
6685
|
motion25.span,
|
|
6686
6686
|
{
|
|
6687
6687
|
initial: { scale: 0, opacity: 0 },
|
|
@@ -6772,8 +6772,8 @@ function ColorPickerInput({ value: initial = "#8b5cf6", label, className, onChan
|
|
|
6772
6772
|
}
|
|
6773
6773
|
|
|
6774
6774
|
// src/components/special-forms.tsx
|
|
6775
|
-
import { motion as motion26, AnimatePresence as
|
|
6776
|
-
import { Check as
|
|
6775
|
+
import { motion as motion26, AnimatePresence as AnimatePresence8 } from "framer-motion";
|
|
6776
|
+
import { Check as Check8, Upload as Upload2, Star as Star3, Plus as Plus5, Minus } from "lucide-react";
|
|
6777
6777
|
import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
6778
6778
|
var RadioCard = ({ title, description, checked, onChange, value, name }) => /* @__PURE__ */ jsxs40("label", { className: cn("relative flex cursor-pointer rounded-lg border p-4 hover:bg-accent transition-all", checked ? "border-primary bg-primary/5 shadow-sm" : "border-border bg-card"), children: [
|
|
6779
6779
|
/* @__PURE__ */ jsx46("input", { type: "radio", name, value, checked, onChange, className: "sr-only" }),
|
|
@@ -6792,20 +6792,20 @@ var ColorSwatch = ({ color, selected, onClick }) => /* @__PURE__ */ jsx46(
|
|
|
6792
6792
|
onClick,
|
|
6793
6793
|
className: cn("relative flex h-10 w-10 items-center justify-center rounded-full transition-transform hover:scale-110", selected && "ring-2 ring-primary ring-offset-2 ring-offset-background"),
|
|
6794
6794
|
style: { backgroundColor: color },
|
|
6795
|
-
children: selected && /* @__PURE__ */ jsx46(
|
|
6795
|
+
children: selected && /* @__PURE__ */ jsx46(Check8, { className: "h-5 w-5 text-white drop-shadow-md" })
|
|
6796
6796
|
}
|
|
6797
6797
|
);
|
|
6798
6798
|
var NumberStepper = ({ value = 0, onChange, min = 0, max = 100 }) => /* @__PURE__ */ jsxs40("div", { className: "flex items-center space-x-2 rounded-md border border-border p-1 w-fit bg-card", children: [
|
|
6799
|
-
/* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onChange(Math.max(min, value - 1)), className: "p-1 rounded hover:bg-muted text-muted-foreground transition-colors", children: /* @__PURE__ */ jsx46(
|
|
6799
|
+
/* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onChange(Math.max(min, value - 1)), className: "p-1 rounded hover:bg-muted text-muted-foreground transition-colors", children: /* @__PURE__ */ jsx46(Minus, { className: "h-4 w-4" }) }),
|
|
6800
6800
|
/* @__PURE__ */ jsx46("div", { className: "w-8 text-center font-medium text-sm", children: value }),
|
|
6801
|
-
/* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onChange(Math.min(max, value + 1)), className: "p-1 rounded hover:bg-muted text-muted-foreground transition-colors", children: /* @__PURE__ */ jsx46(
|
|
6801
|
+
/* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onChange(Math.min(max, value + 1)), className: "p-1 rounded hover:bg-muted text-muted-foreground transition-colors", children: /* @__PURE__ */ jsx46(Plus5, { className: "h-4 w-4" }) })
|
|
6802
6802
|
] });
|
|
6803
|
-
var FileDropzone = ({ onDrop }) => /* @__PURE__ */ jsxs40("div", { className: "flex flex-col items-center justify-center w-full h-40 border-2 border-dashed border-muted-foreground/25 rounded-xl bg-card hover:bg-accent/50 transition-colors cursor-pointer group", children: [
|
|
6803
|
+
var FileDropzone = ({ onDrop: _onDrop }) => /* @__PURE__ */ jsxs40("div", { className: "flex flex-col items-center justify-center w-full h-40 border-2 border-dashed border-muted-foreground/25 rounded-xl bg-card hover:bg-accent/50 transition-colors cursor-pointer group", children: [
|
|
6804
6804
|
/* @__PURE__ */ jsx46("div", { className: "p-4 rounded-full bg-muted group-hover:bg-background transition-colors mb-2", children: /* @__PURE__ */ jsx46(Upload2, { className: "h-6 w-6 text-muted-foreground group-hover:text-primary transition-colors" }) }),
|
|
6805
6805
|
/* @__PURE__ */ jsx46("p", { className: "text-sm font-medium", children: "Click or drag file to this area to upload" }),
|
|
6806
6806
|
/* @__PURE__ */ jsx46("p", { className: "text-xs text-muted-foreground mt-1", children: "Support for a single or bulk upload." })
|
|
6807
6807
|
] });
|
|
6808
|
-
var RatingStars = ({ rating = 0, max = 5, onRate }) => /* @__PURE__ */ jsx46("div", { className: "flex items-center space-x-1", children: Array.from({ length: max }).map((_, i) => /* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onRate?.(i + 1), className: "p-1 focus:outline-none transition-transform hover:scale-110", children: /* @__PURE__ */ jsx46(
|
|
6808
|
+
var RatingStars = ({ rating = 0, max = 5, onRate }) => /* @__PURE__ */ jsx46("div", { className: "flex items-center space-x-1", children: Array.from({ length: max }).map((_, i) => /* @__PURE__ */ jsx46("button", { type: "button", onClick: () => onRate?.(i + 1), className: "p-1 focus:outline-none transition-transform hover:scale-110", children: /* @__PURE__ */ jsx46(Star3, { className: cn("h-6 w-6", i < rating ? "fill-yellow-400 text-yellow-400" : "fill-muted text-muted-foreground") }) }, i)) });
|
|
6809
6809
|
var ToggleGroupItemWrapper = ({ children, active, onClick }) => /* @__PURE__ */ jsx46("button", { type: "button", onClick, className: cn("px-4 py-2 text-sm font-medium transition-colors border border-transparent", active ? "bg-background text-foreground shadow-sm rounded-md" : "text-muted-foreground hover:text-foreground"), children });
|
|
6810
6810
|
var ToggleGroupWrapper = ({ children }) => /* @__PURE__ */ jsx46("div", { className: "inline-flex items-center rounded-lg bg-muted p-1", children });
|
|
6811
6811
|
var InputWithLabelOverlay = ({ label, id, ...props }) => /* @__PURE__ */ jsxs40("div", { className: "relative", children: [
|
|
@@ -6818,8 +6818,8 @@ var VisualSelectCard = ({ icon: Icon2, title, description, selected }) => /* @__
|
|
|
6818
6818
|
/* @__PURE__ */ jsx46("p", { className: "text-xs text-muted-foreground", children: description })
|
|
6819
6819
|
] });
|
|
6820
6820
|
var FloatingActionForm = ({ isOpen, toggle, children }) => /* @__PURE__ */ jsxs40("div", { className: "relative", children: [
|
|
6821
|
-
/* @__PURE__ */ jsx46(
|
|
6822
|
-
/* @__PURE__ */ jsx46("button", { type: "button", onClick: toggle, className: "flex h-14 w-14 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 transition-transform active:scale-95", children: /* @__PURE__ */ jsx46(motion26.div, { animate: { rotate: isOpen ? 45 : 0 }, children: /* @__PURE__ */ jsx46(
|
|
6821
|
+
/* @__PURE__ */ jsx46(AnimatePresence8, { children: isOpen && /* @__PURE__ */ jsx46(motion26.div, { initial: { opacity: 0, scale: 0.8, y: 20 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.8, y: 20 }, className: "absolute bottom-16 right-0 w-80 bg-card border rounded-xl shadow-xl p-4 origin-bottom-right", children }) }),
|
|
6822
|
+
/* @__PURE__ */ jsx46("button", { type: "button", onClick: toggle, className: "flex h-14 w-14 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 transition-transform active:scale-95", children: /* @__PURE__ */ jsx46(motion26.div, { animate: { rotate: isOpen ? 45 : 0 }, children: /* @__PURE__ */ jsx46(Plus5, { className: "h-6 w-6" }) }) })
|
|
6823
6823
|
] });
|
|
6824
6824
|
var OTPInput = ({ length = 6 }) => /* @__PURE__ */ jsx46("div", { className: "flex space-x-2", children: Array.from({ length }).map((_, i) => /* @__PURE__ */ jsx46("input", { type: "text", maxLength: 1, className: "w-12 h-14 text-center text-xl font-bold rounded-md border border-border bg-background focus:border-primary focus:ring-1 focus:ring-primary outline-none" }, i)) });
|
|
6825
6825
|
|
|
@@ -6912,7 +6912,7 @@ function RetroGrid({ className, angle = 65 }) {
|
|
|
6912
6912
|
}
|
|
6913
6913
|
}
|
|
6914
6914
|
) }),
|
|
6915
|
-
/* @__PURE__ */ jsx47("div", { className: "absolute inset-0 bg-
|
|
6915
|
+
/* @__PURE__ */ jsx47("div", { className: "absolute inset-0 bg-linear-to-t from-background to-transparent to-90%" })
|
|
6916
6916
|
]
|
|
6917
6917
|
}
|
|
6918
6918
|
);
|
|
@@ -6938,7 +6938,7 @@ function Meteors({ number = 20, className }) {
|
|
|
6938
6938
|
animationDelay: meteor.animationDelay,
|
|
6939
6939
|
animationDuration: meteor.animationDuration
|
|
6940
6940
|
},
|
|
6941
|
-
children: /* @__PURE__ */ jsx47("div", { className: "absolute top-1/2 -translate-y-1/2 w-[1px] h-full bg-
|
|
6941
|
+
children: /* @__PURE__ */ jsx47("div", { className: "absolute top-1/2 -translate-y-1/2 w-[1px] h-full bg-linear-to-b from-foreground/30 to-transparent" })
|
|
6942
6942
|
},
|
|
6943
6943
|
meteor.id
|
|
6944
6944
|
)) });
|
|
@@ -6946,7 +6946,7 @@ function Meteors({ number = 20, className }) {
|
|
|
6946
6946
|
|
|
6947
6947
|
// src/components/ultra-effects.tsx
|
|
6948
6948
|
import * as React35 from "react";
|
|
6949
|
-
import { motion as motion28, AnimatePresence as
|
|
6949
|
+
import { motion as motion28, AnimatePresence as AnimatePresence9 } from "framer-motion";
|
|
6950
6950
|
import { jsx as jsx48, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
6951
6951
|
function MorphingText({
|
|
6952
6952
|
texts,
|
|
@@ -6960,7 +6960,7 @@ function MorphingText({
|
|
|
6960
6960
|
}, interval);
|
|
6961
6961
|
return () => clearInterval(timer);
|
|
6962
6962
|
}, [texts.length, interval]);
|
|
6963
|
-
return /* @__PURE__ */ jsx48("div", { className: cn("relative overflow-hidden", className), children: /* @__PURE__ */ jsx48(
|
|
6963
|
+
return /* @__PURE__ */ jsx48("div", { className: cn("relative overflow-hidden", className), children: /* @__PURE__ */ jsx48(AnimatePresence9, { mode: "wait", children: /* @__PURE__ */ jsx48(
|
|
6964
6964
|
motion28.span,
|
|
6965
6965
|
{
|
|
6966
6966
|
initial: { y: 20, opacity: 0, filter: "blur(8px)" },
|
|
@@ -6992,7 +6992,7 @@ function AnimatedList({
|
|
|
6992
6992
|
}, delay);
|
|
6993
6993
|
return () => clearInterval(timer);
|
|
6994
6994
|
}, []);
|
|
6995
|
-
return /* @__PURE__ */ jsx48("div", { className: cn("flex flex-col gap-2", className), children: /* @__PURE__ */ jsx48(
|
|
6995
|
+
return /* @__PURE__ */ jsx48("div", { className: cn("flex flex-col gap-2", className), children: /* @__PURE__ */ jsx48(AnimatePresence9, { children: items.map((item, index) => /* @__PURE__ */ jsx48(
|
|
6996
6996
|
motion28.div,
|
|
6997
6997
|
{
|
|
6998
6998
|
initial: { opacity: 0, y: 20, scale: 0.95 },
|
|
@@ -7196,7 +7196,7 @@ function TextShimmer({
|
|
|
7196
7196
|
|
|
7197
7197
|
// src/components/premium-overlays.tsx
|
|
7198
7198
|
import * as React36 from "react";
|
|
7199
|
-
import { motion as motion29, AnimatePresence as
|
|
7199
|
+
import { motion as motion29, AnimatePresence as AnimatePresence10 } from "framer-motion";
|
|
7200
7200
|
import { X as X9 } from "lucide-react";
|
|
7201
7201
|
import { Fragment as Fragment5, jsx as jsx49, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
7202
7202
|
var slideVariants = {
|
|
@@ -7236,7 +7236,7 @@ function Drawer({
|
|
|
7236
7236
|
window.addEventListener("keydown", handler);
|
|
7237
7237
|
return () => window.removeEventListener("keydown", handler);
|
|
7238
7238
|
}, [open, onClose]);
|
|
7239
|
-
return /* @__PURE__ */ jsx49(
|
|
7239
|
+
return /* @__PURE__ */ jsx49(AnimatePresence10, { children: open && /* @__PURE__ */ jsxs43("div", { className: "fixed inset-0 z-50", children: [
|
|
7240
7240
|
/* @__PURE__ */ jsx49(
|
|
7241
7241
|
motion29.div,
|
|
7242
7242
|
{
|
|
@@ -7326,7 +7326,7 @@ function CommandPalette({
|
|
|
7326
7326
|
window.addEventListener("keydown", handler);
|
|
7327
7327
|
return () => window.removeEventListener("keydown", handler);
|
|
7328
7328
|
}, [open, filtered, selectedIndex, onClose]);
|
|
7329
|
-
return /* @__PURE__ */ jsx49(
|
|
7329
|
+
return /* @__PURE__ */ jsx49(AnimatePresence10, { children: open && /* @__PURE__ */ jsxs43("div", { className: "fixed inset-0 z-[100] flex items-start justify-center pt-[20vh]", children: [
|
|
7330
7330
|
/* @__PURE__ */ jsx49(
|
|
7331
7331
|
motion29.div,
|
|
7332
7332
|
{
|
|
@@ -7417,7 +7417,7 @@ function ContextMenu({ items, children, className }) {
|
|
|
7417
7417
|
}, [open]);
|
|
7418
7418
|
return /* @__PURE__ */ jsxs43(Fragment5, { children: [
|
|
7419
7419
|
/* @__PURE__ */ jsx49("div", { onContextMenu: handleContextMenu, className, children }),
|
|
7420
|
-
/* @__PURE__ */ jsx49(
|
|
7420
|
+
/* @__PURE__ */ jsx49(AnimatePresence10, { children: open && /* @__PURE__ */ jsx49(
|
|
7421
7421
|
motion29.div,
|
|
7422
7422
|
{
|
|
7423
7423
|
ref: menuRef,
|
|
@@ -7456,8 +7456,8 @@ function ContextMenu({ items, children, className }) {
|
|
|
7456
7456
|
|
|
7457
7457
|
// src/components/premium-media.tsx
|
|
7458
7458
|
import * as React37 from "react";
|
|
7459
|
-
import { motion as motion30, AnimatePresence as
|
|
7460
|
-
import { FileText as
|
|
7459
|
+
import { motion as motion30, AnimatePresence as AnimatePresence11 } from "framer-motion";
|
|
7460
|
+
import { FileText as FileText6, Image as ImageIcon2, Video as VideoIcon, FileCode2, Code2 } from "lucide-react";
|
|
7461
7461
|
import { jsx as jsx50, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
7462
7462
|
function ImageCarousel({ images, autoPlay = true, interval = 4e3, className }) {
|
|
7463
7463
|
const [current, setCurrent] = React37.useState(0);
|
|
@@ -7474,7 +7474,7 @@ function ImageCarousel({ images, autoPlay = true, interval = 4e3, className }) {
|
|
|
7474
7474
|
animate: { opacity: i === current ? 1 : 0 },
|
|
7475
7475
|
transition: { duration: 0.5 },
|
|
7476
7476
|
className: "absolute inset-0",
|
|
7477
|
-
children: /* @__PURE__ */ jsx50("div", { className: "w-full h-full bg-
|
|
7477
|
+
children: /* @__PURE__ */ jsx50("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", children: img.alt || `Slide ${i + 1}` })
|
|
7478
7478
|
},
|
|
7479
7479
|
i
|
|
7480
7480
|
)) }),
|
|
@@ -7488,10 +7488,10 @@ function ImageCarousel({ images, autoPlay = true, interval = 4e3, className }) {
|
|
|
7488
7488
|
)) })
|
|
7489
7489
|
] });
|
|
7490
7490
|
}
|
|
7491
|
-
function VideoPlayer({ title, duration = "3:45", thumbnail, className }) {
|
|
7491
|
+
function VideoPlayer({ title, duration = "3:45", thumbnail: _thumbnail, className }) {
|
|
7492
7492
|
const [playing, setPlaying] = React37.useState(false);
|
|
7493
7493
|
return /* @__PURE__ */ jsxs44("div", { className: cn("relative overflow-hidden rounded-xl bg-muted group cursor-pointer", className), children: [
|
|
7494
|
-
/* @__PURE__ */ jsx50("div", { className: "aspect-video bg-
|
|
7494
|
+
/* @__PURE__ */ jsx50("div", { className: "aspect-video bg-linear-to-br from-slate-800 to-slate-900 flex items-center justify-center", children: /* @__PURE__ */ jsx50(
|
|
7495
7495
|
motion30.button,
|
|
7496
7496
|
{
|
|
7497
7497
|
whileHover: { scale: 1.1 },
|
|
@@ -7501,7 +7501,7 @@ function VideoPlayer({ title, duration = "3:45", thumbnail, className }) {
|
|
|
7501
7501
|
children: playing ? /* @__PURE__ */ jsx50("svg", { className: "w-6 h-6 text-white", fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx50("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }) }) : /* @__PURE__ */ jsx50("svg", { className: "w-6 h-6 text-white ml-1", fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx50("path", { d: "M8 5v14l11-7z" }) })
|
|
7502
7502
|
}
|
|
7503
7503
|
) }),
|
|
7504
|
-
(title || duration) && /* @__PURE__ */ jsxs44("div", { className: "absolute bottom-0 left-0 right-0 bg-
|
|
7504
|
+
(title || duration) && /* @__PURE__ */ jsxs44("div", { className: "absolute bottom-0 left-0 right-0 bg-linear-to-t from-black/80 to-transparent p-4", children: [
|
|
7505
7505
|
title && /* @__PURE__ */ jsx50("p", { className: "text-white text-sm font-medium", children: title }),
|
|
7506
7506
|
duration && /* @__PURE__ */ jsx50("span", { className: "text-white/70 text-xs", children: duration })
|
|
7507
7507
|
] })
|
|
@@ -7531,13 +7531,13 @@ function AudioWaveform({ playing = false, bars = 24, className }) {
|
|
|
7531
7531
|
}
|
|
7532
7532
|
function FilePreviewCard({ name, size, type = "file", className }) {
|
|
7533
7533
|
const iconMap = {
|
|
7534
|
-
file:
|
|
7534
|
+
file: FileText6,
|
|
7535
7535
|
image: ImageIcon2,
|
|
7536
7536
|
video: VideoIcon,
|
|
7537
7537
|
pdf: FileCode2,
|
|
7538
7538
|
code: Code2
|
|
7539
7539
|
};
|
|
7540
|
-
const Icon2 = iconMap[type] ||
|
|
7540
|
+
const Icon2 = iconMap[type] || FileText6;
|
|
7541
7541
|
const colors = {
|
|
7542
7542
|
file: "from-blue-500/10 to-blue-500/5 text-blue-500",
|
|
7543
7543
|
image: "from-pink-500/10 to-pink-500/5 text-pink-500",
|
|
@@ -7551,7 +7551,7 @@ function FilePreviewCard({ name, size, type = "file", className }) {
|
|
|
7551
7551
|
whileHover: { y: -2 },
|
|
7552
7552
|
className: cn("rounded-xl border border-border bg-card p-4 flex items-center gap-3 cursor-pointer transition-shadow hover:shadow-md", className),
|
|
7553
7553
|
children: [
|
|
7554
|
-
/* @__PURE__ */ jsx50("div", { className: cn("w-12 h-12 rounded-lg bg-
|
|
7554
|
+
/* @__PURE__ */ jsx50("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]), children: /* @__PURE__ */ jsx50(Icon2, { className: "w-5 h-5" }) }),
|
|
7555
7555
|
/* @__PURE__ */ jsxs44("div", { className: "flex-1 min-w-0", children: [
|
|
7556
7556
|
/* @__PURE__ */ jsx50("p", { className: "text-sm font-medium truncate", children: name }),
|
|
7557
7557
|
/* @__PURE__ */ jsx50("p", { className: "text-xs text-muted-foreground", children: size })
|
|
@@ -7563,7 +7563,7 @@ function FilePreviewCard({ name, size, type = "file", className }) {
|
|
|
7563
7563
|
}
|
|
7564
7564
|
function EmbedCard({ title, description, domain, favicon, className }) {
|
|
7565
7565
|
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-xl border border-border bg-card overflow-hidden hover:shadow-md transition-shadow cursor-pointer", className), children: [
|
|
7566
|
-
/* @__PURE__ */ jsx50("div", { className: "h-36 bg-
|
|
7566
|
+
/* @__PURE__ */ jsx50("div", { className: "h-36 bg-linear-to-br from-violet-500/20 via-blue-500/20 to-pink-500/20" }),
|
|
7567
7567
|
/* @__PURE__ */ jsxs44("div", { className: "p-4 border-t border-border", children: [
|
|
7568
7568
|
/* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
7569
7569
|
/* @__PURE__ */ jsx50("div", { className: "w-4 h-4 rounded-full bg-muted flex items-center justify-center text-[8px]", children: favicon || domain.charAt(0).toUpperCase() }),
|
|
@@ -7576,7 +7576,7 @@ function EmbedCard({ title, description, domain, favicon, className }) {
|
|
|
7576
7576
|
}
|
|
7577
7577
|
function MusicPlayer({ title, artist, album, className }) {
|
|
7578
7578
|
const [playing, setPlaying] = React37.useState(false);
|
|
7579
|
-
const [progress
|
|
7579
|
+
const [progress] = React37.useState(35);
|
|
7580
7580
|
return /* @__PURE__ */ jsxs44("div", { className: cn("rounded-2xl border border-border bg-card p-5 w-full max-w-sm", className), children: [
|
|
7581
7581
|
/* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-4 mb-4", children: [
|
|
7582
7582
|
/* @__PURE__ */ jsx50(
|
|
@@ -7584,7 +7584,7 @@ function MusicPlayer({ title, artist, album, className }) {
|
|
|
7584
7584
|
{
|
|
7585
7585
|
animate: playing ? { rotate: 360 } : {},
|
|
7586
7586
|
transition: playing ? { duration: 3, repeat: Infinity, ease: "linear" } : {},
|
|
7587
|
-
className: "w-14 h-14 rounded-full bg-
|
|
7587
|
+
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",
|
|
7588
7588
|
children: /* @__PURE__ */ jsx50("div", { className: "w-5 h-5 rounded-full bg-background" })
|
|
7589
7589
|
}
|
|
7590
7590
|
),
|
|
@@ -7653,7 +7653,7 @@ function ImageCompare({
|
|
|
7653
7653
|
onMouseMove: handleMove,
|
|
7654
7654
|
onTouchMove: handleTouchMove,
|
|
7655
7655
|
children: [
|
|
7656
|
-
rightImage ? /* @__PURE__ */ jsx50("img", { src: rightImage, alt: rightLabel, className: "absolute inset-0 w-full h-full object-cover" }) : /* @__PURE__ */ jsx50("div", { className: "absolute inset-0 bg-
|
|
7656
|
+
rightImage ? /* @__PURE__ */ jsx50("img", { src: rightImage, alt: rightLabel, className: "absolute inset-0 w-full h-full object-cover" }) : /* @__PURE__ */ jsx50("div", { className: "absolute inset-0 bg-linear-to-br from-slate-600 to-slate-800" }),
|
|
7657
7657
|
leftImage ? /* @__PURE__ */ jsx50(
|
|
7658
7658
|
"img",
|
|
7659
7659
|
{
|
|
@@ -7665,7 +7665,7 @@ function ImageCompare({
|
|
|
7665
7665
|
) : /* @__PURE__ */ jsx50(
|
|
7666
7666
|
"div",
|
|
7667
7667
|
{
|
|
7668
|
-
className: "absolute inset-0 bg-
|
|
7668
|
+
className: "absolute inset-0 bg-linear-to-br from-violet-500 to-pink-500",
|
|
7669
7669
|
style: { clipPath: `inset(0 ${100 - position}% 0 0)` }
|
|
7670
7670
|
}
|
|
7671
7671
|
),
|
|
@@ -7693,7 +7693,7 @@ function GalleryGrid({ items, className }) {
|
|
|
7693
7693
|
{
|
|
7694
7694
|
whileHover: { scale: 1.02 },
|
|
7695
7695
|
className: cn(
|
|
7696
|
-
"rounded-xl bg-
|
|
7696
|
+
"rounded-xl bg-linear-to-br p-4 flex items-end cursor-pointer transition-shadow hover:shadow-lg",
|
|
7697
7697
|
item.color || colors[i % colors.length],
|
|
7698
7698
|
i === 0 ? "row-span-2 min-h-[200px]" : "min-h-[100px]"
|
|
7699
7699
|
),
|
|
@@ -7743,7 +7743,7 @@ function TestimonialCarousel({ testimonials, className }) {
|
|
|
7743
7743
|
const t = testimonials[current];
|
|
7744
7744
|
return /* @__PURE__ */ jsxs44("div", { className: cn("relative text-center py-8", className), children: [
|
|
7745
7745
|
/* @__PURE__ */ jsx50("svg", { className: "w-10 h-10 text-primary/20 mx-auto mb-4", fill: "currentColor", viewBox: "0 0 32 32", children: /* @__PURE__ */ jsx50("path", { d: "M10 8c-3.3 0-6 2.7-6 6v10h10V14H8c0-1.1.9-2 2-2V8zm14 0c-3.3 0-6 2.7-6 6v10h10V14h-6c0-1.1.9-2 2-2V8z" }) }),
|
|
7746
|
-
/* @__PURE__ */ jsx50(
|
|
7746
|
+
/* @__PURE__ */ jsx50(AnimatePresence11, { mode: "wait", children: /* @__PURE__ */ jsxs44(
|
|
7747
7747
|
motion30.div,
|
|
7748
7748
|
{
|
|
7749
7749
|
initial: { opacity: 0, y: 10 },
|
|
@@ -7982,7 +7982,7 @@ function LeaderboardWidget({ items, title, className }) {
|
|
|
7982
7982
|
"w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold shrink-0",
|
|
7983
7983
|
i === 0 ? "bg-amber-500/20 text-amber-500" : i === 1 ? "bg-slate-300/20 text-slate-400" : i === 2 ? "bg-orange-500/20 text-orange-500" : "bg-muted text-muted-foreground"
|
|
7984
7984
|
), children: i + 1 }),
|
|
7985
|
-
/* @__PURE__ */ jsx51("div", { className: "w-8 h-8 rounded-full bg-
|
|
7985
|
+
/* @__PURE__ */ jsx51("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", children: item.avatar || item.name.charAt(0) }),
|
|
7986
7986
|
/* @__PURE__ */ jsxs45("div", { className: "flex-1 min-w-0", children: [
|
|
7987
7987
|
/* @__PURE__ */ jsx51("p", { className: "text-sm font-medium truncate", children: item.name }),
|
|
7988
7988
|
/* @__PURE__ */ jsx51("div", { className: "h-1.5 bg-muted rounded-full mt-1 overflow-hidden", children: /* @__PURE__ */ jsx51(
|
|
@@ -8104,7 +8104,7 @@ function ModernAreaChart({
|
|
|
8104
8104
|
return `${acc} C ${cp1x} ${cp1y}, ${cp2x} ${cp2y}, ${p.x} ${p.y}`;
|
|
8105
8105
|
}, "");
|
|
8106
8106
|
const areaD = points.length > 0 ? `${pathD} L ${points[points.length - 1].x} ${padding.top + chartHeight} L ${points[0].x} ${padding.top + chartHeight} Z` : "";
|
|
8107
|
-
const activePoint = hoverIndex !== null ? points[hoverIndex] : points[points.length - 1] || { label: "", value: 0 };
|
|
8107
|
+
const activePoint = hoverIndex !== null ? points[hoverIndex] : points[points.length - 1] || { label: "", value: 0, x: 0, y: 0 };
|
|
8108
8108
|
return /* @__PURE__ */ jsxs45("div", { className: cn("relative w-full select-none", className), children: [
|
|
8109
8109
|
/* @__PURE__ */ jsxs45(
|
|
8110
8110
|
"svg",
|
|
@@ -8262,7 +8262,7 @@ function ModernBarChart({
|
|
|
8262
8262
|
backgroundColor: colorTheme.stroke,
|
|
8263
8263
|
boxShadow: isHovered ? `0 0 20px ${colorTheme.glow}` : "none"
|
|
8264
8264
|
},
|
|
8265
|
-
children: /* @__PURE__ */ jsx51("div", { className: "absolute inset-0 bg-
|
|
8265
|
+
children: /* @__PURE__ */ jsx51("div", { className: "absolute inset-0 bg-linear-to-t from-black/20 to-white/20" })
|
|
8266
8266
|
}
|
|
8267
8267
|
),
|
|
8268
8268
|
/* @__PURE__ */ jsx51(
|
|
@@ -8345,14 +8345,14 @@ import {
|
|
|
8345
8345
|
Send as Send3,
|
|
8346
8346
|
Paperclip as Paperclip2,
|
|
8347
8347
|
Smile as Smile3,
|
|
8348
|
-
Check as
|
|
8348
|
+
Check as Check9,
|
|
8349
8349
|
CheckCheck,
|
|
8350
8350
|
Bell as Bell3,
|
|
8351
8351
|
Copy as Copy3,
|
|
8352
|
-
Plus as
|
|
8353
|
-
MessageSquare as
|
|
8354
|
-
CheckCircle2 as
|
|
8355
|
-
AlertTriangle as
|
|
8352
|
+
Plus as Plus6,
|
|
8353
|
+
MessageSquare as MessageSquare2,
|
|
8354
|
+
CheckCircle2 as CheckCircle26,
|
|
8355
|
+
AlertTriangle as AlertTriangle2
|
|
8356
8356
|
} from "lucide-react";
|
|
8357
8357
|
import { jsx as jsx52, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
8358
8358
|
var ChatMessageContext = React39.createContext({
|
|
@@ -8426,7 +8426,7 @@ var ChatMessageAvatar = React39.forwardRef(
|
|
|
8426
8426
|
ref,
|
|
8427
8427
|
className: cn(
|
|
8428
8428
|
"relative w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold shrink-0 select-none shadow-sm",
|
|
8429
|
-
isOwn ? "bg-
|
|
8429
|
+
isOwn ? "bg-linear-to-tr from-primary to-violet-500 text-white shadow-primary/20" : "bg-linear-to-tr from-zinc-700 to-zinc-900 dark:from-zinc-800 dark:to-zinc-950 text-white border border-border/80",
|
|
8430
8430
|
className
|
|
8431
8431
|
),
|
|
8432
8432
|
...props,
|
|
@@ -8530,7 +8530,7 @@ var ChatMessageStatus = React39.forwardRef(
|
|
|
8530
8530
|
className: cn("inline-flex items-center text-[10px] text-muted-foreground ml-1.5", className),
|
|
8531
8531
|
...props,
|
|
8532
8532
|
children: [
|
|
8533
|
-
status === "sent" && /* @__PURE__ */ jsx52(
|
|
8533
|
+
status === "sent" && /* @__PURE__ */ jsx52(Check9, { className: "w-3 h-3 text-muted-foreground" }),
|
|
8534
8534
|
status === "delivered" && /* @__PURE__ */ jsx52(CheckCheck, { className: "w-3 h-3 text-muted-foreground" }),
|
|
8535
8535
|
status === "read" && /* @__PURE__ */ jsx52(CheckCheck, { className: "w-3 h-3 text-primary" })
|
|
8536
8536
|
]
|
|
@@ -8642,6 +8642,7 @@ var ChatInputSubmit = React39.forwardRef(
|
|
|
8642
8642
|
({ disabled = false, className, children, ...props }, ref) => /* @__PURE__ */ jsx52(
|
|
8643
8643
|
motion32.button,
|
|
8644
8644
|
{
|
|
8645
|
+
ref,
|
|
8645
8646
|
whileTap: { scale: disabled ? 1 : 0.92 },
|
|
8646
8647
|
disabled,
|
|
8647
8648
|
className: cn(
|
|
@@ -8725,7 +8726,7 @@ var UserProfileCover = React39.forwardRef(
|
|
|
8725
8726
|
ref,
|
|
8726
8727
|
className: cn(
|
|
8727
8728
|
"h-36 w-full relative overflow-hidden rounded-t-2xl",
|
|
8728
|
-
gradient || "bg-
|
|
8729
|
+
gradient || "bg-linear-to-r from-violet-600 via-indigo-600 to-cyan-500",
|
|
8729
8730
|
className
|
|
8730
8731
|
),
|
|
8731
8732
|
...props,
|
|
@@ -8733,7 +8734,7 @@ var UserProfileCover = React39.forwardRef(
|
|
|
8733
8734
|
/* @__PURE__ */ jsx52("div", { className: "absolute inset-0 bg-[linear-gradient(to_right,#ffffff15_1px,transparent_1px),linear-gradient(to_bottom,#ffffff15_1px,transparent_1px)] bg-[size:18px_18px] pointer-events-none" }),
|
|
8734
8735
|
/* @__PURE__ */ jsx52("div", { className: "absolute -top-12 -right-12 w-44 h-44 bg-white/20 rounded-full blur-2xl pointer-events-none" }),
|
|
8735
8736
|
/* @__PURE__ */ jsx52("div", { className: "absolute -bottom-10 -left-10 w-40 h-40 bg-black/40 rounded-full blur-2xl pointer-events-none" }),
|
|
8736
|
-
/* @__PURE__ */ jsx52("div", { className: "absolute inset-0 bg-
|
|
8737
|
+
/* @__PURE__ */ jsx52("div", { className: "absolute inset-0 bg-linear-to-t from-card/80 via-transparent to-transparent pointer-events-none" }),
|
|
8737
8738
|
imageSrc && /* @__PURE__ */ jsx52("img", { src: imageSrc, alt: "Cover", className: "w-full h-full object-cover" }),
|
|
8738
8739
|
children
|
|
8739
8740
|
]
|
|
@@ -8748,7 +8749,7 @@ var UserProfileAvatar = React39.forwardRef(
|
|
|
8748
8749
|
{
|
|
8749
8750
|
ref,
|
|
8750
8751
|
className: cn(
|
|
8751
|
-
"w-20 h-20 rounded-full border-4 border-card ring-2 ring-primary/30 bg-
|
|
8752
|
+
"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",
|
|
8752
8753
|
className
|
|
8753
8754
|
),
|
|
8754
8755
|
...props,
|
|
@@ -8819,6 +8820,7 @@ var UserProfileFollowButton = React39.forwardRef(
|
|
|
8819
8820
|
({ following = false, className, children, ...props }, ref) => /* @__PURE__ */ jsx52(
|
|
8820
8821
|
motion32.button,
|
|
8821
8822
|
{
|
|
8823
|
+
ref,
|
|
8822
8824
|
whileTap: { scale: 0.95 },
|
|
8823
8825
|
className: cn(
|
|
8824
8826
|
"px-4 py-1.5 rounded-full text-xs font-semibold transition-all duration-200 cursor-pointer shadow-xs",
|
|
@@ -8883,7 +8885,7 @@ var CommentAvatar = React39.forwardRef(
|
|
|
8883
8885
|
{
|
|
8884
8886
|
ref,
|
|
8885
8887
|
className: cn(
|
|
8886
|
-
"rounded-full flex items-center justify-center font-bold text-white shrink-0 bg-
|
|
8888
|
+
"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",
|
|
8887
8889
|
size === "sm" ? "w-6 h-6 text-[10px]" : "w-8 h-8 text-xs",
|
|
8888
8890
|
className
|
|
8889
8891
|
),
|
|
@@ -9016,7 +9018,7 @@ var SocialPostAvatar = React39.forwardRef(
|
|
|
9016
9018
|
{
|
|
9017
9019
|
ref,
|
|
9018
9020
|
className: cn(
|
|
9019
|
-
"w-10 h-10 rounded-full bg-
|
|
9021
|
+
"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",
|
|
9020
9022
|
className
|
|
9021
9023
|
),
|
|
9022
9024
|
...props,
|
|
@@ -9131,7 +9133,7 @@ var ReactionAdd = React39.forwardRef(
|
|
|
9131
9133
|
className
|
|
9132
9134
|
),
|
|
9133
9135
|
...props,
|
|
9134
|
-
children: /* @__PURE__ */ jsx52(
|
|
9136
|
+
children: /* @__PURE__ */ jsx52(Plus6, { className: "w-3.5 h-3.5" })
|
|
9135
9137
|
}
|
|
9136
9138
|
)
|
|
9137
9139
|
);
|
|
@@ -9146,7 +9148,7 @@ var ActivityItem = React39.forwardRef(
|
|
|
9146
9148
|
return /* @__PURE__ */ jsx52("div", { ref, className: cn("flex items-start gap-3 py-3 w-full", className), ...props, children });
|
|
9147
9149
|
}
|
|
9148
9150
|
return /* @__PURE__ */ jsxs46("div", { ref, className: cn("flex items-start gap-3 py-3 w-full", className), ...props, children: [
|
|
9149
|
-
/* @__PURE__ */ jsx52("div", { className: "w-8 h-8 rounded-full bg-
|
|
9151
|
+
/* @__PURE__ */ jsx52("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", children: icon || user?.charAt(0) || "U" }),
|
|
9150
9152
|
/* @__PURE__ */ jsxs46("div", { className: "flex-1 min-w-0", children: [
|
|
9151
9153
|
/* @__PURE__ */ jsxs46("p", { className: "text-xs sm:text-sm text-foreground/90 leading-snug", children: [
|
|
9152
9154
|
/* @__PURE__ */ jsx52("span", { className: "font-semibold text-foreground", children: user }),
|
|
@@ -9197,7 +9199,7 @@ var OnlineUsersList = React39.forwardRef(
|
|
|
9197
9199
|
] }),
|
|
9198
9200
|
/* @__PURE__ */ jsx52("div", { className: "space-y-2", children: users?.map((user, i) => /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-2.5 py-1", children: [
|
|
9199
9201
|
/* @__PURE__ */ jsxs46("div", { className: "relative shrink-0", children: [
|
|
9200
|
-
/* @__PURE__ */ jsx52("div", { className: "w-7 h-7 rounded-full bg-
|
|
9202
|
+
/* @__PURE__ */ jsx52("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", children: user.name.charAt(0) }),
|
|
9201
9203
|
/* @__PURE__ */ jsx52(
|
|
9202
9204
|
"div",
|
|
9203
9205
|
{
|
|
@@ -9271,7 +9273,7 @@ var ShareSheet = React39.forwardRef(
|
|
|
9271
9273
|
onClick: handleCopy,
|
|
9272
9274
|
className: "px-3.5 py-2 rounded-xl bg-primary text-primary-foreground text-xs font-medium shrink-0 flex items-center gap-1.5 shadow-sm shadow-primary/20 hover:bg-primary/90 transition-colors cursor-pointer",
|
|
9273
9275
|
children: [
|
|
9274
|
-
copied ? /* @__PURE__ */ jsx52(
|
|
9276
|
+
copied ? /* @__PURE__ */ jsx52(Check9, { className: "w-3.5 h-3.5 text-emerald-400" }) : /* @__PURE__ */ jsx52(Copy3, { className: "w-3.5 h-3.5" }),
|
|
9275
9277
|
/* @__PURE__ */ jsx52("span", { children: copied ? "Copied!" : "Copy" })
|
|
9276
9278
|
]
|
|
9277
9279
|
}
|
|
@@ -9300,9 +9302,9 @@ var NotificationCenter = React39.forwardRef(
|
|
|
9300
9302
|
);
|
|
9301
9303
|
}
|
|
9302
9304
|
const typeIcons = {
|
|
9303
|
-
info: /* @__PURE__ */ jsx52(
|
|
9304
|
-
success: /* @__PURE__ */ jsx52(
|
|
9305
|
-
warning: /* @__PURE__ */ jsx52(
|
|
9305
|
+
info: /* @__PURE__ */ jsx52(MessageSquare2, { className: "w-4 h-4 text-blue-500" }),
|
|
9306
|
+
success: /* @__PURE__ */ jsx52(CheckCircle26, { className: "w-4 h-4 text-emerald-500" }),
|
|
9307
|
+
warning: /* @__PURE__ */ jsx52(AlertTriangle2, { className: "w-4 h-4 text-amber-500" })
|
|
9306
9308
|
};
|
|
9307
9309
|
return /* @__PURE__ */ jsxs46(
|
|
9308
9310
|
"div",
|
|
@@ -9361,16 +9363,16 @@ import { motion as motion33 } from "framer-motion";
|
|
|
9361
9363
|
import {
|
|
9362
9364
|
ShoppingBag as ShoppingBag2,
|
|
9363
9365
|
Heart as Heart4,
|
|
9364
|
-
Star as
|
|
9365
|
-
Check as
|
|
9366
|
+
Star as Star4,
|
|
9367
|
+
Check as Check10,
|
|
9366
9368
|
ShieldCheck as ShieldCheck2,
|
|
9367
9369
|
Lock as Lock3,
|
|
9368
9370
|
Download as Download3,
|
|
9369
9371
|
Copy as Copy4,
|
|
9370
9372
|
Trash2 as Trash23,
|
|
9371
|
-
Plus as
|
|
9372
|
-
Minus as
|
|
9373
|
-
Sparkles as
|
|
9373
|
+
Plus as Plus7,
|
|
9374
|
+
Minus as Minus2,
|
|
9375
|
+
Sparkles as Sparkles4,
|
|
9374
9376
|
ArrowRight as ArrowRight4,
|
|
9375
9377
|
Tag
|
|
9376
9378
|
} from "lucide-react";
|
|
@@ -9409,7 +9411,7 @@ function ProductCardPro({
|
|
|
9409
9411
|
),
|
|
9410
9412
|
...props,
|
|
9411
9413
|
children: [
|
|
9412
|
-
/* @__PURE__ */ jsxs47("div", { className: "relative aspect-[4/3] rounded-2xl bg-
|
|
9414
|
+
/* @__PURE__ */ jsxs47("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", children: [
|
|
9413
9415
|
/* @__PURE__ */ jsx53(
|
|
9414
9416
|
"div",
|
|
9415
9417
|
{
|
|
@@ -9418,7 +9420,7 @@ function ProductCardPro({
|
|
|
9418
9420
|
}
|
|
9419
9421
|
),
|
|
9420
9422
|
badge && /* @__PURE__ */ jsx53("div", { className: "absolute top-3 left-3 z-10", children: /* @__PURE__ */ jsxs47("span", { className: "inline-flex items-center gap-1 px-2.5 py-1 rounded-full bg-primary/90 text-primary-foreground text-[11px] font-bold tracking-wide shadow-md backdrop-blur-md", children: [
|
|
9421
|
-
/* @__PURE__ */ jsx53(
|
|
9423
|
+
/* @__PURE__ */ jsx53(Sparkles4, { className: "w-3 h-3" }),
|
|
9422
9424
|
badge
|
|
9423
9425
|
] }) }),
|
|
9424
9426
|
/* @__PURE__ */ jsx53(
|
|
@@ -9447,14 +9449,14 @@ function ProductCardPro({
|
|
|
9447
9449
|
className: "w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"
|
|
9448
9450
|
}
|
|
9449
9451
|
) : /* @__PURE__ */ jsxs47("div", { className: "flex flex-col items-center gap-2 select-none group-hover:scale-105 transition-transform duration-300", children: [
|
|
9450
|
-
/* @__PURE__ */ jsx53("div", { className: "w-20 h-20 rounded-2xl bg-
|
|
9452
|
+
/* @__PURE__ */ jsx53("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", children: /* @__PURE__ */ jsx53(ShoppingBag2, { className: "w-9 h-9" }) }),
|
|
9451
9453
|
/* @__PURE__ */ jsx53("span", { className: "text-[10px] font-mono tracking-widest text-muted-foreground uppercase", children: "STUDIO SERIES" })
|
|
9452
9454
|
] })
|
|
9453
9455
|
] }),
|
|
9454
9456
|
/* @__PURE__ */ jsxs47("div", { className: "pt-4 space-y-3", children: [
|
|
9455
9457
|
/* @__PURE__ */ jsxs47("div", { className: "flex items-center justify-between", children: [
|
|
9456
9458
|
/* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5", children: [
|
|
9457
|
-
/* @__PURE__ */ jsx53("div", { className: "flex items-center text-amber-400", children: /* @__PURE__ */ jsx53(
|
|
9459
|
+
/* @__PURE__ */ jsx53("div", { className: "flex items-center text-amber-400", children: /* @__PURE__ */ jsx53(Star4, { className: "w-3.5 h-3.5 fill-amber-400" }) }),
|
|
9458
9460
|
/* @__PURE__ */ jsx53("span", { className: "text-xs font-bold text-foreground", children: rating }),
|
|
9459
9461
|
/* @__PURE__ */ jsxs47("span", { className: "text-xs text-muted-foreground", children: [
|
|
9460
9462
|
"(",
|
|
@@ -9502,7 +9504,7 @@ function ProductCardPro({
|
|
|
9502
9504
|
isAdded ? "bg-emerald-600 text-white shadow-emerald-500/25" : "bg-primary text-primary-foreground hover:bg-primary/90 shadow-primary/20"
|
|
9503
9505
|
),
|
|
9504
9506
|
children: isAdded ? /* @__PURE__ */ jsxs47(Fragment6, { children: [
|
|
9505
|
-
/* @__PURE__ */ jsx53(
|
|
9507
|
+
/* @__PURE__ */ jsx53(Check10, { className: "w-4 h-4" }),
|
|
9506
9508
|
/* @__PURE__ */ jsx53("span", { children: "Added to Cart!" })
|
|
9507
9509
|
] }) : /* @__PURE__ */ jsxs47(Fragment6, { children: [
|
|
9508
9510
|
/* @__PURE__ */ jsx53(ShoppingBag2, { className: "w-4 h-4" }),
|
|
@@ -9680,7 +9682,7 @@ function SubscriptionCard({
|
|
|
9680
9682
|
/* @__PURE__ */ jsxs47("div", { className: "space-y-2.5 pt-2 border-t border-border/60", children: [
|
|
9681
9683
|
/* @__PURE__ */ jsx53("p", { className: "text-[11px] font-bold text-muted-foreground uppercase tracking-wider", children: "Included with plan:" }),
|
|
9682
9684
|
/* @__PURE__ */ jsx53("ul", { className: "space-y-2 text-xs", children: features.map((f, i) => /* @__PURE__ */ jsxs47("li", { className: "flex items-center gap-2.5 text-foreground/90", children: [
|
|
9683
|
-
/* @__PURE__ */ jsx53("div", { className: "w-4 h-4 rounded-full bg-emerald-500/10 border border-emerald-500/20 text-emerald-500 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx53(
|
|
9685
|
+
/* @__PURE__ */ jsx53("div", { className: "w-4 h-4 rounded-full bg-emerald-500/10 border border-emerald-500/20 text-emerald-500 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx53(Check10, { className: "w-2.5 h-2.5" }) }),
|
|
9684
9686
|
/* @__PURE__ */ jsx53("span", { children: f })
|
|
9685
9687
|
] }, i)) })
|
|
9686
9688
|
] }),
|
|
@@ -9715,7 +9717,7 @@ function CreditCardVisual({
|
|
|
9715
9717
|
"div",
|
|
9716
9718
|
{
|
|
9717
9719
|
className: cn(
|
|
9718
|
-
"relative w-full max-w-sm aspect-[1.6/1] rounded-2xl bg-
|
|
9720
|
+
"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",
|
|
9719
9721
|
className
|
|
9720
9722
|
),
|
|
9721
9723
|
...props,
|
|
@@ -9724,7 +9726,7 @@ function CreditCardVisual({
|
|
|
9724
9726
|
/* @__PURE__ */ jsx53("div", { className: "absolute -bottom-10 -left-10 w-36 h-36 bg-primary/20 rounded-full blur-2xl pointer-events-none" }),
|
|
9725
9727
|
/* @__PURE__ */ jsxs47("div", { className: "flex items-center justify-between z-10", children: [
|
|
9726
9728
|
/* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-3", children: [
|
|
9727
|
-
/* @__PURE__ */ jsxs47("div", { className: "w-10 h-7 rounded-md bg-
|
|
9729
|
+
/* @__PURE__ */ jsxs47("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", children: [
|
|
9728
9730
|
/* @__PURE__ */ jsx53("div", { className: "absolute inset-x-0 top-1/2 -translate-y-1/2 h-[1px] bg-amber-900/30" }),
|
|
9729
9731
|
/* @__PURE__ */ jsx53("div", { className: "absolute inset-y-0 left-1/2 -translate-x-1/2 w-[1px] bg-amber-900/30" })
|
|
9730
9732
|
] }),
|
|
@@ -9780,7 +9782,7 @@ function CartItem({
|
|
|
9780
9782
|
type: "button",
|
|
9781
9783
|
onClick: () => onQuantityChange?.(Math.max(1, quantity - 1)),
|
|
9782
9784
|
className: "w-6 h-6 rounded-lg bg-card hover:bg-muted flex items-center justify-center text-xs transition-colors cursor-pointer border border-border/40",
|
|
9783
|
-
children: /* @__PURE__ */ jsx53(
|
|
9785
|
+
children: /* @__PURE__ */ jsx53(Minus2, { className: "w-3 h-3" })
|
|
9784
9786
|
}
|
|
9785
9787
|
),
|
|
9786
9788
|
/* @__PURE__ */ jsx53("span", { className: "w-6 text-center text-xs font-mono font-bold", children: quantity }),
|
|
@@ -9790,7 +9792,7 @@ function CartItem({
|
|
|
9790
9792
|
type: "button",
|
|
9791
9793
|
onClick: () => onQuantityChange?.(quantity + 1),
|
|
9792
9794
|
className: "w-6 h-6 rounded-lg bg-card hover:bg-muted flex items-center justify-center text-xs transition-colors cursor-pointer border border-border/40",
|
|
9793
|
-
children: /* @__PURE__ */ jsx53(
|
|
9795
|
+
children: /* @__PURE__ */ jsx53(Plus7, { className: "w-3 h-3" })
|
|
9794
9796
|
}
|
|
9795
9797
|
)
|
|
9796
9798
|
] }),
|
|
@@ -9917,7 +9919,7 @@ function CouponCard({
|
|
|
9917
9919
|
onClick: handleCopy,
|
|
9918
9920
|
className: "px-4 py-2 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:bg-primary/90 transition-colors cursor-pointer flex items-center gap-1.5 shrink-0",
|
|
9919
9921
|
children: [
|
|
9920
|
-
copied ? /* @__PURE__ */ jsx53(
|
|
9922
|
+
copied ? /* @__PURE__ */ jsx53(Check10, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx53(Copy4, { className: "w-3.5 h-3.5" }),
|
|
9921
9923
|
/* @__PURE__ */ jsx53("span", { children: copied ? "Copied!" : "Copy" })
|
|
9922
9924
|
]
|
|
9923
9925
|
}
|
|
@@ -9974,7 +9976,7 @@ function PricingSlider({
|
|
|
9974
9976
|
/* @__PURE__ */ jsxs47("div", { className: "space-y-2 pt-2 border-t border-border/60", children: [
|
|
9975
9977
|
/* @__PURE__ */ jsx53("p", { className: "text-[11px] font-bold text-muted-foreground uppercase", children: "Key Features:" }),
|
|
9976
9978
|
/* @__PURE__ */ jsx53("ul", { className: "space-y-1.5 text-xs", children: current.features.map((f, idx) => /* @__PURE__ */ jsxs47("li", { className: "flex items-center gap-2 text-foreground/90", children: [
|
|
9977
|
-
/* @__PURE__ */ jsx53(
|
|
9979
|
+
/* @__PURE__ */ jsx53(Check10, { className: "w-3.5 h-3.5 text-emerald-500 shrink-0" }),
|
|
9978
9980
|
/* @__PURE__ */ jsx53("span", { children: f })
|
|
9979
9981
|
] }, idx)) })
|
|
9980
9982
|
] })
|
|
@@ -9984,7 +9986,7 @@ function PricingSlider({
|
|
|
9984
9986
|
}
|
|
9985
9987
|
function ReviewStars({ rating = 4.8, size = 18, reviewCount }) {
|
|
9986
9988
|
return /* @__PURE__ */ jsxs47("div", { className: "inline-flex items-center gap-1.5", children: [
|
|
9987
|
-
/* @__PURE__ */ jsx53("div", { className: "flex items-center text-amber-400", children: [1, 2, 3, 4, 5].map((s) => /* @__PURE__ */ jsx53(
|
|
9989
|
+
/* @__PURE__ */ jsx53("div", { className: "flex items-center text-amber-400", children: [1, 2, 3, 4, 5].map((s) => /* @__PURE__ */ jsx53(Star4, { style: { width: size, height: size }, className: cn(s <= Math.round(rating) ? "fill-amber-400 text-amber-400" : "text-muted/40") }, s)) }),
|
|
9988
9990
|
/* @__PURE__ */ jsx53("span", { className: "text-xs font-bold text-foreground", children: rating }),
|
|
9989
9991
|
reviewCount && /* @__PURE__ */ jsxs47("span", { className: "text-xs text-muted-foreground", children: [
|
|
9990
9992
|
"(",
|
|
@@ -10010,12 +10012,12 @@ function TrustBadge({
|
|
|
10010
10012
|
|
|
10011
10013
|
// src/components/premium-effects.tsx
|
|
10012
10014
|
import * as React41 from "react";
|
|
10013
|
-
import { motion as motion34, useMotionValue as
|
|
10015
|
+
import { motion as motion34, useMotionValue as useMotionValue2, AnimatePresence as AnimatePresence12 } from "framer-motion";
|
|
10014
10016
|
import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
10015
10017
|
var GlowSpotlightCard = React41.forwardRef(
|
|
10016
10018
|
({ children, className, glowColor = "rgba(139, 92, 246, 0.15)", glowSize = 300, ...props }, ref) => {
|
|
10017
|
-
const mouseX =
|
|
10018
|
-
const mouseY =
|
|
10019
|
+
const mouseX = useMotionValue2(0);
|
|
10020
|
+
const mouseY = useMotionValue2(0);
|
|
10019
10021
|
const handleMouseMove = React41.useCallback(
|
|
10020
10022
|
({ clientX, clientY, currentTarget }) => {
|
|
10021
10023
|
const { left, top } = currentTarget.getBoundingClientRect();
|
|
@@ -10148,7 +10150,7 @@ function AnimatedGridBackground({
|
|
|
10148
10150
|
}
|
|
10149
10151
|
) }),
|
|
10150
10152
|
/* @__PURE__ */ jsx54("rect", { width: "100%", height: "100%", fill: `url(#${id})` }),
|
|
10151
|
-
/* @__PURE__ */ jsx54(
|
|
10153
|
+
/* @__PURE__ */ jsx54(AnimatePresence12, { children: flashingCells.map((cell) => /* @__PURE__ */ jsx54(
|
|
10152
10154
|
motion34.rect,
|
|
10153
10155
|
{
|
|
10154
10156
|
initial: { opacity: 0 },
|
|
@@ -10205,7 +10207,7 @@ function BentoCard({
|
|
|
10205
10207
|
),
|
|
10206
10208
|
...motionSafeProps,
|
|
10207
10209
|
children: [
|
|
10208
|
-
/* @__PURE__ */ jsx54("div", { className: "pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100 bg-
|
|
10210
|
+
/* @__PURE__ */ jsx54("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" }),
|
|
10209
10211
|
header && /* @__PURE__ */ jsx54("div", { className: "w-full overflow-hidden rounded-lg mb-4", children: header }),
|
|
10210
10212
|
/* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-1.5 mt-auto", children: [
|
|
10211
10213
|
/* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-2", children: [
|
|
@@ -10222,8 +10224,7 @@ function BentoCard({
|
|
|
10222
10224
|
|
|
10223
10225
|
// src/components/aurora-border-fx.tsx
|
|
10224
10226
|
import * as React42 from "react";
|
|
10225
|
-
import {
|
|
10226
|
-
import { Sparkles as Sparkles6 } from "lucide-react";
|
|
10227
|
+
import { Sparkles as Sparkles5 } from "lucide-react";
|
|
10227
10228
|
import { jsx as jsx55, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
10228
10229
|
var defaultAuroraColors = [
|
|
10229
10230
|
{ name: "Violet", hex: "#8b5cf6" },
|
|
@@ -10258,7 +10259,7 @@ var AuroraBorderFX = React42.forwardRef(
|
|
|
10258
10259
|
glow = "medium",
|
|
10259
10260
|
radius = "lg",
|
|
10260
10261
|
badgeText = "Aurora Border FX",
|
|
10261
|
-
badgeIcon = /* @__PURE__ */ jsx55(
|
|
10262
|
+
badgeIcon = /* @__PURE__ */ jsx55(Sparkles5, { className: "w-3 h-3" }),
|
|
10262
10263
|
title = "Reactive Aurora Borders",
|
|
10263
10264
|
description = "Smooth multi-color conic gradients that dynamically track and react with zero JavaScript canvas lag.",
|
|
10264
10265
|
showColorPicker = true,
|
|
@@ -10271,7 +10272,6 @@ var AuroraBorderFX = React42.forwardRef(
|
|
|
10271
10272
|
children,
|
|
10272
10273
|
...props
|
|
10273
10274
|
}, ref) => {
|
|
10274
|
-
const shouldReduceMotion = useReducedMotion3();
|
|
10275
10275
|
const resolvedInitialColor = colorPresetMap[color] || color || "#8b5cf6";
|
|
10276
10276
|
const [internalColor, setInternalColor] = React42.useState(resolvedInitialColor);
|
|
10277
10277
|
React42.useEffect(() => {
|
|
@@ -10420,8 +10420,8 @@ AuroraBorderFX.displayName = "AuroraBorderFX";
|
|
|
10420
10420
|
|
|
10421
10421
|
// src/components/morphing-geometry.tsx
|
|
10422
10422
|
import * as React43 from "react";
|
|
10423
|
-
import { motion as
|
|
10424
|
-
import { Sparkles as
|
|
10423
|
+
import { motion as motion35 } from "framer-motion";
|
|
10424
|
+
import { Sparkles as Sparkles6 } from "lucide-react";
|
|
10425
10425
|
import { jsx as jsx56, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
10426
10426
|
var sizeMap3 = {
|
|
10427
10427
|
sm: "w-16 h-16 text-xs",
|
|
@@ -10501,7 +10501,6 @@ var MorphingGeometry = React43.forwardRef(
|
|
|
10501
10501
|
...props
|
|
10502
10502
|
}, ref) => {
|
|
10503
10503
|
const [currentShape, setCurrentShape] = React43.useState(shape);
|
|
10504
|
-
const [isHovered, setIsHovered] = React43.useState(false);
|
|
10505
10504
|
React43.useEffect(() => {
|
|
10506
10505
|
setCurrentShape(shape);
|
|
10507
10506
|
}, [shape]);
|
|
@@ -10519,9 +10518,9 @@ var MorphingGeometry = React43.forwardRef(
|
|
|
10519
10518
|
const glowStyle = glow ? { boxShadow: `0 12px 36px -4px ${colorScheme.glow}` } : {};
|
|
10520
10519
|
let variantClasses = "";
|
|
10521
10520
|
if (variant === "gradient") {
|
|
10522
|
-
variantClasses = `bg-
|
|
10521
|
+
variantClasses = `bg-linear-to-tr ${colorScheme.bg} border ${colorScheme.border} ${colorScheme.text}`;
|
|
10523
10522
|
} else if (variant === "aurora") {
|
|
10524
|
-
variantClasses = `bg-
|
|
10523
|
+
variantClasses = `bg-linear-to-tr ${colorScheme.bg} border-2 border-white/40 shadow-2xl ${colorScheme.text}`;
|
|
10525
10524
|
} else if (variant === "neon") {
|
|
10526
10525
|
variantClasses = `bg-black/90 border-2 ${colorScheme.border} ${colorScheme.text}`;
|
|
10527
10526
|
} else if (variant === "glass") {
|
|
@@ -10532,7 +10531,7 @@ var MorphingGeometry = React43.forwardRef(
|
|
|
10532
10531
|
variantClasses = `bg-muted/60 border border-border text-foreground`;
|
|
10533
10532
|
}
|
|
10534
10533
|
return /* @__PURE__ */ jsxs50(
|
|
10535
|
-
|
|
10534
|
+
motion35.div,
|
|
10536
10535
|
{
|
|
10537
10536
|
ref,
|
|
10538
10537
|
animate: spin ? { rotate: [0, 90, 180, 270, 360] } : { rotate: 0 },
|
|
@@ -10546,8 +10545,6 @@ var MorphingGeometry = React43.forwardRef(
|
|
|
10546
10545
|
},
|
|
10547
10546
|
whileHover: { scale: 1.04 },
|
|
10548
10547
|
whileTap: { scale: 0.96 },
|
|
10549
|
-
onHoverStart: () => setIsHovered(true),
|
|
10550
|
-
onHoverEnd: () => setIsHovered(false),
|
|
10551
10548
|
onClick: handleInteractiveClick,
|
|
10552
10549
|
className: cn(
|
|
10553
10550
|
"relative flex items-center justify-center select-none overflow-hidden transition-all duration-300",
|
|
@@ -10564,8 +10561,8 @@ var MorphingGeometry = React43.forwardRef(
|
|
|
10564
10561
|
},
|
|
10565
10562
|
...props,
|
|
10566
10563
|
children: [
|
|
10567
|
-
/* @__PURE__ */ jsx56("div", { className: "absolute inset-0 bg-
|
|
10568
|
-
/* @__PURE__ */ jsx56("div", { className: "relative z-10 flex flex-col items-center justify-center p-2 text-center", children: icon || (children ? children : /* @__PURE__ */ jsx56(
|
|
10564
|
+
/* @__PURE__ */ jsx56("div", { className: "absolute inset-0 bg-linear-to-b from-white/25 via-transparent to-black/20 pointer-events-none" }),
|
|
10565
|
+
/* @__PURE__ */ jsx56("div", { className: "relative z-10 flex flex-col items-center justify-center p-2 text-center", children: icon || (children ? children : /* @__PURE__ */ jsx56(Sparkles6, { className: "w-6 h-6 drop-shadow-md" })) })
|
|
10569
10566
|
]
|
|
10570
10567
|
}
|
|
10571
10568
|
);
|
|
@@ -10575,7 +10572,7 @@ MorphingGeometry.displayName = "MorphingGeometry";
|
|
|
10575
10572
|
|
|
10576
10573
|
// src/components/interactive-code-block.tsx
|
|
10577
10574
|
import * as React44 from "react";
|
|
10578
|
-
import { Copy as Copy5, Check as
|
|
10575
|
+
import { Copy as Copy5, Check as Check11 } from "lucide-react";
|
|
10579
10576
|
import { Fragment as Fragment7, jsx as jsx57, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
10580
10577
|
var themeStyles = {
|
|
10581
10578
|
dark: {
|
|
@@ -10672,7 +10669,7 @@ var InteractiveCodeBlock = React44.forwardRef(
|
|
|
10672
10669
|
"aria-label": "Copy code to clipboard",
|
|
10673
10670
|
className: "inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md bg-white/10 hover:bg-white/15 text-zinc-300 hover:text-white transition-all cursor-pointer active:scale-95",
|
|
10674
10671
|
children: copied ? /* @__PURE__ */ jsxs51(Fragment7, { children: [
|
|
10675
|
-
/* @__PURE__ */ jsx57(
|
|
10672
|
+
/* @__PURE__ */ jsx57(Check11, { className: "h-3 w-3 text-emerald-400" }),
|
|
10676
10673
|
/* @__PURE__ */ jsx57("span", { className: "text-emerald-400 text-[11px] font-sans", children: "Copied!" })
|
|
10677
10674
|
] }) : /* @__PURE__ */ jsxs51(Fragment7, { children: [
|
|
10678
10675
|
/* @__PURE__ */ jsx57(Copy5, { className: "h-3 w-3" }),
|
|
@@ -10711,7 +10708,7 @@ InteractiveCodeBlock.displayName = "InteractiveCodeBlock";
|
|
|
10711
10708
|
|
|
10712
10709
|
// src/components/aurora-search-pill.tsx
|
|
10713
10710
|
import * as React45 from "react";
|
|
10714
|
-
import { Globe as Globe3, Sparkles as
|
|
10711
|
+
import { Globe as Globe3, Sparkles as Sparkles7 } from "lucide-react";
|
|
10715
10712
|
import { jsx as jsx58, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
10716
10713
|
if (typeof window !== "undefined" && typeof window.CSS !== "undefined" && "registerProperty" in window.CSS) {
|
|
10717
10714
|
try {
|
|
@@ -10801,7 +10798,6 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10801
10798
|
const [uncontrolledSearching, setUncontrolledSearching] = React45.useState(defaultSearching);
|
|
10802
10799
|
const active = isControlled ? controlledSearching : uncontrolledSearching;
|
|
10803
10800
|
const [isHovered, setIsHovered] = React45.useState(false);
|
|
10804
|
-
const instanceId = React45.useId().replace(/:/g, "");
|
|
10805
10801
|
const activeSources = React45.useMemo(() => {
|
|
10806
10802
|
if (sourceAvatars && sourceAvatars.length > 0) {
|
|
10807
10803
|
return sourceAvatars.map((url, i) => ({
|
|
@@ -10847,11 +10843,19 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10847
10843
|
const glowAlpha = GLOW_OPACITY[glowIntensity] ?? GLOW_OPACITY.medium;
|
|
10848
10844
|
const bodyThemeClass = theme === "light" ? "bg-white text-slate-900 border-white/60 shadow-sm" : theme === "dark" ? "bg-[#090d16] text-white border-white/10 shadow-lg shadow-black/40" : "bg-white text-slate-900 dark:bg-[#090d16] dark:text-white border-white/60 dark:border-white/10 shadow-sm dark:shadow-black/40";
|
|
10849
10845
|
const dotsColorClass = theme === "light" ? "bg-slate-900" : theme === "dark" ? "bg-white" : "bg-slate-900 dark:bg-white";
|
|
10846
|
+
const {
|
|
10847
|
+
onKeyDown,
|
|
10848
|
+
...restProps
|
|
10849
|
+
} = props;
|
|
10850
10850
|
return /* @__PURE__ */ jsxs52(
|
|
10851
10851
|
"div",
|
|
10852
10852
|
{
|
|
10853
10853
|
ref,
|
|
10854
|
-
|
|
10854
|
+
...restProps,
|
|
10855
|
+
onClick: (e) => {
|
|
10856
|
+
onClick?.(e);
|
|
10857
|
+
handleToggle(e);
|
|
10858
|
+
},
|
|
10855
10859
|
onMouseEnter: (e) => {
|
|
10856
10860
|
setIsHovered(true);
|
|
10857
10861
|
onMouseEnter?.(e);
|
|
@@ -10865,6 +10869,7 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10865
10869
|
"aria-pressed": active,
|
|
10866
10870
|
"aria-label": active ? `Searching: ${searchLabel}` : "Activate AI Search",
|
|
10867
10871
|
onKeyDown: (e) => {
|
|
10872
|
+
onKeyDown?.(e);
|
|
10868
10873
|
if (e.key === "Enter" || e.key === " ") {
|
|
10869
10874
|
e.preventDefault();
|
|
10870
10875
|
handleToggle(e);
|
|
@@ -10875,7 +10880,6 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10875
10880
|
"transition-transform duration-200 ease-out active:scale-[0.96] focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2",
|
|
10876
10881
|
className
|
|
10877
10882
|
),
|
|
10878
|
-
...props,
|
|
10879
10883
|
children: [
|
|
10880
10884
|
/* @__PURE__ */ jsx58("style", { dangerouslySetInnerHTML: {
|
|
10881
10885
|
__html: `
|
|
@@ -10949,7 +10953,7 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10949
10953
|
sizeStyle.height,
|
|
10950
10954
|
active ? cn(sizeStyle.paddingSearch, sizeStyle.minWidthSearch) : sizeStyle.paddingDots,
|
|
10951
10955
|
bodyThemeClass,
|
|
10952
|
-
"transition-all duration-500 [
|
|
10956
|
+
"transition-all duration-500 ease-[cubic-bezier()]"
|
|
10953
10957
|
),
|
|
10954
10958
|
children: [
|
|
10955
10959
|
/* @__PURE__ */ jsx58(
|
|
@@ -10958,7 +10962,7 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10958
10962
|
className: cn(
|
|
10959
10963
|
"flex items-center",
|
|
10960
10964
|
sizeStyle.dotGap,
|
|
10961
|
-
"transition-all duration-400 [
|
|
10965
|
+
"transition-all duration-400 ease-[cubic-bezier()]",
|
|
10962
10966
|
active ? "opacity-0 scale-50 -translate-y-2 pointer-events-none absolute" : "opacity-100 scale-100 translate-y-0"
|
|
10963
10967
|
),
|
|
10964
10968
|
children: [0, 1, 2].map((idx) => /* @__PURE__ */ jsx58(
|
|
@@ -10979,7 +10983,7 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
10979
10983
|
{
|
|
10980
10984
|
className: cn(
|
|
10981
10985
|
"flex items-center gap-2.5 whitespace-nowrap",
|
|
10982
|
-
"transition-all duration-400 [
|
|
10986
|
+
"transition-all duration-400 ease-[cubic-bezier()]",
|
|
10983
10987
|
active ? "opacity-100 scale-100 translate-y-0" : "opacity-0 scale-90 translate-y-2 pointer-events-none absolute"
|
|
10984
10988
|
),
|
|
10985
10989
|
children: [
|
|
@@ -11006,7 +11010,7 @@ var AuroraSearchPill = React45.forwardRef(
|
|
|
11006
11010
|
alt: src.label || src.id,
|
|
11007
11011
|
className: "w-full h-full object-cover"
|
|
11008
11012
|
}
|
|
11009
|
-
) : src.icon ? src.icon : src.type === "globe" ? /* @__PURE__ */ jsx58(Globe3, { className: "w-3 h-3 text-sky-400 stroke-[2.5]" }) : src.type === "github" ? /* @__PURE__ */ jsx58("svg", { className: "w-3.5 h-3.5 fill-[#181717]", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx58("path", { d: "M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z" }) }) : src.type === "claude" ? /* @__PURE__ */ jsx58(
|
|
11013
|
+
) : src.icon ? src.icon : src.type === "globe" ? /* @__PURE__ */ jsx58(Globe3, { className: "w-3 h-3 text-sky-400 stroke-[2.5]" }) : src.type === "github" ? /* @__PURE__ */ jsx58("svg", { className: "w-3.5 h-3.5 fill-[#181717]", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx58("path", { d: "M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z" }) }) : src.type === "claude" ? /* @__PURE__ */ jsx58(Sparkles7, { className: "w-2.5 h-2.5 text-white" }) : src.type === "chatgpt" ? /* @__PURE__ */ jsx58("div", { className: "w-2 h-2 rounded-full bg-white" }) : src.type === "perplexity" ? /* @__PURE__ */ jsx58(Sparkles7, { className: "w-2.5 h-2.5 text-white" }) : src.initials ? /* @__PURE__ */ jsx58("span", { className: "text-[8px] font-bold text-white uppercase", children: src.initials }) : null
|
|
11010
11014
|
},
|
|
11011
11015
|
src.id || i
|
|
11012
11016
|
);
|
|
@@ -11028,7 +11032,7 @@ AuroraSearchPill.displayName = "AuroraSearchPill";
|
|
|
11028
11032
|
|
|
11029
11033
|
// src/components/dock.tsx
|
|
11030
11034
|
import { useRef as useRef13 } from "react";
|
|
11031
|
-
import { motion as
|
|
11035
|
+
import { motion as motion36, useMotionValue as useMotionValue3, useSpring as useSpring2, useTransform as useTransform2 } from "framer-motion";
|
|
11032
11036
|
import { jsx as jsx59, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
11033
11037
|
function Dock({
|
|
11034
11038
|
items,
|
|
@@ -11036,11 +11040,11 @@ function Dock({
|
|
|
11036
11040
|
magnification = 60,
|
|
11037
11041
|
distance = 140
|
|
11038
11042
|
}) {
|
|
11039
|
-
const mouseX =
|
|
11043
|
+
const mouseX = useMotionValue3(Infinity);
|
|
11040
11044
|
const numMagnification = Number(magnification) || 60;
|
|
11041
11045
|
const numDistance = Number(distance) || 140;
|
|
11042
11046
|
return /* @__PURE__ */ jsx59(
|
|
11043
|
-
|
|
11047
|
+
motion36.div,
|
|
11044
11048
|
{
|
|
11045
11049
|
onMouseMove: (e) => mouseX.set(e.clientX),
|
|
11046
11050
|
onMouseLeave: () => mouseX.set(Infinity),
|
|
@@ -11063,22 +11067,22 @@ function DockIcon({
|
|
|
11063
11067
|
const ref = useRef13(null);
|
|
11064
11068
|
const numDistance = Number(distance) || 140;
|
|
11065
11069
|
const numMagnification = Number(magnification) || 60;
|
|
11066
|
-
const distanceVal =
|
|
11070
|
+
const distanceVal = useTransform2(mouseX, (val) => {
|
|
11067
11071
|
const bounds = ref.current?.getBoundingClientRect() ?? { x: 0, width: 0 };
|
|
11068
11072
|
return val - bounds.x - bounds.width / 2;
|
|
11069
11073
|
});
|
|
11070
|
-
const widthSync =
|
|
11074
|
+
const widthSync = useTransform2(
|
|
11071
11075
|
distanceVal,
|
|
11072
11076
|
[-numDistance, 0, numDistance],
|
|
11073
11077
|
[40, numMagnification, 40]
|
|
11074
11078
|
);
|
|
11075
|
-
const width =
|
|
11079
|
+
const width = useSpring2(widthSync, {
|
|
11076
11080
|
mass: 0.1,
|
|
11077
11081
|
stiffness: 150,
|
|
11078
11082
|
damping: 12
|
|
11079
11083
|
});
|
|
11080
11084
|
return /* @__PURE__ */ jsxs53(
|
|
11081
|
-
|
|
11085
|
+
motion36.div,
|
|
11082
11086
|
{
|
|
11083
11087
|
ref,
|
|
11084
11088
|
style: { width },
|
|
@@ -11095,7 +11099,7 @@ function DockIcon({
|
|
|
11095
11099
|
|
|
11096
11100
|
// src/components/dark-mode.tsx
|
|
11097
11101
|
import { useState as useState32 } from "react";
|
|
11098
|
-
import { motion as
|
|
11102
|
+
import { motion as motion37 } from "framer-motion";
|
|
11099
11103
|
import { Sun, Moon, Monitor } from "lucide-react";
|
|
11100
11104
|
import { jsx as jsx60, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
11101
11105
|
function DarkModeToggle({
|
|
@@ -11136,7 +11140,7 @@ function DarkModeToggle({
|
|
|
11136
11140
|
title: `Switch to ${isDark ? "light" : "dark"} theme`,
|
|
11137
11141
|
"aria-label": "Toggle theme",
|
|
11138
11142
|
children: /* @__PURE__ */ jsx60(
|
|
11139
|
-
|
|
11143
|
+
motion37.div,
|
|
11140
11144
|
{
|
|
11141
11145
|
initial: { rotate: -90, scale: 0.8, opacity: 0 },
|
|
11142
11146
|
animate: { rotate: 0, scale: 1, opacity: 1 },
|
|
@@ -11196,7 +11200,7 @@ function DarkModeToggle({
|
|
|
11196
11200
|
title: `Switch to ${isDark ? "light" : "dark"} mode`,
|
|
11197
11201
|
"aria-label": "Toggle dark mode",
|
|
11198
11202
|
children: /* @__PURE__ */ jsx60(
|
|
11199
|
-
|
|
11203
|
+
motion37.div,
|
|
11200
11204
|
{
|
|
11201
11205
|
animate: {
|
|
11202
11206
|
x: isDark ? size === "sm" ? 20 : size === "lg" ? 28 : 25 : 0
|