@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,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface BlurFadeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** Delay before transition starts (ms) */
|
|
4
|
+
delay?: number;
|
|
5
|
+
/** Transition duration (ms) */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Initial blur amount (px) */
|
|
8
|
+
blur?: number;
|
|
9
|
+
/** Initial Y offset (px) */
|
|
10
|
+
yOffset?: number;
|
|
11
|
+
/** Only animate once */
|
|
12
|
+
once?: boolean;
|
|
13
|
+
/** IntersectionObserver threshold (0-1) */
|
|
14
|
+
threshold?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const BlurFade: React.ForwardRefExoticComponent<BlurFadeProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
//# sourceMappingURL=blur-fade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur-fade.d.ts","sourceRoot":"","sources":["../../src/components/blur-fade.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,QAAQ,sFA8EpB,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
export const BlurFade = React.forwardRef(({ className, children, delay = 0, duration = 500, blur = 8, yOffset = 12, once = true, threshold = 0.1, style, ...props }, ref) => {
|
|
6
|
+
const localRef = React.useRef(null);
|
|
7
|
+
const [isVisible, setIsVisible] = React.useState(false);
|
|
8
|
+
const setRefs = React.useCallback((node) => {
|
|
9
|
+
localRef.current = node;
|
|
10
|
+
if (typeof ref === "function") {
|
|
11
|
+
ref(node);
|
|
12
|
+
}
|
|
13
|
+
else if (ref) {
|
|
14
|
+
ref.current = node;
|
|
15
|
+
}
|
|
16
|
+
}, [ref]);
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
const el = localRef.current;
|
|
19
|
+
if (!el)
|
|
20
|
+
return;
|
|
21
|
+
const prefersReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
22
|
+
if (prefersReduced) {
|
|
23
|
+
setIsVisible(true);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
27
|
+
if (entry.isIntersecting) {
|
|
28
|
+
setIsVisible(true);
|
|
29
|
+
if (once)
|
|
30
|
+
observer.unobserve(el);
|
|
31
|
+
}
|
|
32
|
+
else if (!once) {
|
|
33
|
+
setIsVisible(false);
|
|
34
|
+
}
|
|
35
|
+
}, { threshold });
|
|
36
|
+
observer.observe(el);
|
|
37
|
+
return () => observer.disconnect();
|
|
38
|
+
}, [once, threshold]);
|
|
39
|
+
return (_jsx("div", { ref: setRefs, className: cn("transition-[opacity,filter,transform] ease-standard motion-reduce:!opacity-100 motion-reduce:!filter-none motion-reduce:!transform-none", className), style: {
|
|
40
|
+
transitionDuration: `${duration}ms`,
|
|
41
|
+
transitionDelay: `${delay}ms`,
|
|
42
|
+
opacity: isVisible ? 1 : 0,
|
|
43
|
+
filter: isVisible ? "blur(0px)" : `blur(${blur}px)`,
|
|
44
|
+
transform: isVisible ? "translateY(0)" : `translateY(${yOffset}px)`,
|
|
45
|
+
...style,
|
|
46
|
+
}, ...props, children: children }));
|
|
47
|
+
});
|
|
48
|
+
BlurFade.displayName = "BlurFade";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface BlurSpotlightProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** Spotlight radius in px */
|
|
4
|
+
size?: number;
|
|
5
|
+
/** Spotlight color */
|
|
6
|
+
color?: string;
|
|
7
|
+
/** Blur amount in px */
|
|
8
|
+
blur?: number;
|
|
9
|
+
/** Intensity/opacity (0-1) */
|
|
10
|
+
intensity?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const BlurSpotlight: React.ForwardRefExoticComponent<BlurSpotlightProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
//# sourceMappingURL=blur-spotlight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur-spotlight.d.ts","sourceRoot":"","sources":["../../src/components/blur-spotlight.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,2FAmFzB,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
export const BlurSpotlight = React.forwardRef(({ className, size = 300, color = "#6366f1", blur = 80, intensity = 0.5, style, ...props }, ref) => {
|
|
7
|
+
const prefersReducedMotion = usePrefersReducedMotion();
|
|
8
|
+
const localRef = React.useRef(null);
|
|
9
|
+
const setRefs = React.useCallback((node) => {
|
|
10
|
+
localRef.current = node;
|
|
11
|
+
if (typeof ref === "function") {
|
|
12
|
+
ref(node);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (ref)
|
|
16
|
+
ref.current = node;
|
|
17
|
+
}, [ref]);
|
|
18
|
+
React.useEffect(() => {
|
|
19
|
+
if (prefersReducedMotion)
|
|
20
|
+
return;
|
|
21
|
+
const el = localRef.current;
|
|
22
|
+
if (!el)
|
|
23
|
+
return;
|
|
24
|
+
const parent = el.parentElement;
|
|
25
|
+
if (!parent)
|
|
26
|
+
return;
|
|
27
|
+
const handleMouseMove = (event) => {
|
|
28
|
+
const rect = parent.getBoundingClientRect();
|
|
29
|
+
const x = event.clientX - rect.left;
|
|
30
|
+
const y = event.clientY - rect.top;
|
|
31
|
+
el.style.setProperty("--spot-x", `${x}px`);
|
|
32
|
+
el.style.setProperty("--spot-y", `${y}px`);
|
|
33
|
+
el.style.setProperty("--spot-visible", "1");
|
|
34
|
+
};
|
|
35
|
+
const handleMouseLeave = () => {
|
|
36
|
+
el.style.setProperty("--spot-visible", "0");
|
|
37
|
+
};
|
|
38
|
+
parent.addEventListener("mousemove", handleMouseMove);
|
|
39
|
+
parent.addEventListener("mouseleave", handleMouseLeave);
|
|
40
|
+
return () => {
|
|
41
|
+
parent.removeEventListener("mousemove", handleMouseMove);
|
|
42
|
+
parent.removeEventListener("mouseleave", handleMouseLeave);
|
|
43
|
+
};
|
|
44
|
+
}, [prefersReducedMotion]);
|
|
45
|
+
return (_jsx("div", { ref: setRefs, "aria-hidden": true, className: cn("pointer-events-none absolute inset-0 overflow-hidden transition-opacity duration-300 motion-reduce:hidden", className), style: {
|
|
46
|
+
opacity: `var(--spot-visible, 0)`,
|
|
47
|
+
...style,
|
|
48
|
+
}, ...props, children: _jsx("div", { className: "absolute -translate-x-1/2 -translate-y-1/2 rounded-full", style: {
|
|
49
|
+
left: "var(--spot-x, 50%)",
|
|
50
|
+
top: "var(--spot-y, 50%)",
|
|
51
|
+
width: size,
|
|
52
|
+
height: size,
|
|
53
|
+
background: `radial-gradient(circle, ${color}, transparent 70%)`,
|
|
54
|
+
filter: `blur(${blur}px)`,
|
|
55
|
+
opacity: intensity,
|
|
56
|
+
} }) }));
|
|
57
|
+
});
|
|
58
|
+
BlurSpotlight.displayName = "BlurSpotlight";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface BorderBeamProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
duration?: number;
|
|
4
|
+
delay?: number;
|
|
5
|
+
size?: number;
|
|
6
|
+
colorFrom?: string;
|
|
7
|
+
colorTo?: string;
|
|
8
|
+
borderRadius?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const BorderBeam: React.ForwardRefExoticComponent<BorderBeamProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
//# sourceMappingURL=border-beam.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-beam.d.ts","sourceRoot":"","sources":["../../src/components/border-beam.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,UAAU,wFA8CtB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/cn";
|
|
4
|
+
export const BorderBeam = React.forwardRef(({ className, duration = 6, delay = 0, size = 100, colorFrom = "var(--color-accent)", colorTo = "transparent", borderRadius, style, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("pointer-events-none absolute inset-0 rounded-[inherit] motion-reduce:hidden", "[mask-clip:padding-box,border-box] [mask-composite:intersect]", "border border-transparent", "[mask-image:linear-gradient(transparent,transparent),linear-gradient(#fff,#fff)]", className), style: {
|
|
5
|
+
"--border-beam-duration": `${duration}s`,
|
|
6
|
+
borderRadius: borderRadius,
|
|
7
|
+
...style,
|
|
8
|
+
}, ...props, children: _jsx("div", { className: "absolute aspect-square motion-safe:animate-[border-beam_var(--border-beam-duration,6s)_linear_infinite]", style: {
|
|
9
|
+
width: size,
|
|
10
|
+
offsetPath: "rect(0 auto auto 0)",
|
|
11
|
+
animationDelay: `${delay}s`,
|
|
12
|
+
background: `linear-gradient(to left, ${colorFrom}, ${colorTo})`,
|
|
13
|
+
} }) })));
|
|
14
|
+
BorderBeam.displayName = "BorderBeam";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | "glow" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants> & {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
|
|
11
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | "glow" | null | undefined;
|
|
12
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
14
|
+
asChild?: boolean;
|
|
15
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKjE,QAAA,MAAM,cAAc;;;8EAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GACrE,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAEH,eAAO,MAAM,MAAM;;;;cAHL,OAAO;2CAepB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
import { cn } from "../lib/cn";
|
|
6
|
+
const buttonVariants = cva("inline-flex items-center justify-center whitespace-nowrap rounded-xl border border-transparent font-medium transition-[transform,background-color,box-shadow,color,border-color,opacity] duration-normal ease-standard focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-black/40 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:translate-y-0 disabled:opacity-50 motion-reduce:transition-none dark:focus-visible:ring-white/45", {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "border-black/10 bg-neutral-900 text-white shadow-[0_12px_26px_-16px_rgb(2_6_23_/_0.65)] hover:-translate-y-px hover:bg-neutral-800 active:translate-y-0 dark:border-white/15 dark:bg-neutral-100 dark:text-neutral-950 dark:shadow-[0_10px_24px_-14px_rgb(255_255_255_/_0.28)] dark:hover:bg-white",
|
|
10
|
+
glass: "relative isolate overflow-hidden border-neutral-300/60 [border-top-color:var(--glass-refraction-top)] bg-white/50 text-[var(--color-foreground)] backdrop-blur-xl backdrop-saturate-[180%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.4)_inset,0_10px_22px_-14px_rgb(15_23_42_/_0.18)] before:pointer-events-none before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-white/70 before:to-transparent hover:-translate-y-px hover:bg-white/60 hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.5)_inset,0_14px_26px_-14px_rgb(15_23_42_/_0.22)] active:translate-y-0 dark:border-white/[0.12] dark:bg-[linear-gradient(155deg,rgb(255_255_255_/_0.1),rgb(255_255_255_/_0.04))] dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.08)_inset,0_8px_20px_-12px_rgb(0_0_0_/_0.5)] dark:before:via-white/20 dark:hover:bg-[linear-gradient(155deg,rgb(255_255_255_/_0.14),rgb(255_255_255_/_0.06))] dark:hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.12)_inset,0_12px_28px_-12px_rgb(0_0_0_/_0.55)]",
|
|
11
|
+
frosted: "relative isolate overflow-hidden border-neutral-300/70 [border-top-color:var(--glass-refraction-top)] bg-white/70 text-[var(--color-foreground)] backdrop-blur-[40px] backdrop-saturate-[200%] shadow-[0_0_0_1px_rgb(255_255_255_/_0.5)_inset,0_0_16px_rgb(255_255_255_/_0.15)_inset,0_10px_22px_-14px_rgb(15_23_42_/_0.22)] before:pointer-events-none before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-white/80 before:to-transparent hover:-translate-y-px hover:bg-white/80 hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.6)_inset,0_0_20px_rgb(255_255_255_/_0.18)_inset,0_14px_26px_-14px_rgb(15_23_42_/_0.26)] active:translate-y-0 dark:border-white/[0.16] dark:bg-[linear-gradient(155deg,rgb(255_255_255_/_0.16),rgb(255_255_255_/_0.06))] dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.1)_inset,0_0_16px_rgb(255_255_255_/_0.04)_inset,0_8px_20px_-12px_rgb(0_0_0_/_0.5)] dark:before:via-white/25 dark:hover:bg-[linear-gradient(155deg,rgb(255_255_255_/_0.2),rgb(255_255_255_/_0.08))] dark:hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.14)_inset,0_0_20px_rgb(255_255_255_/_0.06)_inset,0_12px_28px_-12px_rgb(0_0_0_/_0.55)]",
|
|
12
|
+
liquid: "relative isolate overflow-hidden border-neutral-400/40 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_16%_12%,rgb(255_255_255_/_0.92),transparent_44%),linear-gradient(168deg,rgb(255_255_255_/_0.72),rgb(236_236_236_/_0.42))] text-[var(--color-foreground)] backdrop-blur-xl backdrop-saturate-[180%] shadow-[0_1px_3px_rgb(0_0_0_/_0.08),0_0_0_1px_rgb(255_255_255_/_0.5)_inset,0_14px_28px_-16px_rgb(15_23_42_/_0.22)] before:pointer-events-none before:absolute before:inset-0 before:bg-[radial-gradient(circle_at_80%_72%,rgb(255_255_255_/_0.5),transparent_50%),radial-gradient(circle_at_36%_82%,rgb(226_232_240_/_0.4),transparent_56%)] before:opacity-85 after:pointer-events-none after:absolute after:-inset-y-16 after:-left-20 after:w-24 after:rotate-12 after:bg-[linear-gradient(100deg,transparent_20%,rgb(255_255_255_/_0.9)_50%,transparent_80%)] after:opacity-70 after:blur-sm after:transition-transform after:duration-slow after:ease-standard hover:-translate-y-px hover:border-neutral-400/50 hover:[border-top-color:rgb(255_255_255_/_0.95)] hover:bg-[radial-gradient(circle_at_16%_12%,rgb(255_255_255_/_0.98),transparent_44%),linear-gradient(168deg,rgb(255_255_255_/_0.82),rgb(232_232_236_/_0.52))] hover:shadow-[0_2px_6px_rgb(0_0_0_/_0.1),0_0_0_1px_rgb(255_255_255_/_0.6)_inset,0_18px_32px_-18px_rgb(15_23_42_/_0.26)] hover:after:translate-x-28 motion-reduce:after:transition-none dark:border-white/[0.14] dark:bg-[linear-gradient(168deg,rgb(255_255_255_/_0.14),rgb(255_255_255_/_0.05))] dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.1)_inset,0_10px_24px_-12px_rgb(0_0_0_/_0.5)] dark:hover:border-white/[0.24] dark:hover:[border-top-color:rgb(255_255_255_/_0.38)] dark:hover:bg-[linear-gradient(168deg,rgb(255_255_255_/_0.18),rgb(255_255_255_/_0.07))] dark:hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.2),0_0_0_1px_rgb(255_255_255_/_0.14)_inset,0_14px_30px_-12px_rgb(0_0_0_/_0.55)] dark:before:opacity-55 dark:after:opacity-40",
|
|
13
|
+
matte: "relative isolate overflow-hidden border-black/10 bg-[linear-gradient(180deg,rgb(250_250_250),rgb(234_234_236))] text-neutral-900 shadow-[0_1px_0_rgb(255_255_255_/_0.92)_inset,0_8px_18px_-14px_rgb(15_23_42_/_0.3)] before:pointer-events-none before:absolute before:inset-0 before:bg-[linear-gradient(180deg,rgb(255_255_255_/_0.62),transparent)] backdrop-saturate-150 hover:-translate-y-px hover:bg-[linear-gradient(180deg,rgb(255_255_255),rgb(238_238_240))] hover:shadow-[0_1px_0_rgb(255_255_255_/_0.96)_inset,0_12px_22px_-14px_rgb(15_23_42_/_0.36)] active:translate-y-0 dark:border-white/[0.14] dark:bg-[linear-gradient(180deg,rgb(53_58_67_/_0.92),rgb(34_38_46_/_0.92))] dark:text-neutral-100 dark:shadow-[0_1px_0_rgb(255_255_255_/_0.12)_inset,0_10px_24px_-14px_rgb(0_0_0_/_0.62)] dark:before:bg-[linear-gradient(180deg,rgb(255_255_255_/_0.12),transparent)] dark:hover:bg-[linear-gradient(180deg,rgb(60_66_76_/_0.92),rgb(38_43_52_/_0.92))] dark:hover:shadow-[0_1px_0_rgb(255_255_255_/_0.18)_inset,0_14px_28px_-14px_rgb(0_0_0_/_0.66)]",
|
|
14
|
+
glow: "border-white/20 bg-neutral-900 text-white shadow-[0_0_0_1px_rgb(255_255_255_/_0.12)_inset,0_10px_18px_-12px_rgb(2_6_23_/_0.55),0_0_24px_rgb(255_255_255_/_0.2)] hover:-translate-y-px hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.14)_inset,0_14px_24px_-12px_rgb(2_6_23_/_0.6),0_0_36px_rgb(255_255_255_/_0.34)] active:translate-y-0 dark:border-white/40 dark:bg-neutral-100 dark:text-neutral-950 dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.55),0_0_20px_rgb(255_255_255_/_0.3)] dark:hover:shadow-[0_0_0_1px_rgb(255_255_255_/_0.62),0_0_34px_rgb(255_255_255_/_0.42)]",
|
|
15
|
+
outline: "border-[var(--color-border)] bg-[var(--color-surface)]/75 text-[var(--color-foreground)] shadow-sm hover:-translate-y-px hover:bg-[var(--color-surface)] active:translate-y-0",
|
|
16
|
+
ghost: "border-transparent bg-transparent text-[var(--color-foreground)] hover:bg-[var(--glass-1-surface)] hover:[border-top-color:var(--glass-refraction-top)] hover:border-white/10 dark:hover:bg-white/[0.06]"
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
sm: "h-8 px-3 text-xs",
|
|
20
|
+
md: "h-10 px-4 text-sm",
|
|
21
|
+
lg: "h-12 px-6 text-base"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "md"
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
export const Button = React.forwardRef(({ className, size, variant, asChild = false, ...props }, ref) => {
|
|
30
|
+
const Comp = asChild ? Slot : "button";
|
|
31
|
+
return (_jsx(Comp, { ref: ref, className: cn(buttonVariants({ size, variant }), className), ...props }));
|
|
32
|
+
});
|
|
33
|
+
Button.displayName = "Button";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const cardVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare const cardSectionVariants: (props?: ({
|
|
8
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
export type CardProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardVariants>;
|
|
11
|
+
export declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
12
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "ghost" | "matte" | "liquid" | null | undefined;
|
|
13
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
export type CardSectionProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardSectionVariants>;
|
|
16
|
+
export type CardHeaderProps = CardSectionProps;
|
|
17
|
+
export declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
18
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
19
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
21
|
+
/** Additional class names for title text. */
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
|
25
|
+
export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
26
|
+
/** Additional class names for description text. */
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
30
|
+
export type CardContentProps = CardSectionProps;
|
|
31
|
+
export declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
32
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
33
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
export type CardFooterProps = CardSectionProps;
|
|
35
|
+
export declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
36
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
37
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,YAAY;;;8EAoDhB,CAAA;AAEF,QAAA,MAAM,mBAAmB;;8EAWvB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAEhG,eAAO,MAAM,IAAI;;;sHAEf,CAAA;AAIF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GACjE,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1C,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE9C,eAAO,MAAM,UAAU;;sHAErB,CAAA;AAIF,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAC9E,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,SAAS,2FAErB,CAAA;AAID,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC;IACtF,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,eAAe,mGAE3B,CAAA;AAID,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAE/C,eAAO,MAAM,WAAW;;sHAEtB,CAAA;AAIF,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE9C,eAAO,MAAM,UAAU;;sHAErB,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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 cardVariants = cva("rounded-xl border text-[var(--color-foreground)]", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "bg-[var(--color-surface)] border-[var(--color-border)] shadow-sm",
|
|
9
|
+
glass: [
|
|
10
|
+
"border-white/20 [border-top-color:var(--glass-refraction-top)]",
|
|
11
|
+
"bg-[radial-gradient(ellipse_at_50%_0%,rgb(255_255_255_/_0.16),transparent_50%),linear-gradient(to_bottom,rgb(255_255_255_/_0.1),rgb(255_255_255_/_0.04))]",
|
|
12
|
+
"backdrop-blur-xl backdrop-saturate-[180%]",
|
|
13
|
+
"shadow-[0_0_0_1px_rgb(255_255_255_/_0.1)_inset,var(--shadow-glass-sm)]",
|
|
14
|
+
"dark:border-white/[0.1] dark:[border-top-color:rgb(255_255_255_/_0.15)]",
|
|
15
|
+
"dark:bg-[radial-gradient(ellipse_at_50%_0%,rgb(255_255_255_/_0.05),transparent_50%),linear-gradient(to_bottom,rgb(255_255_255_/_0.03),rgb(255_255_255_/_0.01))]",
|
|
16
|
+
"dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.05)_inset,0_8px_24px_rgb(0_0_0_/_0.35)]"
|
|
17
|
+
].join(" "),
|
|
18
|
+
frosted: [
|
|
19
|
+
"border-white/30 [border-top-color:var(--glass-refraction-top)]",
|
|
20
|
+
"bg-[radial-gradient(ellipse_at_50%_0%,rgb(255_255_255_/_0.32),transparent_50%),linear-gradient(to_bottom,rgb(255_255_255_/_0.22),rgb(255_255_255_/_0.1))]",
|
|
21
|
+
"backdrop-blur-[40px] backdrop-saturate-[200%]",
|
|
22
|
+
"shadow-[0_0_0_1px_rgb(255_255_255_/_0.15)_inset,0_0_20px_rgb(255_255_255_/_0.12)_inset,var(--shadow-glass-md)]",
|
|
23
|
+
"dark:border-white/[0.15] dark:[border-top-color:rgb(255_255_255_/_0.2)]",
|
|
24
|
+
"dark:bg-[radial-gradient(ellipse_at_50%_0%,rgb(255_255_255_/_0.1),transparent_50%),linear-gradient(to_bottom,rgb(255_255_255_/_0.06),rgb(255_255_255_/_0.02))]",
|
|
25
|
+
"dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.08)_inset,0_0_20px_rgb(255_255_255_/_0.04)_inset,0_8px_32px_rgb(0_0_0_/_0.4)]"
|
|
26
|
+
].join(" "),
|
|
27
|
+
liquid: [
|
|
28
|
+
"border-white/25 [border-top-color:var(--glass-refraction-top)]",
|
|
29
|
+
"bg-[radial-gradient(circle_at_16%_14%,rgb(255_255_255_/_0.72),transparent_46%),linear-gradient(165deg,rgb(255_255_255_/_0.58),rgb(238_238_238_/_0.32))]",
|
|
30
|
+
"backdrop-blur-xl backdrop-saturate-[180%]",
|
|
31
|
+
"shadow-[0_0_0_1px_rgb(255_255_255_/_0.2)_inset,var(--shadow-glass-md)]",
|
|
32
|
+
"dark:border-white/[0.14] dark:[border-top-color:rgb(255_255_255_/_0.32)]",
|
|
33
|
+
"dark:bg-[linear-gradient(165deg,rgb(255_255_255_/_0.12),rgb(255_255_255_/_0.05))]",
|
|
34
|
+
"dark:shadow-[0_0_0_1px_rgb(255_255_255_/_0.06)_inset,0_12px_36px_rgb(0_0_0_/_0.4)]"
|
|
35
|
+
].join(" "),
|
|
36
|
+
matte: [
|
|
37
|
+
"border-black/10",
|
|
38
|
+
"bg-[linear-gradient(180deg,rgb(250_250_250),rgb(236_236_238))]",
|
|
39
|
+
"shadow-[0_1px_3px_rgb(0_0_0_/_0.06),0_0_0_1px_rgb(0_0_0_/_0.04)_inset]",
|
|
40
|
+
"dark:border-white/[0.14]",
|
|
41
|
+
"dark:bg-[linear-gradient(180deg,rgb(55_60_70_/_0.9),rgb(37_42_50_/_0.9))]",
|
|
42
|
+
"dark:shadow-[0_1px_3px_rgb(0_0_0_/_0.2),0_0_0_1px_rgb(255_255_255_/_0.04)_inset]"
|
|
43
|
+
].join(" "),
|
|
44
|
+
outline: "bg-transparent border-[var(--color-border)] shadow-sm",
|
|
45
|
+
ghost: "bg-transparent border-transparent"
|
|
46
|
+
},
|
|
47
|
+
size: {
|
|
48
|
+
sm: "p-4",
|
|
49
|
+
md: "p-6",
|
|
50
|
+
lg: "p-8"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
defaultVariants: {
|
|
54
|
+
variant: "default",
|
|
55
|
+
size: "md"
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const cardSectionVariants = cva("", {
|
|
59
|
+
variants: {
|
|
60
|
+
size: {
|
|
61
|
+
sm: "space-y-1",
|
|
62
|
+
md: "space-y-1.5",
|
|
63
|
+
lg: "space-y-2"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
defaultVariants: {
|
|
67
|
+
size: "md"
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
export const Card = React.forwardRef(({ className, variant, size, ...props }, ref) => (_jsx("div", { ref: ref, className: cn(cardVariants({ variant, size }), className), ...props })));
|
|
71
|
+
Card.displayName = "Card";
|
|
72
|
+
export const CardHeader = React.forwardRef(({ className, size, ...props }, ref) => (_jsx("div", { ref: ref, className: cn(cardSectionVariants({ size }), className), ...props })));
|
|
73
|
+
CardHeader.displayName = "CardHeader";
|
|
74
|
+
export const CardTitle = React.forwardRef(({ className, ...props }, ref) => _jsx("h3", { ref: ref, className: cn("text-lg font-semibold", className), ...props }));
|
|
75
|
+
CardTitle.displayName = "CardTitle";
|
|
76
|
+
export const CardDescription = React.forwardRef(({ className, ...props }, ref) => _jsx("p", { ref: ref, className: cn("text-sm text-neutral-600", className), ...props }));
|
|
77
|
+
CardDescription.displayName = "CardDescription";
|
|
78
|
+
export const CardContent = React.forwardRef(({ className, size, ...props }, ref) => (_jsx("div", { ref: ref, className: cn(cardSectionVariants({ size }), className), ...props })));
|
|
79
|
+
CardContent.displayName = "CardContent";
|
|
80
|
+
export const CardFooter = React.forwardRef(({ className, size, ...props }, ref) => (_jsx("div", { ref: ref, className: cn(cardSectionVariants({ size }), className), ...props })));
|
|
81
|
+
CardFooter.displayName = "CardFooter";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
declare const checkboxVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "matte" | "liquid" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & VariantProps<typeof checkboxVariants>;
|
|
9
|
+
export declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
|
|
10
|
+
variant?: "default" | "glass" | "frosted" | "outline" | "matte" | "liquid" | null | undefined;
|
|
11
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKjE,QAAA,MAAM,gBAAgB;;;8EA6BrB,CAAA;AA+BD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GACvF,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEvC,eAAO,MAAM,QAAQ;;;yHAenB,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { Check } from "lucide-react";
|
|
6
|
+
import { cn } from "../lib/cn";
|
|
7
|
+
const checkboxVariants = cva("peer shrink-0 outline-none transition-[background-color,border-color,box-shadow,transform] duration-fast ease-standard focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-60 motion-reduce:transition-none data-[state=checked]:scale-[0.99]", {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: "border border-[var(--color-border)] bg-[var(--color-surface)] shadow-sm focus-visible:ring-[var(--color-accent)]/35 data-[state=checked]:border-[var(--color-accent)] data-[state=checked]:bg-[var(--color-accent)] dark:border-white/15 dark:bg-white/[0.04] dark:focus-visible:ring-[var(--color-accent)]/25",
|
|
11
|
+
glass: "border border-white/24 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_20%_16%,rgb(255_255_255_/_0.88),transparent_44%),linear-gradient(160deg,rgb(255_255_255_/_0.72),rgb(242_246_250_/_0.48))] shadow-[0_0_0_1px_rgb(255_255_255_/_0.2)_inset,0_8px_16px_-12px_rgb(15_23_42_/_0.25)] focus-visible:ring-[var(--color-accent)]/24 data-[state=checked]:border-white/40 data-[state=checked]:bg-neutral-900 data-[state=checked]:[border-top-color:rgb(255_255_255_/_0.9)] dark:border-white/[0.14] dark:bg-white/[0.06] dark:focus-visible:ring-white/15 dark:data-[state=checked]:border-white/[0.3] dark:data-[state=checked]:bg-white",
|
|
12
|
+
frosted: "border border-white/30 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_20%_16%,rgb(255_255_255_/_0.94),transparent_44%),linear-gradient(160deg,rgb(255_255_255_/_0.85),rgb(242_246_250_/_0.65))] shadow-[0_0_0_1px_rgb(255_255_255_/_0.25)_inset,0_0_12px_rgb(255_255_255_/_0.1)_inset,0_8px_16px_-12px_rgb(15_23_42_/_0.28)] focus-visible:ring-[var(--color-accent)]/24 data-[state=checked]:border-white/40 data-[state=checked]:bg-neutral-900 data-[state=checked]:[border-top-color:rgb(255_255_255_/_0.9)] dark:border-white/[0.16] dark:bg-white/[0.08] dark:focus-visible:ring-white/18 dark:data-[state=checked]:border-white/[0.3] dark:data-[state=checked]:bg-white",
|
|
13
|
+
liquid: "border border-white/24 [border-top-color:var(--glass-refraction-top)] bg-[radial-gradient(circle_at_18%_12%,rgb(255_255_255_/_0.94),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))] shadow-[0_0_0_1px_rgb(255_255_255_/_0.24)_inset,0_10px_18px_-12px_rgb(15_23_42_/_0.26)] focus-visible:ring-[var(--color-accent)]/24 data-[state=checked]:border-white/44 data-[state=checked]:bg-neutral-900 data-[state=checked]:[border-top-color:rgb(255_255_255_/_0.92)] dark:border-white/[0.15] dark:bg-[linear-gradient(145deg,rgb(255_255_255_/_0.13),rgb(255_255_255_/_0.05))] dark:focus-visible:ring-white/16 dark:data-[state=checked]:border-white/[0.34] dark:data-[state=checked]:bg-white",
|
|
14
|
+
matte: "border 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:ring-black/14 data-[state=checked]:border-black/65 data-[state=checked]:bg-black 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:ring-white/14 dark:data-[state=checked]:border-white/70 dark:data-[state=checked]:bg-white",
|
|
15
|
+
outline: "border border-[var(--color-border)] bg-transparent focus-visible:ring-[var(--color-accent)]/25 data-[state=checked]:border-[var(--color-accent)] data-[state=checked]:bg-[var(--color-accent)] dark:border-white/20"
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
sm: "h-4 w-4 rounded-[0.3rem]",
|
|
19
|
+
md: "h-5 w-5 rounded",
|
|
20
|
+
lg: "h-6 w-6 rounded-md"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
variant: "default",
|
|
25
|
+
size: "md"
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const checkboxIconVariants = cva("", {
|
|
29
|
+
variants: {
|
|
30
|
+
size: {
|
|
31
|
+
sm: "h-3 w-3",
|
|
32
|
+
md: "h-3.5 w-3.5",
|
|
33
|
+
lg: "h-4 w-4"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
defaultVariants: {
|
|
37
|
+
size: "md"
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const checkboxIndicatorVariants = cva("flex items-center justify-center", {
|
|
41
|
+
variants: {
|
|
42
|
+
variant: {
|
|
43
|
+
default: "text-[var(--color-accent-foreground)]",
|
|
44
|
+
glass: "text-white dark:text-neutral-900",
|
|
45
|
+
frosted: "text-white dark:text-neutral-900",
|
|
46
|
+
liquid: "text-white dark:text-neutral-900",
|
|
47
|
+
matte: "text-white dark:text-neutral-900",
|
|
48
|
+
outline: "text-[var(--color-accent-foreground)]"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
variant: "default"
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export const Checkbox = React.forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
56
|
+
return (_jsx(CheckboxPrimitive.Root, { ref: ref, className: cn(checkboxVariants({ variant, size }), className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: cn(checkboxIndicatorVariants({ variant })), children: _jsx(Check, { className: cn(checkboxIconVariants({ size })) }) }) }));
|
|
57
|
+
});
|
|
58
|
+
Checkbox.displayName = "Checkbox";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const chipVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
tone?: "success" | "warning" | "info" | "neutral" | "danger" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type ChipProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof chipVariants>;
|
|
9
|
+
export declare const Chip: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
|
|
10
|
+
variant?: "default" | "glass" | "outline" | "ghost" | null | undefined;
|
|
11
|
+
tone?: "success" | "warning" | "info" | "neutral" | "danger" | null | undefined;
|
|
12
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLSpanElement>>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/components/chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,YAAY;;;;8EA+BjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjG,eAAO,MAAM,IAAI;;;;uHAIhB,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 chipVariants = cva("inline-flex items-center justify-center rounded-full border font-medium 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
|
+
tone: {
|
|
14
|
+
neutral: "",
|
|
15
|
+
info: "text-sky-700 dark:text-sky-300",
|
|
16
|
+
success: "text-emerald-700 dark:text-emerald-300",
|
|
17
|
+
warning: "text-amber-700 dark:text-amber-300",
|
|
18
|
+
danger: "text-rose-700 dark:text-rose-300"
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: "h-5 px-2 text-[10px]",
|
|
22
|
+
md: "h-6 px-2.5 text-xs",
|
|
23
|
+
lg: "h-7 px-3 text-sm"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
variant: "default",
|
|
28
|
+
tone: "neutral",
|
|
29
|
+
size: "md"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
export const Chip = React.forwardRef(({ className, variant, tone, size, ...props }, ref) => {
|
|
33
|
+
return _jsx("span", { ref: ref, className: cn(chipVariants({ variant, tone, size }), className), ...props });
|
|
34
|
+
});
|
|
35
|
+
Chip.displayName = "Chip";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ChromaticTextProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
+
/** Offset amount in px for the chromatic split */
|
|
4
|
+
offset?: number;
|
|
5
|
+
/** Animation duration in seconds (0 = static) */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Colors for the channels [red, blue] */
|
|
8
|
+
colors?: [string, string];
|
|
9
|
+
}
|
|
10
|
+
export declare const ChromaticText: React.ForwardRefExoticComponent<ChromaticTextProps & React.RefAttributes<HTMLSpanElement>>;
|
|
11
|
+
//# sourceMappingURL=chromatic-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromatic-text.d.ts","sourceRoot":"","sources":["../../src/components/chromatic-text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC/E,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1B;AAED,eAAO,MAAM,aAAa,4FAqEzB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/cn";
|
|
4
|
+
export const ChromaticText = React.forwardRef(({ className, children, offset = 2, duration = 0, colors = ["#ff0040", "#0080ff"], style, ...props }, ref) => {
|
|
5
|
+
const isAnimated = duration > 0;
|
|
6
|
+
const text = typeof children === "string" ? children : undefined;
|
|
7
|
+
return (_jsxs("span", { ref: ref, className: cn("relative inline-block", className), style: style, ...props, children: [_jsx("span", { className: "relative z-[1]", children: children }), text && (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute inset-0 select-none mix-blend-screen", isAnimated && "animate-chromatic-shift motion-reduce:[animation:none]"), style: {
|
|
8
|
+
color: colors[0],
|
|
9
|
+
"--chromatic-offset": `${offset}px`,
|
|
10
|
+
"--chromatic-duration": isAnimated ? `${duration}s` : undefined,
|
|
11
|
+
transform: isAnimated ? undefined : `translate(${offset}px, ${-offset}px)`,
|
|
12
|
+
opacity: 0.7,
|
|
13
|
+
}, children: text }), _jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute inset-0 select-none mix-blend-screen", isAnimated && "animate-chromatic-shift motion-reduce:[animation:none]"), style: {
|
|
14
|
+
color: colors[1],
|
|
15
|
+
"--chromatic-offset": `${offset}px`,
|
|
16
|
+
"--chromatic-duration": isAnimated ? `${duration}s` : undefined,
|
|
17
|
+
transform: isAnimated ? undefined : `translate(${-offset}px, ${offset}px)`,
|
|
18
|
+
animationDirection: isAnimated ? "reverse" : undefined,
|
|
19
|
+
opacity: 0.7,
|
|
20
|
+
}, children: text })] }))] }));
|
|
21
|
+
});
|
|
22
|
+
ChromaticText.displayName = "ChromaticText";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const codeVariants: (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 CodeProps = React.HTMLAttributes<HTMLElement> & VariantProps<typeof codeVariants>;
|
|
8
|
+
export declare const Code: 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=code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/components/code.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,YAAY;;;8EAsBjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAE7F,eAAO,MAAM,IAAI;;;mHAIhB,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 codeVariants = cva("inline-flex items-center rounded-md border px-1.5 py-0.5 font-mono 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: "text-[10px]",
|
|
15
|
+
md: "text-xs",
|
|
16
|
+
lg: "text-sm"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export const Code = React.forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
25
|
+
return _jsx("code", { ref: ref, className: cn(codeVariants({ variant, size }), className), ...props });
|
|
26
|
+
});
|
|
27
|
+
Code.displayName = "Code";
|