@glinui/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion.d.ts +42 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +85 -0
- package/dist/components/alert-dialog.d.ts +30 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert-dialog.js +53 -0
- package/dist/components/alert.d.ts +15 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +39 -0
- package/dist/components/animated-gradient.d.ts +11 -0
- package/dist/components/animated-gradient.d.ts.map +1 -0
- package/dist/components/animated-gradient.js +23 -0
- package/dist/components/aurora-background.d.ts +15 -0
- package/dist/components/aurora-background.d.ts.map +1 -0
- package/dist/components/aurora-background.js +26 -0
- package/dist/components/avatar.d.ts +54 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +92 -0
- package/dist/components/badge.d.ts +13 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +32 -0
- package/dist/components/blur-fade.d.ts +17 -0
- package/dist/components/blur-fade.d.ts.map +1 -0
- package/dist/components/blur-fade.js +48 -0
- package/dist/components/blur-spotlight.d.ts +13 -0
- package/dist/components/blur-spotlight.d.ts.map +1 -0
- package/dist/components/blur-spotlight.js +58 -0
- package/dist/components/border-beam.d.ts +11 -0
- package/dist/components/border-beam.d.ts.map +1 -0
- package/dist/components/border-beam.js +14 -0
- package/dist/components/button.d.ts +17 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +33 -0
- package/dist/components/card.d.ts +39 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +81 -0
- package/dist/components/checkbox.d.ts +14 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +58 -0
- package/dist/components/chip.d.ts +15 -0
- package/dist/components/chip.d.ts.map +1 -0
- package/dist/components/chip.js +35 -0
- package/dist/components/chromatic-text.d.ts +11 -0
- package/dist/components/chromatic-text.d.ts.map +1 -0
- package/dist/components/chromatic-text.js +22 -0
- package/dist/components/code.d.ts +13 -0
- package/dist/components/code.d.ts.map +1 -0
- package/dist/components/code.js +27 -0
- package/dist/components/command.d.ts +89 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +123 -0
- package/dist/components/counter.d.ts +19 -0
- package/dist/components/counter.d.ts.map +1 -0
- package/dist/components/counter.js +28 -0
- package/dist/components/data-table.d.ts +38 -0
- package/dist/components/data-table.d.ts.map +1 -0
- package/dist/components/data-table.js +183 -0
- package/dist/components/depth-card.d.ts +15 -0
- package/dist/components/depth-card.d.ts.map +1 -0
- package/dist/components/depth-card.js +52 -0
- package/dist/components/dot-pattern.d.ts +10 -0
- package/dist/components/dot-pattern.d.ts.map +1 -0
- package/dist/components/dot-pattern.js +10 -0
- package/dist/components/dropdown-menu.d.ts +74 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +90 -0
- package/dist/components/floating-panel.d.ts +17 -0
- package/dist/components/floating-panel.d.ts.map +1 -0
- package/dist/components/floating-panel.js +57 -0
- package/dist/components/glass-breadcrumb.d.ts +17 -0
- package/dist/components/glass-breadcrumb.d.ts.map +1 -0
- package/dist/components/glass-breadcrumb.js +14 -0
- package/dist/components/glass-card.d.ts +20 -0
- package/dist/components/glass-card.d.ts.map +1 -0
- package/dist/components/glass-card.js +36 -0
- package/dist/components/glass-dock.d.ts +21 -0
- package/dist/components/glass-dock.d.ts.map +1 -0
- package/dist/components/glass-dock.js +54 -0
- package/dist/components/glass-navbar.d.ts +21 -0
- package/dist/components/glass-navbar.d.ts.map +1 -0
- package/dist/components/glass-navbar.js +43 -0
- package/dist/components/glass-toggle.d.ts +15 -0
- package/dist/components/glass-toggle.d.ts.map +1 -0
- package/dist/components/glass-toggle.js +32 -0
- package/dist/components/glow-border.d.ts +13 -0
- package/dist/components/glow-border.d.ts.map +1 -0
- package/dist/components/glow-border.js +10 -0
- package/dist/components/gradient-mesh.d.ts +13 -0
- package/dist/components/gradient-mesh.d.ts.map +1 -0
- package/dist/components/gradient-mesh.js +25 -0
- package/dist/components/heading.d.ts +18 -0
- package/dist/components/heading.d.ts.map +1 -0
- package/dist/components/heading.js +28 -0
- package/dist/components/hover-card.d.ts +32 -0
- package/dist/components/hover-card.d.ts.map +1 -0
- package/dist/components/hover-card.js +28 -0
- package/dist/components/icon-frame.d.ts +13 -0
- package/dist/components/icon-frame.d.ts.map +1 -0
- package/dist/components/icon-frame.js +27 -0
- package/dist/components/input.d.ts +13 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +38 -0
- package/dist/components/kbd.d.ts +13 -0
- package/dist/components/kbd.d.ts.map +1 -0
- package/dist/components/kbd.js +27 -0
- package/dist/components/label.d.ts +13 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +27 -0
- package/dist/components/light-leak.d.ts +15 -0
- package/dist/components/light-leak.d.ts.map +1 -0
- package/dist/components/light-leak.js +29 -0
- package/dist/components/link.d.ts +15 -0
- package/dist/components/link.d.ts.map +1 -0
- package/dist/components/link.js +32 -0
- package/dist/components/liquid-button.d.ts +17 -0
- package/dist/components/liquid-button.d.ts.map +1 -0
- package/dist/components/liquid-button.js +18 -0
- package/dist/components/magnetic-cta.d.ts +18 -0
- package/dist/components/magnetic-cta.d.ts.map +1 -0
- package/dist/components/magnetic-cta.js +46 -0
- package/dist/components/marquee.d.ts +10 -0
- package/dist/components/marquee.d.ts.map +1 -0
- package/dist/components/marquee.js +16 -0
- package/dist/components/meteor-shower.d.ts +11 -0
- package/dist/components/meteor-shower.d.ts.map +1 -0
- package/dist/components/meteor-shower.js +39 -0
- package/dist/components/modal.d.ts +30 -0
- package/dist/components/modal.d.ts.map +1 -0
- package/dist/components/modal.js +39 -0
- package/dist/components/morphing-tabs.d.ts +22 -0
- package/dist/components/morphing-tabs.d.ts.map +1 -0
- package/dist/components/morphing-tabs.js +72 -0
- package/dist/components/number-ticker.d.ts +11 -0
- package/dist/components/number-ticker.d.ts.map +1 -0
- package/dist/components/number-ticker.js +66 -0
- package/dist/components/orbiting-circles.d.ts +21 -0
- package/dist/components/orbiting-circles.d.ts.map +1 -0
- package/dist/components/orbiting-circles.js +24 -0
- package/dist/components/particle-field.d.ts +19 -0
- package/dist/components/particle-field.d.ts.map +1 -0
- package/dist/components/particle-field.js +41 -0
- package/dist/components/popover.d.ts +27 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +52 -0
- package/dist/components/prism-border.d.ts +13 -0
- package/dist/components/prism-border.d.ts.map +1 -0
- package/dist/components/prism-border.js +16 -0
- package/dist/components/progress.d.ts +58 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/progress.js +108 -0
- package/dist/components/pulsating-button.d.ts +13 -0
- package/dist/components/pulsating-button.d.ts.map +1 -0
- package/dist/components/pulsating-button.js +40 -0
- package/dist/components/radio-group.d.ts +27 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +58 -0
- package/dist/components/retro-grid.d.ts +13 -0
- package/dist/components/retro-grid.d.ts.map +1 -0
- package/dist/components/retro-grid.js +17 -0
- package/dist/components/reveal-text.d.ts +17 -0
- package/dist/components/reveal-text.d.ts.map +1 -0
- package/dist/components/reveal-text.js +61 -0
- package/dist/components/ripple-button.d.ts +11 -0
- package/dist/components/ripple-button.d.ts.map +1 -0
- package/dist/components/ripple-button.js +47 -0
- package/dist/components/ripple.d.ts +13 -0
- package/dist/components/ripple.d.ts.map +1 -0
- package/dist/components/ripple.js +24 -0
- package/dist/components/select.d.ts +24 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +30 -0
- package/dist/components/separator.d.ts +29 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +84 -0
- package/dist/components/sheet.d.ts +41 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +85 -0
- package/dist/components/shimmer-button.d.ts +13 -0
- package/dist/components/shimmer-button.d.ts.map +1 -0
- package/dist/components/shimmer-button.js +32 -0
- package/dist/components/skeleton.d.ts +17 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +42 -0
- package/dist/components/slider.d.ts +14 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +89 -0
- package/dist/components/sonner.d.ts +14 -0
- package/dist/components/sonner.d.ts.map +1 -0
- package/dist/components/sonner.js +70 -0
- package/dist/components/spotlight-card.d.ts +11 -0
- package/dist/components/spotlight-card.d.ts.map +1 -0
- package/dist/components/spotlight-card.js +39 -0
- package/dist/components/spotlight.d.ts +19 -0
- package/dist/components/spotlight.d.ts.map +1 -0
- package/dist/components/spotlight.js +23 -0
- package/dist/components/status-dot.d.ts +24 -0
- package/dist/components/status-dot.d.ts.map +1 -0
- package/dist/components/status-dot.js +46 -0
- package/dist/components/switch.d.ts +42 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +77 -0
- package/dist/components/table.d.ts +69 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +176 -0
- package/dist/components/tabs.d.ts +34 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +75 -0
- package/dist/components/text-reveal.d.ts +6 -0
- package/dist/components/text-reveal.d.ts.map +1 -0
- package/dist/components/text-reveal.js +56 -0
- package/dist/components/text.d.ts +13 -0
- package/dist/components/text.d.ts.map +1 -0
- package/dist/components/text.js +27 -0
- package/dist/components/textarea.d.ts +13 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +37 -0
- package/dist/components/toast.d.ts +23 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +36 -0
- package/dist/components/tooltip.d.ts +35 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +34 -0
- package/dist/components/tree.d.ts +50 -0
- package/dist/components/tree.d.ts.map +1 -0
- package/dist/components/tree.js +77 -0
- package/dist/components/typewriter.d.ts +25 -0
- package/dist/components/typewriter.d.ts.map +1 -0
- package/dist/components/typewriter.js +109 -0
- package/dist/components/word-rotate.d.ts +11 -0
- package/dist/components/word-rotate.d.ts.map +1 -0
- package/dist/components/word-rotate.js +29 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/lib/cn.d.ts +3 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +5 -0
- package/dist/lib/use-liquid-glass.d.ts +46 -0
- package/dist/lib/use-liquid-glass.d.ts.map +1 -0
- package/dist/lib/use-liquid-glass.js +144 -0
- package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
- package/dist/lib/use-prefers-reduced-motion.d.ts.map +1 -0
- package/dist/lib/use-prefers-reduced-motion.js +23 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradient-mesh.d.ts","sourceRoot":"","sources":["../../src/components/gradient-mesh.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,YAAY,0FAyDxB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/cn";
|
|
4
|
+
export const GradientMesh = React.forwardRef(({ className, children, colors = ["#a855f7", "#ec4899", "#6366f1", "#06b6d4"], duration = 10, blur = 60, intensity = 0.6, style, ...props }, ref) => {
|
|
5
|
+
const meshLayers = React.useMemo(() => {
|
|
6
|
+
return colors.map((color, i) => ({
|
|
7
|
+
id: i,
|
|
8
|
+
color,
|
|
9
|
+
x: 25 + ((i * 50) / colors.length),
|
|
10
|
+
y: 25 + ((i * 35) % 50),
|
|
11
|
+
size: 50 + (i % 3) * 20,
|
|
12
|
+
}));
|
|
13
|
+
}, [colors]);
|
|
14
|
+
return (_jsxs("div", { ref: ref, "aria-hidden": true, className: cn("pointer-events-none absolute inset-0 overflow-hidden", className), style: style, ...props, children: [_jsx("div", { className: "absolute inset-0", style: { filter: `blur(${blur}px)`, opacity: intensity }, children: meshLayers.map((layer) => (_jsx("div", { className: "absolute animate-mesh-shift motion-reduce:[animation:none] [background-size:200%_200%]", style: {
|
|
15
|
+
"--mesh-duration": `${duration + layer.id * 2}s`,
|
|
16
|
+
width: `${layer.size}%`,
|
|
17
|
+
height: `${layer.size}%`,
|
|
18
|
+
left: `${layer.x}%`,
|
|
19
|
+
top: `${layer.y}%`,
|
|
20
|
+
background: `radial-gradient(circle at center, ${layer.color}, transparent 70%)`,
|
|
21
|
+
transform: "translate(-50%, -50%)",
|
|
22
|
+
animationDelay: `${-layer.id * (duration / colors.length)}s`,
|
|
23
|
+
} }, layer.id))) }), children] }));
|
|
24
|
+
});
|
|
25
|
+
GradientMesh.displayName = "GradientMesh";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
|
+
declare const headingVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & VariantProps<typeof headingVariants> & {
|
|
9
|
+
level?: HeadingLevel;
|
|
10
|
+
};
|
|
11
|
+
export declare const Heading: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & VariantProps<(props?: ({
|
|
12
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
13
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
15
|
+
level?: HeadingLevel;
|
|
16
|
+
} & React.RefAttributes<HTMLHeadingElement>>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/components/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,KAAK,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzC,QAAA,MAAM,eAAe;;;8EAmBnB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GACjE,YAAY,CAAC,OAAO,eAAe,CAAC,GAAG;IACrC,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAEH,eAAO,MAAM,OAAO;;;;YAHR,YAAY;4CASvB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const headingVariants = cva("font-semibold tracking-tight text-[var(--color-foreground)]", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "",
|
|
9
|
+
glass: "inline-block rounded-lg border border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[var(--glass-1-surface)] px-2.5 py-1.5 dark:border-white/[0.14] dark:bg-white/[0.05]",
|
|
10
|
+
outline: "inline-block rounded-lg border border-[var(--color-border)] px-2.5 py-1.5 dark:border-white/20",
|
|
11
|
+
ghost: "inline-block rounded-lg px-2.5 py-1.5"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "text-lg leading-7",
|
|
15
|
+
md: "text-2xl leading-9",
|
|
16
|
+
lg: "text-3xl leading-10"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export const Heading = React.forwardRef(({ className, variant, size, level = 2, ...props }, ref) => {
|
|
25
|
+
const Comp = `h${level}`;
|
|
26
|
+
return _jsx(Comp, { ref: ref, className: cn(headingVariants({ variant, size }), className), ...props });
|
|
27
|
+
});
|
|
28
|
+
Heading.displayName = "Heading";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
declare const hoverCardContentVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type HoverCardProps = Omit<React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root>, "openDelay" | "closeDelay"> & {
|
|
9
|
+
/** Delay in ms before opening on pointer/focus. */
|
|
10
|
+
openDelay?: number;
|
|
11
|
+
/** Delay in ms before closing when pointer leaves. */
|
|
12
|
+
closeDelay?: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const HoverCard: ({ openDelay, closeDelay, ...props }: HoverCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
16
|
+
export type HoverCardContentProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content> & VariantProps<typeof hoverCardContentVariants> & {
|
|
17
|
+
/** Preferred side for the hover card. */
|
|
18
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
19
|
+
/** Gap in px between trigger and content. */
|
|
20
|
+
sideOffset?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<HoverCardPrimitive.HoverCardContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
|
|
23
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
24
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
25
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
26
|
+
/** Preferred side for the hover card. */
|
|
27
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
28
|
+
/** Gap in px between trigger and content. */
|
|
29
|
+
sideOffset?: number;
|
|
30
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=hover-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../src/components/hover-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,wBAAwB;;;8EAuB7B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,KAAK,CAAC,wBAAwB,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAC9D,WAAW,GAAG,YAAY,CAC3B,GAAG;IACF,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,qCAIvB,cAAc,4CAMhB,CAAA;AAED,eAAO,MAAM,gBAAgB,oHAA6B,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,wBAAwB,CAChE,OAAO,kBAAkB,CAAC,OAAO,CAClC,GACC,YAAY,CAAC,OAAO,wBAAwB,CAAC,GAAG;IAC9C,yCAAyC;IACzC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC1C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAEH,eAAO,MAAM,gBAAgB;;;;IANzB,yCAAyC;WAClC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM;IAC1C,6CAA6C;iBAChC,MAAM;wCA4BtB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { cn } from "../lib/cn";
|
|
6
|
+
const hoverCardContentVariants = cva("z-50 rounded-xl border p-4 text-[var(--color-foreground)] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none", {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "border-black/10 bg-[linear-gradient(180deg,rgb(255_255_255),rgb(244_244_246))] shadow-[0_1px_0_rgb(255_255_255_/_0.9)_inset,0_14px_28px_-18px_rgb(15_23_42_/_0.35)] dark:border-white/[0.14] dark:bg-[linear-gradient(180deg,rgb(56_62_72_/_0.94),rgb(37_42_50_/_0.94))] dark:shadow-[0_1px_0_rgb(255_255_255_/_0.08)_inset,0_16px_32px_-18px_rgb(0_0_0_/_0.68)]",
|
|
10
|
+
glass: "border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[linear-gradient(155deg,rgb(255_255_255_/_0.66),rgb(246_246_246_/_0.36))] backdrop-blur-xl backdrop-saturate-[180%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.2)_inset,0_14px_30px_-18px_rgb(15_23_42_/_0.32)] dark:border-white/[0.12] dark:bg-[linear-gradient(155deg,rgb(255_255_255_/_0.15),rgb(255_255_255_/_0.05))] dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.1)_inset,0_16px_34px_-18px_rgb(0_0_0_/_0.66)]",
|
|
11
|
+
outline: "border-[var(--color-border)] bg-[var(--color-surface)] shadow-[var(--shadow-soft)]",
|
|
12
|
+
ghost: "border-transparent bg-[var(--color-surface)]/90 shadow-none"
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
sm: "w-56 text-xs",
|
|
16
|
+
md: "w-72 text-sm",
|
|
17
|
+
lg: "w-80 text-sm"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
variant: "glass",
|
|
22
|
+
size: "md"
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export const HoverCard = ({ openDelay = 200, closeDelay = 100, ...props }) => (_jsx(HoverCardPrimitive.Root, { openDelay: openDelay, closeDelay: closeDelay, ...props }));
|
|
26
|
+
export const HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
27
|
+
export const HoverCardContent = React.forwardRef(({ className, align = "center", sideOffset = 10, variant, size, ...props }, ref) => (_jsx(HoverCardPrimitive.Portal, { children: _jsx(HoverCardPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn(hoverCardContentVariants({ variant, size }), className), ...props }) })));
|
|
28
|
+
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const iconFrameVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type IconFrameProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof iconFrameVariants>;
|
|
8
|
+
export declare const IconFrame: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLSpanElement>>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=icon-frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-frame.d.ts","sourceRoot":"","sources":["../../src/components/icon-frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,iBAAiB;;;8EAuBtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAChE,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAExC,eAAO,MAAM,SAAS;;;uHAMrB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const iconFrameVariants = cva("inline-flex shrink-0 items-center justify-center rounded-xl border transition-[background-color,color,border-color,box-shadow] duration-fast ease-standard motion-reduce:transition-none", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "border-[var(--color-border)] bg-[var(--color-surface)] text-[var(--color-foreground)] dark:border-white/20",
|
|
9
|
+
glass: "border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[var(--glass-1-surface)] text-[var(--color-foreground)] dark:border-white/[0.14] dark:bg-white/[0.05]",
|
|
10
|
+
outline: "border-[var(--color-border)] bg-transparent text-[var(--color-foreground)] dark:border-white/20",
|
|
11
|
+
ghost: "border-transparent bg-[var(--color-foreground)]/[0.08] text-[var(--color-foreground)] dark:bg-white/[0.1]"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "h-7 w-7",
|
|
15
|
+
md: "h-9 w-9",
|
|
16
|
+
lg: "h-11 w-11"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export const IconFrame = React.forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
25
|
+
return (_jsx("span", { ref: ref, className: cn(iconFrameVariants({ variant, size }), className), ...props }));
|
|
26
|
+
});
|
|
27
|
+
IconFrame.displayName = "IconFrame";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const inputVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "underline" | "filled" | "liquid" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<typeof inputVariants>;
|
|
8
|
+
export declare const Input: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "underline" | "filled" | "liquid" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLInputElement>>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;;8EAiDlB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAChF,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpC,eAAO,MAAM,KAAK;;;wHAWjB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const inputVariants = cva("w-full border font-medium text-[var(--color-foreground)] placeholder:text-neutral-400 transition-[background-color,border-color,box-shadow,color] duration-normal ease-standard focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 motion-reduce:transition-none dark:placeholder:text-neutral-500", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "rounded-xl border-[var(--color-border)] bg-[var(--color-surface)] shadow-sm focus-visible:border-[var(--color-accent)]/60 focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/30 focus-visible:ring-offset-1 hover:border-[var(--color-border)]/80 dark:border-white/10 dark:bg-white/[0.04] dark:focus-visible:border-[var(--color-accent)]/50 dark:focus-visible:ring-[var(--color-accent)]/20",
|
|
9
|
+
glass: "relative rounded-xl border-white/24 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_18%_14%,rgb(255_255_255_/_0.86),transparent_44%),linear-gradient(158deg,rgb(255_255_255_/_0.7),rgb(243_247_250_/_0.46))] backdrop-blur-md backdrop-saturate-[180%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.2)_inset,0_8px_18px_-14px_rgb(15_23_42_/_0.24)] focus-visible:border-white/34 focus-visible:[border-top-color:rgb(255_255_255_/_0.82)] focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/22 focus-visible:ring-offset-0 focus-visible:shadow-[0_0_0_1px_rgb(255_255_255_/_0.24)_inset,0_0_0_3px_rgb(15_23_42_/_0.12),0_10px_20px_-14px_rgb(15_23_42_/_0.28)] hover:border-white/32 dark:border-white/[0.1] dark:bg-white/[0.05] dark:focus-visible:border-white/20 dark:focus-visible:ring-white/15",
|
|
10
|
+
frosted: "relative rounded-xl border-white/30 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_18%_14%,rgb(255_255_255_/_0.92),transparent_44%),linear-gradient(158deg,rgb(255_255_255_/_0.85),rgb(243_247_250_/_0.65))] backdrop-blur-[40px] backdrop-saturate-[200%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.25)_inset,0_0_16px_rgb(255_255_255_/_0.1)_inset,0_8px_18px_-14px_rgb(15_23_42_/_0.28)] focus-visible:border-white/40 focus-visible:[border-top-color:rgb(255_255_255_/_0.88)] focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/24 focus-visible:ring-offset-0 hover:border-white/36 dark:border-white/[0.14] dark:bg-white/[0.08] dark:focus-visible:border-white/24 dark:focus-visible:ring-white/18",
|
|
11
|
+
liquid: "relative rounded-xl border-white/24 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_18%_12%,rgb(255_255_255_/_0.92),transparent_42%),radial-gradient(circle_at_84%_88%,rgb(226_232_240_/_0.58),transparent_58%),linear-gradient(145deg,rgb(255_255_255_/_0.82),rgb(235_241_246_/_0.55))] backdrop-blur-xl backdrop-saturate-[180%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.24)_inset,0_10px_20px_-14px_rgb(15_23_42_/_0.26)] focus-visible:border-white/36 focus-visible:[border-top-color:rgb(255_255_255_/_0.88)] focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/24 focus-visible:ring-offset-0 hover:border-white/34 dark:border-white/[0.12] dark:bg-[linear-gradient(145deg,rgb(255_255_255_/_0.13),rgb(255_255_255_/_0.05))] dark:focus-visible:border-white/[0.24] dark:focus-visible:ring-white/16",
|
|
12
|
+
matte: "rounded-xl border-black/12 bg-[linear-gradient(180deg,rgb(249_250_251),rgb(237_239_242))] shadow-[0_1px_0_rgb(255_255_255_/_0.88)_inset,0_6px_14px_-12px_rgb(15_23_42_/_0.24)] focus-visible:border-black/25 focus-visible:ring-2 focus-visible:ring-black/12 focus-visible:ring-offset-0 hover:border-black/16 dark:border-white/[0.14] dark:bg-[linear-gradient(180deg,rgb(49_54_63_/_0.92),rgb(34_38_46_/_0.92))] dark:focus-visible:border-white/[0.28] dark:focus-visible:ring-white/14",
|
|
13
|
+
outline: "rounded-xl border-[var(--color-border)] bg-transparent shadow-sm focus-visible:border-[var(--color-accent)]/70 focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/25 focus-visible:ring-offset-1 hover:border-[var(--color-foreground)]/20 dark:border-white/15 dark:focus-visible:border-[var(--color-accent)]/50",
|
|
14
|
+
ghost: "rounded-xl border-transparent bg-transparent focus-visible:border-white/10 focus-visible:bg-[var(--glass-1-surface)] focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/20 focus-visible:ring-offset-0 hover:border-white/10 hover:bg-[var(--glass-1-surface)] dark:hover:bg-white/[0.06] dark:focus-visible:bg-white/[0.06]",
|
|
15
|
+
underline: "rounded-none border-x-0 border-t-0 border-b border-b-[var(--color-border)] bg-transparent px-0 shadow-none focus-visible:border-b-[var(--color-accent)] focus-visible:ring-0 focus-visible:ring-offset-0 hover:border-b-[var(--color-foreground)]/30 dark:border-b-white/20 dark:focus-visible:border-b-[var(--color-accent)]",
|
|
16
|
+
filled: "rounded-xl border-transparent bg-[var(--color-foreground)]/[0.07] focus-visible:border-[var(--color-accent)]/50 focus-visible:bg-[var(--color-foreground)]/[0.09] focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/25 focus-visible:ring-offset-0 hover:bg-[var(--color-foreground)]/[0.10] dark:bg-white/[0.08] dark:focus-visible:bg-white/[0.11] dark:hover:bg-white/[0.11]"
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
sm: "h-8 px-3 text-xs",
|
|
20
|
+
md: "h-10 px-3.5 text-sm",
|
|
21
|
+
lg: "h-12 px-4 text-base"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
compoundVariants: [
|
|
25
|
+
// underline variant overrides horizontal padding for all sizes
|
|
26
|
+
{ variant: "underline", size: "sm", class: "px-0" },
|
|
27
|
+
{ variant: "underline", size: "md", class: "px-0" },
|
|
28
|
+
{ variant: "underline", size: "lg", class: "px-0" }
|
|
29
|
+
],
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "default",
|
|
32
|
+
size: "md"
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
export const Input = React.forwardRef(({ className, variant, size, type = "text", ...props }, ref) => {
|
|
36
|
+
return (_jsx("input", { ref: ref, type: type, className: cn(inputVariants({ variant, size }), className), ...props }));
|
|
37
|
+
});
|
|
38
|
+
Input.displayName = "Input";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const kbdVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type KbdProps = React.HTMLAttributes<HTMLElement> & VariantProps<typeof kbdVariants>;
|
|
8
|
+
export declare const Kbd: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLElement>>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=kbd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kbd.d.ts","sourceRoot":"","sources":["../../src/components/kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,WAAW;;;8EAuBhB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAA;AAE3F,eAAO,MAAM,GAAG;;;mHAIf,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const kbdVariants = cva("inline-flex min-w-6 items-center justify-center rounded-md border px-1.5 font-mono font-medium uppercase tracking-wide shadow-sm transition-colors duration-fast ease-standard motion-reduce:transition-none", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "border-[var(--color-border)] bg-[var(--color-surface)] text-[var(--color-foreground)] dark:border-white/15",
|
|
9
|
+
glass: "border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[var(--glass-1-surface)] text-[var(--color-foreground)] dark:border-white/[0.14] dark:bg-white/[0.05]",
|
|
10
|
+
outline: "border-[var(--color-border)] bg-transparent text-[var(--color-foreground)] dark:border-white/20",
|
|
11
|
+
ghost: "border-transparent bg-[var(--color-foreground)]/[0.07] text-[var(--color-foreground)] dark:bg-white/[0.1]"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "h-5 text-[10px]",
|
|
15
|
+
md: "h-6 text-[11px]",
|
|
16
|
+
lg: "h-7 text-xs"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export const Kbd = React.forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
25
|
+
return _jsx("kbd", { ref: ref, className: cn(kbdVariants({ variant, size }), className), ...props });
|
|
26
|
+
});
|
|
27
|
+
Kbd.displayName = "Kbd";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const labelVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type LabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & VariantProps<typeof labelVariants>;
|
|
8
|
+
export declare const Label: React.ForwardRefExoticComponent<React.LabelHTMLAttributes<HTMLLabelElement> & VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;;8EAsBlB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAClE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpC,eAAO,MAAM,KAAK;;;wHAIjB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const labelVariants = cva("inline-flex items-center gap-1.5 font-medium text-[var(--color-foreground)] transition-colors duration-fast ease-standard motion-reduce:transition-none", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "",
|
|
9
|
+
glass: "rounded-md border border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[var(--glass-1-surface)] px-2 py-1 dark:border-white/[0.14] dark:bg-white/[0.05]",
|
|
10
|
+
outline: "rounded-md border border-[var(--color-border)] px-2 py-1 dark:border-white/20",
|
|
11
|
+
ghost: "rounded-md px-2 py-1 text-[var(--color-foreground)]/75"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "text-xs",
|
|
15
|
+
md: "text-sm",
|
|
16
|
+
lg: "text-base"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export const Label = React.forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
25
|
+
return _jsx("label", { ref: ref, className: cn(labelVariants({ variant, size }), className), ...props });
|
|
26
|
+
});
|
|
27
|
+
Label.displayName = "Label";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface LightLeakProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** Number of light leak layers */
|
|
4
|
+
count?: number;
|
|
5
|
+
/** Colors for the light leaks */
|
|
6
|
+
colors?: string[];
|
|
7
|
+
/** Animation duration in seconds */
|
|
8
|
+
duration?: number;
|
|
9
|
+
/** Intensity/opacity (0-1) */
|
|
10
|
+
intensity?: number;
|
|
11
|
+
/** Blur amount in px */
|
|
12
|
+
blur?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const LightLeak: React.ForwardRefExoticComponent<LightLeakProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
//# sourceMappingURL=light-leak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-leak.d.ts","sourceRoot":"","sources":["../../src/components/light-leak.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,SAAS,uFAuDrB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/cn";
|
|
4
|
+
export const LightLeak = React.forwardRef(({ className, count = 3, colors = ["#f97316", "#eab308", "#f43f5e"], duration = 6, intensity = 0.3, blur = 60, style, ...props }, ref) => {
|
|
5
|
+
const leaks = React.useMemo(() => {
|
|
6
|
+
return Array.from({ length: count }, (_, i) => ({
|
|
7
|
+
id: i,
|
|
8
|
+
color: colors[i % colors.length],
|
|
9
|
+
delay: (i * duration) / count,
|
|
10
|
+
size: 30 + (i % 3) * 20,
|
|
11
|
+
x: 10 + (i * 80) / count,
|
|
12
|
+
y: 10 + ((i * 60) % 80),
|
|
13
|
+
rotation: i * 45,
|
|
14
|
+
}));
|
|
15
|
+
}, [count, colors, duration]);
|
|
16
|
+
return (_jsx("div", { ref: ref, "aria-hidden": true, className: cn("pointer-events-none absolute inset-0 overflow-hidden", className), style: style, ...props, children: leaks.map((leak) => (_jsx("div", { className: "absolute animate-light-leak-drift motion-reduce:[animation:none]", style: {
|
|
17
|
+
"--light-leak-duration": `${duration + leak.id * 2}s`,
|
|
18
|
+
width: `${leak.size}%`,
|
|
19
|
+
height: `${leak.size * 0.6}%`,
|
|
20
|
+
left: `${leak.x}%`,
|
|
21
|
+
top: `${leak.y}%`,
|
|
22
|
+
background: `radial-gradient(ellipse at center, ${leak.color}, transparent 70%)`,
|
|
23
|
+
filter: `blur(${blur}px)`,
|
|
24
|
+
opacity: intensity,
|
|
25
|
+
transform: `translate(-50%, -50%) rotate(${leak.rotation}deg)`,
|
|
26
|
+
animationDelay: `${-leak.delay}s`,
|
|
27
|
+
} }, leak.id))) }));
|
|
28
|
+
});
|
|
29
|
+
LightLeak.displayName = "LightLeak";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const linkVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
underline?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type LinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & VariantProps<typeof linkVariants>;
|
|
9
|
+
export declare const Link: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & VariantProps<(props?: ({
|
|
10
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
11
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
12
|
+
underline?: boolean | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLAnchorElement>>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/components/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,YAAY;;;;8EA4BjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GACnE,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnC,eAAO,MAAM,IAAI;;;;yHAMhB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
const linkVariants = cva("inline-flex items-center gap-1 rounded-md font-medium transition-[color,background-color,border-color,box-shadow] duration-fast ease-standard focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]/35 focus-visible:ring-offset-2 motion-reduce:transition-none", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "text-[var(--color-foreground)] hover:text-[var(--color-accent)]",
|
|
9
|
+
glass: "border border-white/20 [border-top-color:var(--glass-refraction-top)] bg-[var(--glass-1-surface)] px-2 py-1 text-[var(--color-foreground)] hover:bg-[var(--glass-2-surface)] dark:border-white/[0.14] dark:bg-white/[0.05]",
|
|
10
|
+
outline: "border border-[var(--color-border)] px-2 py-1 text-[var(--color-foreground)] hover:border-[var(--color-accent)]/50 dark:border-white/20",
|
|
11
|
+
ghost: "px-2 py-1 text-[var(--color-foreground)]/80 hover:bg-[var(--glass-1-surface)]"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "text-xs",
|
|
15
|
+
md: "text-sm",
|
|
16
|
+
lg: "text-base"
|
|
17
|
+
},
|
|
18
|
+
underline: {
|
|
19
|
+
true: "underline underline-offset-4 decoration-[var(--color-accent)]/35",
|
|
20
|
+
false: "no-underline"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
variant: "default",
|
|
25
|
+
size: "md",
|
|
26
|
+
underline: true
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
export const Link = React.forwardRef(({ className, variant, size, underline, ...props }, ref) => {
|
|
30
|
+
return (_jsx("a", { ref: ref, className: cn(linkVariants({ variant, size, underline }), className), ...props }));
|
|
31
|
+
});
|
|
32
|
+
Link.displayName = "Link";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
import { type ButtonProps } from "./button";
|
|
4
|
+
declare const liquidButtonVariants: (props?: ({
|
|
5
|
+
intensity?: "strong" | "soft" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type LiquidButtonProps = ButtonProps & VariantProps<typeof liquidButtonVariants>;
|
|
8
|
+
export declare const LiquidButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | "glow" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
} & VariantProps<(props?: ({
|
|
14
|
+
intensity?: "strong" | "soft" | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=liquid-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-button.d.ts","sourceRoot":"","sources":["../../src/components/liquid-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEnD,QAAA,MAAM,oBAAoB;;8EAczB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvF,eAAO,MAAM,YAAY;;;;;;;yHAIxB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
import { Button } from "./button";
|
|
6
|
+
const liquidButtonVariants = cva("relative transform-gpu transition-[transform,box-shadow,filter] duration-normal ease-standard hover:scale-[1.03] hover:shadow-[0_0_0_1px_var(--glass-refraction-top),0_18px_30px_-16px_rgb(15_23_42_/_0.34)] active:scale-y-[0.97] dark:hover:shadow-[0_0_0_1px_var(--glass-refraction-top),0_0_30px_rgb(255_255_255_/_0.2)] motion-reduce:transition-none motion-reduce:hover:scale-100 motion-reduce:active:scale-y-100", {
|
|
7
|
+
variants: {
|
|
8
|
+
intensity: {
|
|
9
|
+
soft: "hover:brightness-[1.03] dark:hover:brightness-105",
|
|
10
|
+
strong: "hover:brightness-[1.06] hover:shadow-[0_0_0_1px_var(--glass-refraction-top),0_22px_34px_-16px_rgb(15_23_42_/_0.4)] dark:hover:brightness-110 dark:hover:shadow-[0_0_0_1px_var(--glass-refraction-top),0_0_36px_rgb(255_255_255_/_0.3)]"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
intensity: "soft"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
export const LiquidButton = React.forwardRef(({ className, intensity, ...props }, ref) => (_jsx(Button, { ref: ref, className: cn(liquidButtonVariants({ intensity }), className), ...props })));
|
|
18
|
+
LiquidButton.displayName = "LiquidButton";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type ButtonProps } from "./button";
|
|
3
|
+
export type MagneticCTAProps = ButtonProps & {
|
|
4
|
+
containerClassName?: string;
|
|
5
|
+
maxOffset?: number;
|
|
6
|
+
magnetRadius?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const MagneticCTA: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & import("class-variance-authority").VariantProps<(props?: ({
|
|
9
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | "glow" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
} & {
|
|
14
|
+
containerClassName?: string;
|
|
15
|
+
maxOffset?: number;
|
|
16
|
+
magnetRadius?: number;
|
|
17
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
18
|
+
//# sourceMappingURL=magnetic-cta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magnetic-cta.d.ts","sourceRoot":"","sources":["../../src/components/magnetic-cta.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEnD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;yBALD,MAAM;gBACf,MAAM;mBACH,MAAM;2CA4EtB,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../lib/cn";
|
|
5
|
+
import { usePrefersReducedMotion } from "../lib/use-prefers-reduced-motion";
|
|
6
|
+
import { Button } from "./button";
|
|
7
|
+
export const MagneticCTA = React.forwardRef(({ className, containerClassName, maxOffset = 8, magnetRadius = 140, ...props }, ref) => {
|
|
8
|
+
const prefersReducedMotion = usePrefersReducedMotion();
|
|
9
|
+
const wrapperRef = React.useRef(null);
|
|
10
|
+
const buttonRef = React.useRef(null);
|
|
11
|
+
React.useImperativeHandle(ref, () => buttonRef.current);
|
|
12
|
+
const setButtonOffset = React.useCallback((x, y) => {
|
|
13
|
+
if (!buttonRef.current) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
buttonRef.current.style.setProperty("--magnetic-x", `${x.toFixed(2)}px`);
|
|
17
|
+
buttonRef.current.style.setProperty("--magnetic-y", `${y.toFixed(2)}px`);
|
|
18
|
+
}, []);
|
|
19
|
+
const resetOffset = React.useCallback(() => {
|
|
20
|
+
setButtonOffset(0, 0);
|
|
21
|
+
}, [setButtonOffset]);
|
|
22
|
+
const handleMouseMove = React.useCallback((event) => {
|
|
23
|
+
if (prefersReducedMotion || !wrapperRef.current) {
|
|
24
|
+
resetOffset();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const rect = wrapperRef.current.getBoundingClientRect();
|
|
28
|
+
const centerX = rect.left + rect.width / 2;
|
|
29
|
+
const centerY = rect.top + rect.height / 2;
|
|
30
|
+
const deltaX = event.clientX - centerX;
|
|
31
|
+
const deltaY = event.clientY - centerY;
|
|
32
|
+
const distance = Math.hypot(deltaX, deltaY);
|
|
33
|
+
if (distance === 0 || distance > magnetRadius) {
|
|
34
|
+
resetOffset();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const normalizedX = deltaX / distance;
|
|
38
|
+
const normalizedY = deltaY / distance;
|
|
39
|
+
const strength = 1 - distance / magnetRadius;
|
|
40
|
+
const translateX = normalizedX * maxOffset * strength;
|
|
41
|
+
const translateY = normalizedY * maxOffset * strength;
|
|
42
|
+
setButtonOffset(translateX, translateY);
|
|
43
|
+
}, [magnetRadius, maxOffset, prefersReducedMotion, resetOffset, setButtonOffset]);
|
|
44
|
+
return (_jsx("div", { ref: wrapperRef, "data-slot": "magnetic-cta-wrapper", className: cn("inline-flex", containerClassName), onMouseMove: handleMouseMove, onMouseLeave: resetOffset, children: _jsx(Button, { ref: buttonRef, className: cn("[transform:translate3d(var(--magnetic-x,0px),var(--magnetic-y,0px),0)] transition-transform duration-fast ease-standard motion-reduce:transition-none", className), ...props }) }));
|
|
45
|
+
});
|
|
46
|
+
MagneticCTA.displayName = "MagneticCTA";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface MarqueeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
direction?: "left" | "right" | "up" | "down";
|
|
4
|
+
speed?: number;
|
|
5
|
+
pauseOnHover?: boolean;
|
|
6
|
+
gap?: number;
|
|
7
|
+
reverse?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Marquee: React.ForwardRefExoticComponent<MarqueeProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
//# sourceMappingURL=marquee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marquee.d.ts","sourceRoot":"","sources":["../../src/components/marquee.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,OAAO,qFAyDnB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/cn";
|
|
4
|
+
export const Marquee = React.forwardRef(({ className, children, direction = "left", speed = 30, pauseOnHover = false, gap = 16, reverse = false, style, ...props }, ref) => {
|
|
5
|
+
const isVertical = direction === "up" || direction === "down";
|
|
6
|
+
const shouldReverse = reverse || direction === "right" || direction === "down";
|
|
7
|
+
const animationClass = isVertical
|
|
8
|
+
? "motion-safe:animate-marquee-y"
|
|
9
|
+
: "motion-safe:animate-marquee-x";
|
|
10
|
+
return (_jsx("div", { ref: ref, className: cn("group overflow-hidden", isVertical ? "flex flex-col" : "flex flex-row", className), style: {
|
|
11
|
+
"--marquee-gap": `${gap}px`,
|
|
12
|
+
"--marquee-duration": `${speed}s`,
|
|
13
|
+
...style,
|
|
14
|
+
}, ...props, children: Array.from({ length: 2 }).map((_, i) => (_jsx("div", { "aria-hidden": i === 1 ? true : undefined, className: cn("flex shrink-0", isVertical ? "flex-col" : "flex-row", animationClass, shouldReverse && "[animation-direction:reverse]", pauseOnHover && "group-hover:[animation-play-state:paused]", isVertical ? "pb-[var(--marquee-gap)]" : "pr-[var(--marquee-gap)]"), children: children }, i))) }));
|
|
15
|
+
});
|
|
16
|
+
Marquee.displayName = "Marquee";
|