@la-batcave/ui 3.1.2
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/README.md +95 -0
- package/dist/Alert.d.ts +27 -0
- package/dist/Alert.js +56 -0
- package/dist/Avatar.d.ts +20 -0
- package/dist/Avatar.js +40 -0
- package/dist/Badge.d.ts +56 -0
- package/dist/Badge.js +74 -0
- package/dist/Button.d.ts +53 -0
- package/dist/Button.js +66 -0
- package/dist/Card.d.ts +18 -0
- package/dist/Card.js +98 -0
- package/dist/CodeBlock.d.ts +45 -0
- package/dist/CodeBlock.js +306 -0
- package/dist/Collapse.d.ts +58 -0
- package/dist/Collapse.js +89 -0
- package/dist/Combobox.d.ts +44 -0
- package/dist/Combobox.js +409 -0
- package/dist/DarkMode.d.ts +59 -0
- package/dist/DarkMode.js +56 -0
- package/dist/DatePicker.d.ts +48 -0
- package/dist/DatePicker.js +2954 -0
- package/dist/Dialog.d.ts +119 -0
- package/dist/Dialog.js +337 -0
- package/dist/Drawer.d.ts +28 -0
- package/dist/Drawer.js +1126 -0
- package/dist/Dropdown.d.ts +23 -0
- package/dist/Dropdown.js +247 -0
- package/dist/EasyForm.d.ts +138 -0
- package/dist/EasyForm.js +286 -0
- package/dist/HoverCard.d.ts +10 -0
- package/dist/HoverCard.js +195 -0
- package/dist/Input.d.ts +230 -0
- package/dist/Input.js +2216 -0
- package/dist/LogViewer.d.ts +57 -0
- package/dist/LogViewer.js +120 -0
- package/dist/Menubar.d.ts +32 -0
- package/dist/Menubar.js +398 -0
- package/dist/Navbar.d.ts +20 -0
- package/dist/Navbar.js +31 -0
- package/dist/Pagination.d.ts +78 -0
- package/dist/Pagination.js +106 -0
- package/dist/Popover.d.ts +11 -0
- package/dist/Popover.js +28 -0
- package/dist/ProgressBar.d.ts +35 -0
- package/dist/ProgressBar.js +210 -0
- package/dist/Resizable.d.ts +23 -0
- package/dist/Resizable.js +1532 -0
- package/dist/Separator.d.ts +4 -0
- package/dist/Separator.js +46 -0
- package/dist/Sheet.d.ts +29 -0
- package/dist/Sheet.js +104 -0
- package/dist/Sidebar.d.ts +117 -0
- package/dist/Sidebar.js +237 -0
- package/dist/Skeleton.d.ts +57 -0
- package/dist/Skeleton.js +47 -0
- package/dist/Table.d.ts +71 -0
- package/dist/Table.js +94 -0
- package/dist/Tabs.d.ts +76 -0
- package/dist/Tabs.js +202 -0
- package/dist/Toast.d.ts +54 -0
- package/dist/Toast.js +827 -0
- package/dist/Tooltip.d.ts +29 -0
- package/dist/Tooltip.js +352 -0
- package/dist/Typography.d.ts +101 -0
- package/dist/Typography.js +123 -0
- package/dist/Widget.d.ts +133 -0
- package/dist/Widget.js +207 -0
- package/dist/_shared/Combination-D_l4PLF_.js +676 -0
- package/dist/_shared/index-B03TCNO5.js +142 -0
- package/dist/_shared/index-B1f-hyuh.js +31 -0
- package/dist/_shared/index-BC7vfx-u.js +13 -0
- package/dist/_shared/index-BrLJJgkl.js +67 -0
- package/dist/_shared/index-C0gNQvxa.js +269 -0
- package/dist/_shared/index-C3aZemLI.js +268 -0
- package/dist/_shared/index-CXeb1OMI.js +198 -0
- package/dist/_shared/index-CukUn3R0.js +626 -0
- package/dist/_shared/index-DLcqcWxM.js +29 -0
- package/dist/_shared/index-DlSuDb9N.js +283 -0
- package/dist/_shared/index-V-Ajw7Ac.js +79 -0
- package/dist/_shared/index-uPOYJZpG.js +34 -0
- package/dist/_shared/index-uu9PT5Nu.js +1588 -0
- package/dist/_shared/utils-eGXXUFl7.js +2935 -0
- package/dist/backgrounds/Aurora.d.ts +7 -0
- package/dist/backgrounds/Aurora.js +126 -0
- package/dist/backgrounds/Iridescence.d.ts +7 -0
- package/dist/backgrounds/Iridescence.js +77 -0
- package/dist/backgrounds/Lightning.d.ts +8 -0
- package/dist/backgrounds/Lightning.js +75 -0
- package/dist/backgrounds/LiquidChrome.d.ts +9 -0
- package/dist/backgrounds/LiquidChrome.js +89 -0
- package/dist/backgrounds/Particles.d.ts +15 -0
- package/dist/backgrounds/Particles.js +137 -0
- package/dist/backgrounds/PixelSnow.d.ts +9 -0
- package/dist/backgrounds/PixelSnow.js +52 -0
- package/dist/backgrounds/Silk.d.ts +8 -0
- package/dist/backgrounds/Silk.js +92 -0
- package/dist/backgrounds/Squares.d.ts +9 -0
- package/dist/backgrounds/Squares.js +75 -0
- package/dist/backgrounds/Threads.d.ts +7 -0
- package/dist/backgrounds/Threads.js +110 -0
- package/dist/backgrounds/Waves.d.ts +14 -0
- package/dist/backgrounds/Waves.js +139 -0
- package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +4 -0
- package/package.json +318 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs as l, jsx as i } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as u, useLayoutEffect as c, useRef as v, useMemo as f } from "react";
|
|
4
|
+
import { useThree as m, useFrame as x, Canvas as d } from "@react-three/fiber";
|
|
5
|
+
import { Color as p } from "three";
|
|
6
|
+
const g = (n) => {
|
|
7
|
+
const e = n.replace("#", "");
|
|
8
|
+
return [
|
|
9
|
+
parseInt(e.slice(0, 2), 16) / 255,
|
|
10
|
+
parseInt(e.slice(2, 4), 16) / 255,
|
|
11
|
+
parseInt(e.slice(4, 6), 16) / 255
|
|
12
|
+
];
|
|
13
|
+
}, y = `
|
|
14
|
+
varying vec2 vUv;
|
|
15
|
+
varying vec3 vPosition;
|
|
16
|
+
void main() {
|
|
17
|
+
vPosition = position;
|
|
18
|
+
vUv = uv;
|
|
19
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
20
|
+
}
|
|
21
|
+
`, h = `
|
|
22
|
+
varying vec2 vUv;
|
|
23
|
+
varying vec3 vPosition;
|
|
24
|
+
uniform float uTime;
|
|
25
|
+
uniform vec3 uColor;
|
|
26
|
+
uniform float uSpeed;
|
|
27
|
+
uniform float uScale;
|
|
28
|
+
uniform float uRotation;
|
|
29
|
+
uniform float uNoiseIntensity;
|
|
30
|
+
const float e = 2.71828182845904523536;
|
|
31
|
+
float noise(vec2 texCoord) {
|
|
32
|
+
float G = e;
|
|
33
|
+
vec2 r = (G * sin(G * texCoord));
|
|
34
|
+
return fract(r.x * r.y * (1.0 + texCoord.x));
|
|
35
|
+
}
|
|
36
|
+
vec2 rotateUvs(vec2 uv, float angle) {
|
|
37
|
+
float c = cos(angle);
|
|
38
|
+
float s = sin(angle);
|
|
39
|
+
mat2 rot = mat2(c, -s, s, c);
|
|
40
|
+
return rot * uv;
|
|
41
|
+
}
|
|
42
|
+
void main() {
|
|
43
|
+
float rnd = noise(gl_FragCoord.xy);
|
|
44
|
+
vec2 uv = rotateUvs(vUv * uScale, uRotation);
|
|
45
|
+
vec2 tex = uv * uScale;
|
|
46
|
+
float tOffset = uSpeed * uTime;
|
|
47
|
+
tex.y += 0.03 * sin(8.0 * tex.x - tOffset);
|
|
48
|
+
float pattern = 0.6 +
|
|
49
|
+
0.4 * sin(5.0 * (tex.x + tex.y +
|
|
50
|
+
cos(3.0 * tex.x + 5.0 * tex.y) +
|
|
51
|
+
0.02 * tOffset) +
|
|
52
|
+
sin(20.0 * (tex.x + tex.y - 0.1 * tOffset)));
|
|
53
|
+
vec4 col = vec4(uColor, 1.0) * vec4(pattern) - rnd / 15.0 * uNoiseIntensity;
|
|
54
|
+
col.a = 1.0;
|
|
55
|
+
gl_FragColor = col;
|
|
56
|
+
}
|
|
57
|
+
`, S = u(function({ uniforms: e }, t) {
|
|
58
|
+
const { viewport: o } = m();
|
|
59
|
+
return c(() => {
|
|
60
|
+
const r = t;
|
|
61
|
+
r?.current && r.current.scale.set(o.width, o.height, 1);
|
|
62
|
+
}, [t, o]), x((r, s) => {
|
|
63
|
+
const a = t;
|
|
64
|
+
a?.current && (a.current.material.uniforms.uTime.value += 0.1 * s);
|
|
65
|
+
}), /* @__PURE__ */ l("mesh", { ref: t, children: [
|
|
66
|
+
/* @__PURE__ */ i("planeGeometry", { args: [1, 1, 1, 1] }),
|
|
67
|
+
/* @__PURE__ */ i("shaderMaterial", { uniforms: e, vertexShader: y, fragmentShader: h })
|
|
68
|
+
] });
|
|
69
|
+
});
|
|
70
|
+
function T({
|
|
71
|
+
speed: n = 5,
|
|
72
|
+
scale: e = 1,
|
|
73
|
+
color: t = "#7B7481",
|
|
74
|
+
noiseIntensity: o = 1.5,
|
|
75
|
+
rotation: r = 0
|
|
76
|
+
}) {
|
|
77
|
+
const s = v(null), a = f(
|
|
78
|
+
() => ({
|
|
79
|
+
uSpeed: { value: n },
|
|
80
|
+
uScale: { value: e },
|
|
81
|
+
uNoiseIntensity: { value: o },
|
|
82
|
+
uColor: { value: new p(...g(t)) },
|
|
83
|
+
uRotation: { value: r },
|
|
84
|
+
uTime: { value: 0 }
|
|
85
|
+
}),
|
|
86
|
+
[n, e, o, t, r]
|
|
87
|
+
);
|
|
88
|
+
return /* @__PURE__ */ i(d, { dpr: [1, 2], frameloop: "always", children: /* @__PURE__ */ i(S, { ref: s, uniforms: a }) });
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
T as default
|
|
92
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface SquaresProps {
|
|
2
|
+
direction?: 'diagonal' | 'up' | 'down' | 'left' | 'right';
|
|
3
|
+
speed?: number;
|
|
4
|
+
borderColor?: string;
|
|
5
|
+
squareSize?: number;
|
|
6
|
+
hoverFillColor?: string;
|
|
7
|
+
vignetteColor?: string;
|
|
8
|
+
}
|
|
9
|
+
export default function Squares({ direction, speed, borderColor, squareSize, hoverFillColor, vignetteColor, }: SquaresProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as E } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as i, useEffect as L } from "react";
|
|
4
|
+
function X({
|
|
5
|
+
direction: u = "diagonal",
|
|
6
|
+
speed: x = 0.5,
|
|
7
|
+
borderColor: y = "#E7BB1D",
|
|
8
|
+
squareSize: t = 40,
|
|
9
|
+
hoverFillColor: g = "rgba(231, 187, 29, 0.08)",
|
|
10
|
+
vignetteColor: v = "#1D1917"
|
|
11
|
+
}) {
|
|
12
|
+
const w = i(null), d = i(null), r = i({ x: 0, y: 0 }), h = i(null);
|
|
13
|
+
return L(() => {
|
|
14
|
+
const n = w.current;
|
|
15
|
+
if (!n) return;
|
|
16
|
+
const c = n.getContext("2d");
|
|
17
|
+
if (!c) return;
|
|
18
|
+
const m = () => {
|
|
19
|
+
n.width = n.offsetWidth, n.height = n.offsetHeight;
|
|
20
|
+
};
|
|
21
|
+
window.addEventListener("resize", m), m();
|
|
22
|
+
const p = () => {
|
|
23
|
+
c.clearRect(0, 0, n.width, n.height);
|
|
24
|
+
const e = Math.floor(r.current.x / t) * t, f = Math.floor(r.current.y / t) * t;
|
|
25
|
+
for (let o = e; o < n.width + t; o += t)
|
|
26
|
+
for (let l = f; l < n.height + t; l += t) {
|
|
27
|
+
const s = o - r.current.x % t, k = l - r.current.y % t;
|
|
28
|
+
h.current && Math.floor((o - e) / t) === h.current.x && Math.floor((l - f) / t) === h.current.y && (c.fillStyle = g, c.fillRect(s, k, t, t)), c.strokeStyle = y, c.strokeRect(s, k, t, t);
|
|
29
|
+
}
|
|
30
|
+
const a = c.createRadialGradient(
|
|
31
|
+
n.width / 2,
|
|
32
|
+
n.height / 2,
|
|
33
|
+
0,
|
|
34
|
+
n.width / 2,
|
|
35
|
+
n.height / 2,
|
|
36
|
+
Math.sqrt(n.width ** 2 + n.height ** 2) / 2
|
|
37
|
+
);
|
|
38
|
+
a.addColorStop(0, "rgba(0, 0, 0, 0)"), a.addColorStop(1, v), c.fillStyle = a, c.fillRect(0, 0, n.width, n.height);
|
|
39
|
+
}, M = () => {
|
|
40
|
+
const e = Math.max(x, 0.1);
|
|
41
|
+
switch (u) {
|
|
42
|
+
case "right":
|
|
43
|
+
r.current.x = (r.current.x - e + t) % t;
|
|
44
|
+
break;
|
|
45
|
+
case "left":
|
|
46
|
+
r.current.x = (r.current.x + e + t) % t;
|
|
47
|
+
break;
|
|
48
|
+
case "up":
|
|
49
|
+
r.current.y = (r.current.y + e + t) % t;
|
|
50
|
+
break;
|
|
51
|
+
case "down":
|
|
52
|
+
r.current.y = (r.current.y - e + t) % t;
|
|
53
|
+
break;
|
|
54
|
+
case "diagonal":
|
|
55
|
+
r.current.x = (r.current.x - e + t) % t, r.current.y = (r.current.y - e + t) % t;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
p(), d.current = requestAnimationFrame(M);
|
|
59
|
+
}, R = (e) => {
|
|
60
|
+
const f = n.getBoundingClientRect(), a = e.clientX - f.left, o = e.clientY - f.top, l = Math.floor(r.current.x / t) * t, s = Math.floor(r.current.y / t) * t;
|
|
61
|
+
h.current = {
|
|
62
|
+
x: Math.floor((a + r.current.x - l) / t),
|
|
63
|
+
y: Math.floor((o + r.current.y - s) / t)
|
|
64
|
+
};
|
|
65
|
+
}, b = () => {
|
|
66
|
+
h.current = null;
|
|
67
|
+
};
|
|
68
|
+
return n.addEventListener("mousemove", R), n.addEventListener("mouseleave", b), d.current = requestAnimationFrame(M), () => {
|
|
69
|
+
window.removeEventListener("resize", m), d.current && cancelAnimationFrame(d.current), n.removeEventListener("mousemove", R), n.removeEventListener("mouseleave", b);
|
|
70
|
+
};
|
|
71
|
+
}, [u, x, y, g, t, v]), /* @__PURE__ */ E("canvas", { ref: w, style: { width: "100%", height: "100%", border: "none", display: "block" } });
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
X as default
|
|
75
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ThreadsProps {
|
|
2
|
+
color?: [number, number, number];
|
|
3
|
+
amplitude?: number;
|
|
4
|
+
distance?: number;
|
|
5
|
+
enableMouseInteraction?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function Threads({ color, amplitude, distance, enableMouseInteraction }: ThreadsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as w, useEffect as C } from "react";
|
|
4
|
+
import { Renderer as b, Triangle as A, Program as R, Color as h, Mesh as E } from "ogl";
|
|
5
|
+
const L = `
|
|
6
|
+
attribute vec2 position;
|
|
7
|
+
attribute vec2 uv;
|
|
8
|
+
varying vec2 vUv;
|
|
9
|
+
void main() { vUv = uv; gl_Position = vec4(position, 0.0, 1.0); }
|
|
10
|
+
`, z = `
|
|
11
|
+
precision highp float;
|
|
12
|
+
uniform float iTime;
|
|
13
|
+
uniform vec3 iResolution;
|
|
14
|
+
uniform vec3 uColor;
|
|
15
|
+
uniform float uAmplitude;
|
|
16
|
+
uniform float uDistance;
|
|
17
|
+
uniform vec2 uMouse;
|
|
18
|
+
#define PI 3.1415926538
|
|
19
|
+
const int u_line_count = 40;
|
|
20
|
+
const float u_line_width = 7.0;
|
|
21
|
+
const float u_line_blur = 10.0;
|
|
22
|
+
float Perlin2D(vec2 P) {
|
|
23
|
+
vec2 Pi = floor(P);
|
|
24
|
+
vec4 Pf_Pfmin1 = P.xyxy - vec4(Pi, Pi + 1.0);
|
|
25
|
+
vec4 Pt = vec4(Pi.xy, Pi.xy + 1.0);
|
|
26
|
+
Pt = Pt - floor(Pt * (1.0 / 71.0)) * 71.0;
|
|
27
|
+
Pt += vec2(26.0, 161.0).xyxy;
|
|
28
|
+
Pt *= Pt;
|
|
29
|
+
Pt = Pt.xzxz * Pt.yyww;
|
|
30
|
+
vec4 hash_x = fract(Pt * (1.0 / 951.135664));
|
|
31
|
+
vec4 hash_y = fract(Pt * (1.0 / 642.949883));
|
|
32
|
+
vec4 grad_x = hash_x - 0.49999;
|
|
33
|
+
vec4 grad_y = hash_y - 0.49999;
|
|
34
|
+
vec4 grad_results = inversesqrt(grad_x * grad_x + grad_y * grad_y) * (grad_x * Pf_Pfmin1.xzxz + grad_y * Pf_Pfmin1.yyww);
|
|
35
|
+
grad_results *= 1.4142135623730950;
|
|
36
|
+
vec2 blend = Pf_Pfmin1.xy * Pf_Pfmin1.xy * Pf_Pfmin1.xy * (Pf_Pfmin1.xy * (Pf_Pfmin1.xy * 6.0 - 15.0) + 10.0);
|
|
37
|
+
vec4 blend2 = vec4(blend, vec2(1.0 - blend));
|
|
38
|
+
return dot(grad_results, blend2.zxzx * blend2.wwyy);
|
|
39
|
+
}
|
|
40
|
+
float pixel(float count, vec2 resolution) { return (1.0 / max(resolution.x, resolution.y)) * count; }
|
|
41
|
+
float lineFn(vec2 st, float width, float perc, float offset, vec2 mouse, float time, float amplitude, float distance) {
|
|
42
|
+
float split_offset = (perc * 0.4);
|
|
43
|
+
float split_point = 0.1 + split_offset;
|
|
44
|
+
float amplitude_normal = smoothstep(split_point, 0.7, st.x);
|
|
45
|
+
float finalAmplitude = amplitude_normal * 0.5 * amplitude * (1.0 + (mouse.y - 0.5) * 0.2);
|
|
46
|
+
float time_scaled = time / 10.0 + (mouse.x - 0.5) * 1.0;
|
|
47
|
+
float blur = smoothstep(split_point, split_point + 0.05, st.x) * perc;
|
|
48
|
+
float xnoise = mix(Perlin2D(vec2(time_scaled, st.x + perc) * 2.5), Perlin2D(vec2(time_scaled, st.x + time_scaled) * 3.5) / 1.5, st.x * 0.3);
|
|
49
|
+
float y = 0.5 + (perc - 0.5) * distance + xnoise / 2.0 * finalAmplitude;
|
|
50
|
+
float line_start = smoothstep(y + (width / 2.0) + (u_line_blur * pixel(1.0, iResolution.xy) * blur), y, st.y);
|
|
51
|
+
float line_end = smoothstep(y, y - (width / 2.0) - (u_line_blur * pixel(1.0, iResolution.xy) * blur), st.y);
|
|
52
|
+
return clamp((line_start - line_end) * (1.0 - smoothstep(0.0, 1.0, pow(perc, 0.3))), 0.0, 1.0);
|
|
53
|
+
}
|
|
54
|
+
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
|
|
55
|
+
vec2 uv = fragCoord / iResolution.xy;
|
|
56
|
+
float line_strength = 1.0;
|
|
57
|
+
for (int i = 0; i < u_line_count; i++) {
|
|
58
|
+
float p = float(i) / float(u_line_count);
|
|
59
|
+
line_strength *= (1.0 - lineFn(uv, u_line_width * pixel(1.0, iResolution.xy) * (1.0 - p), p, (PI * 1.0) * p, uMouse, iTime, uAmplitude, uDistance));
|
|
60
|
+
}
|
|
61
|
+
float colorVal = 1.0 - line_strength;
|
|
62
|
+
fragColor = vec4(uColor * colorVal, colorVal);
|
|
63
|
+
}
|
|
64
|
+
void main() { mainImage(gl_FragColor, gl_FragCoord.xy); }
|
|
65
|
+
`;
|
|
66
|
+
function S({ color: c = [0.91, 0.73, 0.11], amplitude: m = 1, distance: v = 0, enableMouseInteraction: s = !0 }) {
|
|
67
|
+
const d = w(null);
|
|
68
|
+
return C(() => {
|
|
69
|
+
const t = d.current;
|
|
70
|
+
if (!t) return;
|
|
71
|
+
const a = new b({ alpha: !0 }), e = a.gl;
|
|
72
|
+
e.clearColor(0, 0, 0, 0), e.enable(e.BLEND), e.blendFunc(e.SRC_ALPHA, e.ONE_MINUS_SRC_ALPHA), t.appendChild(e.canvas);
|
|
73
|
+
const g = new A(e), n = new R(e, {
|
|
74
|
+
vertex: L,
|
|
75
|
+
fragment: z,
|
|
76
|
+
uniforms: {
|
|
77
|
+
iTime: { value: 0 },
|
|
78
|
+
iResolution: { value: new h(e.canvas.width, e.canvas.height, e.canvas.width / e.canvas.height) },
|
|
79
|
+
uColor: { value: new h(...c) },
|
|
80
|
+
uAmplitude: { value: m },
|
|
81
|
+
uDistance: { value: v },
|
|
82
|
+
uMouse: { value: new Float32Array([0.5, 0.5]) }
|
|
83
|
+
}
|
|
84
|
+
}), P = new E(e, { geometry: g, program: n });
|
|
85
|
+
function u() {
|
|
86
|
+
a.setSize(t.offsetWidth, t.offsetHeight);
|
|
87
|
+
const o = n.uniforms.iResolution.value;
|
|
88
|
+
o.r = t.offsetWidth, o.g = t.offsetHeight, o.b = t.offsetWidth / t.offsetHeight;
|
|
89
|
+
}
|
|
90
|
+
window.addEventListener("resize", u), u();
|
|
91
|
+
let i = [0.5, 0.5], l = [0.5, 0.5];
|
|
92
|
+
const _ = (o) => {
|
|
93
|
+
const r = t.getBoundingClientRect();
|
|
94
|
+
l = [(o.clientX - r.left) / r.width, 1 - (o.clientY - r.top) / r.height];
|
|
95
|
+
}, p = () => {
|
|
96
|
+
l = [0.5, 0.5];
|
|
97
|
+
};
|
|
98
|
+
s && (t.addEventListener("mousemove", _), t.addEventListener("mouseleave", p));
|
|
99
|
+
let f = 0;
|
|
100
|
+
const x = (o) => {
|
|
101
|
+
f = requestAnimationFrame(x), i[0] += 0.05 * (l[0] - i[0]), i[1] += 0.05 * (l[1] - i[1]), n.uniforms.uMouse.value[0] = i[0], n.uniforms.uMouse.value[1] = i[1], n.uniforms.iTime.value = o * 1e-3, a.render({ scene: P });
|
|
102
|
+
};
|
|
103
|
+
return f = requestAnimationFrame(x), () => {
|
|
104
|
+
cancelAnimationFrame(f), window.removeEventListener("resize", u), s && (t.removeEventListener("mousemove", _), t.removeEventListener("mouseleave", p)), t.contains(e.canvas) && t.removeChild(e.canvas), e.getExtension("WEBGL_lose_context")?.loseContext();
|
|
105
|
+
};
|
|
106
|
+
}, [c, m, v, s]), /* @__PURE__ */ y("div", { ref: d, style: { width: "100%", height: "100%", position: "relative" } });
|
|
107
|
+
}
|
|
108
|
+
export {
|
|
109
|
+
S as default
|
|
110
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface WavesProps {
|
|
2
|
+
lineColor?: string;
|
|
3
|
+
backgroundColor?: string;
|
|
4
|
+
waveSpeedX?: number;
|
|
5
|
+
waveSpeedY?: number;
|
|
6
|
+
waveAmpX?: number;
|
|
7
|
+
waveAmpY?: number;
|
|
8
|
+
xGap?: number;
|
|
9
|
+
yGap?: number;
|
|
10
|
+
friction?: number;
|
|
11
|
+
tension?: number;
|
|
12
|
+
maxCursorMove?: number;
|
|
13
|
+
}
|
|
14
|
+
export default function Waves({ lineColor, backgroundColor, waveSpeedX, waveSpeedY, waveAmpX, waveAmpY, xGap, yGap, friction, tension, maxCursorMove, }: WavesProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as J } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as l, useEffect as K } from "react";
|
|
4
|
+
class u {
|
|
5
|
+
constructor(r, s, i) {
|
|
6
|
+
this.x = r, this.y = s, this.z = i;
|
|
7
|
+
}
|
|
8
|
+
dot2(r, s) {
|
|
9
|
+
return this.x * r + this.y * s;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
class V {
|
|
13
|
+
constructor(r = 0) {
|
|
14
|
+
this.grad3 = [
|
|
15
|
+
new u(1, 1, 0),
|
|
16
|
+
new u(-1, 1, 0),
|
|
17
|
+
new u(1, -1, 0),
|
|
18
|
+
new u(-1, -1, 0),
|
|
19
|
+
new u(1, 0, 1),
|
|
20
|
+
new u(-1, 0, 1),
|
|
21
|
+
new u(1, 0, -1),
|
|
22
|
+
new u(-1, 0, -1),
|
|
23
|
+
new u(0, 1, 1),
|
|
24
|
+
new u(0, -1, 1),
|
|
25
|
+
new u(0, 1, -1),
|
|
26
|
+
new u(0, -1, -1)
|
|
27
|
+
], this.p = [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180], this.perm = new Array(512), this.gradP = new Array(512), this.seed(r);
|
|
28
|
+
}
|
|
29
|
+
seed(r) {
|
|
30
|
+
r > 0 && r < 1 && (r *= 65536), r = Math.floor(r), r < 256 && (r |= r << 8);
|
|
31
|
+
for (let s = 0; s < 256; s++) {
|
|
32
|
+
let i = s & 1 ? this.p[s] ^ r & 255 : this.p[s] ^ r >> 8 & 255;
|
|
33
|
+
this.perm[s] = this.perm[s + 256] = i, this.gradP[s] = this.gradP[s + 256] = this.grad3[i % 12];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
fade(r) {
|
|
37
|
+
return r * r * r * (r * (r * 6 - 15) + 10);
|
|
38
|
+
}
|
|
39
|
+
lerp(r, s, i) {
|
|
40
|
+
return (1 - i) * r + i * s;
|
|
41
|
+
}
|
|
42
|
+
perlin2(r, s) {
|
|
43
|
+
let i = Math.floor(r), h = Math.floor(s);
|
|
44
|
+
r -= i, s -= h, i &= 255, h &= 255;
|
|
45
|
+
const g = this.gradP[i + this.perm[h]].dot2(r, s), M = this.gradP[i + this.perm[h + 1]].dot2(r, s - 1), R = this.gradP[i + 1 + this.perm[h]].dot2(r - 1, s), E = this.gradP[i + 1 + this.perm[h + 1]].dot2(r - 1, s - 1), y = this.fade(r);
|
|
46
|
+
return this.lerp(this.lerp(g, R, y), this.lerp(M, E, y), this.fade(s));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function Z({
|
|
50
|
+
lineColor: w = "#E7BB1D",
|
|
51
|
+
backgroundColor: r = "transparent",
|
|
52
|
+
waveSpeedX: s = 0.0125,
|
|
53
|
+
waveSpeedY: i = 5e-3,
|
|
54
|
+
waveAmpX: h = 32,
|
|
55
|
+
waveAmpY: g = 16,
|
|
56
|
+
xGap: M = 10,
|
|
57
|
+
yGap: R = 32,
|
|
58
|
+
friction: E = 0.925,
|
|
59
|
+
tension: y = 5e-3,
|
|
60
|
+
maxCursorMove: F = 100
|
|
61
|
+
}) {
|
|
62
|
+
const q = l(null), C = l(null), S = l(null), L = l({ width: 0, height: 0, left: 0, top: 0 }), O = l(new V(Math.random())), b = l([]), T = l({ x: -10, y: 0, lx: 0, ly: 0, sx: 0, sy: 0, v: 0, vs: 0, a: 0, set: !1 }), z = l({ lineColor: w, waveSpeedX: s, waveSpeedY: i, waveAmpX: h, waveAmpY: g, friction: E, tension: y, maxCursorMove: F, xGap: M, yGap: R }), k = l(null);
|
|
63
|
+
return K(() => {
|
|
64
|
+
z.current = { lineColor: w, waveSpeedX: s, waveSpeedY: i, waveAmpX: h, waveAmpY: g, friction: E, tension: y, maxCursorMove: F, xGap: M, yGap: R };
|
|
65
|
+
}, [w, s, i, h, g, E, y, F, M, R]), K(() => {
|
|
66
|
+
const A = C.current, W = q.current;
|
|
67
|
+
if (!A || !W) return;
|
|
68
|
+
S.current = A.getContext("2d");
|
|
69
|
+
function D() {
|
|
70
|
+
const e = W.getBoundingClientRect();
|
|
71
|
+
L.current = { width: e.width, height: e.height, left: e.left, top: e.top }, A.width = e.width, A.height = e.height;
|
|
72
|
+
}
|
|
73
|
+
function G() {
|
|
74
|
+
const { width: e, height: t } = L.current;
|
|
75
|
+
b.current = [];
|
|
76
|
+
const c = e + 200, o = t + 30, { xGap: a, yGap: n } = z.current, f = Math.ceil(c / a), x = Math.ceil(o / n), d = (e - a * f) / 2, P = (t - n * x) / 2;
|
|
77
|
+
for (let v = 0; v <= f; v++) {
|
|
78
|
+
const B = [];
|
|
79
|
+
for (let m = 0; m <= x; m++)
|
|
80
|
+
B.push({ x: d + a * v, y: P + n * m, wave: { x: 0, y: 0 }, cursor: { x: 0, y: 0, vx: 0, vy: 0 } });
|
|
81
|
+
b.current.push(B);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function Q(e) {
|
|
85
|
+
const t = T.current, c = O.current, o = z.current;
|
|
86
|
+
b.current.forEach((a) => {
|
|
87
|
+
a.forEach((n) => {
|
|
88
|
+
const f = c.perlin2((n.x + e * o.waveSpeedX) * 2e-3, (n.y + e * o.waveSpeedY) * 15e-4) * 12;
|
|
89
|
+
n.wave.x = Math.cos(f) * o.waveAmpX, n.wave.y = Math.sin(f) * o.waveAmpY;
|
|
90
|
+
const x = n.x - t.sx, d = n.y - t.sy, P = Math.hypot(x, d), v = Math.max(175, t.vs);
|
|
91
|
+
if (P < v) {
|
|
92
|
+
const B = 1 - P / v, m = Math.cos(P * 1e-3) * B;
|
|
93
|
+
n.cursor.vx += Math.cos(t.a) * m * v * t.vs * 65e-5, n.cursor.vy += Math.sin(t.a) * m * v * t.vs * 65e-5;
|
|
94
|
+
}
|
|
95
|
+
n.cursor.vx += (0 - n.cursor.x) * o.tension, n.cursor.vy += (0 - n.cursor.y) * o.tension, n.cursor.vx *= o.friction, n.cursor.vy *= o.friction, n.cursor.x += n.cursor.vx * 2, n.cursor.y += n.cursor.vy * 2, n.cursor.x = Math.min(o.maxCursorMove, Math.max(-o.maxCursorMove, n.cursor.x)), n.cursor.y = Math.min(o.maxCursorMove, Math.max(-o.maxCursorMove, n.cursor.y));
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function j(e, t = !0) {
|
|
100
|
+
return {
|
|
101
|
+
x: Math.round((e.x + e.wave.x + (t ? e.cursor.x : 0)) * 10) / 10,
|
|
102
|
+
y: Math.round((e.y + e.wave.y + (t ? e.cursor.y : 0)) * 10) / 10
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function U() {
|
|
106
|
+
const e = S.current;
|
|
107
|
+
if (!e) return;
|
|
108
|
+
const { width: t, height: c } = L.current;
|
|
109
|
+
e.clearRect(0, 0, t, c), e.beginPath(), e.strokeStyle = z.current.lineColor, b.current.forEach((o) => {
|
|
110
|
+
let a = j(o[0], !1);
|
|
111
|
+
e.moveTo(a.x, a.y), o.forEach((n, f) => {
|
|
112
|
+
const x = f === o.length - 1;
|
|
113
|
+
a = j(n, !x);
|
|
114
|
+
const d = j(o[f + 1] || o[o.length - 1], !x);
|
|
115
|
+
e.lineTo(a.x, a.y), x && e.moveTo(d.x, d.y);
|
|
116
|
+
});
|
|
117
|
+
}), e.stroke();
|
|
118
|
+
}
|
|
119
|
+
function H(e) {
|
|
120
|
+
const t = T.current;
|
|
121
|
+
t.sx += (t.x - t.sx) * 0.1, t.sy += (t.y - t.sy) * 0.1;
|
|
122
|
+
const c = t.x - t.lx, o = t.y - t.ly;
|
|
123
|
+
t.v = Math.hypot(c, o), t.vs += (t.v - t.vs) * 0.1, t.vs = Math.min(100, t.vs), t.lx = t.x, t.ly = t.y, t.a = Math.atan2(o, c), Q(e), U(), k.current = requestAnimationFrame(H);
|
|
124
|
+
}
|
|
125
|
+
function I() {
|
|
126
|
+
D(), G();
|
|
127
|
+
}
|
|
128
|
+
function N(e) {
|
|
129
|
+
const t = L.current, c = T.current;
|
|
130
|
+
c.x = e.clientX - t.left, c.y = e.clientY - t.top, c.set || (c.sx = c.x, c.sy = c.y, c.lx = c.x, c.ly = c.y, c.set = !0);
|
|
131
|
+
}
|
|
132
|
+
return D(), G(), k.current = requestAnimationFrame(H), window.addEventListener("resize", I), window.addEventListener("mousemove", N), () => {
|
|
133
|
+
window.removeEventListener("resize", I), window.removeEventListener("mousemove", N), k.current !== null && cancelAnimationFrame(k.current);
|
|
134
|
+
};
|
|
135
|
+
}, []), /* @__PURE__ */ J("div", { ref: q, style: { position: "absolute", inset: 0, overflow: "hidden", backgroundColor: r }, children: /* @__PURE__ */ J("canvas", { ref: C, style: { display: "block", width: "100%", height: "100%" } }) });
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
Z as default
|
|
139
|
+
};
|
|
Binary file
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fonts/inter-latin-wght-normal.woff2)format("woff2")}@layer base{*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--border)}button,input,optgroup,select,textarea{font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0}p,h1,h2,h3,h4,h5,h6,ul{margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--foreground);background:var(--background);min-height:100vh;margin:0;font-size:.875rem;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-light)}code,pre{font-family:var(--font-mono)}:focus{outline:none!important}::selection{background:var(--primary);color:var(--background)}::-webkit-scrollbar{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-foreground) 30%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--foreground);background-clip:padding-box}.blurred-bg{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.blurred-bg{background-color:color-mix(in oklab,var(--color-card) 70%,transparent)}}.blurred-bg{color:var(--color-card-foreground);--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-primary-light:var(--primary-light);--color-secondary:var(--secondary);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-destructive-light:var(--destructive-light);--color-success:var(--success);--color-success-foreground:var(--success-foreground);--color-success-light:var(--success-light);--color-warning:var(--warning);--color-warning-foreground:var(--warning-foreground);--color-warning-light:var(--warning-light);--color-info:var(--info);--color-info-foreground:var(--info-foreground);--color-info-light:var(--info-light);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.-my-2\.5{margin-block:calc(var(--spacing) * -2.5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-auto{margin-block:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.-mb-5{margin-bottom:calc(var(--spacing) * -5)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[100dvh\]{height:100dvh}.h-\[320px\]{height:320px}.h-full{height:100%}.h-px{height:1px}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[300px\]{max-height:300px}.min-h-\[1\.625rem\]{min-height:1.625rem}.min-h-\[100px\]{min-height:100px}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-\[90\%\]{width:90%}.w-\[220px\]{width:220px}.w-\[320px\]{width:320px}.w-\[356px\]{width:356px}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-full{width:100%}.w-px{width:1px}.max-w-\[480px\]{max-width:480px}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-\[180px\]{min-width:180px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.\!gap-0{gap:calc(var(--spacing) * 0)!important}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-3{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-border{border-color:var(--color-border)}.border-destructive,.border-destructive\/20{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}.border-destructive\/30{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--color-destructive) 30%,transparent)}}.border-info\/20{border-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.border-info\/20{border-color:color-mix(in oklab,var(--color-info) 20%,transparent)}}.border-info\/30{border-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.border-info\/30{border-color:color-mix(in oklab,var(--color-info) 30%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.border-primary\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.border-primary\/40{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.border-secondary{border-color:var(--color-secondary)}.border-success\/20{border-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.border-success\/20{border-color:color-mix(in oklab,var(--color-success) 20%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/20{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/20{border-color:color-mix(in oklab,var(--color-warning) 20%,transparent)}}.border-warning\/30{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.\!border-t-destructive{border-top-color:var(--color-destructive)!important}.\!border-t-info{border-top-color:var(--color-info)!important}.\!border-t-primary{border-top-color:var(--color-primary)!important}.\!border-t-success{border-top-color:var(--color-success)!important}.\!border-t-warning{border-top-color:var(--color-warning)!important}.\!border-r-destructive{border-right-color:var(--color-destructive)!important}.\!border-r-info{border-right-color:var(--color-info)!important}.\!border-r-primary{border-right-color:var(--color-primary)!important}.\!border-r-success{border-right-color:var(--color-success)!important}.\!border-r-warning{border-right-color:var(--color-warning)!important}.\!border-b-destructive{border-bottom-color:var(--color-destructive)!important}.\!border-b-info{border-bottom-color:var(--color-info)!important}.\!border-b-primary{border-bottom-color:var(--color-primary)!important}.\!border-b-success{border-bottom-color:var(--color-success)!important}.\!border-b-warning{border-bottom-color:var(--color-warning)!important}.\!border-l-destructive{border-left-color:var(--color-destructive)!important}.\!border-l-info{border-left-color:var(--color-info)!important}.\!border-l-primary{border-left-color:var(--color-primary)!important}.\!border-l-success{border-left-color:var(--color-success)!important}.\!border-l-warning{border-left-color:var(--color-warning)!important}.border-l-destructive{border-left-color:var(--color-destructive)}.border-l-info{border-left-color:var(--color-info)}.border-l-primary{border-left-color:var(--color-primary)}.border-l-success{border-left-color:var(--color-success)}.border-l-warning{border-left-color:var(--color-warning)}.\!bg-primary{background-color:var(--color-primary)!important}.bg-accent{background-color:var(--color-accent)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card,.bg-card\/85{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,var(--color-card) 85%,transparent)}}.bg-card\/90{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,var(--color-card) 90%,transparent)}}.bg-card\/95{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,var(--color-card) 95%,transparent)}}.bg-destructive,.bg-destructive\/15{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--color-destructive) 15%,transparent)}}.bg-info,.bg-info\/15{background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/15{background-color:color-mix(in oklab,var(--color-info) 15%,transparent)}}.bg-input\/30{background-color:var(--color-input)}@supports (color:color-mix(in lab,red,red)){.bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground,.bg-muted-foreground\/30{background-color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--color-muted-foreground) 30%,transparent)}}.bg-muted\/30{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-primary,.bg-primary\/8{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/8{background-color:color-mix(in oklab,var(--color-primary) 8%,transparent)}}.bg-primary\/15{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-secondary,.bg-secondary\/30{background-color:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/30{background-color:color-mix(in oklab,var(--color-secondary) 30%,transparent)}}.bg-success,.bg-success\/15{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--color-success) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/15{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/15{background-color:color-mix(in oklab,var(--color-warning) 15%,transparent)}}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing) * 0)!important}.\!p-4{padding:calc(var(--spacing) * 4)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!text-primary-foreground{color:var(--color-primary-foreground)!important}.text-accent-foreground{color:var(--color-accent-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-info{color:var(--color-info)}.text-info-foreground{color:var(--color-info-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-primary\/60{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--color-primary) 60%,transparent)}}.text-success{color:var(--color-success)}.text-success-foreground{color:var(--color-success-foreground)}.text-warning{color:var(--color-warning)}.text-warning-foreground{color:var(--color-warning-foreground)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.zoom-in{--tw-enter-scale:0}.zoom-out{--tw-exit-scale:0}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/line\:opacity-100:is(:where(.group\/line):hover *){opacity:1}}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.before\:h-6:before{content:var(--tw-content);height:calc(var(--spacing) * 6)}.before\:w-1:before{content:var(--tw-content);width:calc(var(--spacing) * 1)}.before\:shrink-0:before{content:var(--tw-content);flex-shrink:0}.before\:rounded-sm:before{content:var(--tw-content);border-radius:var(--radius-sm)}.before\:bg-primary:before{content:var(--tw-content);background-color:var(--color-primary)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-ring:focus-within{--tw-ring-color:var(--color-ring)}@media(hover:hover){.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.hover\:border-secondary:hover{border-color:var(--color-secondary)}.hover\:\!bg-primary:hover{background-color:var(--color-primary)!important}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/10:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.hover\:bg-info\/10:hover{background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-info\/10:hover{background-color:color-mix(in oklab,var(--color-info) 10%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-primary\/8:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/8:hover{background-color:color-mix(in oklab,var(--color-primary) 8%,transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/50:hover{background-color:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/50:hover{background-color:color-mix(in oklab,var(--color-secondary) 50%,transparent)}}.hover\:bg-warning\/10:hover{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/10:hover{background-color:color-mix(in oklab,var(--color-warning) 10%,transparent)}}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:shadow-\[0_2px_12px_rgba\(0\,0\,0\,0\.2\)\]:hover{--tw-shadow:0 2px 12px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:not-disabled\:border-primary-light:hover:not(:disabled){border-color:var(--color-primary-light)}.hover\:not-disabled\:border-secondary:hover:not(:disabled){border-color:var(--color-secondary)}.hover\:not-disabled\:bg-destructive-light:hover:not(:disabled){background-color:var(--color-destructive-light)}.hover\:not-disabled\:bg-destructive\/25:hover:not(:disabled){background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-destructive\/25:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-destructive) 25%,transparent)}}.hover\:not-disabled\:bg-info-light:hover:not(:disabled){background-color:var(--color-info-light)}.hover\:not-disabled\:bg-info\/25:hover:not(:disabled){background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-info\/25:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-info) 25%,transparent)}}.hover\:not-disabled\:bg-input\/50:hover:not(:disabled){background-color:var(--color-input)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-input\/50:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}.hover\:not-disabled\:bg-muted:hover:not(:disabled){background-color:var(--color-muted)}.hover\:not-disabled\:bg-primary-light:hover:not(:disabled){background-color:var(--color-primary-light)}.hover\:not-disabled\:bg-primary\/25:hover:not(:disabled){background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-primary\/25:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-primary) 25%,transparent)}}.hover\:not-disabled\:bg-secondary\/50:hover:not(:disabled){background-color:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-secondary\/50:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-secondary) 50%,transparent)}}.hover\:not-disabled\:bg-success-light:hover:not(:disabled){background-color:var(--color-success-light)}.hover\:not-disabled\:bg-success\/25:hover:not(:disabled){background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-success\/25:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-success) 25%,transparent)}}.hover\:not-disabled\:bg-warning-light:hover:not(:disabled){background-color:var(--color-warning-light)}.hover\:not-disabled\:bg-warning\/25:hover:not(:disabled){background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.hover\:not-disabled\:bg-warning\/25:hover:not(:disabled){background-color:color-mix(in oklab,var(--color-warning) 25%,transparent)}}.hover\:not-disabled\:text-foreground:hover:not(:disabled){color:var(--color-foreground)}.hover\:not-disabled\:underline:hover:not(:disabled){text-decoration-line:underline}.hover\:not-disabled\:shadow-\[0_0_20px_rgba\(231\,187\,29\,0\.15\)\]:hover:not(:disabled){--tw-shadow:0 0 20px var(--tw-shadow-color,#e7bb1d26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:bg-muted:focus{background-color:var(--color-muted)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:rounded-sm:focus-visible{border-radius:var(--radius-sm)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.active\:not-disabled\:scale-\[0\.97\]:active:not(:disabled){scale:.97}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-primary\/10[data-highlighted]{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.data-\[highlighted\]\:bg-primary\/10[data-highlighted]{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.data-\[highlighted\]\:text-foreground[data-highlighted]{color:var(--color-foreground)}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-primary\/10[data-selected=true]{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:bg-primary\/10[data-selected=true]{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.data-\[selected\=true\]\:text-foreground[data-selected=true]{color:var(--color-foreground)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:border-b-primary[data-state=active]{border-bottom-color:var(--color-primary)}.data-\[state\=active\]\:text-primary[data-state=active]{color:var(--color-primary)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--color-primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:var(--color-primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-muted[data-state=open]{background-color:var(--color-muted)}.data-\[state\=open\]\:text-foreground[data-state=open]{color:var(--color-foreground)}.data-\[state\=open\]\:duration-300[data-state=open]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-muted-foreground[data-state=unchecked]{background-color:var(--color-muted-foreground)}.data-\[state\=unchecked\]\:bg-secondary[data-state=unchecked]{background-color:var(--color-secondary)}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:sticky{position:sticky}.md\:block{display:block}.md\:hidden{display:none}.md\:shrink-0{flex-shrink:0}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,.dark{--primary:oklch(81.52% .1622 90.8);--primary-light:oklch(from var(--primary) calc(l + .06) c h);--primary-dark:oklch(from var(--primary) calc(l - .13) c h);--primary-foreground:var(--color-yellow-900);--destructive:var(--color-red-500);--destructive-light:oklch(from var(--destructive) calc(l + .06) c h);--destructive-dark:oklch(from var(--destructive) calc(l - .13) c h);--destructive-foreground:oklch(95.68% .0119 79.78);--success:var(--color-green-500);--success-light:oklch(from var(--success) calc(l + .06) c h);--success-dark:oklch(from var(--success) calc(l - .13) c h);--success-foreground:oklch(95.68% .0119 79.78);--warning:var(--color-amber-500);--warning-light:oklch(from var(--warning) calc(l + .06) c h);--warning-dark:oklch(from var(--warning) calc(l - .13) c h);--warning-foreground:oklch(95.68% .0119 79.78);--info:var(--color-blue-400);--info-light:oklch(from var(--info) calc(l + .06) c h);--info-dark:oklch(from var(--info) calc(l - .13) c h);--info-foreground:oklch(95.68% .0119 79.78);--secondary:oklch(28.42% .008 59.35);--secondary-light:oklch(from var(--secondary) calc(l + .06) c h);--secondary-dark:oklch(from var(--secondary) calc(l - .13) c h);--secondary-foreground:var(--foreground);--background:oklch(21.73% .0074 48.36);--foreground:oklch(95.68% .0119 79.78);--card:#211e1c;--card-foreground:var(--foreground);--muted:oklch(26.29% .0058 56.13);--muted-foreground:oklch(67.35% .0102 62.51);--accent:oklch(from var(--primary) l c h / .12);--accent-foreground:var(--primary);--border:#ffffff14;--input:#ffffff14;--ring:oklch(from var(--primary) l c h / .5);--ring-offset:var(--background)}.light{--secondary:oklch(92.56% .0046 78.3);--secondary-light:oklch(from var(--secondary) calc(l + .06) c h);--secondary-dark:oklch(from var(--secondary) calc(l - .13) c h);--secondary-foreground:var(--foreground);--background:oklch(98.45% .0026 106.45);--foreground:oklch(20.7% .0075 67.39);--card:#fff;--card-foreground:var(--foreground);--muted:oklch(96.49% .0045 78.3);--muted-foreground:oklch(55.34% .0116 58.07);--accent:oklch(from var(--primary) l c h / .1);--accent-foreground:var(--primary);--border:#e7e5e2;--input:#e7e5e2}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED