reend-components 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -9
- package/dist/bin/cli.cjs +9578 -0
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.cjs.map +1 -1
- package/dist/lib/index.d.ts +383 -14
- package/dist/lib/index.mjs +2878 -1096
- package/dist/lib/index.mjs.map +1 -1
- package/package.json +15 -3
- package/src/tailwind-preset.ts +93 -84
package/dist/lib/index.mjs
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
4
|
-
import { clsx as
|
|
5
|
-
import { twMerge as
|
|
6
|
-
import * as
|
|
7
|
-
import { cva as
|
|
8
|
-
import { X as
|
|
9
|
-
import { Toaster as
|
|
10
|
-
import { toast as
|
|
11
|
-
import { Slot as
|
|
12
|
-
import * as
|
|
13
|
-
import * as
|
|
14
|
-
import * as
|
|
15
|
-
import * as
|
|
16
|
-
import * as
|
|
17
|
-
import * as
|
|
18
|
-
import * as
|
|
19
|
-
import * as
|
|
20
|
-
import * as
|
|
21
|
-
import * as
|
|
22
|
-
import * as
|
|
23
|
-
import { AnimatePresence as
|
|
24
|
-
function
|
|
25
|
-
return
|
|
1
|
+
import { jsx as e, jsxs as c, Fragment as Le } from "react/jsx-runtime";
|
|
2
|
+
import * as i from "react";
|
|
3
|
+
import * as z from "@radix-ui/react-tooltip";
|
|
4
|
+
import { clsx as $e } from "clsx";
|
|
5
|
+
import { twMerge as Fe } from "tailwind-merge";
|
|
6
|
+
import * as D from "@radix-ui/react-toast";
|
|
7
|
+
import { cva as T } from "class-variance-authority";
|
|
8
|
+
import { X as Be, Crosshair as je, Terminal as ze, AlertTriangle as Ge } from "lucide-react";
|
|
9
|
+
import { Toaster as Ue } from "sonner";
|
|
10
|
+
import { toast as Va } from "sonner";
|
|
11
|
+
import { Slot as He } from "@radix-ui/react-slot";
|
|
12
|
+
import * as oe from "@radix-ui/react-checkbox";
|
|
13
|
+
import * as Te from "@radix-ui/react-radio-group";
|
|
14
|
+
import * as ne from "@radix-ui/react-switch";
|
|
15
|
+
import * as A from "@radix-ui/react-select";
|
|
16
|
+
import * as re from "@radix-ui/react-avatar";
|
|
17
|
+
import * as se from "@radix-ui/react-progress";
|
|
18
|
+
import * as B from "@radix-ui/react-accordion";
|
|
19
|
+
import * as q from "@radix-ui/react-tabs";
|
|
20
|
+
import * as j from "@radix-ui/react-popover";
|
|
21
|
+
import * as P from "@radix-ui/react-dialog";
|
|
22
|
+
import * as Ye from "@radix-ui/react-separator";
|
|
23
|
+
import { AnimatePresence as We, motion as te, useInView as qe } from "framer-motion";
|
|
24
|
+
function s(...t) {
|
|
25
|
+
return Fe($e(t));
|
|
26
26
|
}
|
|
27
|
-
const
|
|
28
|
-
|
|
27
|
+
const Ra = z.Provider, Ia = z.Root, Ca = z.Trigger, Ke = i.forwardRef(({ className: t, sideOffset: r = 4, ...a }, o) => /* @__PURE__ */ e(
|
|
28
|
+
z.Content,
|
|
29
29
|
{
|
|
30
30
|
ref: o,
|
|
31
|
-
sideOffset:
|
|
32
|
-
className:
|
|
31
|
+
sideOffset: r,
|
|
32
|
+
className: s(
|
|
33
33
|
"z-50 overflow-hidden border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
34
|
-
|
|
34
|
+
t
|
|
35
35
|
),
|
|
36
|
-
...
|
|
36
|
+
...a
|
|
37
37
|
}
|
|
38
38
|
));
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
39
|
+
Ke.displayName = z.Content.displayName;
|
|
40
|
+
const Xe = D.Provider, ke = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
41
|
+
D.Viewport,
|
|
42
42
|
{
|
|
43
|
-
ref:
|
|
44
|
-
className:
|
|
43
|
+
ref: a,
|
|
44
|
+
className: s(
|
|
45
45
|
"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
|
|
46
|
-
|
|
46
|
+
t
|
|
47
47
|
),
|
|
48
|
-
...
|
|
48
|
+
...r
|
|
49
49
|
}
|
|
50
50
|
));
|
|
51
|
-
|
|
52
|
-
const
|
|
51
|
+
ke.displayName = D.Viewport.displayName;
|
|
52
|
+
const Ze = T(
|
|
53
53
|
"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
54
54
|
{
|
|
55
55
|
variants: {
|
|
@@ -62,96 +62,96 @@ const he = h(
|
|
|
62
62
|
variant: "default"
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
),
|
|
66
|
-
|
|
65
|
+
), Se = i.forwardRef(({ className: t, variant: r, ...a }, o) => /* @__PURE__ */ e(
|
|
66
|
+
D.Root,
|
|
67
67
|
{
|
|
68
68
|
ref: o,
|
|
69
|
-
className:
|
|
70
|
-
...
|
|
69
|
+
className: s(Ze({ variant: r }), t),
|
|
70
|
+
...a
|
|
71
71
|
}
|
|
72
72
|
));
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
73
|
+
Se.displayName = D.Root.displayName;
|
|
74
|
+
const Qe = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
75
|
+
D.Action,
|
|
76
76
|
{
|
|
77
|
-
ref:
|
|
78
|
-
className:
|
|
77
|
+
ref: a,
|
|
78
|
+
className: s(
|
|
79
79
|
"inline-flex h-8 shrink-0 items-center justify-center border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",
|
|
80
|
-
|
|
80
|
+
t
|
|
81
81
|
),
|
|
82
|
-
...
|
|
82
|
+
...r
|
|
83
83
|
}
|
|
84
84
|
));
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
85
|
+
Qe.displayName = D.Action.displayName;
|
|
86
|
+
const Re = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
87
|
+
D.Close,
|
|
88
88
|
{
|
|
89
|
-
ref:
|
|
90
|
-
className:
|
|
89
|
+
ref: a,
|
|
90
|
+
className: s(
|
|
91
91
|
"absolute right-2 top-2 p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
|
|
92
|
-
|
|
92
|
+
t
|
|
93
93
|
),
|
|
94
94
|
"toast-close": "",
|
|
95
|
-
...
|
|
96
|
-
children: /* @__PURE__ */
|
|
95
|
+
...r,
|
|
96
|
+
children: /* @__PURE__ */ e(Be, { className: "h-4 w-4" })
|
|
97
97
|
}
|
|
98
98
|
));
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
|
|
99
|
+
Re.displayName = D.Close.displayName;
|
|
100
|
+
const Ie = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
101
|
+
D.Title,
|
|
102
102
|
{
|
|
103
|
-
ref:
|
|
104
|
-
className:
|
|
105
|
-
...
|
|
103
|
+
ref: a,
|
|
104
|
+
className: s("text-sm font-semibold", t),
|
|
105
|
+
...r
|
|
106
106
|
}
|
|
107
107
|
));
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
108
|
+
Ie.displayName = D.Title.displayName;
|
|
109
|
+
const Ce = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
110
|
+
D.Description,
|
|
111
111
|
{
|
|
112
|
-
ref:
|
|
113
|
-
className:
|
|
114
|
-
...
|
|
112
|
+
ref: a,
|
|
113
|
+
className: s("text-sm opacity-90", t),
|
|
114
|
+
...r
|
|
115
115
|
}
|
|
116
116
|
));
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
let
|
|
120
|
-
function
|
|
121
|
-
return
|
|
117
|
+
Ce.displayName = D.Description.displayName;
|
|
118
|
+
const Je = 1, et = 5e3;
|
|
119
|
+
let K = 0;
|
|
120
|
+
function tt() {
|
|
121
|
+
return K = (K + 1) % Number.MAX_SAFE_INTEGER, K.toString();
|
|
122
122
|
}
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
123
|
+
const X = /* @__PURE__ */ new Map(), ie = (t) => {
|
|
124
|
+
if (X.has(t))
|
|
125
125
|
return;
|
|
126
|
-
const
|
|
127
|
-
|
|
126
|
+
const r = setTimeout(() => {
|
|
127
|
+
X.delete(t), $({
|
|
128
128
|
type: "REMOVE_TOAST",
|
|
129
|
-
toastId:
|
|
129
|
+
toastId: t
|
|
130
130
|
});
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
},
|
|
134
|
-
switch (
|
|
131
|
+
}, et);
|
|
132
|
+
X.set(t, r);
|
|
133
|
+
}, rt = (t, r) => {
|
|
134
|
+
switch (r.type) {
|
|
135
135
|
case "ADD_TOAST":
|
|
136
136
|
return {
|
|
137
|
-
...
|
|
138
|
-
toasts: [
|
|
137
|
+
...t,
|
|
138
|
+
toasts: [r.toast, ...t.toasts].slice(0, Je)
|
|
139
139
|
};
|
|
140
140
|
case "UPDATE_TOAST":
|
|
141
141
|
return {
|
|
142
|
-
...
|
|
143
|
-
toasts:
|
|
144
|
-
(
|
|
142
|
+
...t,
|
|
143
|
+
toasts: t.toasts.map(
|
|
144
|
+
(a) => a.id === r.toast.id ? { ...a, ...r.toast } : a
|
|
145
145
|
)
|
|
146
146
|
};
|
|
147
147
|
case "DISMISS_TOAST": {
|
|
148
|
-
const { toastId:
|
|
149
|
-
return
|
|
150
|
-
|
|
148
|
+
const { toastId: a } = r;
|
|
149
|
+
return a ? ie(a) : t.toasts.forEach((o) => {
|
|
150
|
+
ie(o.id);
|
|
151
151
|
}), {
|
|
152
|
-
...
|
|
153
|
-
toasts:
|
|
154
|
-
(o) => o.id ===
|
|
152
|
+
...t,
|
|
153
|
+
toasts: t.toasts.map(
|
|
154
|
+
(o) => o.id === a || a === void 0 ? {
|
|
155
155
|
...o,
|
|
156
156
|
open: !1
|
|
157
157
|
} : o
|
|
@@ -159,73 +159,73 @@ const $ = /* @__PURE__ */ new Map(), H = (e) => {
|
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
161
|
case "REMOVE_TOAST":
|
|
162
|
-
return
|
|
163
|
-
...
|
|
162
|
+
return r.toastId === void 0 ? {
|
|
163
|
+
...t,
|
|
164
164
|
toasts: []
|
|
165
165
|
} : {
|
|
166
|
-
...
|
|
167
|
-
toasts:
|
|
166
|
+
...t,
|
|
167
|
+
toasts: t.toasts.filter((a) => a.id !== r.toastId)
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
-
},
|
|
171
|
-
let
|
|
172
|
-
function
|
|
173
|
-
|
|
174
|
-
|
|
170
|
+
}, Y = [];
|
|
171
|
+
let W = { toasts: [] };
|
|
172
|
+
function $(t) {
|
|
173
|
+
W = rt(W, t), Y.forEach((r) => {
|
|
174
|
+
r(W);
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
|
-
function
|
|
178
|
-
const
|
|
177
|
+
function at({ ...t }) {
|
|
178
|
+
const r = tt(), a = (n) => $({
|
|
179
179
|
type: "UPDATE_TOAST",
|
|
180
|
-
toast: { ...
|
|
181
|
-
}), o = () =>
|
|
182
|
-
return
|
|
180
|
+
toast: { ...n, id: r }
|
|
181
|
+
}), o = () => $({ type: "DISMISS_TOAST", toastId: r });
|
|
182
|
+
return $({
|
|
183
183
|
type: "ADD_TOAST",
|
|
184
184
|
toast: {
|
|
185
|
-
...
|
|
186
|
-
id:
|
|
185
|
+
...t,
|
|
186
|
+
id: r,
|
|
187
187
|
open: !0,
|
|
188
|
-
onOpenChange: (
|
|
189
|
-
|
|
188
|
+
onOpenChange: (n) => {
|
|
189
|
+
n || o();
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
}), {
|
|
193
|
-
id:
|
|
193
|
+
id: r,
|
|
194
194
|
dismiss: o,
|
|
195
|
-
update:
|
|
195
|
+
update: a
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
|
-
function
|
|
199
|
-
const [
|
|
200
|
-
return
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
}), [
|
|
204
|
-
...
|
|
205
|
-
toast:
|
|
206
|
-
dismiss: (
|
|
198
|
+
function ot() {
|
|
199
|
+
const [t, r] = i.useState(W);
|
|
200
|
+
return i.useEffect(() => (Y.push(r), () => {
|
|
201
|
+
const a = Y.indexOf(r);
|
|
202
|
+
a > -1 && Y.splice(a, 1);
|
|
203
|
+
}), [t]), {
|
|
204
|
+
...t,
|
|
205
|
+
toast: at,
|
|
206
|
+
dismiss: (a) => $({ type: "DISMISS_TOAST", toastId: a })
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
|
-
function
|
|
210
|
-
const { toasts:
|
|
211
|
-
return /* @__PURE__ */
|
|
212
|
-
|
|
213
|
-
return /* @__PURE__ */
|
|
214
|
-
/* @__PURE__ */
|
|
215
|
-
|
|
216
|
-
o && /* @__PURE__ */
|
|
209
|
+
function Aa() {
|
|
210
|
+
const { toasts: t } = ot();
|
|
211
|
+
return /* @__PURE__ */ c(Xe, { children: [
|
|
212
|
+
t.map(function({ id: r, title: a, description: o, action: n, ...l }) {
|
|
213
|
+
return /* @__PURE__ */ c(Se, { ...l, children: [
|
|
214
|
+
/* @__PURE__ */ c("div", { className: "grid gap-1", children: [
|
|
215
|
+
a && /* @__PURE__ */ e(Ie, { children: a }),
|
|
216
|
+
o && /* @__PURE__ */ e(Ce, { children: o })
|
|
217
217
|
] }),
|
|
218
|
-
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
-
] },
|
|
218
|
+
n,
|
|
219
|
+
/* @__PURE__ */ e(Re, {})
|
|
220
|
+
] }, r);
|
|
221
221
|
}),
|
|
222
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ e(ke, {})
|
|
223
223
|
] });
|
|
224
224
|
}
|
|
225
|
-
const
|
|
226
|
-
|
|
225
|
+
const Da = ({ theme: t = "dark", ...r }) => /* @__PURE__ */ e(
|
|
226
|
+
Ue,
|
|
227
227
|
{
|
|
228
|
-
theme:
|
|
228
|
+
theme: t,
|
|
229
229
|
className: "toaster group",
|
|
230
230
|
toastOptions: {
|
|
231
231
|
classNames: {
|
|
@@ -235,9 +235,9 @@ const cr = ({ theme: e = "dark", ...t }) => /* @__PURE__ */ a(
|
|
|
235
235
|
cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
|
|
236
236
|
}
|
|
237
237
|
},
|
|
238
|
-
...
|
|
238
|
+
...r
|
|
239
239
|
}
|
|
240
|
-
),
|
|
240
|
+
), le = T(
|
|
241
241
|
"inline-flex items-center justify-center gap-2 font-display font-bold uppercase tracking-[0.1em] transition-all duration-150 select-none whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-40",
|
|
242
242
|
{
|
|
243
243
|
variants: {
|
|
@@ -263,54 +263,54 @@ const cr = ({ theme: e = "dark", ...t }) => /* @__PURE__ */ a(
|
|
|
263
263
|
size: "md"
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
),
|
|
266
|
+
), nt = i.forwardRef(
|
|
267
267
|
({
|
|
268
|
-
className:
|
|
269
|
-
variant:
|
|
270
|
-
size:
|
|
268
|
+
className: t,
|
|
269
|
+
variant: r,
|
|
270
|
+
size: a,
|
|
271
271
|
asChild: o = !1,
|
|
272
|
-
loading:
|
|
273
|
-
disabled:
|
|
274
|
-
children:
|
|
275
|
-
type:
|
|
276
|
-
...
|
|
277
|
-
},
|
|
278
|
-
|
|
272
|
+
loading: n = !1,
|
|
273
|
+
disabled: l,
|
|
274
|
+
children: p,
|
|
275
|
+
type: d = "button",
|
|
276
|
+
...m
|
|
277
|
+
}, u) => o ? /* @__PURE__ */ e(
|
|
278
|
+
He,
|
|
279
279
|
{
|
|
280
|
-
ref:
|
|
281
|
-
className:
|
|
282
|
-
"aria-disabled":
|
|
283
|
-
...
|
|
284
|
-
children:
|
|
280
|
+
ref: u,
|
|
281
|
+
className: s(le({ variant: r, size: a }), t),
|
|
282
|
+
"aria-disabled": l || void 0,
|
|
283
|
+
...m,
|
|
284
|
+
children: p
|
|
285
285
|
}
|
|
286
|
-
) : /* @__PURE__ */
|
|
286
|
+
) : /* @__PURE__ */ c(
|
|
287
287
|
"button",
|
|
288
288
|
{
|
|
289
|
-
ref:
|
|
290
|
-
type:
|
|
291
|
-
className:
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
289
|
+
ref: u,
|
|
290
|
+
type: d,
|
|
291
|
+
className: s(
|
|
292
|
+
le({ variant: r, size: a }),
|
|
293
|
+
n && "pointer-events-none opacity-80",
|
|
294
|
+
t
|
|
295
295
|
),
|
|
296
|
-
disabled:
|
|
297
|
-
"aria-busy":
|
|
298
|
-
...
|
|
296
|
+
disabled: l || n,
|
|
297
|
+
"aria-busy": n || void 0,
|
|
298
|
+
...m,
|
|
299
299
|
children: [
|
|
300
|
-
|
|
300
|
+
n && /* @__PURE__ */ e(
|
|
301
301
|
"span",
|
|
302
302
|
{
|
|
303
303
|
className: "h-4 w-4 shrink-0 border-2 border-current clip-corner-sm animate-diamond-spin",
|
|
304
304
|
"aria-hidden": "true"
|
|
305
305
|
}
|
|
306
306
|
),
|
|
307
|
-
|
|
307
|
+
p
|
|
308
308
|
]
|
|
309
309
|
}
|
|
310
310
|
)
|
|
311
311
|
);
|
|
312
|
-
|
|
313
|
-
const
|
|
312
|
+
nt.displayName = "Button";
|
|
313
|
+
const st = T(
|
|
314
314
|
"inline-flex items-center gap-1.5 border px-2.5 py-0.5 font-mono text-[10px] font-semibold tracking-[0.12em] uppercase transition-colors",
|
|
315
315
|
{
|
|
316
316
|
variants: {
|
|
@@ -328,21 +328,21 @@ const Ae = h(
|
|
|
328
328
|
variant: "default"
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
-
),
|
|
332
|
-
({ className:
|
|
331
|
+
), it = i.forwardRef(
|
|
332
|
+
({ className: t, variant: r, removable: a, onRemove: o, children: n, ...l }, p) => /* @__PURE__ */ c(
|
|
333
333
|
"span",
|
|
334
334
|
{
|
|
335
|
-
ref:
|
|
336
|
-
className:
|
|
337
|
-
...
|
|
335
|
+
ref: p,
|
|
336
|
+
className: s(st({ variant: r }), a && "pr-1", t),
|
|
337
|
+
...l,
|
|
338
338
|
children: [
|
|
339
|
-
|
|
340
|
-
|
|
339
|
+
n,
|
|
340
|
+
a && /* @__PURE__ */ e(
|
|
341
341
|
"button",
|
|
342
342
|
{
|
|
343
343
|
type: "button",
|
|
344
|
-
onClick: (
|
|
345
|
-
|
|
344
|
+
onClick: (d) => {
|
|
345
|
+
d.stopPropagation(), o == null || o();
|
|
346
346
|
},
|
|
347
347
|
className: "ml-0.5 inline-flex items-center justify-center leading-none opacity-50 hover:opacity-100 transition-opacity focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-current",
|
|
348
348
|
"aria-label": "Remove",
|
|
@@ -354,11 +354,11 @@ const Ae = h(
|
|
|
354
354
|
}
|
|
355
355
|
)
|
|
356
356
|
);
|
|
357
|
-
|
|
358
|
-
const
|
|
357
|
+
it.displayName = "Badge";
|
|
358
|
+
const lt = "before:content-[''] before:absolute before:-top-px before:-left-px before:w-6 before:h-6 before:border-t-2 before:border-l-2 before:border-primary/40 before:pointer-events-none after:content-[''] after:absolute after:-bottom-px after:-right-px after:w-6 after:h-6 after:border-b-2 after:border-r-2 after:border-primary/40 after:pointer-events-none", dt = T(
|
|
359
359
|
[
|
|
360
360
|
"relative bg-surface-1 border border-border transition-all duration-300",
|
|
361
|
-
|
|
361
|
+
lt
|
|
362
362
|
].join(" "),
|
|
363
363
|
{
|
|
364
364
|
variants: {
|
|
@@ -383,74 +383,74 @@ const De = "before:content-[''] before:absolute before:-top-px before:-left-px b
|
|
|
383
383
|
selected: !1
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
-
),
|
|
387
|
-
({ className:
|
|
386
|
+
), ct = i.forwardRef(
|
|
387
|
+
({ className: t, hoverable: r, selected: a, ...o }, n) => /* @__PURE__ */ e(
|
|
388
388
|
"div",
|
|
389
389
|
{
|
|
390
|
-
ref:
|
|
391
|
-
className:
|
|
390
|
+
ref: n,
|
|
391
|
+
className: s(dt({ hoverable: r, selected: a }), t),
|
|
392
392
|
...o
|
|
393
393
|
}
|
|
394
394
|
)
|
|
395
395
|
);
|
|
396
|
-
|
|
397
|
-
const
|
|
396
|
+
ct.displayName = "Card";
|
|
397
|
+
const pt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
398
398
|
"div",
|
|
399
399
|
{
|
|
400
|
-
ref:
|
|
401
|
-
className:
|
|
402
|
-
...
|
|
400
|
+
ref: a,
|
|
401
|
+
className: s("flex items-start justify-between gap-4 p-5", t),
|
|
402
|
+
...r
|
|
403
403
|
}
|
|
404
404
|
));
|
|
405
|
-
|
|
406
|
-
const
|
|
405
|
+
pt.displayName = "CardHeader";
|
|
406
|
+
const mt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
407
407
|
"p",
|
|
408
408
|
{
|
|
409
|
-
ref:
|
|
410
|
-
className:
|
|
409
|
+
ref: a,
|
|
410
|
+
className: s(
|
|
411
411
|
"font-mono text-[10px] tracking-[0.15em] uppercase text-primary mb-2",
|
|
412
|
-
|
|
412
|
+
t
|
|
413
413
|
),
|
|
414
|
-
...
|
|
414
|
+
...r
|
|
415
415
|
}
|
|
416
416
|
));
|
|
417
|
-
|
|
418
|
-
const
|
|
417
|
+
mt.displayName = "CardMeta";
|
|
418
|
+
const ft = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
419
419
|
"h3",
|
|
420
420
|
{
|
|
421
|
-
ref:
|
|
422
|
-
className:
|
|
421
|
+
ref: a,
|
|
422
|
+
className: s(
|
|
423
423
|
"font-display text-sm font-bold tracking-[0.02em] uppercase text-foreground",
|
|
424
|
-
|
|
424
|
+
t
|
|
425
425
|
),
|
|
426
|
-
...
|
|
426
|
+
...r
|
|
427
427
|
}
|
|
428
428
|
));
|
|
429
|
-
|
|
430
|
-
const
|
|
429
|
+
ft.displayName = "CardTitle";
|
|
430
|
+
const ut = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
431
431
|
"p",
|
|
432
432
|
{
|
|
433
|
-
ref:
|
|
434
|
-
className:
|
|
435
|
-
...
|
|
433
|
+
ref: a,
|
|
434
|
+
className: s("text-sm text-muted-foreground leading-relaxed", t),
|
|
435
|
+
...r
|
|
436
436
|
}
|
|
437
437
|
));
|
|
438
|
-
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
const
|
|
438
|
+
ut.displayName = "CardDescription";
|
|
439
|
+
const xt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e("div", { ref: a, className: s("p-5", t), ...r }));
|
|
440
|
+
xt.displayName = "CardBody";
|
|
441
|
+
const gt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
442
442
|
"div",
|
|
443
443
|
{
|
|
444
|
-
ref:
|
|
445
|
-
className:
|
|
444
|
+
ref: a,
|
|
445
|
+
className: s(
|
|
446
446
|
"flex items-center gap-3 px-5 py-4 border-t border-border",
|
|
447
|
-
|
|
447
|
+
t
|
|
448
448
|
),
|
|
449
|
-
...
|
|
449
|
+
...r
|
|
450
450
|
}
|
|
451
451
|
));
|
|
452
|
-
|
|
453
|
-
const
|
|
452
|
+
gt.displayName = "CardFooter";
|
|
453
|
+
const ht = T(
|
|
454
454
|
"relative flex items-center border transition-all duration-150 bg-surface-1",
|
|
455
455
|
{
|
|
456
456
|
variants: {
|
|
@@ -478,78 +478,78 @@ const Le = h(
|
|
|
478
478
|
size: "md"
|
|
479
479
|
}
|
|
480
480
|
}
|
|
481
|
-
),
|
|
481
|
+
), bt = i.forwardRef(
|
|
482
482
|
({
|
|
483
|
-
className:
|
|
484
|
-
state:
|
|
485
|
-
size:
|
|
483
|
+
className: t,
|
|
484
|
+
state: r = "default",
|
|
485
|
+
size: a = "md",
|
|
486
486
|
leftElement: o,
|
|
487
|
-
rightElement:
|
|
488
|
-
disabled:
|
|
489
|
-
...
|
|
490
|
-
},
|
|
491
|
-
const
|
|
492
|
-
return /* @__PURE__ */
|
|
487
|
+
rightElement: n,
|
|
488
|
+
disabled: l,
|
|
489
|
+
...p
|
|
490
|
+
}, d) => {
|
|
491
|
+
const m = o || a === "sm" ? "pl-2" : "pl-3", u = n || a === "sm" ? "pr-2" : "pr-3";
|
|
492
|
+
return /* @__PURE__ */ c(
|
|
493
493
|
"div",
|
|
494
494
|
{
|
|
495
|
-
className:
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
495
|
+
className: s(
|
|
496
|
+
ht({ state: r, size: a }),
|
|
497
|
+
l && "opacity-40 cursor-not-allowed pointer-events-none bg-background",
|
|
498
|
+
t
|
|
499
499
|
),
|
|
500
500
|
children: [
|
|
501
|
-
o && /* @__PURE__ */
|
|
502
|
-
/* @__PURE__ */
|
|
501
|
+
o && /* @__PURE__ */ e("span", { className: "pl-3 flex-shrink-0 text-muted-foreground flex items-center", children: o }),
|
|
502
|
+
/* @__PURE__ */ e(
|
|
503
503
|
"input",
|
|
504
504
|
{
|
|
505
|
-
ref:
|
|
506
|
-
disabled:
|
|
507
|
-
className:
|
|
505
|
+
ref: d,
|
|
506
|
+
disabled: l,
|
|
507
|
+
className: s(
|
|
508
508
|
"h-full flex-1 min-w-0 bg-transparent text-foreground text-sm font-mono",
|
|
509
509
|
"placeholder:text-muted-foreground focus:outline-none",
|
|
510
|
-
|
|
511
|
-
|
|
510
|
+
m,
|
|
511
|
+
u
|
|
512
512
|
),
|
|
513
|
-
...
|
|
513
|
+
...p
|
|
514
514
|
}
|
|
515
515
|
),
|
|
516
|
-
|
|
516
|
+
n && /* @__PURE__ */ e("span", { className: "pr-3 flex-shrink-0 text-muted-foreground flex items-center", children: n })
|
|
517
517
|
]
|
|
518
518
|
}
|
|
519
519
|
);
|
|
520
520
|
}
|
|
521
521
|
);
|
|
522
|
-
|
|
523
|
-
const
|
|
522
|
+
bt.displayName = "Input";
|
|
523
|
+
const vt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
524
524
|
"label",
|
|
525
525
|
{
|
|
526
|
-
ref:
|
|
527
|
-
className:
|
|
526
|
+
ref: a,
|
|
527
|
+
className: s(
|
|
528
528
|
"font-display text-[11px] font-semibold uppercase tracking-widest text-muted-foreground",
|
|
529
|
-
|
|
529
|
+
t
|
|
530
530
|
),
|
|
531
|
-
...
|
|
531
|
+
...r
|
|
532
532
|
}
|
|
533
533
|
));
|
|
534
|
-
|
|
535
|
-
const
|
|
536
|
-
({ className:
|
|
534
|
+
vt.displayName = "Label";
|
|
535
|
+
const yt = i.forwardRef(
|
|
536
|
+
({ className: t, state: r = "default", ...a }, o) => /* @__PURE__ */ e(
|
|
537
537
|
"p",
|
|
538
538
|
{
|
|
539
539
|
ref: o,
|
|
540
|
-
className:
|
|
540
|
+
className: s(
|
|
541
541
|
"text-[12px] leading-tight",
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
542
|
+
r === "error" && "text-destructive",
|
|
543
|
+
r === "success" && "text-ef-green",
|
|
544
|
+
r === "default" && "text-muted-foreground",
|
|
545
|
+
t
|
|
546
546
|
),
|
|
547
|
-
...
|
|
547
|
+
...a
|
|
548
548
|
}
|
|
549
549
|
)
|
|
550
550
|
);
|
|
551
|
-
|
|
552
|
-
const
|
|
551
|
+
yt.displayName = "HelperText";
|
|
552
|
+
const Nt = T(
|
|
553
553
|
[
|
|
554
554
|
"w-full resize-y border bg-surface-1 text-foreground",
|
|
555
555
|
"placeholder:text-muted-foreground font-mono text-sm",
|
|
@@ -577,57 +577,57 @@ const Fe = h(
|
|
|
577
577
|
state: "default"
|
|
578
578
|
}
|
|
579
579
|
}
|
|
580
|
-
),
|
|
581
|
-
({ className:
|
|
582
|
-
const [
|
|
583
|
-
const
|
|
584
|
-
return String(
|
|
580
|
+
), wt = i.forwardRef(
|
|
581
|
+
({ className: t, state: r = "default", showCount: a, maxLength: o, onChange: n, ...l }, p) => {
|
|
582
|
+
const [d, m] = i.useState(() => {
|
|
583
|
+
const f = l.value ?? l.defaultValue ?? "";
|
|
584
|
+
return String(f).length;
|
|
585
585
|
});
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
}, [
|
|
589
|
-
const
|
|
590
|
-
return /* @__PURE__ */
|
|
591
|
-
/* @__PURE__ */
|
|
586
|
+
i.useEffect(() => {
|
|
587
|
+
l.value !== void 0 && m(String(l.value).length);
|
|
588
|
+
}, [l.value]);
|
|
589
|
+
const u = () => o !== void 0 && d > o ? "text-destructive" : o !== void 0 && d / o >= 0.8 ? "text-ef-orange" : "text-muted-foreground";
|
|
590
|
+
return /* @__PURE__ */ c("div", { className: "relative", children: [
|
|
591
|
+
/* @__PURE__ */ e(
|
|
592
592
|
"textarea",
|
|
593
593
|
{
|
|
594
|
-
ref:
|
|
594
|
+
ref: p,
|
|
595
595
|
maxLength: o,
|
|
596
|
-
onChange: (
|
|
597
|
-
f
|
|
596
|
+
onChange: (f) => {
|
|
597
|
+
m(f.target.value.length), n == null || n(f);
|
|
598
598
|
},
|
|
599
|
-
className:
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
599
|
+
className: s(
|
|
600
|
+
Nt({ state: r }),
|
|
601
|
+
a && "pb-7",
|
|
602
|
+
t
|
|
603
603
|
),
|
|
604
|
-
...
|
|
604
|
+
...l
|
|
605
605
|
}
|
|
606
606
|
),
|
|
607
|
-
|
|
607
|
+
a && /* @__PURE__ */ e(
|
|
608
608
|
"span",
|
|
609
609
|
{
|
|
610
|
-
className:
|
|
610
|
+
className: s(
|
|
611
611
|
"absolute bottom-2 right-3 font-mono text-[11px] pointer-events-none select-none",
|
|
612
|
-
|
|
612
|
+
u()
|
|
613
613
|
),
|
|
614
|
-
children: o !== void 0 ? `${
|
|
614
|
+
children: o !== void 0 ? `${d}/${o}` : d
|
|
615
615
|
}
|
|
616
616
|
)
|
|
617
617
|
] });
|
|
618
618
|
}
|
|
619
619
|
);
|
|
620
|
-
|
|
621
|
-
const
|
|
622
|
-
const
|
|
623
|
-
return /* @__PURE__ */
|
|
624
|
-
/* @__PURE__ */
|
|
625
|
-
/* @__PURE__ */
|
|
626
|
-
|
|
620
|
+
wt.displayName = "Textarea";
|
|
621
|
+
const Tt = i.forwardRef(({ className: t, label: r, helperText: a, id: o, ...n }, l) => {
|
|
622
|
+
const p = i.useId(), d = o ?? p;
|
|
623
|
+
return /* @__PURE__ */ c("div", { className: "flex flex-col gap-1.5", children: [
|
|
624
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
625
|
+
/* @__PURE__ */ e(
|
|
626
|
+
oe.Root,
|
|
627
627
|
{
|
|
628
|
-
ref:
|
|
629
|
-
id:
|
|
630
|
-
className:
|
|
628
|
+
ref: l,
|
|
629
|
+
id: d,
|
|
630
|
+
className: s(
|
|
631
631
|
"group peer h-[18px] w-[18px] shrink-0 border-2 border-white/25 bg-transparent",
|
|
632
632
|
"cursor-pointer transition-all duration-150",
|
|
633
633
|
"hover:border-primary/60",
|
|
@@ -635,96 +635,96 @@ const He = n.forwardRef(({ className: e, label: t, helperText: r, id: o, ...s },
|
|
|
635
635
|
"disabled:cursor-not-allowed disabled:opacity-40",
|
|
636
636
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary",
|
|
637
637
|
"data-[state=indeterminate]:bg-primary/50 data-[state=indeterminate]:border-primary",
|
|
638
|
-
|
|
638
|
+
t
|
|
639
639
|
),
|
|
640
|
-
...
|
|
641
|
-
children: /* @__PURE__ */
|
|
642
|
-
/* @__PURE__ */
|
|
643
|
-
/* @__PURE__ */
|
|
640
|
+
...n,
|
|
641
|
+
children: /* @__PURE__ */ c(oe.Indicator, { className: "flex items-center justify-center", children: [
|
|
642
|
+
/* @__PURE__ */ e("span", { className: "hidden group-data-[state=checked]:inline leading-none text-primary-foreground text-[10px] font-bold select-none", children: "◆" }),
|
|
643
|
+
/* @__PURE__ */ e("span", { className: "hidden group-data-[state=indeterminate]:inline leading-none text-primary-foreground text-sm font-bold select-none", children: "−" })
|
|
644
644
|
] })
|
|
645
645
|
}
|
|
646
646
|
),
|
|
647
|
-
|
|
647
|
+
r && /* @__PURE__ */ e(
|
|
648
648
|
"label",
|
|
649
649
|
{
|
|
650
|
-
htmlFor:
|
|
650
|
+
htmlFor: d,
|
|
651
651
|
className: "text-sm text-foreground cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-40 select-none leading-none",
|
|
652
|
-
children:
|
|
652
|
+
children: r
|
|
653
653
|
}
|
|
654
654
|
)
|
|
655
655
|
] }),
|
|
656
|
-
|
|
656
|
+
a && /* @__PURE__ */ e("p", { className: "text-[12px] text-muted-foreground pl-[30px]", children: a })
|
|
657
657
|
] });
|
|
658
658
|
});
|
|
659
|
-
|
|
660
|
-
const
|
|
661
|
-
|
|
659
|
+
Tt.displayName = "Checkbox";
|
|
660
|
+
const kt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
661
|
+
Te.Root,
|
|
662
662
|
{
|
|
663
|
-
ref:
|
|
664
|
-
className:
|
|
665
|
-
...
|
|
663
|
+
ref: a,
|
|
664
|
+
className: s("flex flex-col gap-3", t),
|
|
665
|
+
...r
|
|
666
666
|
}
|
|
667
667
|
));
|
|
668
|
-
|
|
669
|
-
const
|
|
670
|
-
const
|
|
671
|
-
return /* @__PURE__ */
|
|
672
|
-
/* @__PURE__ */
|
|
673
|
-
/* @__PURE__ */
|
|
674
|
-
|
|
668
|
+
kt.displayName = "RadioGroup";
|
|
669
|
+
const St = i.forwardRef(({ className: t, label: r, helperText: a, id: o, ...n }, l) => {
|
|
670
|
+
const p = i.useId(), d = o ?? p;
|
|
671
|
+
return /* @__PURE__ */ c("div", { className: "flex flex-col gap-1", children: [
|
|
672
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
673
|
+
/* @__PURE__ */ c(
|
|
674
|
+
Te.Item,
|
|
675
675
|
{
|
|
676
|
-
ref:
|
|
677
|
-
id:
|
|
678
|
-
className:
|
|
676
|
+
ref: l,
|
|
677
|
+
id: d,
|
|
678
|
+
className: s(
|
|
679
679
|
"group peer cursor-pointer shrink-0 flex items-center justify-center",
|
|
680
680
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
681
681
|
"disabled:cursor-not-allowed disabled:opacity-40",
|
|
682
|
-
|
|
682
|
+
t
|
|
683
683
|
),
|
|
684
|
-
...
|
|
684
|
+
...n,
|
|
685
685
|
children: [
|
|
686
|
-
/* @__PURE__ */
|
|
687
|
-
/* @__PURE__ */
|
|
686
|
+
/* @__PURE__ */ e("span", { className: "text-[18px] leading-none select-none transition-colors duration-150 group-data-[state=unchecked]:inline group-data-[state=checked]:hidden text-muted-foreground/50 group-hover:text-muted-foreground group-data-[disabled]:pointer-events-none", children: "◇" }),
|
|
687
|
+
/* @__PURE__ */ e("span", { className: "text-[18px] leading-none select-none transition-colors duration-150 group-data-[state=checked]:inline group-data-[state=unchecked]:hidden text-primary", children: "◆" })
|
|
688
688
|
]
|
|
689
689
|
}
|
|
690
690
|
),
|
|
691
|
-
|
|
691
|
+
r && /* @__PURE__ */ e(
|
|
692
692
|
"label",
|
|
693
693
|
{
|
|
694
|
-
htmlFor:
|
|
694
|
+
htmlFor: d,
|
|
695
695
|
className: "text-sm text-foreground cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-40 select-none leading-none",
|
|
696
|
-
children:
|
|
696
|
+
children: r
|
|
697
697
|
}
|
|
698
698
|
)
|
|
699
699
|
] }),
|
|
700
|
-
|
|
700
|
+
a && /* @__PURE__ */ e("p", { className: "text-[12px] text-muted-foreground pl-[30px]", children: a })
|
|
701
701
|
] });
|
|
702
702
|
});
|
|
703
|
-
|
|
704
|
-
const
|
|
705
|
-
const
|
|
706
|
-
return /* @__PURE__ */
|
|
707
|
-
(
|
|
708
|
-
/* @__PURE__ */
|
|
709
|
-
|
|
703
|
+
St.displayName = "RadioGroupItem";
|
|
704
|
+
const Rt = i.forwardRef(({ className: t, label: r, offLabel: a, onLabel: o, id: n, checked: l, ...p }, d) => {
|
|
705
|
+
const m = i.useId(), u = n ?? m;
|
|
706
|
+
return /* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
707
|
+
(a || o) && /* @__PURE__ */ e("span", { className: "text-[11px] font-mono uppercase tracking-widest text-muted-foreground select-none min-w-[32px] text-right", children: l ? o : a }),
|
|
708
|
+
/* @__PURE__ */ e(
|
|
709
|
+
ne.Root,
|
|
710
710
|
{
|
|
711
|
-
ref:
|
|
712
|
-
id:
|
|
713
|
-
checked:
|
|
714
|
-
className:
|
|
711
|
+
ref: d,
|
|
712
|
+
id: u,
|
|
713
|
+
checked: l,
|
|
714
|
+
className: s(
|
|
715
715
|
"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-none",
|
|
716
716
|
"border border-white/15 bg-white/10",
|
|
717
717
|
"transition-all duration-200",
|
|
718
718
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
719
719
|
"disabled:cursor-not-allowed disabled:opacity-40",
|
|
720
720
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary",
|
|
721
|
-
|
|
721
|
+
t
|
|
722
722
|
),
|
|
723
|
-
...
|
|
724
|
-
children: /* @__PURE__ */
|
|
725
|
-
|
|
723
|
+
...p,
|
|
724
|
+
children: /* @__PURE__ */ e(
|
|
725
|
+
ne.Thumb,
|
|
726
726
|
{
|
|
727
|
-
className:
|
|
727
|
+
className: s(
|
|
728
728
|
"pointer-events-none block h-5 w-5 bg-white shadow-sm ring-0",
|
|
729
729
|
"transition-transform duration-200",
|
|
730
730
|
"data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0.5"
|
|
@@ -733,28 +733,28 @@ const Ye = n.forwardRef(({ className: e, label: t, offLabel: r, onLabel: o, id:
|
|
|
733
733
|
)
|
|
734
734
|
}
|
|
735
735
|
),
|
|
736
|
-
|
|
736
|
+
r && /* @__PURE__ */ e(
|
|
737
737
|
"label",
|
|
738
738
|
{
|
|
739
|
-
htmlFor:
|
|
739
|
+
htmlFor: u,
|
|
740
740
|
className: "text-sm text-foreground cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-40 select-none",
|
|
741
|
-
children:
|
|
741
|
+
children: r
|
|
742
742
|
}
|
|
743
743
|
)
|
|
744
744
|
] });
|
|
745
745
|
});
|
|
746
|
-
|
|
747
|
-
const
|
|
748
|
-
|
|
749
|
-
const
|
|
750
|
-
|
|
751
|
-
const
|
|
752
|
-
|
|
753
|
-
const
|
|
754
|
-
|
|
746
|
+
Rt.displayName = "Switch";
|
|
747
|
+
const It = A.Root;
|
|
748
|
+
It.displayName = "Select";
|
|
749
|
+
const Ct = A.Group;
|
|
750
|
+
Ct.displayName = "SelectGroup";
|
|
751
|
+
const At = A.Value;
|
|
752
|
+
At.displayName = "SelectValue";
|
|
753
|
+
const Dt = i.forwardRef(({ className: t, children: r, ...a }, o) => /* @__PURE__ */ c(
|
|
754
|
+
A.Trigger,
|
|
755
755
|
{
|
|
756
756
|
ref: o,
|
|
757
|
-
className:
|
|
757
|
+
className: s(
|
|
758
758
|
"relative flex h-11 w-full items-center justify-between",
|
|
759
759
|
"border border-white/[0.12] bg-surface-1 px-3",
|
|
760
760
|
"font-mono text-sm text-foreground",
|
|
@@ -764,113 +764,113 @@ const Qe = n.forwardRef(({ className: e, children: t, ...r }, o) => /* @__PURE__
|
|
|
764
764
|
"disabled:cursor-not-allowed disabled:opacity-40 disabled:pointer-events-none",
|
|
765
765
|
"data-[placeholder]:text-muted-foreground",
|
|
766
766
|
"[&>span]:line-clamp-1",
|
|
767
|
-
|
|
767
|
+
t
|
|
768
768
|
),
|
|
769
|
-
...
|
|
769
|
+
...a,
|
|
770
770
|
children: [
|
|
771
|
-
|
|
772
|
-
/* @__PURE__ */
|
|
771
|
+
r,
|
|
772
|
+
/* @__PURE__ */ e(A.Icon, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "shrink-0 text-muted-foreground text-xs ml-2 select-none", children: "▾" }) })
|
|
773
773
|
]
|
|
774
774
|
}
|
|
775
775
|
));
|
|
776
|
-
|
|
777
|
-
const
|
|
778
|
-
|
|
776
|
+
Dt.displayName = "SelectTrigger";
|
|
777
|
+
const Ae = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
778
|
+
A.ScrollUpButton,
|
|
779
779
|
{
|
|
780
|
-
ref:
|
|
781
|
-
className:
|
|
780
|
+
ref: a,
|
|
781
|
+
className: s(
|
|
782
782
|
"flex cursor-default items-center justify-center py-1 text-muted-foreground text-xs",
|
|
783
|
-
|
|
783
|
+
t
|
|
784
784
|
),
|
|
785
|
-
...
|
|
785
|
+
...r,
|
|
786
786
|
children: "▴"
|
|
787
787
|
}
|
|
788
788
|
));
|
|
789
|
-
|
|
790
|
-
const
|
|
791
|
-
|
|
789
|
+
Ae.displayName = "SelectScrollUpButton";
|
|
790
|
+
const De = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
791
|
+
A.ScrollDownButton,
|
|
792
792
|
{
|
|
793
|
-
ref:
|
|
794
|
-
className:
|
|
793
|
+
ref: a,
|
|
794
|
+
className: s(
|
|
795
795
|
"flex cursor-default items-center justify-center py-1 text-muted-foreground text-xs",
|
|
796
|
-
|
|
796
|
+
t
|
|
797
797
|
),
|
|
798
|
-
...
|
|
798
|
+
...r,
|
|
799
799
|
children: "▾"
|
|
800
800
|
}
|
|
801
801
|
));
|
|
802
|
-
|
|
803
|
-
const
|
|
804
|
-
|
|
802
|
+
De.displayName = "SelectScrollDownButton";
|
|
803
|
+
const Et = i.forwardRef(({ className: t, children: r, position: a = "popper", ...o }, n) => /* @__PURE__ */ e(A.Portal, { children: /* @__PURE__ */ c(
|
|
804
|
+
A.Content,
|
|
805
805
|
{
|
|
806
|
-
ref:
|
|
807
|
-
className:
|
|
806
|
+
ref: n,
|
|
807
|
+
className: s(
|
|
808
808
|
"relative z-[var(--z-overlay,50)] min-w-[8rem] overflow-hidden",
|
|
809
809
|
"bg-surface-2 border border-white/10 shadow-lg",
|
|
810
810
|
"data-[state=open]:animate-fade-in-up",
|
|
811
811
|
"data-[state=closed]:animate-fade-in-up",
|
|
812
|
-
|
|
813
|
-
|
|
812
|
+
a === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",
|
|
813
|
+
t
|
|
814
814
|
),
|
|
815
|
-
position:
|
|
815
|
+
position: a,
|
|
816
816
|
...o,
|
|
817
817
|
children: [
|
|
818
|
-
/* @__PURE__ */
|
|
819
|
-
/* @__PURE__ */
|
|
820
|
-
|
|
818
|
+
/* @__PURE__ */ e(Ae, {}),
|
|
819
|
+
/* @__PURE__ */ e(
|
|
820
|
+
A.Viewport,
|
|
821
821
|
{
|
|
822
|
-
className:
|
|
822
|
+
className: s(
|
|
823
823
|
"p-1",
|
|
824
|
-
|
|
824
|
+
a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
825
825
|
),
|
|
826
|
-
children:
|
|
826
|
+
children: r
|
|
827
827
|
}
|
|
828
828
|
),
|
|
829
|
-
/* @__PURE__ */
|
|
829
|
+
/* @__PURE__ */ e(De, {})
|
|
830
830
|
]
|
|
831
831
|
}
|
|
832
832
|
) }));
|
|
833
|
-
|
|
834
|
-
const
|
|
835
|
-
|
|
833
|
+
Et.displayName = "SelectContent";
|
|
834
|
+
const _t = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
835
|
+
A.Label,
|
|
836
836
|
{
|
|
837
|
-
ref:
|
|
838
|
-
className:
|
|
837
|
+
ref: a,
|
|
838
|
+
className: s(
|
|
839
839
|
"font-mono text-[10px] uppercase tracking-widest text-muted-foreground/60 px-4 py-1.5",
|
|
840
|
-
|
|
840
|
+
t
|
|
841
841
|
),
|
|
842
|
-
...
|
|
842
|
+
...r
|
|
843
843
|
}
|
|
844
844
|
));
|
|
845
|
-
|
|
846
|
-
const
|
|
847
|
-
|
|
845
|
+
_t.displayName = "SelectLabel";
|
|
846
|
+
const Vt = i.forwardRef(({ className: t, children: r, danger: a, ...o }, n) => /* @__PURE__ */ e(
|
|
847
|
+
A.Item,
|
|
848
848
|
{
|
|
849
|
-
ref:
|
|
850
|
-
className:
|
|
849
|
+
ref: n,
|
|
850
|
+
className: s(
|
|
851
851
|
"relative flex w-full cursor-pointer select-none items-center px-4 py-2 text-sm text-muted-foreground",
|
|
852
852
|
"outline-none transition-colors duration-100",
|
|
853
853
|
"focus:bg-primary/6 focus:text-primary",
|
|
854
854
|
"data-[state=checked]:text-primary data-[state=checked]:font-medium",
|
|
855
855
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-40",
|
|
856
|
-
|
|
857
|
-
|
|
856
|
+
a ? "hover:bg-destructive/6 hover:text-destructive focus:bg-destructive/6 focus:text-destructive" : "hover:bg-primary/6 hover:text-primary",
|
|
857
|
+
t
|
|
858
858
|
),
|
|
859
859
|
...o,
|
|
860
|
-
children: /* @__PURE__ */
|
|
860
|
+
children: /* @__PURE__ */ e(A.ItemText, { children: r })
|
|
861
861
|
}
|
|
862
862
|
));
|
|
863
|
-
|
|
864
|
-
const
|
|
865
|
-
|
|
863
|
+
Vt.displayName = "SelectItem";
|
|
864
|
+
const Ot = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
865
|
+
A.Separator,
|
|
866
866
|
{
|
|
867
|
-
ref:
|
|
868
|
-
className:
|
|
869
|
-
...
|
|
867
|
+
ref: a,
|
|
868
|
+
className: s("my-1 h-px bg-white/8", t),
|
|
869
|
+
...r
|
|
870
870
|
}
|
|
871
871
|
));
|
|
872
|
-
|
|
873
|
-
const
|
|
872
|
+
Ot.displayName = "SelectSeparator";
|
|
873
|
+
const Mt = T(
|
|
874
874
|
"relative inline-flex shrink-0 overflow-hidden clip-corner-sm",
|
|
875
875
|
{
|
|
876
876
|
variants: {
|
|
@@ -885,57 +885,57 @@ const rt = h(
|
|
|
885
885
|
},
|
|
886
886
|
defaultVariants: { size: "md" }
|
|
887
887
|
}
|
|
888
|
-
),
|
|
888
|
+
), Pt = {
|
|
889
889
|
online: "text-ef-green",
|
|
890
890
|
offline: "text-muted-foreground/50",
|
|
891
891
|
busy: "text-destructive",
|
|
892
892
|
away: "text-ef-orange"
|
|
893
|
-
},
|
|
894
|
-
/* @__PURE__ */
|
|
895
|
-
|
|
893
|
+
}, Lt = i.forwardRef(({ className: t, size: r, status: a, ...o }, n) => /* @__PURE__ */ c("div", { className: "relative inline-flex shrink-0", children: [
|
|
894
|
+
/* @__PURE__ */ e(
|
|
895
|
+
re.Root,
|
|
896
896
|
{
|
|
897
|
-
ref:
|
|
898
|
-
className:
|
|
897
|
+
ref: n,
|
|
898
|
+
className: s(Mt({ size: r }), t),
|
|
899
899
|
...o
|
|
900
900
|
}
|
|
901
901
|
),
|
|
902
|
-
|
|
902
|
+
a && /* @__PURE__ */ e(
|
|
903
903
|
"span",
|
|
904
904
|
{
|
|
905
|
-
className:
|
|
905
|
+
className: s(
|
|
906
906
|
"absolute -bottom-0.5 -right-0.5 text-[10px] leading-none select-none",
|
|
907
|
-
|
|
907
|
+
Pt[a]
|
|
908
908
|
),
|
|
909
|
-
"aria-label":
|
|
909
|
+
"aria-label": a,
|
|
910
910
|
children: "◆"
|
|
911
911
|
}
|
|
912
912
|
)
|
|
913
913
|
] }));
|
|
914
|
-
|
|
915
|
-
const
|
|
916
|
-
|
|
914
|
+
Lt.displayName = "Avatar";
|
|
915
|
+
const $t = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
916
|
+
re.Image,
|
|
917
917
|
{
|
|
918
|
-
ref:
|
|
919
|
-
className:
|
|
920
|
-
...
|
|
918
|
+
ref: a,
|
|
919
|
+
className: s("aspect-square h-full w-full object-cover", t),
|
|
920
|
+
...r
|
|
921
921
|
}
|
|
922
922
|
));
|
|
923
|
-
|
|
924
|
-
const
|
|
925
|
-
|
|
923
|
+
$t.displayName = "AvatarImage";
|
|
924
|
+
const Ft = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
925
|
+
re.Fallback,
|
|
926
926
|
{
|
|
927
|
-
ref:
|
|
928
|
-
className:
|
|
927
|
+
ref: a,
|
|
928
|
+
className: s(
|
|
929
929
|
"flex h-full w-full items-center justify-center",
|
|
930
930
|
"bg-surface-2 font-display text-muted-foreground uppercase text-center",
|
|
931
931
|
"text-[clamp(8px,35%,28px)]",
|
|
932
|
-
|
|
932
|
+
t
|
|
933
933
|
),
|
|
934
|
-
...
|
|
934
|
+
...r
|
|
935
935
|
}
|
|
936
936
|
));
|
|
937
|
-
|
|
938
|
-
const
|
|
937
|
+
Ft.displayName = "AvatarFallback";
|
|
938
|
+
const Bt = T(
|
|
939
939
|
"relative w-full overflow-hidden bg-white/8",
|
|
940
940
|
{
|
|
941
941
|
variants: {
|
|
@@ -947,7 +947,7 @@ const it = h(
|
|
|
947
947
|
},
|
|
948
948
|
defaultVariants: { size: "md" }
|
|
949
949
|
}
|
|
950
|
-
),
|
|
950
|
+
), jt = T(
|
|
951
951
|
"h-full w-full flex-1 transition-all duration-500 ease-smooth origin-left",
|
|
952
952
|
{
|
|
953
953
|
variants: {
|
|
@@ -960,65 +960,65 @@ const it = h(
|
|
|
960
960
|
},
|
|
961
961
|
defaultVariants: { variant: "default" }
|
|
962
962
|
}
|
|
963
|
-
),
|
|
964
|
-
const
|
|
965
|
-
return /* @__PURE__ */
|
|
966
|
-
|
|
967
|
-
|
|
963
|
+
), zt = i.forwardRef(({ className: t, value: r, showLabel: a, size: o, variant: n, ...l }, p) => {
|
|
964
|
+
const d = r == null, m = d ? void 0 : Math.min(100, Math.max(0, r));
|
|
965
|
+
return /* @__PURE__ */ c("div", { className: "w-full space-y-1", children: [
|
|
966
|
+
a && !d && /* @__PURE__ */ e("div", { className: "flex justify-end", children: /* @__PURE__ */ c("span", { className: "font-mono text-[11px] text-muted-foreground", children: [
|
|
967
|
+
m,
|
|
968
968
|
"%"
|
|
969
969
|
] }) }),
|
|
970
|
-
/* @__PURE__ */
|
|
971
|
-
|
|
970
|
+
/* @__PURE__ */ e(
|
|
971
|
+
se.Root,
|
|
972
972
|
{
|
|
973
|
-
ref:
|
|
974
|
-
className:
|
|
975
|
-
value:
|
|
976
|
-
...
|
|
977
|
-
children: /* @__PURE__ */
|
|
978
|
-
|
|
973
|
+
ref: p,
|
|
974
|
+
className: s(Bt({ size: o }), t),
|
|
975
|
+
value: m,
|
|
976
|
+
...l,
|
|
977
|
+
children: /* @__PURE__ */ e(
|
|
978
|
+
se.Indicator,
|
|
979
979
|
{
|
|
980
|
-
className:
|
|
981
|
-
|
|
980
|
+
className: s(
|
|
981
|
+
d ? "h-full animate-skeleton" : jt({ variant: n })
|
|
982
982
|
),
|
|
983
|
-
style:
|
|
983
|
+
style: d ? void 0 : { transform: `translateX(-${100 - (m ?? 0)}%)` }
|
|
984
984
|
}
|
|
985
985
|
)
|
|
986
986
|
}
|
|
987
987
|
)
|
|
988
988
|
] });
|
|
989
989
|
});
|
|
990
|
-
|
|
991
|
-
const
|
|
992
|
-
|
|
993
|
-
const
|
|
994
|
-
|
|
990
|
+
zt.displayName = "Progress";
|
|
991
|
+
const Gt = B.Root;
|
|
992
|
+
Gt.displayName = "Accordion";
|
|
993
|
+
const Ut = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
994
|
+
B.Item,
|
|
995
995
|
{
|
|
996
|
-
ref:
|
|
997
|
-
className:
|
|
998
|
-
...
|
|
996
|
+
ref: a,
|
|
997
|
+
className: s("border border-white/6", t),
|
|
998
|
+
...r
|
|
999
999
|
}
|
|
1000
1000
|
));
|
|
1001
|
-
|
|
1002
|
-
const
|
|
1003
|
-
|
|
1001
|
+
Ut.displayName = "AccordionItem";
|
|
1002
|
+
const Ht = i.forwardRef(({ className: t, children: r, ...a }, o) => /* @__PURE__ */ e(B.Header, { className: "flex", children: /* @__PURE__ */ c(
|
|
1003
|
+
B.Trigger,
|
|
1004
1004
|
{
|
|
1005
1005
|
ref: o,
|
|
1006
|
-
className:
|
|
1006
|
+
className: s(
|
|
1007
1007
|
"group flex flex-1 items-center justify-between px-4 py-3",
|
|
1008
1008
|
"font-display text-[13px] font-semibold uppercase tracking-wider text-foreground",
|
|
1009
1009
|
"transition-all duration-200",
|
|
1010
1010
|
"hover:text-primary hover:bg-white/[0.02]",
|
|
1011
1011
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset",
|
|
1012
1012
|
"disabled:cursor-not-allowed disabled:opacity-40",
|
|
1013
|
-
|
|
1013
|
+
t
|
|
1014
1014
|
),
|
|
1015
|
-
...
|
|
1015
|
+
...a,
|
|
1016
1016
|
children: [
|
|
1017
|
-
|
|
1018
|
-
/* @__PURE__ */
|
|
1017
|
+
r,
|
|
1018
|
+
/* @__PURE__ */ e(
|
|
1019
1019
|
"span",
|
|
1020
1020
|
{
|
|
1021
|
-
className:
|
|
1021
|
+
className: s(
|
|
1022
1022
|
"font-mono text-base leading-none select-none shrink-0 ml-2",
|
|
1023
1023
|
"text-muted-foreground transition-colors duration-200",
|
|
1024
1024
|
"group-hover:text-primary",
|
|
@@ -1028,10 +1028,10 @@ const ft = n.forwardRef(({ className: e, children: t, ...r }, o) => /* @__PURE__
|
|
|
1028
1028
|
children: "+"
|
|
1029
1029
|
}
|
|
1030
1030
|
),
|
|
1031
|
-
/* @__PURE__ */
|
|
1031
|
+
/* @__PURE__ */ e(
|
|
1032
1032
|
"span",
|
|
1033
1033
|
{
|
|
1034
|
-
className:
|
|
1034
|
+
className: s(
|
|
1035
1035
|
"font-mono text-base leading-none select-none shrink-0 ml-2",
|
|
1036
1036
|
"text-primary transition-colors duration-200",
|
|
1037
1037
|
"group-data-[state=open]:inline group-data-[state=closed]:hidden"
|
|
@@ -1043,38 +1043,38 @@ const ft = n.forwardRef(({ className: e, children: t, ...r }, o) => /* @__PURE__
|
|
|
1043
1043
|
]
|
|
1044
1044
|
}
|
|
1045
1045
|
) }));
|
|
1046
|
-
|
|
1047
|
-
const
|
|
1048
|
-
|
|
1046
|
+
Ht.displayName = "AccordionTrigger";
|
|
1047
|
+
const Yt = i.forwardRef(({ className: t, children: r, ...a }, o) => /* @__PURE__ */ e(
|
|
1048
|
+
B.Content,
|
|
1049
1049
|
{
|
|
1050
1050
|
ref: o,
|
|
1051
1051
|
className: "overflow-hidden data-[state=open]:animate-accordion-down data-[state=closed]:animate-accordion-up",
|
|
1052
|
-
...
|
|
1053
|
-
children: /* @__PURE__ */
|
|
1052
|
+
...a,
|
|
1053
|
+
children: /* @__PURE__ */ e("div", { className: s("px-4 pb-4 pt-1 text-sm text-muted-foreground", t), children: r })
|
|
1054
1054
|
}
|
|
1055
1055
|
));
|
|
1056
|
-
|
|
1057
|
-
const
|
|
1058
|
-
|
|
1059
|
-
const
|
|
1056
|
+
Yt.displayName = "AccordionContent";
|
|
1057
|
+
const Wt = q.Root;
|
|
1058
|
+
Wt.displayName = "Tabs";
|
|
1059
|
+
const qt = T("flex items-center overflow-x-auto", {
|
|
1060
1060
|
variants: {
|
|
1061
1061
|
variant: {
|
|
1062
|
-
underline: "border-b border-white/10 gap-0",
|
|
1063
|
-
pill: "gap-1 bg-surface-1 p-1",
|
|
1064
|
-
bordered: "border border-white/10 gap-0"
|
|
1062
|
+
underline: "border-b border-white/10 gap-0 w-full",
|
|
1063
|
+
pill: "gap-1 bg-surface-1 p-1 w-fit",
|
|
1064
|
+
bordered: "border border-white/10 gap-0 w-full"
|
|
1065
1065
|
}
|
|
1066
1066
|
},
|
|
1067
1067
|
defaultVariants: { variant: "underline" }
|
|
1068
|
-
}),
|
|
1069
|
-
|
|
1068
|
+
}), Kt = i.forwardRef(({ className: t, variant: r, ...a }, o) => /* @__PURE__ */ e(
|
|
1069
|
+
q.List,
|
|
1070
1070
|
{
|
|
1071
1071
|
ref: o,
|
|
1072
|
-
className:
|
|
1073
|
-
...
|
|
1072
|
+
className: s(qt({ variant: r }), t),
|
|
1073
|
+
...a
|
|
1074
1074
|
}
|
|
1075
1075
|
));
|
|
1076
|
-
|
|
1077
|
-
const
|
|
1076
|
+
Kt.displayName = "TabsList";
|
|
1077
|
+
const Xt = T(
|
|
1078
1078
|
[
|
|
1079
1079
|
"font-display text-[13px] font-semibold uppercase tracking-wider",
|
|
1080
1080
|
"transition-all duration-150 cursor-pointer",
|
|
@@ -1103,80 +1103,80 @@ const xt = h(
|
|
|
1103
1103
|
},
|
|
1104
1104
|
defaultVariants: { variant: "underline" }
|
|
1105
1105
|
}
|
|
1106
|
-
),
|
|
1107
|
-
|
|
1106
|
+
), Zt = i.forwardRef(({ className: t, variant: r, ...a }, o) => /* @__PURE__ */ e(
|
|
1107
|
+
q.Trigger,
|
|
1108
1108
|
{
|
|
1109
1109
|
ref: o,
|
|
1110
|
-
className:
|
|
1111
|
-
...
|
|
1110
|
+
className: s(Xt({ variant: r }), t),
|
|
1111
|
+
...a
|
|
1112
1112
|
}
|
|
1113
1113
|
));
|
|
1114
|
-
|
|
1115
|
-
const
|
|
1116
|
-
|
|
1114
|
+
Zt.displayName = "TabsTrigger";
|
|
1115
|
+
const Qt = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
1116
|
+
q.Content,
|
|
1117
1117
|
{
|
|
1118
|
-
ref:
|
|
1119
|
-
className:
|
|
1118
|
+
ref: a,
|
|
1119
|
+
className: s(
|
|
1120
1120
|
"mt-4 text-sm text-muted-foreground",
|
|
1121
1121
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
1122
|
-
|
|
1122
|
+
t
|
|
1123
1123
|
),
|
|
1124
|
-
...
|
|
1124
|
+
...r
|
|
1125
1125
|
}
|
|
1126
1126
|
));
|
|
1127
|
-
|
|
1128
|
-
const
|
|
1129
|
-
|
|
1130
|
-
const
|
|
1131
|
-
|
|
1132
|
-
const
|
|
1133
|
-
|
|
1134
|
-
const
|
|
1135
|
-
|
|
1127
|
+
Qt.displayName = "TabsContent";
|
|
1128
|
+
const Jt = j.Root;
|
|
1129
|
+
Jt.displayName = "Popover";
|
|
1130
|
+
const er = j.Trigger;
|
|
1131
|
+
er.displayName = "PopoverTrigger";
|
|
1132
|
+
const tr = j.Anchor;
|
|
1133
|
+
tr.displayName = "PopoverAnchor";
|
|
1134
|
+
const rr = i.forwardRef(({ className: t, align: r = "center", sideOffset: a = 6, ...o }, n) => /* @__PURE__ */ e(j.Portal, { children: /* @__PURE__ */ e(
|
|
1135
|
+
j.Content,
|
|
1136
1136
|
{
|
|
1137
|
-
ref:
|
|
1138
|
-
align:
|
|
1139
|
-
sideOffset:
|
|
1140
|
-
className:
|
|
1137
|
+
ref: n,
|
|
1138
|
+
align: r,
|
|
1139
|
+
sideOffset: a,
|
|
1140
|
+
className: s(
|
|
1141
1141
|
"z-50 min-w-[200px]",
|
|
1142
1142
|
"bg-surface-2 border border-white/10 shadow-lg",
|
|
1143
1143
|
"p-4",
|
|
1144
1144
|
"data-[state=open]:animate-fade-in-up",
|
|
1145
1145
|
"data-[state=closed]:animate-fade-in-up",
|
|
1146
1146
|
"focus:outline-none",
|
|
1147
|
-
|
|
1147
|
+
t
|
|
1148
1148
|
),
|
|
1149
1149
|
...o
|
|
1150
1150
|
}
|
|
1151
1151
|
) }));
|
|
1152
|
-
|
|
1153
|
-
const
|
|
1154
|
-
|
|
1155
|
-
const
|
|
1156
|
-
|
|
1157
|
-
const
|
|
1158
|
-
|
|
1159
|
-
const
|
|
1160
|
-
|
|
1161
|
-
const
|
|
1162
|
-
|
|
1152
|
+
rr.displayName = "PopoverContent";
|
|
1153
|
+
const ar = P.Root;
|
|
1154
|
+
ar.displayName = "Dialog";
|
|
1155
|
+
const or = P.Trigger;
|
|
1156
|
+
or.displayName = "DialogTrigger";
|
|
1157
|
+
const Ee = P.Portal;
|
|
1158
|
+
Ee.displayName = "DialogPortal";
|
|
1159
|
+
const nr = P.Close;
|
|
1160
|
+
nr.displayName = "DialogClose";
|
|
1161
|
+
const _e = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
1162
|
+
P.Overlay,
|
|
1163
1163
|
{
|
|
1164
|
-
ref:
|
|
1165
|
-
className:
|
|
1164
|
+
ref: a,
|
|
1165
|
+
className: s(
|
|
1166
1166
|
"fixed inset-0 z-50 bg-black/75 backdrop-blur-sm",
|
|
1167
1167
|
"data-[state=open]:animate-fade-in-up",
|
|
1168
|
-
|
|
1168
|
+
t
|
|
1169
1169
|
),
|
|
1170
|
-
...
|
|
1170
|
+
...r
|
|
1171
1171
|
}
|
|
1172
1172
|
));
|
|
1173
|
-
|
|
1174
|
-
const
|
|
1173
|
+
_e.displayName = "DialogOverlay";
|
|
1174
|
+
const sr = T(
|
|
1175
1175
|
[
|
|
1176
1176
|
"fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2",
|
|
1177
1177
|
"bg-surface-2 border border-white/10 shadow-xl",
|
|
1178
|
-
"flex flex-col",
|
|
1179
|
-
"data-[state=open]:animate-
|
|
1178
|
+
"flex flex-col max-h-[90vh]",
|
|
1179
|
+
"data-[state=open]:animate-dialog-in",
|
|
1180
1180
|
"focus:outline-none"
|
|
1181
1181
|
],
|
|
1182
1182
|
{
|
|
@@ -1191,73 +1191,73 @@ const At = h(
|
|
|
1191
1191
|
},
|
|
1192
1192
|
defaultVariants: { size: "md" }
|
|
1193
1193
|
}
|
|
1194
|
-
),
|
|
1195
|
-
/* @__PURE__ */
|
|
1196
|
-
/* @__PURE__ */
|
|
1197
|
-
|
|
1194
|
+
), ir = i.forwardRef(({ className: t, size: r, children: a, ...o }, n) => /* @__PURE__ */ c(Ee, { children: [
|
|
1195
|
+
/* @__PURE__ */ e(_e, {}),
|
|
1196
|
+
/* @__PURE__ */ e(
|
|
1197
|
+
P.Content,
|
|
1198
1198
|
{
|
|
1199
|
-
ref:
|
|
1200
|
-
className:
|
|
1199
|
+
ref: n,
|
|
1200
|
+
className: s(sr({ size: r }), t),
|
|
1201
1201
|
...o,
|
|
1202
|
-
children:
|
|
1202
|
+
children: a
|
|
1203
1203
|
}
|
|
1204
1204
|
)
|
|
1205
1205
|
] }));
|
|
1206
|
-
|
|
1207
|
-
function
|
|
1208
|
-
className:
|
|
1209
|
-
...
|
|
1206
|
+
ir.displayName = "DialogContent";
|
|
1207
|
+
function lr({
|
|
1208
|
+
className: t,
|
|
1209
|
+
...r
|
|
1210
1210
|
}) {
|
|
1211
|
-
return /* @__PURE__ */
|
|
1211
|
+
return /* @__PURE__ */ e(
|
|
1212
1212
|
"div",
|
|
1213
1213
|
{
|
|
1214
|
-
className:
|
|
1214
|
+
className: s(
|
|
1215
1215
|
"flex shrink-0 items-center justify-between border-b border-white/8 px-6 py-4",
|
|
1216
|
-
|
|
1216
|
+
t
|
|
1217
1217
|
),
|
|
1218
|
-
...
|
|
1218
|
+
...r
|
|
1219
1219
|
}
|
|
1220
1220
|
);
|
|
1221
1221
|
}
|
|
1222
|
-
|
|
1223
|
-
function
|
|
1224
|
-
className:
|
|
1225
|
-
...
|
|
1222
|
+
lr.displayName = "DialogHeader";
|
|
1223
|
+
function dr({
|
|
1224
|
+
className: t,
|
|
1225
|
+
...r
|
|
1226
1226
|
}) {
|
|
1227
|
-
return /* @__PURE__ */
|
|
1227
|
+
return /* @__PURE__ */ e(
|
|
1228
1228
|
"div",
|
|
1229
1229
|
{
|
|
1230
|
-
className:
|
|
1230
|
+
className: s(
|
|
1231
1231
|
"flex shrink-0 items-center justify-end gap-3 border-t border-white/8 px-6 py-4",
|
|
1232
|
-
|
|
1232
|
+
t
|
|
1233
1233
|
),
|
|
1234
|
-
...
|
|
1234
|
+
...r
|
|
1235
1235
|
}
|
|
1236
1236
|
);
|
|
1237
1237
|
}
|
|
1238
|
-
|
|
1239
|
-
const
|
|
1240
|
-
|
|
1238
|
+
dr.displayName = "DialogFooter";
|
|
1239
|
+
const cr = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
1240
|
+
P.Title,
|
|
1241
1241
|
{
|
|
1242
|
-
ref:
|
|
1243
|
-
className:
|
|
1242
|
+
ref: a,
|
|
1243
|
+
className: s(
|
|
1244
1244
|
"font-display text-base font-semibold uppercase tracking-wider text-foreground",
|
|
1245
|
-
|
|
1245
|
+
t
|
|
1246
1246
|
),
|
|
1247
|
-
...
|
|
1247
|
+
...r
|
|
1248
1248
|
}
|
|
1249
1249
|
));
|
|
1250
|
-
|
|
1251
|
-
const
|
|
1252
|
-
|
|
1250
|
+
cr.displayName = "DialogTitle";
|
|
1251
|
+
const pr = i.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ e(
|
|
1252
|
+
P.Description,
|
|
1253
1253
|
{
|
|
1254
|
-
ref:
|
|
1255
|
-
className:
|
|
1256
|
-
...
|
|
1254
|
+
ref: a,
|
|
1255
|
+
className: s("flex-1 overflow-y-auto px-6 py-4 text-sm text-muted-foreground", t),
|
|
1256
|
+
...r
|
|
1257
1257
|
}
|
|
1258
1258
|
));
|
|
1259
|
-
|
|
1260
|
-
const
|
|
1259
|
+
pr.displayName = "DialogDescription";
|
|
1260
|
+
const mr = T("shrink-0", {
|
|
1261
1261
|
variants: {
|
|
1262
1262
|
variant: {
|
|
1263
1263
|
default: "bg-white/10",
|
|
@@ -1275,229 +1275,243 @@ const _t = h("shrink-0", {
|
|
|
1275
1275
|
variant: "default",
|
|
1276
1276
|
orientation: "horizontal"
|
|
1277
1277
|
}
|
|
1278
|
-
}),
|
|
1279
|
-
const
|
|
1280
|
-
return /* @__PURE__ */
|
|
1281
|
-
|
|
1278
|
+
}), fr = i.forwardRef(({ className: t, orientation: r = "horizontal", variant: a, decorative: o = !0, ...n }, l) => {
|
|
1279
|
+
const p = r ?? "horizontal";
|
|
1280
|
+
return /* @__PURE__ */ e(
|
|
1281
|
+
Ye.Root,
|
|
1282
1282
|
{
|
|
1283
|
-
ref:
|
|
1283
|
+
ref: l,
|
|
1284
1284
|
decorative: o,
|
|
1285
|
-
orientation:
|
|
1286
|
-
className:
|
|
1287
|
-
|
|
1288
|
-
|
|
1285
|
+
orientation: p,
|
|
1286
|
+
className: s(
|
|
1287
|
+
mr({ variant: a, orientation: p }),
|
|
1288
|
+
t
|
|
1289
1289
|
),
|
|
1290
|
-
...
|
|
1290
|
+
...n
|
|
1291
1291
|
}
|
|
1292
1292
|
);
|
|
1293
1293
|
});
|
|
1294
|
-
|
|
1295
|
-
const
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
"
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1294
|
+
fr.displayName = "Separator";
|
|
1295
|
+
const ur = T("animate-skeleton rounded-none", {
|
|
1296
|
+
variants: {
|
|
1297
|
+
width: {
|
|
1298
|
+
full: "w-full",
|
|
1299
|
+
"3/4": "w-3/4",
|
|
1300
|
+
"1/2": "w-1/2",
|
|
1301
|
+
"1/3": "w-1/3",
|
|
1302
|
+
"1/4": "w-1/4"
|
|
1303
|
+
},
|
|
1304
|
+
height: {
|
|
1305
|
+
xs: "h-2",
|
|
1306
|
+
sm: "h-3",
|
|
1307
|
+
md: "h-4",
|
|
1308
|
+
lg: "h-6"
|
|
1309
|
+
}
|
|
1310
|
+
},
|
|
1311
|
+
defaultVariants: { width: "full", height: "md" }
|
|
1312
|
+
}), F = i.forwardRef(
|
|
1313
|
+
({ className: t, width: r, height: a, ...o }, n) => /* @__PURE__ */ e(
|
|
1314
|
+
"div",
|
|
1315
|
+
{
|
|
1316
|
+
ref: n,
|
|
1317
|
+
className: s(ur({ width: r, height: a }), t),
|
|
1318
|
+
"aria-hidden": "true",
|
|
1319
|
+
...o
|
|
1320
|
+
}
|
|
1321
|
+
)
|
|
1322
|
+
);
|
|
1323
|
+
F.displayName = "SkeletonLine";
|
|
1324
|
+
const Ve = i.forwardRef(
|
|
1325
|
+
({ lines: t = 3, className: r, ...a }, o) => {
|
|
1326
|
+
const n = ["full", "3/4", "full", "1/2", "3/4"];
|
|
1327
|
+
return /* @__PURE__ */ e(
|
|
1328
|
+
"div",
|
|
1312
1329
|
{
|
|
1313
|
-
|
|
1314
|
-
className: "
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1330
|
+
ref: o,
|
|
1331
|
+
className: s("space-y-2", r),
|
|
1332
|
+
"aria-hidden": "true",
|
|
1333
|
+
...a,
|
|
1334
|
+
children: Array.from({ length: t }).map((l, p) => /* @__PURE__ */ e(
|
|
1335
|
+
F,
|
|
1336
|
+
{
|
|
1337
|
+
width: n[p % n.length],
|
|
1338
|
+
height: "sm"
|
|
1339
|
+
},
|
|
1340
|
+
p
|
|
1341
|
+
))
|
|
1321
1342
|
}
|
|
1322
|
-
)
|
|
1323
|
-
|
|
1343
|
+
);
|
|
1344
|
+
}
|
|
1324
1345
|
);
|
|
1325
|
-
|
|
1326
|
-
const
|
|
1327
|
-
|
|
1328
|
-
|
|
1346
|
+
Ve.displayName = "SkeletonText";
|
|
1347
|
+
const xr = {
|
|
1348
|
+
xs: "w-6 h-6",
|
|
1349
|
+
sm: "w-8 h-8",
|
|
1350
|
+
md: "w-10 h-10",
|
|
1351
|
+
lg: "w-14 h-14",
|
|
1352
|
+
xl: "w-20 h-20"
|
|
1353
|
+
}, Oe = i.forwardRef(
|
|
1354
|
+
({ size: t = "md", className: r, ...a }, o) => /* @__PURE__ */ e(
|
|
1329
1355
|
"div",
|
|
1330
1356
|
{
|
|
1331
1357
|
ref: o,
|
|
1332
|
-
className:
|
|
1358
|
+
className: s(
|
|
1359
|
+
"animate-skeleton clip-corner-sm shrink-0",
|
|
1360
|
+
xr[t],
|
|
1361
|
+
r
|
|
1362
|
+
),
|
|
1363
|
+
"aria-hidden": "true",
|
|
1364
|
+
...a
|
|
1365
|
+
}
|
|
1366
|
+
)
|
|
1367
|
+
);
|
|
1368
|
+
Oe.displayName = "SkeletonAvatar";
|
|
1369
|
+
const gr = i.forwardRef(
|
|
1370
|
+
({ showAvatar: t = !1, lines: r = 3, className: a, ...o }, n) => /* @__PURE__ */ c(
|
|
1371
|
+
"div",
|
|
1372
|
+
{
|
|
1373
|
+
ref: n,
|
|
1374
|
+
className: s(
|
|
1375
|
+
"border border-white/8 bg-surface-1 p-4 space-y-3",
|
|
1376
|
+
a
|
|
1377
|
+
),
|
|
1378
|
+
"aria-hidden": "true",
|
|
1379
|
+
...o,
|
|
1333
1380
|
children: [
|
|
1334
|
-
/* @__PURE__ */
|
|
1335
|
-
"
|
|
1336
|
-
{
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
},
|
|
1344
|
-
d
|
|
1345
|
-
)) }),
|
|
1346
|
-
t && /* @__PURE__ */ a("span", { className: "font-mono text-xs text-muted-foreground tracking-[0.15em] uppercase", children: t })
|
|
1381
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
1382
|
+
t && /* @__PURE__ */ e(Oe, { size: "md" }),
|
|
1383
|
+
/* @__PURE__ */ c("div", { className: "flex-1 space-y-2", children: [
|
|
1384
|
+
/* @__PURE__ */ e(F, { width: "3/4", height: "md" }),
|
|
1385
|
+
/* @__PURE__ */ e(F, { width: "1/2", height: "sm" })
|
|
1386
|
+
] })
|
|
1387
|
+
] }),
|
|
1388
|
+
/* @__PURE__ */ e(Ve, { lines: r }),
|
|
1389
|
+
/* @__PURE__ */ e(F, { width: "1/3", height: "xs" })
|
|
1347
1390
|
]
|
|
1348
1391
|
}
|
|
1349
|
-
)
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
const
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1392
|
+
)
|
|
1393
|
+
);
|
|
1394
|
+
gr.displayName = "SkeletonCard";
|
|
1395
|
+
const de = {
|
|
1396
|
+
search: {
|
|
1397
|
+
title: "NO RESULTS FOUND",
|
|
1398
|
+
description: "Try adjusting your search query."
|
|
1399
|
+
},
|
|
1400
|
+
error: {
|
|
1401
|
+
title: "FAILED TO LOAD",
|
|
1402
|
+
description: "An error occurred. Please try again."
|
|
1403
|
+
},
|
|
1404
|
+
permission: {
|
|
1405
|
+
title: "ACCESS RESTRICTED",
|
|
1406
|
+
description: "You don't have permission to view this."
|
|
1407
|
+
},
|
|
1408
|
+
empty: {
|
|
1409
|
+
title: "NO ITEMS YET",
|
|
1410
|
+
description: "Add your first item to get started."
|
|
1411
|
+
},
|
|
1412
|
+
default: { title: "", description: "" }
|
|
1413
|
+
}, hr = T(
|
|
1414
|
+
"flex flex-col items-center justify-center text-center py-16 px-8",
|
|
1364
1415
|
{
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
/* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
|
|
1374
|
-
/* @__PURE__ */ a(
|
|
1375
|
-
"div",
|
|
1376
|
-
{
|
|
1377
|
-
className: `w-2 h-2 ${zt[t]}`,
|
|
1378
|
-
style: { clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" }
|
|
1379
|
-
}
|
|
1380
|
-
),
|
|
1381
|
-
/* @__PURE__ */ a("span", { className: "font-mono text-[10px] tracking-[0.1em] text-muted-foreground", children: Lt[t] })
|
|
1382
|
-
] })
|
|
1383
|
-
] }),
|
|
1384
|
-
/* @__PURE__ */ a("div", { className: "absolute top-0 left-0 w-6 h-6 border-t-2 border-l-2 border-primary/40 pointer-events-none" }),
|
|
1385
|
-
/* @__PURE__ */ a("div", { className: "absolute top-0 right-0 w-6 h-6 border-t-2 border-r-2 border-primary/40 pointer-events-none" }),
|
|
1386
|
-
/* @__PURE__ */ a("div", { className: "absolute bottom-0 left-0 w-6 h-6 border-b-2 border-l-2 border-primary/40 pointer-events-none" }),
|
|
1387
|
-
/* @__PURE__ */ a("div", { className: "absolute bottom-0 right-0 w-6 h-6 border-b-2 border-r-2 border-primary/40 pointer-events-none" }),
|
|
1388
|
-
/* @__PURE__ */ a("div", { className: "p-5", children: r })
|
|
1389
|
-
]
|
|
1416
|
+
variants: {
|
|
1417
|
+
size: {
|
|
1418
|
+
sm: "py-8 px-4",
|
|
1419
|
+
md: "py-16 px-8",
|
|
1420
|
+
lg: "py-24 px-12"
|
|
1421
|
+
}
|
|
1422
|
+
},
|
|
1423
|
+
defaultVariants: { size: "md" }
|
|
1390
1424
|
}
|
|
1391
|
-
)
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1425
|
+
), br = i.forwardRef(
|
|
1426
|
+
({
|
|
1427
|
+
icon: t,
|
|
1428
|
+
title: r,
|
|
1429
|
+
description: a,
|
|
1430
|
+
action: o,
|
|
1431
|
+
variant: n = "default",
|
|
1432
|
+
size: l,
|
|
1433
|
+
className: p,
|
|
1434
|
+
...d
|
|
1435
|
+
}, m) => {
|
|
1436
|
+
const u = de[n] ?? de.default, f = r ?? u.title, x = a ?? u.description;
|
|
1437
|
+
return /* @__PURE__ */ c(
|
|
1397
1438
|
"div",
|
|
1398
1439
|
{
|
|
1399
|
-
ref:
|
|
1400
|
-
className:
|
|
1401
|
-
|
|
1402
|
-
onMouseLeave: () => p(!1),
|
|
1440
|
+
ref: m,
|
|
1441
|
+
className: s(hr({ size: l }), p),
|
|
1442
|
+
...d,
|
|
1403
1443
|
children: [
|
|
1404
|
-
/* @__PURE__ */
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
style: {
|
|
1409
|
-
top: c ? "100%" : "-10%",
|
|
1410
|
-
opacity: c ? 1 : 0,
|
|
1411
|
-
transitionDuration: "2000ms"
|
|
1412
|
-
}
|
|
1413
|
-
}
|
|
1414
|
-
),
|
|
1415
|
-
/* @__PURE__ */ a(
|
|
1416
|
-
"div",
|
|
1417
|
-
{
|
|
1418
|
-
className: "absolute inset-0 pointer-events-none transition-opacity duration-500",
|
|
1419
|
-
style: {
|
|
1420
|
-
background: "linear-gradient(135deg, transparent 0%, hsl(var(--primary) / 0.03) 40%, transparent 60%)",
|
|
1421
|
-
opacity: c ? 1 : 0
|
|
1422
|
-
}
|
|
1423
|
-
}
|
|
1424
|
-
),
|
|
1425
|
-
/* @__PURE__ */ l("div", { className: "relative z-10", children: [
|
|
1426
|
-
/* @__PURE__ */ a(r, { className: "w-5 h-5 text-primary mb-4 group-hover:drop-shadow-[0_0_8px_hsl(var(--primary)/0.5)] transition-all" }),
|
|
1427
|
-
o && /* @__PURE__ */ a("p", { className: "font-display text-3xl font-bold text-primary mb-1", children: o }),
|
|
1428
|
-
/* @__PURE__ */ a("h4", { className: "font-display text-sm font-bold tracking-[0.05em] uppercase text-foreground mb-1", children: e }),
|
|
1429
|
-
/* @__PURE__ */ a("p", { className: "text-sm text-muted-foreground", children: t })
|
|
1430
|
-
] }),
|
|
1431
|
-
/* @__PURE__ */ a("div", { className: "absolute bottom-3 right-3 text-primary/20 group-hover:text-primary/60 transition-colors text-xs", children: "◆" })
|
|
1444
|
+
t && /* @__PURE__ */ e("div", { className: "text-white/15 mb-6 [&>svg]:w-12 [&>svg]:h-12", children: t }),
|
|
1445
|
+
f && /* @__PURE__ */ e("h3", { className: "font-display text-[18px] font-bold uppercase tracking-wider text-foreground mb-3", children: f }),
|
|
1446
|
+
x && /* @__PURE__ */ e("p", { className: "text-[14px] text-muted-foreground max-w-[360px] leading-relaxed", children: x }),
|
|
1447
|
+
o && /* @__PURE__ */ e("div", { className: "mt-6", children: o })
|
|
1432
1448
|
]
|
|
1433
1449
|
}
|
|
1434
1450
|
);
|
|
1435
1451
|
}
|
|
1436
1452
|
);
|
|
1437
|
-
|
|
1438
|
-
const
|
|
1439
|
-
"[
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1453
|
+
br.displayName = "EmptyState";
|
|
1454
|
+
const vr = T(
|
|
1455
|
+
"relative flex items-start gap-3 p-4 border-l-[3px] transition-all",
|
|
1456
|
+
{
|
|
1457
|
+
variants: {
|
|
1458
|
+
variant: {
|
|
1459
|
+
info: "bg-ef-blue/[0.08] border-l-ef-blue border border-ef-blue/20",
|
|
1460
|
+
success: "bg-ef-green/[0.08] border-l-ef-green border border-ef-green/20",
|
|
1461
|
+
warning: "bg-ef-orange/[0.08] border-l-ef-orange border border-ef-orange/20",
|
|
1462
|
+
error: "bg-destructive/[0.08] border-l-destructive border border-destructive/20"
|
|
1463
|
+
}
|
|
1464
|
+
},
|
|
1465
|
+
defaultVariants: { variant: "info" }
|
|
1466
|
+
}
|
|
1467
|
+
), yr = {
|
|
1468
|
+
info: { icon: "◆", color: "text-ef-blue" },
|
|
1469
|
+
success: { icon: "✓", color: "text-ef-green" },
|
|
1470
|
+
warning: { icon: "⚠", color: "text-ef-orange" },
|
|
1471
|
+
error: { icon: "✕", color: "text-destructive" }
|
|
1472
|
+
}, Nr = i.forwardRef(
|
|
1473
|
+
({
|
|
1474
|
+
variant: t = "info",
|
|
1475
|
+
title: r,
|
|
1476
|
+
dismissible: a = !1,
|
|
1477
|
+
onDismiss: o,
|
|
1478
|
+
icon: n,
|
|
1479
|
+
children: l,
|
|
1480
|
+
className: p,
|
|
1481
|
+
...d
|
|
1482
|
+
}, m) => {
|
|
1483
|
+
const u = yr[t], f = n !== null, x = n ?? /* @__PURE__ */ e(
|
|
1484
|
+
"span",
|
|
1485
|
+
{
|
|
1486
|
+
className: s(
|
|
1487
|
+
"font-mono text-[14px] font-bold leading-none",
|
|
1488
|
+
u.color
|
|
1489
|
+
),
|
|
1490
|
+
children: u.icon
|
|
1491
|
+
}
|
|
1492
|
+
);
|
|
1493
|
+
return /* @__PURE__ */ c(
|
|
1464
1494
|
"div",
|
|
1465
1495
|
{
|
|
1466
|
-
ref:
|
|
1467
|
-
|
|
1496
|
+
ref: m,
|
|
1497
|
+
role: "alert",
|
|
1498
|
+
"aria-live": t === "error" ? "assertive" : "polite",
|
|
1499
|
+
className: s(vr({ variant: t }), p),
|
|
1500
|
+
...d,
|
|
1468
1501
|
children: [
|
|
1469
|
-
/* @__PURE__ */
|
|
1470
|
-
|
|
1471
|
-
/* @__PURE__ */
|
|
1472
|
-
/* @__PURE__ */
|
|
1473
|
-
/* @__PURE__ */ a(
|
|
1474
|
-
"div",
|
|
1475
|
-
{
|
|
1476
|
-
className: "w-1.5 h-1.5 bg-ef-green animate-pulse",
|
|
1477
|
-
style: { clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" }
|
|
1478
|
-
}
|
|
1479
|
-
),
|
|
1480
|
-
/* @__PURE__ */ a("span", { className: "font-mono text-[10px] text-ef-green", children: "ACTIVE" })
|
|
1481
|
-
] })
|
|
1502
|
+
f && /* @__PURE__ */ e("div", { className: "shrink-0 mt-0.5", children: x }),
|
|
1503
|
+
/* @__PURE__ */ c("div", { className: "flex-1 min-w-0", children: [
|
|
1504
|
+
r && /* @__PURE__ */ e("p", { className: "font-display text-[13px] font-bold uppercase tracking-wider text-foreground mb-1", children: r }),
|
|
1505
|
+
l && /* @__PURE__ */ e("div", { className: "text-[13px] text-muted-foreground leading-relaxed", children: l })
|
|
1482
1506
|
] }),
|
|
1483
|
-
/* @__PURE__ */
|
|
1484
|
-
"
|
|
1507
|
+
a && /* @__PURE__ */ e(
|
|
1508
|
+
"button",
|
|
1485
1509
|
{
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
{
|
|
1492
|
-
initial: { opacity: 0, x: -10 },
|
|
1493
|
-
animate: { opacity: 1, x: 0 },
|
|
1494
|
-
className: c.includes("[SEC]") ? "text-ef-green" : c.includes("[NET]") ? "text-ef-blue" : c.includes("[DAT]") ? "text-ef-cyan" : c.includes("[GPU]") ? "text-ef-purple" : "text-muted-foreground",
|
|
1495
|
-
children: c
|
|
1496
|
-
},
|
|
1497
|
-
`${c}-${p}`
|
|
1498
|
-
)) }),
|
|
1499
|
-
/* @__PURE__ */ a("span", { className: "inline-block w-2 h-4 bg-primary animate-cursor-blink" })
|
|
1500
|
-
]
|
|
1510
|
+
type: "button",
|
|
1511
|
+
"aria-label": "Dismiss",
|
|
1512
|
+
onClick: o,
|
|
1513
|
+
className: "shrink-0 text-muted-foreground hover:text-foreground transition-colors font-mono text-[12px] leading-none",
|
|
1514
|
+
children: "✕"
|
|
1501
1515
|
}
|
|
1502
1516
|
)
|
|
1503
1517
|
]
|
|
@@ -1505,266 +1519,1160 @@ const Ft = [
|
|
|
1505
1519
|
);
|
|
1506
1520
|
}
|
|
1507
1521
|
);
|
|
1508
|
-
|
|
1509
|
-
const
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
success: "border-ef-green/40 text-ef-green bg-ef-green/10",
|
|
1516
|
-
warning: "border-ef-yellow/40 text-ef-yellow bg-ef-yellow/10",
|
|
1517
|
-
danger: "border-ef-red/40 text-ef-red bg-ef-red/10",
|
|
1518
|
-
info: "border-ef-cyan/40 text-ef-cyan bg-ef-cyan/10"
|
|
1519
|
-
}
|
|
1520
|
-
},
|
|
1521
|
-
defaultVariants: {
|
|
1522
|
-
variant: "default"
|
|
1522
|
+
Nr.displayName = "Alert";
|
|
1523
|
+
const wr = T("", {
|
|
1524
|
+
variants: {
|
|
1525
|
+
status: {
|
|
1526
|
+
complete: "text-primary",
|
|
1527
|
+
current: "text-primary",
|
|
1528
|
+
upcoming: "text-white/20"
|
|
1523
1529
|
}
|
|
1524
|
-
}
|
|
1525
|
-
), Ut = n.forwardRef(({ variant: e, className: t, children: r, ...o }, s) => /* @__PURE__ */ l(
|
|
1526
|
-
"span",
|
|
1527
|
-
{
|
|
1528
|
-
ref: s,
|
|
1529
|
-
className: i(Ht({ variant: e }), t),
|
|
1530
|
-
...o,
|
|
1531
|
-
children: [
|
|
1532
|
-
/* @__PURE__ */ a("span", { style: { fontSize: "6px" }, children: "◆" }),
|
|
1533
|
-
r
|
|
1534
|
-
]
|
|
1535
|
-
}
|
|
1536
|
-
));
|
|
1537
|
-
Ut.displayName = "TacticalBadge";
|
|
1538
|
-
const Wt = {
|
|
1539
|
-
caution: {
|
|
1540
|
-
border: "border-ef-yellow/30",
|
|
1541
|
-
bg: "bg-ef-yellow/5",
|
|
1542
|
-
icon: "text-ef-yellow",
|
|
1543
|
-
label: "CAUTION"
|
|
1544
|
-
},
|
|
1545
|
-
alert: {
|
|
1546
|
-
border: "border-ef-orange/30",
|
|
1547
|
-
bg: "bg-ef-orange/5",
|
|
1548
|
-
icon: "text-ef-orange",
|
|
1549
|
-
label: "ALERT"
|
|
1550
1530
|
},
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
className: `clip-corner border ${s.border} ${s.bg} p-4 flex items-start gap-3${r ? ` ${r}` : ""}`,
|
|
1564
|
-
children: [
|
|
1565
|
-
/* @__PURE__ */ a(ce, { className: `w-5 h-5 ${s.icon} shrink-0 mt-0.5` }),
|
|
1566
|
-
/* @__PURE__ */ l("div", { children: [
|
|
1567
|
-
/* @__PURE__ */ a(
|
|
1531
|
+
defaultVariants: { status: "upcoming" }
|
|
1532
|
+
}), Me = i.forwardRef(
|
|
1533
|
+
({ date: t, title: r, description: a, status: o = "upcoming", children: n, className: l, ...p }, d) => {
|
|
1534
|
+
const u = o === "complete" || o === "current" ? "◆" : "◇";
|
|
1535
|
+
return /* @__PURE__ */ c(
|
|
1536
|
+
"div",
|
|
1537
|
+
{
|
|
1538
|
+
ref: d,
|
|
1539
|
+
className: s("relative pb-8 last:pb-0", l),
|
|
1540
|
+
...p,
|
|
1541
|
+
children: [
|
|
1542
|
+
/* @__PURE__ */ e(
|
|
1568
1543
|
"span",
|
|
1569
1544
|
{
|
|
1570
|
-
className:
|
|
1571
|
-
|
|
1545
|
+
className: s(
|
|
1546
|
+
"absolute -left-[15px] top-0.5 font-mono text-[11px] leading-none select-none",
|
|
1547
|
+
wr({ status: o }),
|
|
1548
|
+
o === "current" && "drop-shadow-[0_0_6px_rgba(255,212,41,0.6)]"
|
|
1549
|
+
),
|
|
1550
|
+
"aria-hidden": "true",
|
|
1551
|
+
children: u
|
|
1572
1552
|
}
|
|
1573
1553
|
),
|
|
1574
|
-
/* @__PURE__ */
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
}
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1554
|
+
t && /* @__PURE__ */ e("p", { className: "font-mono text-[11px] text-muted-foreground/60 mb-1", children: t }),
|
|
1555
|
+
/* @__PURE__ */ e("p", { className: "font-display text-[14px] font-semibold uppercase text-foreground", children: r }),
|
|
1556
|
+
a && /* @__PURE__ */ e("p", { className: "text-[13px] text-muted-foreground mt-1", children: a }),
|
|
1557
|
+
n
|
|
1558
|
+
]
|
|
1559
|
+
}
|
|
1560
|
+
);
|
|
1561
|
+
}
|
|
1562
|
+
);
|
|
1563
|
+
Me.displayName = "TimelineItem";
|
|
1564
|
+
const Tr = i.forwardRef(
|
|
1565
|
+
({ items: t, children: r, className: a, ...o }, n) => /* @__PURE__ */ e(
|
|
1583
1566
|
"div",
|
|
1584
1567
|
{
|
|
1585
|
-
ref:
|
|
1586
|
-
className:
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1568
|
+
ref: n,
|
|
1569
|
+
className: s(
|
|
1570
|
+
"relative pl-6 space-y-0",
|
|
1571
|
+
"before:absolute before:left-[9px] before:top-2 before:bottom-2 before:w-px before:bg-white/10",
|
|
1572
|
+
a
|
|
1573
|
+
),
|
|
1574
|
+
...o,
|
|
1575
|
+
children: t ? t.map((l, p) => {
|
|
1576
|
+
const { date: d, title: m, description: u, status: f, children: x, className: b, ...h } = l;
|
|
1577
|
+
return /* @__PURE__ */ e(
|
|
1578
|
+
Me,
|
|
1579
|
+
{
|
|
1580
|
+
date: d,
|
|
1581
|
+
title: m,
|
|
1582
|
+
description: u,
|
|
1583
|
+
status: f,
|
|
1584
|
+
className: b,
|
|
1585
|
+
...h,
|
|
1586
|
+
children: x
|
|
1587
|
+
},
|
|
1588
|
+
p
|
|
1589
|
+
);
|
|
1590
|
+
}) : r
|
|
1598
1591
|
}
|
|
1599
1592
|
)
|
|
1600
1593
|
);
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
"
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
)
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1594
|
+
Tr.displayName = "Timeline";
|
|
1595
|
+
function ce(t, r) {
|
|
1596
|
+
return t < r ? "complete" : t === r ? "current" : "upcoming";
|
|
1597
|
+
}
|
|
1598
|
+
const kr = i.forwardRef(
|
|
1599
|
+
({ steps: t, currentStep: r, orientation: a = "horizontal", className: o, ...n }, l) => a === "vertical" ? /* @__PURE__ */ e(
|
|
1600
|
+
"div",
|
|
1601
|
+
{
|
|
1602
|
+
ref: l,
|
|
1603
|
+
className: s("flex flex-col gap-0", o),
|
|
1604
|
+
...n,
|
|
1605
|
+
children: t.map((p, d) => {
|
|
1606
|
+
const m = ce(d, r), u = m === "complete", f = m === "current", x = d === t.length - 1, b = u || f ? "◆" : "◇";
|
|
1607
|
+
return /* @__PURE__ */ c("div", { className: "flex items-start gap-3 relative", children: [
|
|
1608
|
+
/* @__PURE__ */ c("div", { className: "flex flex-col items-center flex-shrink-0", children: [
|
|
1609
|
+
/* @__PURE__ */ e(
|
|
1610
|
+
"span",
|
|
1611
|
+
{
|
|
1612
|
+
className: s(
|
|
1613
|
+
"font-mono text-[13px] leading-none",
|
|
1614
|
+
u && "text-primary",
|
|
1615
|
+
f && "text-primary drop-shadow-[0_0_6px_rgba(255,212,41,0.6)]",
|
|
1616
|
+
!u && !f && "text-white/20"
|
|
1617
|
+
),
|
|
1618
|
+
"aria-hidden": "true",
|
|
1619
|
+
children: b
|
|
1620
|
+
}
|
|
1621
|
+
),
|
|
1622
|
+
!x && /* @__PURE__ */ e(
|
|
1623
|
+
"div",
|
|
1624
|
+
{
|
|
1625
|
+
className: s(
|
|
1626
|
+
"flex-1 w-px min-h-6 mt-1",
|
|
1627
|
+
u ? "bg-primary" : "bg-white/10"
|
|
1628
|
+
)
|
|
1629
|
+
}
|
|
1630
|
+
)
|
|
1631
|
+
] }),
|
|
1632
|
+
/* @__PURE__ */ c("div", { className: "pb-6 last:pb-0", children: [
|
|
1633
|
+
/* @__PURE__ */ e(
|
|
1634
|
+
"p",
|
|
1635
|
+
{
|
|
1636
|
+
className: s(
|
|
1637
|
+
"font-display text-[11px] uppercase tracking-wider mt-1",
|
|
1638
|
+
f && "text-foreground font-semibold",
|
|
1639
|
+
u && "text-primary",
|
|
1640
|
+
!u && !f && "text-muted-foreground/60"
|
|
1641
|
+
),
|
|
1642
|
+
children: p.label
|
|
1643
|
+
}
|
|
1644
|
+
),
|
|
1645
|
+
p.description && /* @__PURE__ */ e("p", { className: "text-[12px] text-muted-foreground/60 mt-0.5", children: p.description })
|
|
1646
|
+
] })
|
|
1647
|
+
] }, d);
|
|
1648
|
+
})
|
|
1649
|
+
}
|
|
1650
|
+
) : /* @__PURE__ */ e(
|
|
1651
|
+
"div",
|
|
1652
|
+
{
|
|
1653
|
+
ref: l,
|
|
1654
|
+
className: s("flex items-start w-full min-w-max", o),
|
|
1655
|
+
...n,
|
|
1656
|
+
children: t.map((p, d) => {
|
|
1657
|
+
const m = ce(d, r), u = m === "complete", f = m === "current", x = d === t.length - 1, b = u || f ? "◆" : "◇";
|
|
1658
|
+
return /* @__PURE__ */ c(i.Fragment, { children: [
|
|
1659
|
+
/* @__PURE__ */ c("div", { className: "flex flex-col items-center flex-shrink-0", children: [
|
|
1660
|
+
/* @__PURE__ */ e(
|
|
1661
|
+
"span",
|
|
1662
|
+
{
|
|
1663
|
+
className: s(
|
|
1664
|
+
"font-mono text-[13px] leading-none mb-1.5",
|
|
1665
|
+
u && "text-primary",
|
|
1666
|
+
f && "text-primary drop-shadow-[0_0_6px_rgba(255,212,41,0.6)]",
|
|
1667
|
+
!u && !f && "text-white/20"
|
|
1668
|
+
),
|
|
1669
|
+
"aria-hidden": "true",
|
|
1670
|
+
children: b
|
|
1671
|
+
}
|
|
1672
|
+
),
|
|
1673
|
+
/* @__PURE__ */ e(
|
|
1674
|
+
"p",
|
|
1675
|
+
{
|
|
1676
|
+
className: s(
|
|
1677
|
+
"font-display text-[11px] uppercase tracking-wider mt-1",
|
|
1678
|
+
f && "text-foreground font-semibold",
|
|
1679
|
+
u && "text-primary",
|
|
1680
|
+
!u && !f && "text-muted-foreground/60"
|
|
1681
|
+
),
|
|
1682
|
+
children: p.label
|
|
1683
|
+
}
|
|
1684
|
+
),
|
|
1685
|
+
p.description && /* @__PURE__ */ e("p", { className: "text-[12px] text-muted-foreground/60 mt-0.5 text-center", children: p.description })
|
|
1686
|
+
] }),
|
|
1687
|
+
!x && /* @__PURE__ */ e(
|
|
1688
|
+
"div",
|
|
1689
|
+
{
|
|
1690
|
+
className: s(
|
|
1691
|
+
"flex-1 h-px self-start mt-[0.45em] mx-2",
|
|
1692
|
+
u ? "bg-primary" : "bg-white/10"
|
|
1693
|
+
)
|
|
1694
|
+
}
|
|
1695
|
+
)
|
|
1696
|
+
] }, d);
|
|
1697
|
+
})
|
|
1698
|
+
}
|
|
1699
|
+
)
|
|
1700
|
+
);
|
|
1701
|
+
kr.displayName = "Stepper";
|
|
1702
|
+
const Z = T(
|
|
1703
|
+
"font-mono text-[12px] w-9 h-9 flex items-center justify-center transition-all border",
|
|
1704
|
+
{
|
|
1705
|
+
variants: {
|
|
1706
|
+
active: {
|
|
1707
|
+
true: "bg-primary text-primary-foreground border-primary font-bold",
|
|
1708
|
+
false: "text-muted-foreground border-white/10 hover:border-primary/40 hover:text-foreground"
|
|
1709
|
+
},
|
|
1710
|
+
disabled: {
|
|
1711
|
+
true: "opacity-40 cursor-not-allowed pointer-events-none",
|
|
1712
|
+
false: ""
|
|
1713
|
+
}
|
|
1714
|
+
},
|
|
1715
|
+
defaultVariants: { active: !1, disabled: !1 }
|
|
1716
|
+
}
|
|
1717
|
+
);
|
|
1718
|
+
function Sr(t, r, a) {
|
|
1719
|
+
if (r <= 7) return Array.from({ length: r }, (p, d) => d + 1);
|
|
1720
|
+
const o = Math.max(2, t - a), n = Math.min(r - 1, t + a), l = [1];
|
|
1721
|
+
o > 2 && l.push("...");
|
|
1722
|
+
for (let p = o; p <= n; p++) l.push(p);
|
|
1723
|
+
return n < r - 1 && l.push("..."), l.push(r), l;
|
|
1724
|
+
}
|
|
1725
|
+
const Rr = i.forwardRef(
|
|
1726
|
+
({
|
|
1727
|
+
totalPages: t,
|
|
1728
|
+
currentPage: r,
|
|
1729
|
+
onPageChange: a,
|
|
1730
|
+
siblingCount: o = 1,
|
|
1731
|
+
className: n,
|
|
1732
|
+
...l
|
|
1733
|
+
}, p) => {
|
|
1734
|
+
const d = Sr(r, t, o), m = r <= 1, u = r >= t;
|
|
1735
|
+
return /* @__PURE__ */ e(
|
|
1736
|
+
"nav",
|
|
1737
|
+
{
|
|
1738
|
+
ref: p,
|
|
1739
|
+
"aria-label": "Pagination",
|
|
1740
|
+
className: s(n),
|
|
1741
|
+
...l,
|
|
1742
|
+
children: /* @__PURE__ */ c("div", { className: "flex items-center gap-1", children: [
|
|
1743
|
+
/* @__PURE__ */ e(
|
|
1744
|
+
"button",
|
|
1745
|
+
{
|
|
1746
|
+
type: "button",
|
|
1747
|
+
onClick: () => !m && a(r - 1),
|
|
1748
|
+
disabled: m,
|
|
1749
|
+
"aria-label": "Previous page",
|
|
1750
|
+
className: s(
|
|
1751
|
+
Z({
|
|
1752
|
+
active: !1,
|
|
1753
|
+
disabled: m
|
|
1754
|
+
}),
|
|
1755
|
+
"font-display uppercase text-[11px] tracking-wider px-2 w-auto"
|
|
1756
|
+
),
|
|
1757
|
+
children: "◆ PREV"
|
|
1758
|
+
}
|
|
1759
|
+
),
|
|
1760
|
+
d.map(
|
|
1761
|
+
(f, x) => f === "..." ? /* @__PURE__ */ e(
|
|
1762
|
+
"span",
|
|
1763
|
+
{
|
|
1764
|
+
className: "w-9 h-9 flex items-center justify-center font-mono text-[12px] text-muted-foreground/40 select-none",
|
|
1765
|
+
"aria-hidden": "true",
|
|
1766
|
+
children: "…"
|
|
1767
|
+
},
|
|
1768
|
+
`ellipsis-${x}`
|
|
1769
|
+
) : /* @__PURE__ */ e(
|
|
1770
|
+
"button",
|
|
1771
|
+
{
|
|
1772
|
+
type: "button",
|
|
1773
|
+
onClick: () => a(f),
|
|
1774
|
+
"aria-label": `Page ${f}`,
|
|
1775
|
+
"aria-current": f === r ? "page" : void 0,
|
|
1776
|
+
className: s(
|
|
1777
|
+
Z({ active: f === r })
|
|
1778
|
+
),
|
|
1779
|
+
children: f
|
|
1780
|
+
},
|
|
1781
|
+
f
|
|
1782
|
+
)
|
|
1783
|
+
),
|
|
1784
|
+
/* @__PURE__ */ e(
|
|
1785
|
+
"button",
|
|
1786
|
+
{
|
|
1787
|
+
type: "button",
|
|
1788
|
+
onClick: () => !u && a(r + 1),
|
|
1789
|
+
disabled: u,
|
|
1790
|
+
"aria-label": "Next page",
|
|
1791
|
+
className: s(
|
|
1792
|
+
Z({
|
|
1793
|
+
active: !1,
|
|
1794
|
+
disabled: u
|
|
1795
|
+
}),
|
|
1796
|
+
"font-display uppercase text-[11px] tracking-wider px-2 w-auto"
|
|
1797
|
+
),
|
|
1798
|
+
children: "NEXT ◆"
|
|
1799
|
+
}
|
|
1800
|
+
)
|
|
1801
|
+
] })
|
|
1802
|
+
}
|
|
1803
|
+
);
|
|
1804
|
+
}
|
|
1805
|
+
);
|
|
1806
|
+
Rr.displayName = "Pagination";
|
|
1807
|
+
const Ir = i.forwardRef(
|
|
1808
|
+
({ items: t, separator: r, className: a, ...o }, n) => /* @__PURE__ */ e(
|
|
1809
|
+
"nav",
|
|
1810
|
+
{
|
|
1811
|
+
ref: n,
|
|
1812
|
+
"aria-label": "Breadcrumb",
|
|
1813
|
+
className: s(a),
|
|
1814
|
+
...o,
|
|
1815
|
+
children: /* @__PURE__ */ e("ol", { className: "flex items-center gap-2 flex-wrap font-display text-[12px] uppercase tracking-wider", children: t.map((l, p) => {
|
|
1816
|
+
const d = p === t.length - 1;
|
|
1817
|
+
return /* @__PURE__ */ c(i.Fragment, { children: [
|
|
1818
|
+
/* @__PURE__ */ e("li", { children: d || !l.href ? /* @__PURE__ */ e(
|
|
1819
|
+
"span",
|
|
1820
|
+
{
|
|
1821
|
+
"aria-current": d ? "page" : void 0,
|
|
1822
|
+
className: d ? "text-foreground font-semibold" : "text-muted-foreground",
|
|
1823
|
+
children: l.label
|
|
1824
|
+
}
|
|
1825
|
+
) : /* @__PURE__ */ e(
|
|
1826
|
+
"a",
|
|
1827
|
+
{
|
|
1828
|
+
href: l.href,
|
|
1829
|
+
className: "text-muted-foreground hover:text-primary transition-colors",
|
|
1830
|
+
children: l.label
|
|
1831
|
+
}
|
|
1832
|
+
) }),
|
|
1833
|
+
!d && /* @__PURE__ */ e(
|
|
1834
|
+
"li",
|
|
1835
|
+
{
|
|
1836
|
+
"aria-hidden": "true",
|
|
1837
|
+
className: "text-[10px] text-white/20 select-none",
|
|
1838
|
+
children: r ?? "›"
|
|
1839
|
+
}
|
|
1840
|
+
)
|
|
1841
|
+
] }, p);
|
|
1842
|
+
}) })
|
|
1843
|
+
}
|
|
1844
|
+
)
|
|
1845
|
+
);
|
|
1846
|
+
Ir.displayName = "Breadcrumb";
|
|
1847
|
+
const Cr = T(
|
|
1848
|
+
"inline-flex items-center border border-white/[0.12] bg-transparent",
|
|
1849
|
+
{
|
|
1850
|
+
variants: {
|
|
1851
|
+
size: {
|
|
1852
|
+
sm: "h-8",
|
|
1853
|
+
md: "h-9",
|
|
1854
|
+
lg: "h-10"
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1857
|
+
defaultVariants: { size: "md" }
|
|
1858
|
+
}
|
|
1859
|
+
), Ar = i.forwardRef(
|
|
1860
|
+
({
|
|
1861
|
+
value: t,
|
|
1862
|
+
defaultValue: r,
|
|
1863
|
+
onChange: a,
|
|
1864
|
+
min: o,
|
|
1865
|
+
max: n,
|
|
1866
|
+
step: l = 1,
|
|
1867
|
+
size: p = "md",
|
|
1868
|
+
className: d,
|
|
1869
|
+
disabled: m,
|
|
1870
|
+
...u
|
|
1871
|
+
}, f) => {
|
|
1872
|
+
const x = t !== void 0, [b, h] = i.useState(
|
|
1873
|
+
r ?? 0
|
|
1874
|
+
), y = x ? t : b, N = (I) => Math.min(n ?? 1 / 0, Math.max(o ?? -1 / 0, I)), g = (I) => {
|
|
1875
|
+
const V = N(I);
|
|
1876
|
+
x || h(V), a == null || a(V);
|
|
1877
|
+
}, v = () => g(y - l), S = () => g(y + l), E = o !== void 0 && y <= o, _ = n !== void 0 && y >= n, G = "px-2 font-mono text-[13px] text-muted-foreground transition-colors select-none";
|
|
1878
|
+
return /* @__PURE__ */ c("div", { className: s(Cr({ size: p }), d), children: [
|
|
1879
|
+
/* @__PURE__ */ e(
|
|
1880
|
+
"button",
|
|
1881
|
+
{
|
|
1882
|
+
type: "button",
|
|
1883
|
+
onClick: v,
|
|
1884
|
+
disabled: m || E,
|
|
1885
|
+
"aria-label": "Decrement",
|
|
1886
|
+
className: s(
|
|
1887
|
+
G,
|
|
1888
|
+
"h-full border-r border-white/[0.12]",
|
|
1889
|
+
(m || E) && "opacity-40 cursor-not-allowed",
|
|
1890
|
+
!(m || E) && "hover:text-foreground"
|
|
1891
|
+
),
|
|
1892
|
+
children: "−"
|
|
1893
|
+
}
|
|
1894
|
+
),
|
|
1895
|
+
/* @__PURE__ */ e(
|
|
1896
|
+
"input",
|
|
1897
|
+
{
|
|
1898
|
+
ref: f,
|
|
1899
|
+
type: "number",
|
|
1900
|
+
value: y,
|
|
1901
|
+
disabled: m,
|
|
1902
|
+
onChange: (I) => {
|
|
1903
|
+
const V = parseFloat(I.target.value);
|
|
1904
|
+
isNaN(V) || g(V);
|
|
1905
|
+
},
|
|
1906
|
+
onKeyDown: (I) => {
|
|
1907
|
+
I.key === "ArrowUp" ? (I.preventDefault(), S()) : I.key === "ArrowDown" && (I.preventDefault(), v());
|
|
1908
|
+
},
|
|
1909
|
+
className: s(
|
|
1910
|
+
"w-16 h-full text-center font-mono text-[13px] text-foreground bg-transparent",
|
|
1911
|
+
"border-x border-white/[0.12] outline-none",
|
|
1912
|
+
"[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
|
|
1913
|
+
m && "opacity-40 cursor-not-allowed"
|
|
1914
|
+
),
|
|
1915
|
+
...u
|
|
1916
|
+
}
|
|
1917
|
+
),
|
|
1918
|
+
/* @__PURE__ */ e(
|
|
1919
|
+
"button",
|
|
1920
|
+
{
|
|
1921
|
+
type: "button",
|
|
1922
|
+
onClick: S,
|
|
1923
|
+
disabled: m || _,
|
|
1924
|
+
"aria-label": "Increment",
|
|
1925
|
+
className: s(
|
|
1926
|
+
G,
|
|
1927
|
+
"h-full border-l border-white/[0.12]",
|
|
1928
|
+
(m || _) && "opacity-40 cursor-not-allowed",
|
|
1929
|
+
!(m || _) && "hover:text-foreground"
|
|
1930
|
+
),
|
|
1931
|
+
children: "+"
|
|
1932
|
+
}
|
|
1933
|
+
)
|
|
1934
|
+
] });
|
|
1935
|
+
}
|
|
1936
|
+
);
|
|
1937
|
+
Ar.displayName = "NumberInput";
|
|
1938
|
+
const Dr = {
|
|
1939
|
+
low: {
|
|
1940
|
+
duration: "6s",
|
|
1941
|
+
clipTop: "15% 0 70% 0",
|
|
1942
|
+
clipBot: "65% 0 15% 0",
|
|
1943
|
+
offset: 1,
|
|
1944
|
+
defaultInterval: 4e3
|
|
1945
|
+
},
|
|
1946
|
+
medium: {
|
|
1947
|
+
duration: "3s",
|
|
1948
|
+
clipTop: "20% 0 50% 0",
|
|
1949
|
+
clipBot: "50% 0 20% 0",
|
|
1950
|
+
offset: 2,
|
|
1951
|
+
defaultInterval: 2500
|
|
1952
|
+
},
|
|
1953
|
+
high: {
|
|
1954
|
+
duration: "1.2s",
|
|
1955
|
+
clipTop: "10% 0 60% 0",
|
|
1956
|
+
clipBot: "55% 0 10% 0",
|
|
1957
|
+
offset: 4,
|
|
1958
|
+
defaultInterval: 1200
|
|
1959
|
+
}
|
|
1960
|
+
}, Er = i.forwardRef(
|
|
1961
|
+
({
|
|
1962
|
+
children: t,
|
|
1963
|
+
className: r,
|
|
1964
|
+
intensity: a = "medium",
|
|
1965
|
+
continuous: o = !1,
|
|
1966
|
+
continuousInterval: n,
|
|
1967
|
+
...l
|
|
1968
|
+
}, p) => {
|
|
1969
|
+
const d = Dr[a], m = n ?? d.defaultInterval, [u, f] = i.useState(!1);
|
|
1970
|
+
i.useEffect(() => {
|
|
1971
|
+
if (!o) return;
|
|
1972
|
+
const b = setInterval(() => {
|
|
1973
|
+
f(!0);
|
|
1974
|
+
const h = setTimeout(
|
|
1975
|
+
() => f(!1),
|
|
1976
|
+
parseFloat(d.duration) * 1e3
|
|
1977
|
+
);
|
|
1978
|
+
return () => clearTimeout(h);
|
|
1979
|
+
}, m);
|
|
1980
|
+
return () => clearInterval(b);
|
|
1981
|
+
}, [o, m, d.duration]);
|
|
1982
|
+
const x = u || !o ? "animate-glitch" : "";
|
|
1983
|
+
return /* @__PURE__ */ c(
|
|
1984
|
+
"span",
|
|
1985
|
+
{
|
|
1986
|
+
ref: p,
|
|
1987
|
+
className: s("relative inline-block", r),
|
|
1988
|
+
...l,
|
|
1989
|
+
children: [
|
|
1990
|
+
/* @__PURE__ */ e("span", { className: "relative z-10", children: t }),
|
|
1991
|
+
/* @__PURE__ */ e(
|
|
1992
|
+
"span",
|
|
1993
|
+
{
|
|
1994
|
+
"aria-hidden": !0,
|
|
1995
|
+
className: s("absolute inset-0 text-ef-cyan opacity-70", x),
|
|
1996
|
+
style: {
|
|
1997
|
+
clipPath: `inset(${d.clipTop})`,
|
|
1998
|
+
transform: `translate(-${d.offset}px, 0)`,
|
|
1999
|
+
animationDuration: d.duration
|
|
2000
|
+
},
|
|
2001
|
+
children: t
|
|
2002
|
+
}
|
|
2003
|
+
),
|
|
2004
|
+
/* @__PURE__ */ e(
|
|
2005
|
+
"span",
|
|
2006
|
+
{
|
|
2007
|
+
"aria-hidden": !0,
|
|
2008
|
+
className: s("absolute inset-0 text-ef-red opacity-70", x),
|
|
2009
|
+
style: {
|
|
2010
|
+
clipPath: `inset(${d.clipBot})`,
|
|
2011
|
+
transform: `translate(${d.offset}px, 0)`,
|
|
2012
|
+
animationDuration: d.duration,
|
|
2013
|
+
animationDelay: "0.1s"
|
|
2014
|
+
},
|
|
2015
|
+
children: t
|
|
2016
|
+
}
|
|
2017
|
+
)
|
|
2018
|
+
]
|
|
2019
|
+
}
|
|
2020
|
+
);
|
|
2021
|
+
}
|
|
2022
|
+
);
|
|
2023
|
+
Er.displayName = "GlitchText";
|
|
2024
|
+
const _r = { sm: 16, md: 28, lg: 44 }, Vr = i.forwardRef(({ size: t = "md", label: r, className: a }, o) => {
|
|
2025
|
+
const n = _r[t];
|
|
2026
|
+
return /* @__PURE__ */ c(
|
|
2027
|
+
"div",
|
|
2028
|
+
{
|
|
2029
|
+
ref: o,
|
|
2030
|
+
className: `flex flex-col items-center gap-3${a ? ` ${a}` : ""}`,
|
|
2031
|
+
children: [
|
|
2032
|
+
/* @__PURE__ */ e("div", { className: "relative", style: { width: n * 2, height: n * 2 }, children: [0, 1, 2].map((l) => /* @__PURE__ */ e(
|
|
2033
|
+
"div",
|
|
2034
|
+
{
|
|
2035
|
+
className: "absolute inset-0 border-2 border-primary",
|
|
2036
|
+
style: {
|
|
2037
|
+
transform: `rotate(45deg) scale(${1 - l * 0.25})`,
|
|
2038
|
+
animation: `diamondSpin ${1.2 + l * 0.4}s linear infinite${l === 1 ? " reverse" : ""}`,
|
|
2039
|
+
opacity: 1 - l * 0.25
|
|
2040
|
+
}
|
|
2041
|
+
},
|
|
2042
|
+
l
|
|
2043
|
+
)) }),
|
|
2044
|
+
r && /* @__PURE__ */ e("span", { className: "font-mono text-xs text-muted-foreground tracking-[0.15em] uppercase", children: r })
|
|
2045
|
+
]
|
|
2046
|
+
}
|
|
2047
|
+
);
|
|
2048
|
+
});
|
|
2049
|
+
Vr.displayName = "DiamondLoader";
|
|
2050
|
+
const Or = {
|
|
2051
|
+
online: "ONLINE",
|
|
2052
|
+
warning: "CAUTION",
|
|
2053
|
+
offline: "OFFLINE",
|
|
2054
|
+
scanning: "SCANNING"
|
|
2055
|
+
}, Mr = {
|
|
2056
|
+
online: "bg-ef-green",
|
|
2057
|
+
warning: "bg-ef-yellow",
|
|
2058
|
+
offline: "bg-ef-red",
|
|
2059
|
+
scanning: "bg-ef-cyan animate-pulse"
|
|
2060
|
+
}, Pr = i.forwardRef(
|
|
2061
|
+
({
|
|
2062
|
+
title: t,
|
|
2063
|
+
status: r = "online",
|
|
2064
|
+
children: a,
|
|
2065
|
+
className: o,
|
|
2066
|
+
headerAction: n,
|
|
2067
|
+
collapsible: l = !1,
|
|
2068
|
+
defaultCollapsed: p = !1,
|
|
2069
|
+
collapsed: d,
|
|
2070
|
+
onCollapseChange: m,
|
|
2071
|
+
...u
|
|
2072
|
+
}, f) => {
|
|
2073
|
+
const [x, b] = i.useState(p), h = d !== void 0, y = h ? d : x, N = () => {
|
|
2074
|
+
if (!l) return;
|
|
2075
|
+
const g = !y;
|
|
2076
|
+
h || b(g), m == null || m(g);
|
|
2077
|
+
};
|
|
2078
|
+
return /* @__PURE__ */ c(
|
|
2079
|
+
"div",
|
|
2080
|
+
{
|
|
2081
|
+
ref: f,
|
|
2082
|
+
className: s(
|
|
2083
|
+
"relative border border-border bg-surface-1 scanline-overlay",
|
|
2084
|
+
o
|
|
2085
|
+
),
|
|
2086
|
+
...u,
|
|
2087
|
+
children: [
|
|
2088
|
+
/* @__PURE__ */ c(
|
|
2089
|
+
"div",
|
|
2090
|
+
{
|
|
2091
|
+
className: s(
|
|
2092
|
+
"flex items-center justify-between px-4 py-2.5 border-b border-border bg-surface-0",
|
|
2093
|
+
l && "cursor-pointer select-none"
|
|
2094
|
+
),
|
|
2095
|
+
onClick: N,
|
|
2096
|
+
children: [
|
|
2097
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
2098
|
+
/* @__PURE__ */ e(je, { className: "w-3.5 h-3.5 text-primary" }),
|
|
2099
|
+
/* @__PURE__ */ e("span", { className: "font-display text-[11px] font-bold tracking-[0.15em] uppercase text-foreground", children: t }),
|
|
2100
|
+
l && /* @__PURE__ */ e("span", { className: "font-mono text-[14px] text-primary/60 ml-1 leading-none", children: y ? "+" : "−" })
|
|
2101
|
+
] }),
|
|
2102
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
|
|
2103
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
2104
|
+
/* @__PURE__ */ e(
|
|
2105
|
+
"div",
|
|
2106
|
+
{
|
|
2107
|
+
className: s("w-2 h-2", Mr[r]),
|
|
2108
|
+
style: {
|
|
2109
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"
|
|
2110
|
+
}
|
|
2111
|
+
}
|
|
2112
|
+
),
|
|
2113
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] tracking-[0.1em] text-muted-foreground", children: Or[r] })
|
|
2114
|
+
] }),
|
|
2115
|
+
n && /* @__PURE__ */ e(
|
|
2116
|
+
"div",
|
|
2117
|
+
{
|
|
2118
|
+
className: "flex items-center",
|
|
2119
|
+
onClick: (g) => g.stopPropagation(),
|
|
2120
|
+
children: n
|
|
2121
|
+
}
|
|
2122
|
+
)
|
|
2123
|
+
] })
|
|
2124
|
+
]
|
|
2125
|
+
}
|
|
2126
|
+
),
|
|
2127
|
+
/* @__PURE__ */ e("div", { className: "absolute top-0 left-0 w-6 h-6 border-t-2 border-l-2 border-primary/40 pointer-events-none" }),
|
|
2128
|
+
/* @__PURE__ */ e("div", { className: "absolute top-0 right-0 w-6 h-6 border-t-2 border-r-2 border-primary/40 pointer-events-none" }),
|
|
2129
|
+
/* @__PURE__ */ e("div", { className: "absolute bottom-0 left-0 w-6 h-6 border-b-2 border-l-2 border-primary/40 pointer-events-none" }),
|
|
2130
|
+
/* @__PURE__ */ e("div", { className: "absolute bottom-0 right-0 w-6 h-6 border-b-2 border-r-2 border-primary/40 pointer-events-none" }),
|
|
2131
|
+
/* @__PURE__ */ e(
|
|
2132
|
+
"div",
|
|
2133
|
+
{
|
|
2134
|
+
className: s(
|
|
2135
|
+
"overflow-hidden transition-all duration-300",
|
|
2136
|
+
y ? "max-h-0" : "max-h-[9999px]"
|
|
2137
|
+
),
|
|
2138
|
+
children: /* @__PURE__ */ e("div", { className: "p-5", children: a })
|
|
2139
|
+
}
|
|
2140
|
+
)
|
|
2141
|
+
]
|
|
2142
|
+
}
|
|
2143
|
+
);
|
|
2144
|
+
}
|
|
2145
|
+
);
|
|
2146
|
+
Pr.displayName = "TacticalPanel";
|
|
2147
|
+
const Lr = i.forwardRef(
|
|
2148
|
+
({ title: t, subtitle: r, icon: a, value: o, className: n }, l) => {
|
|
2149
|
+
const [p, d] = i.useState(!1);
|
|
2150
|
+
return /* @__PURE__ */ c(
|
|
2151
|
+
"div",
|
|
2152
|
+
{
|
|
2153
|
+
ref: l,
|
|
2154
|
+
className: `relative clip-corner border border-border bg-surface-1 p-6 overflow-hidden group cursor-pointer transition-all duration-500 hover:border-primary/30${n ? ` ${n}` : ""}`,
|
|
2155
|
+
onMouseEnter: () => d(!0),
|
|
2156
|
+
onMouseLeave: () => d(!1),
|
|
2157
|
+
children: [
|
|
2158
|
+
/* @__PURE__ */ e(
|
|
2159
|
+
"div",
|
|
2160
|
+
{
|
|
2161
|
+
className: "absolute left-0 right-0 h-px bg-gradient-to-r from-transparent via-primary/60 to-transparent pointer-events-none transition-all",
|
|
2162
|
+
style: {
|
|
2163
|
+
top: p ? "100%" : "-10%",
|
|
2164
|
+
opacity: p ? 1 : 0,
|
|
2165
|
+
transitionDuration: "2000ms"
|
|
2166
|
+
}
|
|
2167
|
+
}
|
|
2168
|
+
),
|
|
2169
|
+
/* @__PURE__ */ e(
|
|
2170
|
+
"div",
|
|
2171
|
+
{
|
|
2172
|
+
className: "absolute inset-0 pointer-events-none transition-opacity duration-500",
|
|
2173
|
+
style: {
|
|
2174
|
+
background: "linear-gradient(135deg, transparent 0%, hsl(var(--primary) / 0.03) 40%, transparent 60%)",
|
|
2175
|
+
opacity: p ? 1 : 0
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
),
|
|
2179
|
+
/* @__PURE__ */ c("div", { className: "relative z-10", children: [
|
|
2180
|
+
/* @__PURE__ */ e(a, { className: "w-5 h-5 text-primary mb-4 group-hover:drop-shadow-[0_0_8px_hsl(var(--primary)/0.5)] transition-all" }),
|
|
2181
|
+
o && /* @__PURE__ */ e("p", { className: "font-display text-3xl font-bold text-primary mb-1", children: o }),
|
|
2182
|
+
/* @__PURE__ */ e("h4", { className: "font-display text-sm font-bold tracking-[0.05em] uppercase text-foreground mb-1", children: t }),
|
|
2183
|
+
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: r })
|
|
2184
|
+
] }),
|
|
2185
|
+
/* @__PURE__ */ e("div", { className: "absolute bottom-3 right-3 text-primary/20 group-hover:text-primary/60 transition-colors text-xs", children: "◆" })
|
|
2186
|
+
]
|
|
2187
|
+
}
|
|
2188
|
+
);
|
|
2189
|
+
}
|
|
2190
|
+
);
|
|
2191
|
+
Lr.displayName = "HoloCard";
|
|
2192
|
+
const pe = {
|
|
2193
|
+
1: 2e3,
|
|
2194
|
+
2: 1500,
|
|
2195
|
+
3: 1e3,
|
|
2196
|
+
4: 600,
|
|
2197
|
+
5: 300
|
|
2198
|
+
}, $r = {
|
|
2199
|
+
mono: "text-muted-foreground",
|
|
2200
|
+
classified: "text-primary",
|
|
2201
|
+
transmission: "text-ef-cyan"
|
|
2202
|
+
}, Fr = {
|
|
2203
|
+
system: "text-muted-foreground",
|
|
2204
|
+
data: "text-ef-cyan",
|
|
2205
|
+
warning: "text-ef-orange",
|
|
2206
|
+
classified: "text-primary"
|
|
2207
|
+
}, Br = [
|
|
2208
|
+
"[SYS] Initializing ENDFIELD protocol...",
|
|
2209
|
+
"[NET] Connection established — latency: 12ms",
|
|
2210
|
+
"[SEC] Authentication verified ◆ Level: ALPHA",
|
|
2211
|
+
"[DAT] Loading design tokens: 94 variables mapped",
|
|
2212
|
+
"[GPU] Render pipeline: Optimized (60fps locked)",
|
|
2213
|
+
"[SYS] Component registry: 70 modules online",
|
|
2214
|
+
"[NET] Sync complete — all nodes operational",
|
|
2215
|
+
"[DAT] Color system: HSL-based, 9 neutrals, 9 accents",
|
|
2216
|
+
"[SEC] Encryption: AES-256 ◆ Status: ACTIVE",
|
|
2217
|
+
"[SYS] ENDFIELD DESIGN SYSTEM v2.0 ◆ READY"
|
|
2218
|
+
];
|
|
2219
|
+
function me(t) {
|
|
2220
|
+
return typeof t == "string" ? t : t.text;
|
|
2221
|
+
}
|
|
2222
|
+
function jr(t, r) {
|
|
2223
|
+
if (r) return $r[r];
|
|
2224
|
+
if (typeof t != "string" && t.type)
|
|
2225
|
+
return Fr[t.type] ?? "text-muted-foreground";
|
|
2226
|
+
const a = typeof t == "string" ? t : t.text;
|
|
2227
|
+
return a.includes("[SEC]") ? "text-ef-green" : a.includes("[NET]") ? "text-ef-blue" : a.includes("[DAT]") ? "text-ef-cyan" : a.includes("[GPU]") ? "text-ef-purple" : "text-muted-foreground";
|
|
2228
|
+
}
|
|
2229
|
+
const zr = i.forwardRef(
|
|
2230
|
+
({
|
|
2231
|
+
messages: t = Br,
|
|
2232
|
+
speed: r = 3,
|
|
2233
|
+
messageType: a,
|
|
2234
|
+
className: o,
|
|
2235
|
+
...n
|
|
2236
|
+
}, l) => {
|
|
2237
|
+
const p = pe[r] ?? pe[3], [d, m] = i.useState([]), u = i.useRef(null);
|
|
2238
|
+
return i.useEffect(() => {
|
|
2239
|
+
let f = 0;
|
|
2240
|
+
const x = setInterval(() => {
|
|
2241
|
+
m((b) => {
|
|
2242
|
+
const h = [...b, t[f % t.length]];
|
|
2243
|
+
return h.length > 8 ? h.slice(-8) : h;
|
|
2244
|
+
}), f++;
|
|
2245
|
+
}, p);
|
|
2246
|
+
return () => clearInterval(x);
|
|
2247
|
+
}, [t, p]), i.useEffect(() => {
|
|
2248
|
+
u.current && (u.current.scrollTop = u.current.scrollHeight);
|
|
2249
|
+
}, [d]), /* @__PURE__ */ c(
|
|
2250
|
+
"div",
|
|
2251
|
+
{
|
|
2252
|
+
ref: l,
|
|
2253
|
+
className: s(
|
|
2254
|
+
"border border-border bg-background clip-corner overflow-hidden",
|
|
2255
|
+
o
|
|
2256
|
+
),
|
|
2257
|
+
...n,
|
|
2258
|
+
children: [
|
|
2259
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2 px-4 py-2 border-b border-border bg-surface-0", children: [
|
|
2260
|
+
/* @__PURE__ */ e(ze, { className: "w-3.5 h-3.5 text-primary" }),
|
|
2261
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] tracking-[0.1em] text-muted-foreground uppercase", children: "LIVE FEED" }),
|
|
2262
|
+
/* @__PURE__ */ c("div", { className: "ml-auto flex items-center gap-1.5", children: [
|
|
2263
|
+
/* @__PURE__ */ e(
|
|
2264
|
+
"div",
|
|
1642
2265
|
{
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
2266
|
+
className: "w-1.5 h-1.5 bg-ef-green animate-pulse",
|
|
2267
|
+
style: {
|
|
2268
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"
|
|
2269
|
+
}
|
|
2270
|
+
}
|
|
2271
|
+
),
|
|
2272
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] text-ef-green", children: "ACTIVE" })
|
|
2273
|
+
] })
|
|
2274
|
+
] }),
|
|
2275
|
+
/* @__PURE__ */ c(
|
|
2276
|
+
"div",
|
|
2277
|
+
{
|
|
2278
|
+
ref: u,
|
|
2279
|
+
className: "p-4 h-48 overflow-y-auto font-mono text-xs space-y-1",
|
|
2280
|
+
children: [
|
|
2281
|
+
/* @__PURE__ */ e(We, { children: d.map((f, x) => /* @__PURE__ */ e(
|
|
2282
|
+
te.div,
|
|
2283
|
+
{
|
|
2284
|
+
initial: { opacity: 0, x: -10 },
|
|
2285
|
+
animate: { opacity: 1, x: 0 },
|
|
2286
|
+
className: jr(f, a),
|
|
2287
|
+
children: me(f)
|
|
2288
|
+
},
|
|
2289
|
+
`${me(f)}-${x}`
|
|
2290
|
+
)) }),
|
|
2291
|
+
/* @__PURE__ */ e("span", { className: "inline-block w-2 h-4 bg-primary animate-cursor-blink" })
|
|
2292
|
+
]
|
|
2293
|
+
}
|
|
2294
|
+
)
|
|
2295
|
+
]
|
|
2296
|
+
}
|
|
2297
|
+
);
|
|
2298
|
+
}
|
|
2299
|
+
);
|
|
2300
|
+
zr.displayName = "DataStream";
|
|
2301
|
+
const Gr = T(
|
|
2302
|
+
"inline-flex items-center gap-1.5 clip-corner-sm border px-3 py-1 font-display text-[10px] font-bold tracking-[0.15em] uppercase",
|
|
2303
|
+
{
|
|
2304
|
+
variants: {
|
|
2305
|
+
variant: {
|
|
2306
|
+
default: "border-primary/40 text-primary bg-primary/10",
|
|
2307
|
+
success: "border-ef-green/40 text-ef-green bg-ef-green/10",
|
|
2308
|
+
warning: "border-ef-yellow/40 text-ef-yellow bg-ef-yellow/10",
|
|
2309
|
+
danger: "border-ef-red/40 text-ef-red bg-ef-red/10",
|
|
2310
|
+
info: "border-ef-cyan/40 text-ef-cyan bg-ef-cyan/10"
|
|
2311
|
+
}
|
|
2312
|
+
},
|
|
2313
|
+
defaultVariants: {
|
|
2314
|
+
variant: "default"
|
|
2315
|
+
}
|
|
2316
|
+
}
|
|
2317
|
+
), Ur = i.forwardRef(({ variant: t, className: r, children: a, ...o }, n) => /* @__PURE__ */ c(
|
|
2318
|
+
"span",
|
|
2319
|
+
{
|
|
2320
|
+
ref: n,
|
|
2321
|
+
className: s(Gr({ variant: t }), r),
|
|
2322
|
+
...o,
|
|
2323
|
+
children: [
|
|
2324
|
+
/* @__PURE__ */ e("span", { style: { fontSize: "6px" }, children: "◆" }),
|
|
2325
|
+
a
|
|
2326
|
+
]
|
|
2327
|
+
}
|
|
2328
|
+
));
|
|
2329
|
+
Ur.displayName = "TacticalBadge";
|
|
2330
|
+
const Hr = {
|
|
2331
|
+
caution: {
|
|
2332
|
+
border: "border-ef-yellow/30",
|
|
2333
|
+
bg: "bg-ef-yellow/5",
|
|
2334
|
+
icon: "text-ef-yellow",
|
|
2335
|
+
label: "CAUTION"
|
|
2336
|
+
},
|
|
2337
|
+
alert: {
|
|
2338
|
+
border: "border-ef-orange/30",
|
|
2339
|
+
bg: "bg-ef-orange/5",
|
|
2340
|
+
icon: "text-ef-orange",
|
|
2341
|
+
label: "ALERT"
|
|
2342
|
+
},
|
|
2343
|
+
critical: {
|
|
2344
|
+
border: "border-ef-red/30",
|
|
2345
|
+
bg: "bg-ef-red/5",
|
|
2346
|
+
icon: "text-ef-red",
|
|
2347
|
+
label: "CRITICAL"
|
|
2348
|
+
}
|
|
2349
|
+
}, Yr = i.forwardRef(({ level: t = "caution", children: r, className: a }, o) => {
|
|
2350
|
+
const n = Hr[t];
|
|
2351
|
+
return /* @__PURE__ */ c(
|
|
2352
|
+
"div",
|
|
2353
|
+
{
|
|
2354
|
+
ref: o,
|
|
2355
|
+
className: `clip-corner border ${n.border} ${n.bg} p-4 flex items-start gap-3${a ? ` ${a}` : ""}`,
|
|
2356
|
+
children: [
|
|
2357
|
+
/* @__PURE__ */ e(Ge, { className: `w-5 h-5 ${n.icon} shrink-0 mt-0.5` }),
|
|
2358
|
+
/* @__PURE__ */ c("div", { children: [
|
|
2359
|
+
/* @__PURE__ */ e(
|
|
2360
|
+
"span",
|
|
2361
|
+
{
|
|
2362
|
+
className: `font-display text-[11px] font-bold tracking-[0.15em] ${n.icon}`,
|
|
2363
|
+
children: n.label
|
|
2364
|
+
}
|
|
2365
|
+
),
|
|
2366
|
+
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground mt-1", children: r })
|
|
2367
|
+
] })
|
|
2368
|
+
]
|
|
2369
|
+
}
|
|
2370
|
+
);
|
|
2371
|
+
});
|
|
2372
|
+
Yr.displayName = "WarningBanner";
|
|
2373
|
+
const Wr = i.forwardRef(
|
|
2374
|
+
({ label: t, className: r }, a) => /* @__PURE__ */ c(
|
|
2375
|
+
"div",
|
|
2376
|
+
{
|
|
2377
|
+
ref: a,
|
|
2378
|
+
className: `relative flex items-center gap-4 py-2${r ? ` ${r}` : ""}`,
|
|
2379
|
+
children: [
|
|
2380
|
+
/* @__PURE__ */ e("div", { className: "flex-1 h-px bg-gradient-to-r from-transparent via-primary/30 to-transparent" }),
|
|
2381
|
+
t && /* @__PURE__ */ c("span", { className: "font-display text-[10px] font-bold tracking-[0.2em] uppercase text-primary/60 flex items-center gap-2", children: [
|
|
2382
|
+
/* @__PURE__ */ e("span", { style: { fontSize: "6px" }, children: "◆" }),
|
|
2383
|
+
" ",
|
|
2384
|
+
t,
|
|
2385
|
+
" ",
|
|
2386
|
+
/* @__PURE__ */ e("span", { style: { fontSize: "6px" }, children: "◆" })
|
|
2387
|
+
] }),
|
|
2388
|
+
/* @__PURE__ */ e("div", { className: "flex-1 h-px bg-gradient-to-r from-transparent via-primary/30 to-transparent" })
|
|
2389
|
+
]
|
|
2390
|
+
}
|
|
2391
|
+
)
|
|
2392
|
+
);
|
|
2393
|
+
Wr.displayName = "ScanDivider";
|
|
2394
|
+
const qr = i.forwardRef(({ label: t, value: r, unit: a, className: o }, n) => /* @__PURE__ */ c(
|
|
2395
|
+
"div",
|
|
2396
|
+
{
|
|
2397
|
+
ref: n,
|
|
2398
|
+
className: `inline-flex items-center border border-border bg-surface-0 overflow-hidden${o ? ` ${o}` : ""}`,
|
|
2399
|
+
children: [
|
|
2400
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] tracking-[0.1em] uppercase text-muted-foreground bg-surface-2 px-2.5 py-1.5 border-r border-border", children: t }),
|
|
2401
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-xs text-primary px-2.5 py-1.5 font-bold", children: r }),
|
|
2402
|
+
a && /* @__PURE__ */ e("span", { className: "font-mono text-[10px] text-muted-foreground pr-2.5", children: a })
|
|
2403
|
+
]
|
|
2404
|
+
}
|
|
2405
|
+
));
|
|
2406
|
+
qr.displayName = "CoordinateTag";
|
|
2407
|
+
function L(t, r, a, o, n) {
|
|
2408
|
+
return {
|
|
2409
|
+
x: t + a * Math.sin(n * o),
|
|
2410
|
+
y: r - a * Math.cos(n * o)
|
|
2411
|
+
};
|
|
2412
|
+
}
|
|
2413
|
+
function Q(t) {
|
|
2414
|
+
return t.map((r) => `${r.x},${r.y}`).join(" ");
|
|
2415
|
+
}
|
|
2416
|
+
const Kr = i.forwardRef(
|
|
2417
|
+
({
|
|
2418
|
+
data: t,
|
|
2419
|
+
color: r = "primary",
|
|
2420
|
+
axes: a,
|
|
2421
|
+
datasets: o,
|
|
2422
|
+
showLegend: n = !1,
|
|
2423
|
+
size: l = 260,
|
|
2424
|
+
className: p,
|
|
2425
|
+
...d
|
|
2426
|
+
}, m) => {
|
|
2427
|
+
const u = i.useRef(null), f = qe(u, { once: !0 }), x = i.useCallback(
|
|
2428
|
+
(w) => {
|
|
2429
|
+
u.current = w, typeof m == "function" ? m(w) : m && (m.current = w);
|
|
2430
|
+
},
|
|
2431
|
+
[m]
|
|
2432
|
+
), b = a ?? (t == null ? void 0 : t.map((w) => ({ label: w.label, min: 0, max: 100 }))) ?? [], h = o ?? (t ? [
|
|
2433
|
+
{
|
|
2434
|
+
label: void 0,
|
|
2435
|
+
values: t.map((w) => w.value),
|
|
2436
|
+
color: r === "cyan" ? "hsl(var(--ef-cyan))" : "hsl(var(--primary))"
|
|
2437
|
+
}
|
|
2438
|
+
] : []), y = b.length;
|
|
2439
|
+
if (y < 3) return null;
|
|
2440
|
+
const N = l / 2, g = l / 2, v = l * 0.38, S = 4, E = Math.PI * 2 / y, _ = Array.from({ length: S }, (w, k) => {
|
|
2441
|
+
const R = v * ((k + 1) / S);
|
|
2442
|
+
return Q(
|
|
2443
|
+
b.map((O, C) => L(N, g, R, E, C))
|
|
2444
|
+
);
|
|
2445
|
+
}), G = b.map(
|
|
2446
|
+
(w, k) => L(N, g, v, E, k)
|
|
2447
|
+
), I = h.map((w) => {
|
|
2448
|
+
const k = b.map((R, O) => {
|
|
2449
|
+
const C = R.min ?? 0, M = R.max ?? 100, U = M > C ? (w.values[O] - C) / (M - C) : 0;
|
|
2450
|
+
return L(
|
|
2451
|
+
N,
|
|
2452
|
+
g,
|
|
2453
|
+
Math.max(0, Math.min(1, U)) * v,
|
|
2454
|
+
E,
|
|
2455
|
+
O
|
|
2456
|
+
);
|
|
2457
|
+
});
|
|
2458
|
+
return {
|
|
2459
|
+
ds: w,
|
|
2460
|
+
path: Q(k),
|
|
2461
|
+
center: Q(b.map(() => ({ x: N, y: g })))
|
|
2462
|
+
};
|
|
2463
|
+
}), V = [
|
|
2464
|
+
"hsl(var(--primary))",
|
|
2465
|
+
"hsl(var(--ef-blue))",
|
|
2466
|
+
"hsl(var(--ef-green))"
|
|
2467
|
+
];
|
|
2468
|
+
return /* @__PURE__ */ c(
|
|
2469
|
+
"div",
|
|
2470
|
+
{
|
|
2471
|
+
ref: x,
|
|
2472
|
+
className: s("flex flex-col items-center w-full", p),
|
|
2473
|
+
...d,
|
|
2474
|
+
children: [
|
|
2475
|
+
/* @__PURE__ */ c(
|
|
2476
|
+
"svg",
|
|
2477
|
+
{
|
|
2478
|
+
viewBox: `0 0 ${l} ${l}`,
|
|
2479
|
+
className: "w-full max-w-[260px] h-auto overflow-visible",
|
|
2480
|
+
children: [
|
|
2481
|
+
_.map((w, k) => /* @__PURE__ */ e(
|
|
2482
|
+
"polygon",
|
|
2483
|
+
{
|
|
2484
|
+
points: w,
|
|
2485
|
+
fill: "none",
|
|
2486
|
+
stroke: "hsl(var(--border))",
|
|
2487
|
+
strokeWidth: 1,
|
|
2488
|
+
opacity: 0.5
|
|
2489
|
+
},
|
|
2490
|
+
k
|
|
2491
|
+
)),
|
|
2492
|
+
G.map((w, k) => /* @__PURE__ */ e(
|
|
1654
2493
|
"line",
|
|
1655
2494
|
{
|
|
1656
|
-
x1:
|
|
1657
|
-
y1:
|
|
1658
|
-
x2:
|
|
1659
|
-
y2:
|
|
2495
|
+
x1: N,
|
|
2496
|
+
y1: g,
|
|
2497
|
+
x2: w.x,
|
|
2498
|
+
y2: w.y,
|
|
1660
2499
|
stroke: "hsl(var(--border))",
|
|
1661
2500
|
strokeWidth: 1,
|
|
1662
2501
|
opacity: 0.3
|
|
1663
2502
|
},
|
|
1664
|
-
|
|
1665
|
-
)
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
2503
|
+
k
|
|
2504
|
+
)),
|
|
2505
|
+
I.map(({ ds: w, path: k, center: R }, O) => {
|
|
2506
|
+
const C = w.color ?? V[O % V.length], M = w.fillOpacity ?? 0.15;
|
|
2507
|
+
return /* @__PURE__ */ e(
|
|
2508
|
+
te.polygon,
|
|
2509
|
+
{
|
|
2510
|
+
points: f ? k : R,
|
|
2511
|
+
fill: C,
|
|
2512
|
+
fillOpacity: M,
|
|
2513
|
+
stroke: C,
|
|
2514
|
+
strokeWidth: 2,
|
|
2515
|
+
initial: !1,
|
|
2516
|
+
animate: { points: f ? k : R },
|
|
2517
|
+
transition: {
|
|
2518
|
+
duration: 0.8,
|
|
2519
|
+
ease: [0.25, 0.8, 0.25, 1],
|
|
2520
|
+
delay: O * 0.1
|
|
2521
|
+
},
|
|
2522
|
+
style: {
|
|
2523
|
+
filter: `drop-shadow(0 0 8px ${C.replace(")", " / 0.3)")})`
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
O
|
|
2527
|
+
);
|
|
2528
|
+
}),
|
|
2529
|
+
I[0] && (() => {
|
|
2530
|
+
const { ds: w, path: k } = I[0], R = w.color ?? V[0];
|
|
2531
|
+
return b.map((O, C) => {
|
|
2532
|
+
const M = O.min ?? 0, U = O.max ?? 100, Pe = U > M ? (w.values[C] - M) / (U - M) : 0, ae = L(
|
|
2533
|
+
N,
|
|
2534
|
+
g,
|
|
2535
|
+
Math.max(0, Math.min(1, Pe)) * v,
|
|
2536
|
+
E,
|
|
2537
|
+
C
|
|
2538
|
+
);
|
|
2539
|
+
return /* @__PURE__ */ e(
|
|
2540
|
+
te.circle,
|
|
2541
|
+
{
|
|
2542
|
+
cx: N,
|
|
2543
|
+
cy: g,
|
|
2544
|
+
r: 4,
|
|
2545
|
+
fill: R,
|
|
2546
|
+
stroke: "hsl(var(--background))",
|
|
2547
|
+
strokeWidth: 2,
|
|
2548
|
+
initial: !1,
|
|
2549
|
+
animate: {
|
|
2550
|
+
cx: f ? ae.x : N,
|
|
2551
|
+
cy: f ? ae.y : g
|
|
2552
|
+
},
|
|
2553
|
+
transition: { duration: 0.8, delay: C * 0.05 },
|
|
2554
|
+
style: {
|
|
2555
|
+
filter: `drop-shadow(0 0 4px ${R.replace(")", " / 0.5)")})`
|
|
2556
|
+
}
|
|
2557
|
+
},
|
|
2558
|
+
C
|
|
2559
|
+
);
|
|
2560
|
+
});
|
|
2561
|
+
})(),
|
|
2562
|
+
b.map((w, k) => {
|
|
2563
|
+
const R = L(N, g, v + 20, E, k);
|
|
2564
|
+
return /* @__PURE__ */ e(
|
|
2565
|
+
"text",
|
|
2566
|
+
{
|
|
2567
|
+
x: R.x,
|
|
2568
|
+
y: R.y,
|
|
2569
|
+
textAnchor: "middle",
|
|
2570
|
+
dominantBaseline: "middle",
|
|
2571
|
+
className: "font-display text-[9px] font-bold tracking-[0.1em] uppercase",
|
|
2572
|
+
fill: "hsl(var(--muted-foreground))",
|
|
2573
|
+
children: w.label
|
|
2574
|
+
},
|
|
2575
|
+
k
|
|
2576
|
+
);
|
|
2577
|
+
})
|
|
2578
|
+
]
|
|
2579
|
+
}
|
|
2580
|
+
),
|
|
2581
|
+
n && h.some((w) => w.label) && /* @__PURE__ */ e("div", { className: "flex items-center gap-4 mt-3", children: h.map((w, k) => {
|
|
2582
|
+
if (!w.label) return null;
|
|
2583
|
+
const R = w.color ?? V[k % V.length];
|
|
2584
|
+
return /* @__PURE__ */ c("div", { className: "flex items-center gap-1.5", children: [
|
|
2585
|
+
/* @__PURE__ */ e(
|
|
2586
|
+
"span",
|
|
1669
2587
|
{
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
stroke: `hsl(var(${T}))`,
|
|
1673
|
-
strokeWidth: 2,
|
|
1674
|
-
initial: !1,
|
|
1675
|
-
animate: { points: c ? z : B },
|
|
1676
|
-
transition: { duration: 0.8, ease: [0.25, 0.8, 0.25, 1] },
|
|
1677
|
-
style: {
|
|
1678
|
-
filter: `drop-shadow(0 0 8px hsl(var(${T}) / 0.3))`
|
|
1679
|
-
}
|
|
2588
|
+
className: "inline-block w-2.5 h-2.5",
|
|
2589
|
+
style: { backgroundColor: R }
|
|
1680
2590
|
}
|
|
1681
2591
|
),
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
cy: m,
|
|
1687
|
-
r: 4,
|
|
1688
|
-
fill: `hsl(var(${T}))`,
|
|
1689
|
-
stroke: "hsl(var(--background))",
|
|
1690
|
-
strokeWidth: 2,
|
|
1691
|
-
initial: !1,
|
|
1692
|
-
animate: { cx: c ? u.x : f, cy: c ? u.y : m },
|
|
1693
|
-
transition: { duration: 0.8, delay: b * 0.05 },
|
|
1694
|
-
style: {
|
|
1695
|
-
filter: `drop-shadow(0 0 4px hsl(var(${T}) / 0.5))`
|
|
1696
|
-
}
|
|
1697
|
-
},
|
|
1698
|
-
b
|
|
1699
|
-
)),
|
|
1700
|
-
e.map((u, b) => {
|
|
1701
|
-
const N = C(b, g + 20);
|
|
1702
|
-
return /* @__PURE__ */ a(
|
|
1703
|
-
"text",
|
|
1704
|
-
{
|
|
1705
|
-
x: N.x,
|
|
1706
|
-
y: N.y,
|
|
1707
|
-
textAnchor: "middle",
|
|
1708
|
-
dominantBaseline: "middle",
|
|
1709
|
-
className: "font-display text-[9px] font-bold tracking-[0.1em] uppercase",
|
|
1710
|
-
fill: "hsl(var(--muted-foreground))",
|
|
1711
|
-
children: u.label
|
|
1712
|
-
},
|
|
1713
|
-
b
|
|
1714
|
-
);
|
|
1715
|
-
})
|
|
1716
|
-
]
|
|
1717
|
-
}
|
|
1718
|
-
)
|
|
2592
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[11px] text-muted-foreground uppercase tracking-wider", children: w.label })
|
|
2593
|
+
] }, k);
|
|
2594
|
+
}) })
|
|
2595
|
+
]
|
|
1719
2596
|
}
|
|
1720
2597
|
);
|
|
1721
2598
|
}
|
|
1722
2599
|
);
|
|
1723
|
-
|
|
1724
|
-
const
|
|
2600
|
+
Kr.displayName = "RadarChart";
|
|
2601
|
+
const fe = {
|
|
2602
|
+
sm: "w-5 h-5",
|
|
2603
|
+
md: "w-8 h-8",
|
|
2604
|
+
lg: "w-12 h-12"
|
|
2605
|
+
}, Xr = i.forwardRef(
|
|
1725
2606
|
({
|
|
1726
|
-
children:
|
|
1727
|
-
systemLabel:
|
|
1728
|
-
lat:
|
|
1729
|
-
lon: o = "LON 122.4194°W",
|
|
1730
|
-
showCoords:
|
|
1731
|
-
showCrosshair:
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
2607
|
+
children: t,
|
|
2608
|
+
systemLabel: r = "SYS::ENDFIELD v2.0",
|
|
2609
|
+
lat: a = "LAT 37.7749°N",
|
|
2610
|
+
lon: o = "LON 122.4194°W",
|
|
2611
|
+
showCoords: n = !0,
|
|
2612
|
+
showCrosshair: l = !0,
|
|
2613
|
+
showScanlines: p = !0,
|
|
2614
|
+
showNoise: d = !1,
|
|
2615
|
+
bracketSize: m = "md",
|
|
2616
|
+
className: u,
|
|
2617
|
+
...f
|
|
2618
|
+
}, x) => {
|
|
2619
|
+
const [b, h] = i.useState("");
|
|
2620
|
+
i.useEffect(() => {
|
|
2621
|
+
const N = () => h((/* @__PURE__ */ new Date()).toLocaleTimeString("en-GB"));
|
|
2622
|
+
N();
|
|
2623
|
+
const g = setInterval(N, 1e3);
|
|
2624
|
+
return () => clearInterval(g);
|
|
2625
|
+
}, []);
|
|
2626
|
+
const y = fe[m] ?? fe.md;
|
|
2627
|
+
return /* @__PURE__ */ c(
|
|
1741
2628
|
"div",
|
|
1742
2629
|
{
|
|
1743
|
-
ref:
|
|
1744
|
-
className:
|
|
2630
|
+
ref: x,
|
|
2631
|
+
className: s(
|
|
2632
|
+
"relative border border-border bg-surface-0 aspect-video flex items-center justify-center overflow-hidden",
|
|
2633
|
+
u
|
|
2634
|
+
),
|
|
2635
|
+
...f,
|
|
1745
2636
|
children: [
|
|
1746
|
-
/* @__PURE__ */
|
|
2637
|
+
p && /* @__PURE__ */ e("div", { className: "absolute inset-0 scanline-overlay pointer-events-none" }),
|
|
2638
|
+
d && /* @__PURE__ */ e(
|
|
2639
|
+
"div",
|
|
2640
|
+
{
|
|
2641
|
+
className: "absolute inset-0 pointer-events-none noise-overlay",
|
|
2642
|
+
style: {
|
|
2643
|
+
backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E")`,
|
|
2644
|
+
backgroundRepeat: "repeat",
|
|
2645
|
+
backgroundSize: "200px 200px",
|
|
2646
|
+
opacity: 0.6
|
|
2647
|
+
}
|
|
2648
|
+
}
|
|
2649
|
+
),
|
|
1747
2650
|
[
|
|
1748
|
-
"top-3 left-3 border-t-2 border-l-2",
|
|
1749
|
-
"top-3 right-3 border-t-2 border-r-2",
|
|
1750
|
-
"bottom-3 left-3 border-b-2 border-l-2",
|
|
1751
|
-
"bottom-3 right-3 border-b-2 border-r-2"
|
|
1752
|
-
].map((g,
|
|
2651
|
+
["top-3 left-3", "border-t-2 border-l-2"],
|
|
2652
|
+
["top-3 right-3", "border-t-2 border-r-2"],
|
|
2653
|
+
["bottom-3 left-3", "border-b-2 border-l-2"],
|
|
2654
|
+
["bottom-3 right-3", "border-b-2 border-r-2"]
|
|
2655
|
+
].map(([N, g], v) => /* @__PURE__ */ e(
|
|
1753
2656
|
"div",
|
|
1754
2657
|
{
|
|
1755
|
-
className:
|
|
2658
|
+
className: s(
|
|
2659
|
+
"absolute border-primary/40 pointer-events-none",
|
|
2660
|
+
y,
|
|
2661
|
+
N,
|
|
2662
|
+
g
|
|
2663
|
+
)
|
|
1756
2664
|
},
|
|
1757
|
-
|
|
2665
|
+
v
|
|
1758
2666
|
)),
|
|
1759
|
-
|
|
1760
|
-
/* @__PURE__ */
|
|
2667
|
+
l && /* @__PURE__ */ c("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-none", children: [
|
|
2668
|
+
/* @__PURE__ */ e(
|
|
1761
2669
|
"div",
|
|
1762
2670
|
{
|
|
1763
2671
|
className: "w-6 h-px bg-primary/20",
|
|
1764
2672
|
style: { position: "absolute", top: "50%", left: "-12px" }
|
|
1765
2673
|
}
|
|
1766
2674
|
),
|
|
1767
|
-
/* @__PURE__ */
|
|
2675
|
+
/* @__PURE__ */ e(
|
|
1768
2676
|
"div",
|
|
1769
2677
|
{
|
|
1770
2678
|
className: "h-6 w-px bg-primary/20",
|
|
@@ -1772,136 +2680,1010 @@ const Qt = n.forwardRef(
|
|
|
1772
2680
|
}
|
|
1773
2681
|
)
|
|
1774
2682
|
] }),
|
|
1775
|
-
|
|
1776
|
-
/* @__PURE__ */
|
|
1777
|
-
/* @__PURE__ */
|
|
2683
|
+
n && /* @__PURE__ */ c("div", { className: "absolute top-4 left-12 font-mono text-[9px] text-muted-foreground/60 space-y-0.5", children: [
|
|
2684
|
+
/* @__PURE__ */ e("div", { children: r }),
|
|
2685
|
+
/* @__PURE__ */ e("div", { className: "text-primary/60", children: b })
|
|
1778
2686
|
] }),
|
|
1779
|
-
|
|
1780
|
-
/* @__PURE__ */
|
|
1781
|
-
/* @__PURE__ */
|
|
2687
|
+
n && /* @__PURE__ */ c("div", { className: "absolute top-4 right-12 font-mono text-[9px] text-muted-foreground/60 text-right space-y-0.5", children: [
|
|
2688
|
+
/* @__PURE__ */ e("div", { children: a }),
|
|
2689
|
+
/* @__PURE__ */ e("div", { children: o })
|
|
1782
2690
|
] }),
|
|
1783
|
-
/* @__PURE__ */
|
|
1784
|
-
/* @__PURE__ */
|
|
1785
|
-
/* @__PURE__ */
|
|
2691
|
+
/* @__PURE__ */ c("div", { className: "absolute bottom-4 left-12 right-12 flex items-center justify-between", children: [
|
|
2692
|
+
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
2693
|
+
/* @__PURE__ */ e(
|
|
1786
2694
|
"div",
|
|
1787
2695
|
{
|
|
1788
2696
|
className: "w-1.5 h-1.5 bg-ef-green",
|
|
1789
|
-
style: {
|
|
2697
|
+
style: {
|
|
2698
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"
|
|
2699
|
+
}
|
|
1790
2700
|
}
|
|
1791
2701
|
),
|
|
1792
|
-
/* @__PURE__ */
|
|
2702
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[9px] text-ef-green/80", children: "LINK ACTIVE" })
|
|
1793
2703
|
] }),
|
|
1794
|
-
/* @__PURE__ */
|
|
2704
|
+
/* @__PURE__ */ e("div", { className: "flex gap-4", children: ["FPS:60", "MEM:47%", "NET:12ms"].map((N) => /* @__PURE__ */ e(
|
|
1795
2705
|
"span",
|
|
1796
2706
|
{
|
|
1797
2707
|
className: "font-mono text-[9px] text-muted-foreground/50",
|
|
1798
|
-
children:
|
|
2708
|
+
children: N
|
|
1799
2709
|
},
|
|
1800
|
-
|
|
2710
|
+
N
|
|
1801
2711
|
)) })
|
|
1802
2712
|
] }),
|
|
1803
|
-
/* @__PURE__ */
|
|
2713
|
+
/* @__PURE__ */ e("div", { className: "relative z-10", children: t })
|
|
2714
|
+
]
|
|
2715
|
+
}
|
|
2716
|
+
);
|
|
2717
|
+
}
|
|
2718
|
+
);
|
|
2719
|
+
Xr.displayName = "HUDOverlay";
|
|
2720
|
+
const Zr = T(
|
|
2721
|
+
[
|
|
2722
|
+
"relative bg-surface-1 border overflow-hidden transition-all duration-300",
|
|
2723
|
+
"before:absolute before:top-0 before:left-0 before:w-5 before:h-5",
|
|
2724
|
+
"before:border-t-2 before:border-l-2 before:border-primary/40 before:pointer-events-none",
|
|
2725
|
+
"after:absolute after:bottom-0 after:right-0 after:w-5 after:h-5",
|
|
2726
|
+
"after:border-b-2 after:border-r-2 after:border-primary/40 after:pointer-events-none"
|
|
2727
|
+
].join(" "),
|
|
2728
|
+
{
|
|
2729
|
+
variants: {
|
|
2730
|
+
priority: {
|
|
2731
|
+
low: "border-white/8",
|
|
2732
|
+
medium: "border-ef-blue/30",
|
|
2733
|
+
high: "border-ef-orange/40",
|
|
2734
|
+
critical: "border-ef-red/50 shadow-[0_0_12px_rgba(255,71,87,0.1)]"
|
|
2735
|
+
},
|
|
2736
|
+
status: {
|
|
2737
|
+
active: "",
|
|
2738
|
+
completed: "opacity-70",
|
|
2739
|
+
failed: "opacity-60",
|
|
2740
|
+
pending: "border-dashed",
|
|
2741
|
+
classified: "border-primary/20"
|
|
2742
|
+
},
|
|
2743
|
+
clickable: {
|
|
2744
|
+
true: "cursor-pointer hover:-translate-y-0.5 hover:shadow-lg",
|
|
2745
|
+
false: ""
|
|
2746
|
+
}
|
|
2747
|
+
},
|
|
2748
|
+
defaultVariants: { priority: "medium", status: "active", clickable: !1 }
|
|
2749
|
+
}
|
|
2750
|
+
), Qr = {
|
|
2751
|
+
active: {
|
|
2752
|
+
label: "ACTIVE",
|
|
2753
|
+
cls: "text-ef-green border-ef-green/40 bg-ef-green/10"
|
|
2754
|
+
},
|
|
2755
|
+
completed: {
|
|
2756
|
+
label: "COMPLETED",
|
|
2757
|
+
cls: "text-muted-foreground border-white/20 bg-white/5"
|
|
2758
|
+
},
|
|
2759
|
+
failed: {
|
|
2760
|
+
label: "FAILED",
|
|
2761
|
+
cls: "text-destructive border-destructive/40 bg-destructive/10"
|
|
2762
|
+
},
|
|
2763
|
+
pending: {
|
|
2764
|
+
label: "PENDING",
|
|
2765
|
+
cls: "text-ef-orange border-ef-orange/40 bg-ef-orange/10"
|
|
2766
|
+
},
|
|
2767
|
+
classified: {
|
|
2768
|
+
label: "CLASSIFIED",
|
|
2769
|
+
cls: "text-primary border-primary/40 bg-primary/10"
|
|
2770
|
+
}
|
|
2771
|
+
}, Jr = {
|
|
2772
|
+
low: { label: "LOW", cls: "text-muted-foreground" },
|
|
2773
|
+
medium: { label: "MEDIUM", cls: "text-ef-blue" },
|
|
2774
|
+
high: { label: "HIGH", cls: "text-ef-orange" },
|
|
2775
|
+
critical: { label: "CRITICAL", cls: "text-destructive" }
|
|
2776
|
+
}, ea = i.forwardRef(
|
|
2777
|
+
({
|
|
2778
|
+
className: t,
|
|
2779
|
+
title: r,
|
|
2780
|
+
missionId: a,
|
|
2781
|
+
description: o,
|
|
2782
|
+
status: n = "active",
|
|
2783
|
+
priority: l = "medium",
|
|
2784
|
+
date: p,
|
|
2785
|
+
progress: d,
|
|
2786
|
+
tags: m,
|
|
2787
|
+
onClick: u,
|
|
2788
|
+
...f
|
|
2789
|
+
}, x) => {
|
|
2790
|
+
const b = Qr[n], h = Jr[l], y = !!u, N = (v) => {
|
|
2791
|
+
y && (v.key === "Enter" || v.key === " ") && (v.preventDefault(), u == null || u(v));
|
|
2792
|
+
}, g = d !== void 0 ? Math.min(100, Math.max(0, d)) : void 0;
|
|
2793
|
+
return /* @__PURE__ */ c(
|
|
2794
|
+
"div",
|
|
2795
|
+
{
|
|
2796
|
+
ref: x,
|
|
2797
|
+
role: y ? "button" : "article",
|
|
2798
|
+
"aria-label": `Mission: ${r}`,
|
|
2799
|
+
tabIndex: y ? 0 : void 0,
|
|
2800
|
+
onClick: u,
|
|
2801
|
+
onKeyDown: N,
|
|
2802
|
+
className: s(
|
|
2803
|
+
Zr({ priority: l, status: n, clickable: y }),
|
|
2804
|
+
t
|
|
2805
|
+
),
|
|
2806
|
+
...f,
|
|
2807
|
+
children: [
|
|
2808
|
+
/* @__PURE__ */ c("div", { className: "flex items-center justify-between px-4 py-2.5 border-b border-white/8 bg-surface-0", children: [
|
|
2809
|
+
/* @__PURE__ */ c(
|
|
2810
|
+
"span",
|
|
2811
|
+
{
|
|
2812
|
+
className: s(
|
|
2813
|
+
"font-mono text-[10px] font-semibold tracking-[0.1em] uppercase",
|
|
2814
|
+
h.cls
|
|
2815
|
+
),
|
|
2816
|
+
children: [
|
|
2817
|
+
"◆ PRIORITY: ",
|
|
2818
|
+
h.label
|
|
2819
|
+
]
|
|
2820
|
+
}
|
|
2821
|
+
),
|
|
2822
|
+
/* @__PURE__ */ e(
|
|
2823
|
+
"span",
|
|
2824
|
+
{
|
|
2825
|
+
className: s(
|
|
2826
|
+
"font-mono text-[10px] font-semibold tracking-[0.1em] uppercase border px-2 py-0.5",
|
|
2827
|
+
b.cls
|
|
2828
|
+
),
|
|
2829
|
+
children: b.label
|
|
2830
|
+
}
|
|
2831
|
+
)
|
|
2832
|
+
] }),
|
|
2833
|
+
/* @__PURE__ */ c("div", { className: "px-4 pt-3 pb-2", children: [
|
|
2834
|
+
/* @__PURE__ */ e("h3", { className: "font-display text-[15px] font-bold uppercase tracking-wider text-foreground leading-tight", children: r }),
|
|
2835
|
+
a && /* @__PURE__ */ c("p", { className: "font-mono text-[11px] text-muted-foreground/60 mt-0.5", children: [
|
|
2836
|
+
"ID: ",
|
|
2837
|
+
a
|
|
2838
|
+
] }),
|
|
2839
|
+
o && /* @__PURE__ */ e("p", { className: "text-[13px] text-muted-foreground mt-2 leading-relaxed", children: o })
|
|
2840
|
+
] }),
|
|
2841
|
+
(p !== void 0 || g !== void 0 || m && m.length > 0) && /* @__PURE__ */ c("div", { className: "px-4 pb-3 pt-1 space-y-2", children: [
|
|
2842
|
+
g !== void 0 && /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
2843
|
+
/* @__PURE__ */ e("div", { className: "flex-1 h-1 bg-white/8 overflow-hidden", children: /* @__PURE__ */ e(
|
|
2844
|
+
"div",
|
|
2845
|
+
{
|
|
2846
|
+
className: "h-full bg-primary transition-all duration-500",
|
|
2847
|
+
style: { width: `${g}%` }
|
|
2848
|
+
}
|
|
2849
|
+
) }),
|
|
2850
|
+
/* @__PURE__ */ c("span", { className: "font-mono text-[10px] text-muted-foreground shrink-0 w-8 text-right", children: [
|
|
2851
|
+
g,
|
|
2852
|
+
"%"
|
|
2853
|
+
] })
|
|
2854
|
+
] }),
|
|
2855
|
+
/* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-2 flex-wrap", children: [
|
|
2856
|
+
p && /* @__PURE__ */ e("span", { className: "font-mono text-[11px] text-muted-foreground/60", children: p }),
|
|
2857
|
+
m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1 ml-auto", children: m.map((v) => /* @__PURE__ */ e(
|
|
2858
|
+
"span",
|
|
2859
|
+
{
|
|
2860
|
+
className: "font-mono text-[9px] uppercase tracking-wider border border-white/10 px-1.5 py-0.5 text-muted-foreground/60",
|
|
2861
|
+
children: v
|
|
2862
|
+
},
|
|
2863
|
+
v
|
|
2864
|
+
)) })
|
|
2865
|
+
] })
|
|
2866
|
+
] })
|
|
2867
|
+
]
|
|
2868
|
+
}
|
|
2869
|
+
);
|
|
2870
|
+
}
|
|
2871
|
+
);
|
|
2872
|
+
ea.displayName = "MissionCard";
|
|
2873
|
+
const ue = {
|
|
2874
|
+
1: "text-white/40",
|
|
2875
|
+
2: "text-ef-green/70",
|
|
2876
|
+
3: "text-ef-blue/80",
|
|
2877
|
+
4: "text-ef-purple",
|
|
2878
|
+
5: "text-ef-orange",
|
|
2879
|
+
6: "text-primary"
|
|
2880
|
+
}, xe = {
|
|
2881
|
+
default: "bg-primary",
|
|
2882
|
+
success: "bg-ef-green",
|
|
2883
|
+
danger: "bg-destructive",
|
|
2884
|
+
info: "bg-ef-blue"
|
|
2885
|
+
}, ge = T(
|
|
2886
|
+
[
|
|
2887
|
+
"relative bg-surface-1 border border-white/8 overflow-hidden transition-all duration-300",
|
|
2888
|
+
"before:absolute before:top-0 before:left-0 before:w-5 before:h-5",
|
|
2889
|
+
"before:border-t-2 before:border-l-2 before:border-primary/40 before:pointer-events-none"
|
|
2890
|
+
].join(" "),
|
|
2891
|
+
{
|
|
2892
|
+
variants: {
|
|
2893
|
+
size: {
|
|
2894
|
+
compact: "flex gap-3 p-3",
|
|
2895
|
+
default: "p-4"
|
|
2896
|
+
}
|
|
2897
|
+
},
|
|
2898
|
+
defaultVariants: { size: "default" }
|
|
2899
|
+
}
|
|
2900
|
+
);
|
|
2901
|
+
function he({
|
|
2902
|
+
src: t,
|
|
2903
|
+
name: r,
|
|
2904
|
+
initials: a,
|
|
2905
|
+
sizeClass: o
|
|
2906
|
+
}) {
|
|
2907
|
+
return /* @__PURE__ */ e(
|
|
2908
|
+
"div",
|
|
2909
|
+
{
|
|
2910
|
+
className: s(
|
|
2911
|
+
"shrink-0 bg-surface-2 flex items-center justify-center",
|
|
2912
|
+
"font-display font-bold uppercase text-primary",
|
|
2913
|
+
o
|
|
2914
|
+
),
|
|
2915
|
+
style: {
|
|
2916
|
+
clipPath: "polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%)"
|
|
2917
|
+
},
|
|
2918
|
+
children: t ? /* @__PURE__ */ e("img", { src: t, alt: r, className: "w-full h-full object-cover" }) : /* @__PURE__ */ e("span", { children: a ?? r.slice(0, 2) })
|
|
2919
|
+
}
|
|
2920
|
+
);
|
|
2921
|
+
}
|
|
2922
|
+
function be({ rarity: t }) {
|
|
2923
|
+
const r = ue[t] ?? ue[3];
|
|
2924
|
+
return /* @__PURE__ */ c(
|
|
2925
|
+
"span",
|
|
2926
|
+
{
|
|
2927
|
+
className: "font-mono text-[11px]",
|
|
2928
|
+
"aria-label": `${t} star${t !== 1 ? "s" : ""}`,
|
|
2929
|
+
children: [
|
|
2930
|
+
Array.from({ length: t }).map((a, o) => /* @__PURE__ */ e("span", { className: r, children: "◆" }, `f-${o}`)),
|
|
2931
|
+
Array.from({ length: 6 - t }).map((a, o) => /* @__PURE__ */ e("span", { className: "text-white/15", children: "◇" }, `e-${o}`))
|
|
2932
|
+
]
|
|
2933
|
+
}
|
|
2934
|
+
);
|
|
2935
|
+
}
|
|
2936
|
+
function ta({ label: t }) {
|
|
2937
|
+
return /* @__PURE__ */ c(
|
|
2938
|
+
"span",
|
|
2939
|
+
{
|
|
2940
|
+
className: [
|
|
2941
|
+
"inline-flex items-center gap-1.5 clip-corner-sm border",
|
|
2942
|
+
"px-2.5 py-0.5 font-display text-[10px] font-bold tracking-[0.15em] uppercase",
|
|
2943
|
+
"border-primary/40 text-primary bg-primary/10"
|
|
2944
|
+
].join(" "),
|
|
2945
|
+
children: [
|
|
2946
|
+
/* @__PURE__ */ e("span", { style: { fontSize: "6px" }, children: "◆" }),
|
|
2947
|
+
t
|
|
2948
|
+
]
|
|
2949
|
+
}
|
|
2950
|
+
);
|
|
2951
|
+
}
|
|
2952
|
+
const ra = i.forwardRef(
|
|
2953
|
+
({
|
|
2954
|
+
className: t,
|
|
2955
|
+
name: r,
|
|
2956
|
+
operatorClass: a,
|
|
2957
|
+
rarity: o = 3,
|
|
2958
|
+
avatarSrc: n,
|
|
2959
|
+
initials: l,
|
|
2960
|
+
stats: p,
|
|
2961
|
+
faction: d,
|
|
2962
|
+
tags: m,
|
|
2963
|
+
size: u,
|
|
2964
|
+
...f
|
|
2965
|
+
}, x) => {
|
|
2966
|
+
const b = Math.min(6, Math.max(1, o));
|
|
2967
|
+
return u === "compact" ? /* @__PURE__ */ c(
|
|
2968
|
+
"div",
|
|
2969
|
+
{
|
|
2970
|
+
ref: x,
|
|
2971
|
+
className: s(ge({ size: u }), t),
|
|
2972
|
+
...f,
|
|
2973
|
+
children: [
|
|
2974
|
+
/* @__PURE__ */ e(
|
|
2975
|
+
he,
|
|
2976
|
+
{
|
|
2977
|
+
src: n,
|
|
2978
|
+
name: r,
|
|
2979
|
+
initials: l,
|
|
2980
|
+
sizeClass: "w-12 h-12 text-sm"
|
|
2981
|
+
}
|
|
2982
|
+
),
|
|
2983
|
+
/* @__PURE__ */ c("div", { className: "flex-1 min-w-0 py-0.5", children: [
|
|
2984
|
+
/* @__PURE__ */ e("p", { className: "font-display text-[13px] font-bold uppercase tracking-wider text-foreground truncate", children: r }),
|
|
2985
|
+
a && /* @__PURE__ */ c("p", { className: "font-mono text-[10px] text-muted-foreground mt-0.5", children: [
|
|
2986
|
+
"◆ ",
|
|
2987
|
+
a.toUpperCase()
|
|
2988
|
+
] }),
|
|
2989
|
+
/* @__PURE__ */ e("div", { className: "mt-1", children: /* @__PURE__ */ e(be, { rarity: b }) })
|
|
2990
|
+
] })
|
|
2991
|
+
]
|
|
2992
|
+
}
|
|
2993
|
+
) : /* @__PURE__ */ c(
|
|
2994
|
+
"div",
|
|
2995
|
+
{
|
|
2996
|
+
ref: x,
|
|
2997
|
+
className: s(ge({ size: u }), t),
|
|
2998
|
+
...f,
|
|
2999
|
+
children: [
|
|
3000
|
+
/* @__PURE__ */ c("div", { className: "flex items-start gap-4 mb-3", children: [
|
|
3001
|
+
/* @__PURE__ */ e(
|
|
3002
|
+
he,
|
|
3003
|
+
{
|
|
3004
|
+
src: n,
|
|
3005
|
+
name: r,
|
|
3006
|
+
initials: l,
|
|
3007
|
+
sizeClass: "w-20 h-20 text-xl"
|
|
3008
|
+
}
|
|
3009
|
+
),
|
|
3010
|
+
/* @__PURE__ */ c("div", { className: "flex-1 min-w-0 pt-1", children: [
|
|
3011
|
+
/* @__PURE__ */ e("h3", { className: "font-display text-[16px] font-bold uppercase tracking-wider text-foreground leading-tight", children: r }),
|
|
3012
|
+
d && /* @__PURE__ */ e("p", { className: "font-mono text-[10px] text-muted-foreground/60 mt-0.5 uppercase tracking-wider", children: d }),
|
|
3013
|
+
a && /* @__PURE__ */ e("div", { className: "mt-1.5", children: /* @__PURE__ */ e(ta, { label: a }) }),
|
|
3014
|
+
/* @__PURE__ */ e("div", { className: "mt-2", children: /* @__PURE__ */ e(be, { rarity: b }) })
|
|
3015
|
+
] })
|
|
3016
|
+
] }),
|
|
3017
|
+
m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1 mb-3", children: m.map((h) => /* @__PURE__ */ e(
|
|
3018
|
+
"span",
|
|
3019
|
+
{
|
|
3020
|
+
className: "font-mono text-[9px] uppercase tracking-wider border border-white/10 px-1.5 py-0.5 text-muted-foreground/60",
|
|
3021
|
+
children: h
|
|
3022
|
+
},
|
|
3023
|
+
h
|
|
3024
|
+
)) }),
|
|
3025
|
+
p && p.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-2 pt-2 border-t border-white/6", children: p.map((h) => {
|
|
3026
|
+
const y = h.max ?? h.value, N = y > 0 ? Math.min(100, h.value / y * 100) : 0, g = xe[h.color ?? "default"] ?? xe.default;
|
|
3027
|
+
return /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
3028
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] uppercase tracking-wider text-muted-foreground w-8 shrink-0", children: h.label }),
|
|
3029
|
+
/* @__PURE__ */ e("div", { className: "flex-1 h-1 bg-white/8 overflow-hidden", children: /* @__PURE__ */ e(
|
|
3030
|
+
"div",
|
|
3031
|
+
{
|
|
3032
|
+
className: s("h-full transition-all duration-500", g),
|
|
3033
|
+
style: { width: `${N}%` }
|
|
3034
|
+
}
|
|
3035
|
+
) }),
|
|
3036
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] text-muted-foreground/70 w-12 text-right shrink-0", children: h.value.toLocaleString() })
|
|
3037
|
+
] }, h.label);
|
|
3038
|
+
}) })
|
|
3039
|
+
]
|
|
3040
|
+
}
|
|
3041
|
+
);
|
|
3042
|
+
}
|
|
3043
|
+
);
|
|
3044
|
+
ra.displayName = "OperatorCard";
|
|
3045
|
+
const aa = T("flex items-center gap-1.5", {
|
|
3046
|
+
variants: {
|
|
3047
|
+
size: {
|
|
3048
|
+
sm: "[&>span.seg]:w-3 [&>span.seg]:h-2",
|
|
3049
|
+
md: "[&>span.seg]:w-4 [&>span.seg]:h-3",
|
|
3050
|
+
lg: "[&>span.seg]:w-6 [&>span.seg]:h-4"
|
|
3051
|
+
}
|
|
3052
|
+
},
|
|
3053
|
+
defaultVariants: { size: "md" }
|
|
3054
|
+
}), oa = T("seg transition-all duration-200", {
|
|
3055
|
+
variants: {
|
|
3056
|
+
variant: {
|
|
3057
|
+
health: "",
|
|
3058
|
+
energy: "",
|
|
3059
|
+
shield: "",
|
|
3060
|
+
experience: ""
|
|
3061
|
+
}
|
|
3062
|
+
},
|
|
3063
|
+
defaultVariants: { variant: "health" }
|
|
3064
|
+
}), ve = {
|
|
3065
|
+
health: "bg-ef-green",
|
|
3066
|
+
energy: "bg-primary",
|
|
3067
|
+
shield: "bg-ef-blue",
|
|
3068
|
+
experience: "bg-ef-purple"
|
|
3069
|
+
}, na = i.forwardRef(
|
|
3070
|
+
({
|
|
3071
|
+
className: t,
|
|
3072
|
+
value: r,
|
|
3073
|
+
max: a = 100,
|
|
3074
|
+
segments: o = 10,
|
|
3075
|
+
label: n,
|
|
3076
|
+
showValue: l = !1,
|
|
3077
|
+
size: p,
|
|
3078
|
+
variant: d = "health",
|
|
3079
|
+
...m
|
|
3080
|
+
}, u) => {
|
|
3081
|
+
const f = Math.min(a, Math.max(0, r)), x = a > 0 ? f / a : 0, b = Math.round(x * o), h = (y) => {
|
|
3082
|
+
if (y >= b) return "bg-white/8";
|
|
3083
|
+
if (d === "health") {
|
|
3084
|
+
if (x <= 0.15) return "bg-destructive";
|
|
3085
|
+
if (x <= 0.3) return "bg-ef-orange";
|
|
3086
|
+
}
|
|
3087
|
+
return ve[d ?? "health"] ?? ve.health;
|
|
3088
|
+
};
|
|
3089
|
+
return /* @__PURE__ */ c(
|
|
3090
|
+
"div",
|
|
3091
|
+
{
|
|
3092
|
+
ref: u,
|
|
3093
|
+
className: s("flex items-center gap-2", t),
|
|
3094
|
+
role: "meter",
|
|
3095
|
+
"aria-valuenow": f,
|
|
3096
|
+
"aria-valuemin": 0,
|
|
3097
|
+
"aria-valuemax": a,
|
|
3098
|
+
"aria-label": n ?? `${d} bar`,
|
|
3099
|
+
...m,
|
|
3100
|
+
children: [
|
|
3101
|
+
n && /* @__PURE__ */ e("span", { className: "font-mono text-[10px] uppercase tracking-wider text-muted-foreground shrink-0", children: n }),
|
|
3102
|
+
/* @__PURE__ */ e("div", { className: s(aa({ size: p })), children: Array.from({ length: o }).map((y, N) => /* @__PURE__ */ e(
|
|
3103
|
+
"span",
|
|
3104
|
+
{
|
|
3105
|
+
className: s(
|
|
3106
|
+
oa({ variant: d }),
|
|
3107
|
+
h(N)
|
|
3108
|
+
)
|
|
3109
|
+
},
|
|
3110
|
+
N
|
|
3111
|
+
)) }),
|
|
3112
|
+
l && /* @__PURE__ */ c("span", { className: "font-mono text-[10px] text-muted-foreground shrink-0 ml-1", children: [
|
|
3113
|
+
f,
|
|
3114
|
+
"/",
|
|
3115
|
+
a
|
|
3116
|
+
] })
|
|
3117
|
+
]
|
|
3118
|
+
}
|
|
3119
|
+
);
|
|
3120
|
+
}
|
|
3121
|
+
);
|
|
3122
|
+
na.displayName = "StatusBar";
|
|
3123
|
+
const sa = {
|
|
3124
|
+
system: { prefix: "[SYS] ", color: "text-muted-foreground", ariaLive: "off" },
|
|
3125
|
+
info: { prefix: "[INFO]", color: "text-ef-blue", ariaLive: "off" },
|
|
3126
|
+
success: { prefix: "[OK] ", color: "text-ef-green", ariaLive: "polite" },
|
|
3127
|
+
warning: { prefix: "[WARN]", color: "text-ef-orange", ariaLive: "polite" },
|
|
3128
|
+
error: { prefix: "[ERR] ", color: "text-destructive", ariaLive: "assertive" }
|
|
3129
|
+
}, ia = i.forwardRef(
|
|
3130
|
+
({
|
|
3131
|
+
className: t,
|
|
3132
|
+
entries: r,
|
|
3133
|
+
showHeader: a = !0,
|
|
3134
|
+
headerText: o = "TERMINAL",
|
|
3135
|
+
showCursor: n = !0,
|
|
3136
|
+
autoScroll: l = !0,
|
|
3137
|
+
maxHeight: p = "320px",
|
|
3138
|
+
showTimestamp: d = !1,
|
|
3139
|
+
...m
|
|
3140
|
+
}, u) => {
|
|
3141
|
+
const f = i.useRef(null);
|
|
3142
|
+
return i.useEffect(() => {
|
|
3143
|
+
l && f.current && (f.current.scrollTop = f.current.scrollHeight);
|
|
3144
|
+
}, [r, l]), /* @__PURE__ */ c(
|
|
3145
|
+
"div",
|
|
3146
|
+
{
|
|
3147
|
+
ref: u,
|
|
3148
|
+
className: s(
|
|
3149
|
+
"bg-[#0F0F0F] border border-white/8 font-mono text-[13px]",
|
|
3150
|
+
t
|
|
3151
|
+
),
|
|
3152
|
+
...m,
|
|
3153
|
+
children: [
|
|
3154
|
+
a && /* @__PURE__ */ c("div", { className: "flex items-center gap-2 px-4 py-2 border-b border-white/8", children: [
|
|
3155
|
+
/* @__PURE__ */ c("div", { className: "flex gap-1", children: [
|
|
3156
|
+
/* @__PURE__ */ e("span", { className: "w-2.5 h-2.5 bg-white/10" }),
|
|
3157
|
+
/* @__PURE__ */ e("span", { className: "w-2.5 h-2.5 bg-white/10" }),
|
|
3158
|
+
/* @__PURE__ */ e("span", { className: "w-2.5 h-2.5 bg-white/10" })
|
|
3159
|
+
] }),
|
|
3160
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-[10px] text-muted-foreground/60 uppercase tracking-[0.15em] mx-auto", children: o })
|
|
3161
|
+
] }),
|
|
3162
|
+
/* @__PURE__ */ c(
|
|
3163
|
+
"div",
|
|
3164
|
+
{
|
|
3165
|
+
ref: f,
|
|
3166
|
+
style: { maxHeight: p },
|
|
3167
|
+
className: "overflow-y-auto py-2 scrollbar-thin",
|
|
3168
|
+
role: "log",
|
|
3169
|
+
"aria-live": "polite",
|
|
3170
|
+
"aria-label": o,
|
|
3171
|
+
children: [
|
|
3172
|
+
r.length === 0 && /* @__PURE__ */ e("div", { className: "px-4 py-2 text-muted-foreground/40 text-[12px]", children: "No output." }),
|
|
3173
|
+
r.map((x, b) => {
|
|
3174
|
+
const h = sa[x.level], y = x.id ?? b;
|
|
3175
|
+
return /* @__PURE__ */ c(
|
|
3176
|
+
"div",
|
|
3177
|
+
{
|
|
3178
|
+
className: "flex gap-3 px-4 py-0.5 hover:bg-white/[0.02] transition-colors",
|
|
3179
|
+
children: [
|
|
3180
|
+
/* @__PURE__ */ e(
|
|
3181
|
+
"span",
|
|
3182
|
+
{
|
|
3183
|
+
className: s(
|
|
3184
|
+
"text-[11px] font-semibold shrink-0 select-none",
|
|
3185
|
+
"w-[54px]",
|
|
3186
|
+
h.color
|
|
3187
|
+
),
|
|
3188
|
+
children: h.prefix
|
|
3189
|
+
}
|
|
3190
|
+
),
|
|
3191
|
+
d && /* @__PURE__ */ e("span", { className: "text-[11px] text-muted-foreground/40 shrink-0", children: x.timestamp ?? (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", "/") }),
|
|
3192
|
+
/* @__PURE__ */ e("span", { className: "text-[#E0E0E0] break-all", children: x.message })
|
|
3193
|
+
]
|
|
3194
|
+
},
|
|
3195
|
+
y
|
|
3196
|
+
);
|
|
3197
|
+
}),
|
|
3198
|
+
n && /* @__PURE__ */ c("div", { className: "flex items-center gap-3 px-4 py-0.5 mt-0.5", children: [
|
|
3199
|
+
/* @__PURE__ */ e("span", { className: "w-[54px] shrink-0" }),
|
|
3200
|
+
/* @__PURE__ */ e(
|
|
3201
|
+
"span",
|
|
3202
|
+
{
|
|
3203
|
+
className: "inline-block w-2 h-4 bg-primary animate-pulse",
|
|
3204
|
+
"aria-hidden": !0
|
|
3205
|
+
}
|
|
3206
|
+
)
|
|
3207
|
+
] })
|
|
3208
|
+
]
|
|
3209
|
+
}
|
|
3210
|
+
)
|
|
3211
|
+
]
|
|
3212
|
+
}
|
|
3213
|
+
);
|
|
3214
|
+
}
|
|
3215
|
+
);
|
|
3216
|
+
ia.displayName = "CommandOutput";
|
|
3217
|
+
const la = T(
|
|
3218
|
+
"font-display font-bold text-primary tabular-nums leading-none",
|
|
3219
|
+
{
|
|
3220
|
+
variants: {
|
|
3221
|
+
size: {
|
|
3222
|
+
sm: "text-2xl",
|
|
3223
|
+
md: "text-5xl",
|
|
3224
|
+
lg: "text-7xl"
|
|
3225
|
+
}
|
|
3226
|
+
},
|
|
3227
|
+
defaultVariants: { size: "md" }
|
|
3228
|
+
}
|
|
3229
|
+
), da = T(
|
|
3230
|
+
"font-mono uppercase tracking-widest text-muted-foreground/60",
|
|
3231
|
+
{
|
|
3232
|
+
variants: {
|
|
3233
|
+
size: {
|
|
3234
|
+
sm: "text-[9px]",
|
|
3235
|
+
md: "text-[10px]",
|
|
3236
|
+
lg: "text-[11px]"
|
|
3237
|
+
}
|
|
3238
|
+
},
|
|
3239
|
+
defaultVariants: { size: "md" }
|
|
3240
|
+
}
|
|
3241
|
+
);
|
|
3242
|
+
function ye(t) {
|
|
3243
|
+
const r = Math.max(0, t - Date.now()), a = Math.floor(r / 1e3 % 60), o = Math.floor(r / 1e3 / 60 % 60), n = Math.floor(r / (1e3 * 60 * 60) % 24);
|
|
3244
|
+
return { days: Math.floor(r / (1e3 * 60 * 60 * 24)), hours: n, minutes: o, seconds: a, total: r };
|
|
3245
|
+
}
|
|
3246
|
+
function J(t) {
|
|
3247
|
+
return String(t).padStart(2, "0");
|
|
3248
|
+
}
|
|
3249
|
+
function H({
|
|
3250
|
+
value: t,
|
|
3251
|
+
unit: r,
|
|
3252
|
+
size: a
|
|
3253
|
+
}) {
|
|
3254
|
+
return /* @__PURE__ */ c("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3255
|
+
/* @__PURE__ */ e("span", { className: la({ size: a }), children: t }),
|
|
3256
|
+
/* @__PURE__ */ e("span", { className: da({ size: a }), children: r })
|
|
3257
|
+
] });
|
|
3258
|
+
}
|
|
3259
|
+
function ee({ size: t }) {
|
|
3260
|
+
return /* @__PURE__ */ e(
|
|
3261
|
+
"span",
|
|
3262
|
+
{
|
|
3263
|
+
className: s(
|
|
3264
|
+
"font-mono text-primary/30 font-bold select-none mb-4",
|
|
3265
|
+
t === "sm" ? "text-xl" : t === "lg" ? "text-5xl" : "text-3xl"
|
|
3266
|
+
),
|
|
3267
|
+
children: ":"
|
|
3268
|
+
}
|
|
3269
|
+
);
|
|
3270
|
+
}
|
|
3271
|
+
const ca = i.forwardRef(
|
|
3272
|
+
({
|
|
3273
|
+
className: t,
|
|
3274
|
+
targetDate: r,
|
|
3275
|
+
seconds: a,
|
|
3276
|
+
onComplete: o,
|
|
3277
|
+
label: n,
|
|
3278
|
+
autoHideZero: l = !1,
|
|
3279
|
+
showDays: p = !0,
|
|
3280
|
+
size: d,
|
|
3281
|
+
...m
|
|
3282
|
+
}, u) => {
|
|
3283
|
+
const f = i.useMemo(() => r ? new Date(r).getTime() : a !== void 0 ? Date.now() + a * 1e3 : Date.now(), [r, a]), [x, b] = i.useState(
|
|
3284
|
+
() => ye(f)
|
|
3285
|
+
), h = i.useRef(!1);
|
|
3286
|
+
i.useEffect(() => {
|
|
3287
|
+
h.current = !1;
|
|
3288
|
+
const g = () => {
|
|
3289
|
+
const S = ye(f);
|
|
3290
|
+
b(S), S.total === 0 && !h.current && (h.current = !0, o == null || o());
|
|
3291
|
+
};
|
|
3292
|
+
g();
|
|
3293
|
+
const v = setInterval(g, 1e3);
|
|
3294
|
+
return () => clearInterval(v);
|
|
3295
|
+
}, [f, o]);
|
|
3296
|
+
const y = i.useMemo(
|
|
3297
|
+
() => `Countdown: ${x.days} days ${x.hours} hours ${x.minutes} minutes ${x.seconds} seconds`,
|
|
3298
|
+
[x.days, x.hours, x.minutes]
|
|
3299
|
+
), N = p && !(l && x.days === 0);
|
|
3300
|
+
return /* @__PURE__ */ c(
|
|
3301
|
+
"div",
|
|
3302
|
+
{
|
|
3303
|
+
ref: u,
|
|
3304
|
+
className: s("flex flex-col items-center gap-4", t),
|
|
3305
|
+
role: "timer",
|
|
3306
|
+
"aria-label": y,
|
|
3307
|
+
"aria-live": "off",
|
|
3308
|
+
...m,
|
|
3309
|
+
children: [
|
|
3310
|
+
n && /* @__PURE__ */ e("p", { className: "font-mono text-[11px] uppercase tracking-widest text-muted-foreground", children: n }),
|
|
3311
|
+
/* @__PURE__ */ c("div", { className: "flex items-end gap-2", children: [
|
|
3312
|
+
N && /* @__PURE__ */ c(Le, { children: [
|
|
3313
|
+
/* @__PURE__ */ e(H, { value: String(x.days), unit: "DAYS", size: d }),
|
|
3314
|
+
/* @__PURE__ */ e(ee, { size: d })
|
|
3315
|
+
] }),
|
|
3316
|
+
/* @__PURE__ */ e(H, { value: J(x.hours), unit: "HRS", size: d }),
|
|
3317
|
+
/* @__PURE__ */ e(ee, { size: d }),
|
|
3318
|
+
/* @__PURE__ */ e(H, { value: J(x.minutes), unit: "MIN", size: d }),
|
|
3319
|
+
/* @__PURE__ */ e(ee, { size: d }),
|
|
3320
|
+
/* @__PURE__ */ e(H, { value: J(x.seconds), unit: "SEC", size: d })
|
|
3321
|
+
] })
|
|
1804
3322
|
]
|
|
1805
3323
|
}
|
|
1806
3324
|
);
|
|
1807
3325
|
}
|
|
1808
3326
|
);
|
|
1809
|
-
|
|
3327
|
+
ca.displayName = "CountdownTimer";
|
|
3328
|
+
function pa({
|
|
3329
|
+
active: t,
|
|
3330
|
+
direction: r
|
|
3331
|
+
}) {
|
|
3332
|
+
return t ? /* @__PURE__ */ e("span", { className: "ml-1 text-primary text-[10px]", children: r === "asc" ? "▲" : "▼" }) : /* @__PURE__ */ e("span", { className: "ml-1 text-muted-foreground/20 text-[10px]", children: "↕" });
|
|
3333
|
+
}
|
|
3334
|
+
function ma({ colCount: t }) {
|
|
3335
|
+
return /* @__PURE__ */ e("tr", { children: Array.from({ length: t }).map((r, a) => /* @__PURE__ */ e("td", { className: "px-4 py-3 border-b border-white/[0.04]", children: /* @__PURE__ */ e(
|
|
3336
|
+
"div",
|
|
3337
|
+
{
|
|
3338
|
+
className: s(
|
|
3339
|
+
"h-3 bg-surface-2 animate-skeleton",
|
|
3340
|
+
a === 0 ? "w-3/4" : a % 3 === 0 ? "w-1/2" : "w-full"
|
|
3341
|
+
)
|
|
3342
|
+
}
|
|
3343
|
+
) }, a)) });
|
|
3344
|
+
}
|
|
3345
|
+
const Ne = {
|
|
3346
|
+
left: "text-left",
|
|
3347
|
+
center: "text-center",
|
|
3348
|
+
right: "text-right"
|
|
3349
|
+
};
|
|
3350
|
+
function fa({
|
|
3351
|
+
className: t,
|
|
3352
|
+
columns: r,
|
|
3353
|
+
data: a,
|
|
3354
|
+
sortKey: o,
|
|
3355
|
+
sortDirection: n,
|
|
3356
|
+
onSort: l,
|
|
3357
|
+
selectable: p = !1,
|
|
3358
|
+
selectedIndices: d,
|
|
3359
|
+
onRowClick: m,
|
|
3360
|
+
loading: u = !1,
|
|
3361
|
+
skeletonRows: f = 4,
|
|
3362
|
+
emptyState: x,
|
|
3363
|
+
caption: b,
|
|
3364
|
+
...h
|
|
3365
|
+
}, y) {
|
|
3366
|
+
const N = new Set(d ?? []);
|
|
3367
|
+
return /* @__PURE__ */ e(
|
|
3368
|
+
"div",
|
|
3369
|
+
{
|
|
3370
|
+
ref: y,
|
|
3371
|
+
className: s("w-full overflow-x-auto", t),
|
|
3372
|
+
...h,
|
|
3373
|
+
children: /* @__PURE__ */ c("table", { className: "w-full border-collapse", role: "grid", children: [
|
|
3374
|
+
b && /* @__PURE__ */ e("caption", { className: "sr-only", children: b }),
|
|
3375
|
+
/* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e("tr", { children: r.map((g) => {
|
|
3376
|
+
const v = o === g.key;
|
|
3377
|
+
return /* @__PURE__ */ c(
|
|
3378
|
+
"th",
|
|
3379
|
+
{
|
|
3380
|
+
scope: "col",
|
|
3381
|
+
className: s(
|
|
3382
|
+
"px-4 py-3 border-b border-white/10 bg-surface-0 sticky top-0 z-10",
|
|
3383
|
+
"font-mono text-[11px] font-bold tracking-[0.12em] uppercase text-muted-foreground",
|
|
3384
|
+
g.width ?? "",
|
|
3385
|
+
Ne[g.align ?? "left"],
|
|
3386
|
+
g.sortable && "cursor-pointer select-none hover:text-foreground transition-colors"
|
|
3387
|
+
),
|
|
3388
|
+
"aria-sort": g.sortable && v ? n === "asc" ? "ascending" : "descending" : void 0,
|
|
3389
|
+
onClick: g.sortable ? () => l == null ? void 0 : l(g.key) : void 0,
|
|
3390
|
+
children: [
|
|
3391
|
+
g.header,
|
|
3392
|
+
g.sortable && /* @__PURE__ */ e(
|
|
3393
|
+
pa,
|
|
3394
|
+
{
|
|
3395
|
+
active: v,
|
|
3396
|
+
direction: n
|
|
3397
|
+
}
|
|
3398
|
+
)
|
|
3399
|
+
]
|
|
3400
|
+
},
|
|
3401
|
+
g.key
|
|
3402
|
+
);
|
|
3403
|
+
}) }) }),
|
|
3404
|
+
/* @__PURE__ */ e("tbody", { children: u ? Array.from({ length: f }).map((g, v) => /* @__PURE__ */ e(ma, { colCount: r.length }, v)) : a.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: r.length, className: "px-4 py-12 text-center", children: x ?? /* @__PURE__ */ e("span", { className: "font-mono text-[12px] text-muted-foreground/40 uppercase tracking-wider", children: "NO DATA" }) }) }) : a.map((g, v) => {
|
|
3405
|
+
const S = p && N.has(v), E = v % 2 === 1;
|
|
3406
|
+
return /* @__PURE__ */ e(
|
|
3407
|
+
"tr",
|
|
3408
|
+
{
|
|
3409
|
+
"aria-selected": p ? S : void 0,
|
|
3410
|
+
onClick: p ? () => m == null ? void 0 : m(g, v) : void 0,
|
|
3411
|
+
className: s(
|
|
3412
|
+
"transition-colors",
|
|
3413
|
+
S ? "bg-primary/[0.06]" : E ? "bg-white/[0.015] hover:bg-primary/[0.03]" : "hover:bg-primary/[0.03]",
|
|
3414
|
+
p && "cursor-pointer"
|
|
3415
|
+
),
|
|
3416
|
+
children: r.map((_) => /* @__PURE__ */ e(
|
|
3417
|
+
"td",
|
|
3418
|
+
{
|
|
3419
|
+
className: s(
|
|
3420
|
+
"px-4 py-3 text-[14px] text-foreground border-b border-white/[0.04]",
|
|
3421
|
+
Ne[_.align ?? "left"]
|
|
3422
|
+
),
|
|
3423
|
+
children: _.cell ? _.cell(g, v) : g[_.key]
|
|
3424
|
+
},
|
|
3425
|
+
_.key
|
|
3426
|
+
))
|
|
3427
|
+
},
|
|
3428
|
+
v
|
|
3429
|
+
);
|
|
3430
|
+
}) })
|
|
3431
|
+
] })
|
|
3432
|
+
}
|
|
3433
|
+
);
|
|
3434
|
+
}
|
|
3435
|
+
const ua = i.forwardRef(fa);
|
|
3436
|
+
ua.displayName = "TacticalTable";
|
|
3437
|
+
const xa = i.forwardRef(
|
|
3438
|
+
({
|
|
3439
|
+
className: t,
|
|
3440
|
+
cols: r = 20,
|
|
3441
|
+
rows: a = 10,
|
|
3442
|
+
dotSize: o = 4,
|
|
3443
|
+
gap: n = 8,
|
|
3444
|
+
activeColor: l = "bg-primary",
|
|
3445
|
+
activeProbability: p = 0.05,
|
|
3446
|
+
intervalMs: d = 300,
|
|
3447
|
+
static: m = !1,
|
|
3448
|
+
...u
|
|
3449
|
+
}, f) => {
|
|
3450
|
+
const x = r * a, [b, h] = i.useState(
|
|
3451
|
+
() => /* @__PURE__ */ new Set()
|
|
3452
|
+
), y = i.useMemo(() => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches, []);
|
|
3453
|
+
return i.useEffect(() => {
|
|
3454
|
+
if (m || y) return;
|
|
3455
|
+
const N = setInterval(() => {
|
|
3456
|
+
h((g) => {
|
|
3457
|
+
const v = new Set(g);
|
|
3458
|
+
for (let S = 0; S < x; S++)
|
|
3459
|
+
Math.random() < p && v.add(S);
|
|
3460
|
+
for (const S of v)
|
|
3461
|
+
Math.random() < 0.3 && v.delete(S);
|
|
3462
|
+
return v;
|
|
3463
|
+
});
|
|
3464
|
+
}, d);
|
|
3465
|
+
return () => clearInterval(N);
|
|
3466
|
+
}, [m, y, x, p, d]), /* @__PURE__ */ e(
|
|
3467
|
+
"div",
|
|
3468
|
+
{
|
|
3469
|
+
ref: f,
|
|
3470
|
+
className: s("overflow-hidden", t),
|
|
3471
|
+
"aria-hidden": "true",
|
|
3472
|
+
...u,
|
|
3473
|
+
children: /* @__PURE__ */ e(
|
|
3474
|
+
"div",
|
|
3475
|
+
{
|
|
3476
|
+
style: {
|
|
3477
|
+
display: "grid",
|
|
3478
|
+
gridTemplateColumns: `repeat(${r}, ${o}px)`,
|
|
3479
|
+
gap: `${n}px`
|
|
3480
|
+
},
|
|
3481
|
+
children: Array.from({ length: x }).map((N, g) => /* @__PURE__ */ e(
|
|
3482
|
+
"div",
|
|
3483
|
+
{
|
|
3484
|
+
style: { width: o, height: o },
|
|
3485
|
+
className: s(
|
|
3486
|
+
"transition-opacity",
|
|
3487
|
+
m || y ? "duration-0" : "duration-500",
|
|
3488
|
+
b.has(g) ? s("opacity-100", l) : "opacity-10 bg-white"
|
|
3489
|
+
)
|
|
3490
|
+
},
|
|
3491
|
+
g
|
|
3492
|
+
))
|
|
3493
|
+
}
|
|
3494
|
+
)
|
|
3495
|
+
}
|
|
3496
|
+
);
|
|
3497
|
+
}
|
|
3498
|
+
);
|
|
3499
|
+
xa.displayName = "MatrixGrid";
|
|
3500
|
+
const ga = T("flex items-end gap-px", {
|
|
3501
|
+
variants: {
|
|
3502
|
+
color: {
|
|
3503
|
+
primary: "[&>span]:bg-primary",
|
|
3504
|
+
success: "[&>span]:bg-ef-green",
|
|
3505
|
+
danger: "[&>span]:bg-destructive",
|
|
3506
|
+
info: "[&>span]:bg-ef-blue",
|
|
3507
|
+
muted: "[&>span]:bg-white/20"
|
|
3508
|
+
}
|
|
3509
|
+
},
|
|
3510
|
+
defaultVariants: { color: "primary" }
|
|
3511
|
+
}), we = {
|
|
3512
|
+
slow: "1.4s",
|
|
3513
|
+
medium: "0.8s",
|
|
3514
|
+
fast: "0.4s"
|
|
3515
|
+
}, ha = i.forwardRef(
|
|
3516
|
+
({
|
|
3517
|
+
className: t,
|
|
3518
|
+
barCount: r = 12,
|
|
3519
|
+
barWidth: a = 3,
|
|
3520
|
+
height: o = 32,
|
|
3521
|
+
speed: n = "medium",
|
|
3522
|
+
paused: l = !1,
|
|
3523
|
+
color: p,
|
|
3524
|
+
style: d,
|
|
3525
|
+
...m
|
|
3526
|
+
}, u) => {
|
|
3527
|
+
const f = we[n] ?? we.medium, x = i.useMemo(
|
|
3528
|
+
() => Array.from({ length: r }, (b, h) => ({
|
|
3529
|
+
delay: `${(h * 0.13 % 0.9).toFixed(2)}s`
|
|
3530
|
+
})),
|
|
3531
|
+
[r]
|
|
3532
|
+
);
|
|
3533
|
+
return /* @__PURE__ */ e(
|
|
3534
|
+
"div",
|
|
3535
|
+
{
|
|
3536
|
+
ref: u,
|
|
3537
|
+
className: s(ga({ color: p }), t),
|
|
3538
|
+
style: { height: o, ...d },
|
|
3539
|
+
"aria-hidden": "true",
|
|
3540
|
+
...m,
|
|
3541
|
+
children: x.map((b, h) => /* @__PURE__ */ e(
|
|
3542
|
+
"span",
|
|
3543
|
+
{
|
|
3544
|
+
style: {
|
|
3545
|
+
display: "inline-block",
|
|
3546
|
+
width: a,
|
|
3547
|
+
height: "100%",
|
|
3548
|
+
transformOrigin: "center bottom",
|
|
3549
|
+
animation: `frequency-bar ${f} ease-in-out infinite alternate`,
|
|
3550
|
+
animationDelay: b.delay,
|
|
3551
|
+
animationPlayState: l ? "paused" : "running"
|
|
3552
|
+
}
|
|
3553
|
+
},
|
|
3554
|
+
h
|
|
3555
|
+
))
|
|
3556
|
+
}
|
|
3557
|
+
);
|
|
3558
|
+
}
|
|
3559
|
+
);
|
|
3560
|
+
ha.displayName = "FrequencyBars";
|
|
1810
3561
|
export {
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
3562
|
+
Gt as Accordion,
|
|
3563
|
+
Yt as AccordionContent,
|
|
3564
|
+
Ut as AccordionItem,
|
|
3565
|
+
Ht as AccordionTrigger,
|
|
3566
|
+
Nr as Alert,
|
|
3567
|
+
Lt as Avatar,
|
|
3568
|
+
Ft as AvatarFallback,
|
|
3569
|
+
$t as AvatarImage,
|
|
3570
|
+
it as Badge,
|
|
3571
|
+
Ir as Breadcrumb,
|
|
3572
|
+
nt as Button,
|
|
3573
|
+
ct as Card,
|
|
3574
|
+
xt as CardBody,
|
|
3575
|
+
ut as CardDescription,
|
|
3576
|
+
gt as CardFooter,
|
|
3577
|
+
pt as CardHeader,
|
|
3578
|
+
mt as CardMeta,
|
|
3579
|
+
ft as CardTitle,
|
|
3580
|
+
Tt as Checkbox,
|
|
3581
|
+
ia as CommandOutput,
|
|
3582
|
+
qr as CoordinateTag,
|
|
3583
|
+
ca as CountdownTimer,
|
|
3584
|
+
zr as DataStream,
|
|
3585
|
+
ar as Dialog,
|
|
3586
|
+
nr as DialogClose,
|
|
3587
|
+
ir as DialogContent,
|
|
3588
|
+
pr as DialogDescription,
|
|
3589
|
+
dr as DialogFooter,
|
|
3590
|
+
lr as DialogHeader,
|
|
3591
|
+
_e as DialogOverlay,
|
|
3592
|
+
Ee as DialogPortal,
|
|
3593
|
+
cr as DialogTitle,
|
|
3594
|
+
or as DialogTrigger,
|
|
3595
|
+
Vr as DiamondLoader,
|
|
3596
|
+
br as EmptyState,
|
|
3597
|
+
ha as FrequencyBars,
|
|
3598
|
+
Er as GlitchText,
|
|
3599
|
+
Xr as HUDOverlay,
|
|
3600
|
+
yt as HelperText,
|
|
3601
|
+
Lr as HoloCard,
|
|
3602
|
+
bt as Input,
|
|
3603
|
+
vt as Label,
|
|
3604
|
+
xa as MatrixGrid,
|
|
3605
|
+
ea as MissionCard,
|
|
3606
|
+
Ar as NumberInput,
|
|
3607
|
+
ra as OperatorCard,
|
|
3608
|
+
Rr as Pagination,
|
|
3609
|
+
Jt as Popover,
|
|
3610
|
+
tr as PopoverAnchor,
|
|
3611
|
+
rr as PopoverContent,
|
|
3612
|
+
er as PopoverTrigger,
|
|
3613
|
+
zt as Progress,
|
|
3614
|
+
Kr as RadarChart,
|
|
3615
|
+
kt as RadioGroup,
|
|
3616
|
+
St as RadioGroupItem,
|
|
3617
|
+
Wr as ScanDivider,
|
|
3618
|
+
It as Select,
|
|
3619
|
+
Et as SelectContent,
|
|
3620
|
+
Ct as SelectGroup,
|
|
3621
|
+
Vt as SelectItem,
|
|
3622
|
+
_t as SelectLabel,
|
|
3623
|
+
De as SelectScrollDownButton,
|
|
3624
|
+
Ae as SelectScrollUpButton,
|
|
3625
|
+
Ot as SelectSeparator,
|
|
3626
|
+
Dt as SelectTrigger,
|
|
3627
|
+
At as SelectValue,
|
|
3628
|
+
fr as Separator,
|
|
3629
|
+
Oe as SkeletonAvatar,
|
|
3630
|
+
gr as SkeletonCard,
|
|
3631
|
+
F as SkeletonLine,
|
|
3632
|
+
Ve as SkeletonText,
|
|
3633
|
+
Da as SonnerToaster,
|
|
3634
|
+
na as StatusBar,
|
|
3635
|
+
kr as Stepper,
|
|
3636
|
+
Rt as Switch,
|
|
3637
|
+
Wt as Tabs,
|
|
3638
|
+
Qt as TabsContent,
|
|
3639
|
+
Kt as TabsList,
|
|
3640
|
+
Zt as TabsTrigger,
|
|
3641
|
+
Ur as TacticalBadge,
|
|
3642
|
+
Pr as TacticalPanel,
|
|
3643
|
+
ua as TacticalTable,
|
|
3644
|
+
wt as Textarea,
|
|
3645
|
+
Tr as Timeline,
|
|
3646
|
+
Me as TimelineItem,
|
|
3647
|
+
Se as Toast,
|
|
3648
|
+
Qe as ToastAction,
|
|
3649
|
+
Re as ToastClose,
|
|
3650
|
+
Ce as ToastDescription,
|
|
3651
|
+
Xe as ToastProvider,
|
|
3652
|
+
Ie as ToastTitle,
|
|
3653
|
+
ke as ToastViewport,
|
|
3654
|
+
Aa as Toaster,
|
|
3655
|
+
Ia as Tooltip,
|
|
3656
|
+
Ke as TooltipContent,
|
|
3657
|
+
Ra as TooltipProvider,
|
|
3658
|
+
Ca as TooltipTrigger,
|
|
3659
|
+
Yr as WarningBanner,
|
|
3660
|
+
vr as alertVariants,
|
|
3661
|
+
Mt as avatarVariants,
|
|
3662
|
+
st as badgeVariants,
|
|
3663
|
+
le as buttonVariants,
|
|
3664
|
+
dt as cardVariants,
|
|
3665
|
+
s as cn,
|
|
3666
|
+
sr as dialogContentVariants,
|
|
3667
|
+
hr as emptyStateVariants,
|
|
3668
|
+
ga as frequencyBarsVariants,
|
|
3669
|
+
ht as inputWrapperVariants,
|
|
3670
|
+
Zr as missionCardVariants,
|
|
3671
|
+
Cr as numberInputVariants,
|
|
3672
|
+
ge as operatorCardVariants,
|
|
3673
|
+
Z as paginationItemVariants,
|
|
3674
|
+
jt as progressFillVariants,
|
|
3675
|
+
Bt as progressTrackVariants,
|
|
3676
|
+
mr as separatorVariants,
|
|
3677
|
+
ur as skeletonLineVariants,
|
|
3678
|
+
aa as statusBarContainerVariants,
|
|
3679
|
+
oa as statusBarSegmentVariants,
|
|
3680
|
+
qt as tabsListVariants,
|
|
3681
|
+
Xt as tabsTriggerVariants,
|
|
3682
|
+
Gr as tacticalBadgeVariants,
|
|
3683
|
+
Nt as textareaVariants,
|
|
3684
|
+
wr as timelineItemVariants,
|
|
3685
|
+
Va as toast,
|
|
3686
|
+
at as toastAction,
|
|
3687
|
+
ot as useToast
|
|
1906
3688
|
};
|
|
1907
3689
|
//# sourceMappingURL=index.mjs.map
|