@freedom-code-compliance/fcc-redesign 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,2141 @@
1
+ import { createContext as e, createElement as t, forwardRef as n, isValidElement as r, useCallback as i, useContext as a, useEffect as o, useRef as s, useState as c } from "react";
2
+ import { AlertCircle as l, AlertTriangle as u, Bell as d, Check as f, CheckCheck as p, CheckCircle as m, ChevronDown as h, ChevronRight as g, ChevronUp as _, ChevronsUpDown as v, Clock as y, Filter as b, Info as x, Loader2 as S, LogOut as C, Minus as w, Moon as T, Search as E, Sun as ee, TrendingDown as te, TrendingUp as ne, X as D } from "lucide-react";
3
+ import { jsx as O, jsxs as k } from "react/jsx-runtime";
4
+ //#region src/components/ui/Toast.jsx
5
+ var A = e(null), j = {
6
+ success: /* @__PURE__ */ O(m, {
7
+ size: 16,
8
+ style: { color: "var(--accent-green)" }
9
+ }),
10
+ error: /* @__PURE__ */ O(l, {
11
+ size: 16,
12
+ style: { color: "var(--accent-red)" }
13
+ }),
14
+ warning: /* @__PURE__ */ O(u, {
15
+ size: 16,
16
+ style: { color: "var(--accent-yellow)" }
17
+ }),
18
+ info: /* @__PURE__ */ O(x, {
19
+ size: 16,
20
+ style: { color: "var(--accent-blue)" }
21
+ })
22
+ };
23
+ function re({ toast: e, onDismiss: t }) {
24
+ return o(() => {
25
+ if (e.duration !== 0) {
26
+ let n = setTimeout(() => t(e.id), e.duration || 4e3);
27
+ return () => clearTimeout(n);
28
+ }
29
+ }, [
30
+ e.id,
31
+ e.duration,
32
+ t
33
+ ]), /* @__PURE__ */ k("div", {
34
+ className: "toast",
35
+ style: { animation: "slideInRight 200ms ease" },
36
+ children: [
37
+ /* @__PURE__ */ O("span", {
38
+ className: "toast-icon",
39
+ children: j[e.type] || j.info
40
+ }),
41
+ /* @__PURE__ */ k("div", {
42
+ className: "toast-content",
43
+ children: [e.title && /* @__PURE__ */ O("div", {
44
+ className: "toast-title",
45
+ children: e.title
46
+ }), /* @__PURE__ */ O("div", {
47
+ className: "toast-message",
48
+ children: e.message
49
+ })]
50
+ }),
51
+ /* @__PURE__ */ O("button", {
52
+ className: "toast-close",
53
+ onClick: () => t(e.id),
54
+ children: /* @__PURE__ */ O(D, { size: 14 })
55
+ })
56
+ ]
57
+ });
58
+ }
59
+ function M({ children: e }) {
60
+ let [t, n] = c([]), r = i((e) => {
61
+ let t = Date.now() + Math.random();
62
+ n((n) => [...n.slice(-4), {
63
+ id: t,
64
+ ...e
65
+ }]);
66
+ }, []), a = i((e) => {
67
+ n((t) => t.filter((t) => t.id !== e));
68
+ }, []);
69
+ return /* @__PURE__ */ k(A.Provider, {
70
+ value: { addToast: r },
71
+ children: [e, /* @__PURE__ */ O("div", {
72
+ className: "toast-container",
73
+ children: t.map((e) => /* @__PURE__ */ O(re, {
74
+ toast: e,
75
+ onDismiss: a
76
+ }, e.id))
77
+ })]
78
+ });
79
+ }
80
+ function N() {
81
+ let e = a(A);
82
+ if (!e) throw Error("useToast must be used within ToastProvider");
83
+ return e;
84
+ }
85
+ //#endregion
86
+ //#region src/context/ThemeContext.jsx
87
+ var P = e(void 0), F = "dark", I = "fcc-theme";
88
+ function ie(e) {
89
+ if (typeof document > "u") return;
90
+ let t = document.documentElement;
91
+ t.classList.remove("dark", "light"), e === "light" && t.classList.add("light");
92
+ }
93
+ function L({ children: e, defaultTheme: t = F, storageKey: n = I }) {
94
+ let [r, i] = c(() => typeof window > "u" ? t : window.localStorage.getItem(n) || t);
95
+ return o(() => {
96
+ typeof window < "u" && window.localStorage.setItem(n, r), ie(r);
97
+ }, [n, r]), /* @__PURE__ */ O(P.Provider, {
98
+ value: {
99
+ theme: r,
100
+ setTheme: i,
101
+ toggleTheme: () => {
102
+ i((e) => e === "dark" ? "light" : "dark");
103
+ }
104
+ },
105
+ children: e
106
+ });
107
+ }
108
+ function R() {
109
+ let e = a(P);
110
+ if (!e) throw Error("useTheme must be used within a ThemeProvider");
111
+ return e;
112
+ }
113
+ //#endregion
114
+ //#region src/lib/FCCDesignProvider.jsx
115
+ function ae({ children: e, ...t }) {
116
+ return /* @__PURE__ */ O(L, {
117
+ ...t,
118
+ children: /* @__PURE__ */ O(M, { children: e })
119
+ });
120
+ }
121
+ //#endregion
122
+ //#region src/components/layout/FCCBreadcrumbs.jsx
123
+ function oe(e, t) {
124
+ let n = [
125
+ "fcc-breadcrumb-item",
126
+ t ? "current" : "",
127
+ e.className || ""
128
+ ].filter(Boolean).join(" ");
129
+ return t ? /* @__PURE__ */ O("span", {
130
+ className: n,
131
+ children: e.label
132
+ }) : e.href ? /* @__PURE__ */ O("a", {
133
+ className: n,
134
+ href: e.href,
135
+ children: e.label
136
+ }) : e.onClick ? /* @__PURE__ */ O("button", {
137
+ type: "button",
138
+ className: n,
139
+ onClick: e.onClick,
140
+ children: e.label
141
+ }) : /* @__PURE__ */ O("span", {
142
+ className: n,
143
+ children: e.label
144
+ });
145
+ }
146
+ function z({ items: e = [], className: t = "" }) {
147
+ let n = e.filter((e) => e?.label);
148
+ return n.length === 0 ? null : /* @__PURE__ */ O("nav", {
149
+ className: ["fcc-breadcrumbs", t].filter(Boolean).join(" "),
150
+ "aria-label": "Breadcrumb",
151
+ children: n.map((e, t) => {
152
+ let r = e.current ?? t === n.length - 1;
153
+ return /* @__PURE__ */ k("div", {
154
+ className: "fcc-breadcrumb-segment",
155
+ children: [t > 0 && /* @__PURE__ */ O("span", {
156
+ className: "fcc-breadcrumb-sep",
157
+ children: "/"
158
+ }), oe(e, r)]
159
+ }, e.key || e.label || t);
160
+ })
161
+ });
162
+ }
163
+ //#endregion
164
+ //#region src/components/layout/FCCHeaderStatus.jsx
165
+ var B = {
166
+ success: "fcc-header-status-success",
167
+ warning: "fcc-header-status-warning",
168
+ danger: "fcc-header-status-danger",
169
+ info: "fcc-header-status-info",
170
+ neutral: "fcc-header-status-neutral"
171
+ };
172
+ function V({ label: e, tone: t = "success", dotColor: n, className: r = "" }) {
173
+ return e ? /* @__PURE__ */ k("div", {
174
+ className: [
175
+ "fcc-header-status",
176
+ B[t] || B.neutral,
177
+ r
178
+ ].filter(Boolean).join(" "),
179
+ children: [/* @__PURE__ */ O("span", {
180
+ className: "fcc-header-status-dot",
181
+ style: n ? { backgroundColor: n } : void 0
182
+ }), /* @__PURE__ */ O("span", { children: e })]
183
+ }) : null;
184
+ }
185
+ //#endregion
186
+ //#region src/components/layout/FCCWorkspaceHeader.jsx
187
+ function H({ breadcrumbs: e = [], status: t, actions: n, leftSlot: r, rightSlot: i, className: a = "" }) {
188
+ return /* @__PURE__ */ k("header", {
189
+ className: ["fcc-workspace-header", a].filter(Boolean).join(" "),
190
+ children: [/* @__PURE__ */ O("div", {
191
+ className: "fcc-workspace-header-left",
192
+ children: r || /* @__PURE__ */ O(z, { items: e })
193
+ }), /* @__PURE__ */ k("div", {
194
+ className: "fcc-workspace-header-right",
195
+ children: [
196
+ t && /* @__PURE__ */ O(V, { ...t }),
197
+ n,
198
+ i
199
+ ]
200
+ })]
201
+ });
202
+ }
203
+ //#endregion
204
+ //#region src/components/layout/FCCMainWindow.jsx
205
+ function U({ breadcrumbs: e = [], status: t, headerActions: n, header: r, children: i, overlay: a, className: o = "", headerClassName: s = "", contentClassName: c = "" }) {
206
+ return /* @__PURE__ */ k("div", {
207
+ className: ["fcc-main-window", o].filter(Boolean).join(" "),
208
+ children: [
209
+ r || /* @__PURE__ */ O(H, {
210
+ breadcrumbs: e,
211
+ status: t,
212
+ actions: n,
213
+ className: s
214
+ }),
215
+ /* @__PURE__ */ O("div", {
216
+ className: ["fcc-main-window-content", c].filter(Boolean).join(" "),
217
+ children: i
218
+ }),
219
+ a
220
+ ]
221
+ });
222
+ }
223
+ //#endregion
224
+ //#region src/components/layout/FCCSidebar.jsx
225
+ function W(e, t) {
226
+ if (!e.disabled) {
227
+ if (e.onClick) {
228
+ e.onClick(e);
229
+ return;
230
+ }
231
+ t?.(e);
232
+ }
233
+ }
234
+ function G(e, t) {
235
+ return !e.childrenSections?.length || !t ? !1 : e.childrenSections.some((e) => e.items?.some((e) => e.key === t));
236
+ }
237
+ function K(e, t) {
238
+ if (!t.trim()) return e;
239
+ let n = t.trim().toLowerCase();
240
+ return e.map((e) => ({
241
+ ...e,
242
+ items: e.items.filter((e) => e.label.toLowerCase().includes(n) || e.pageTitle?.toLowerCase().includes(n) || e.summary?.toLowerCase().includes(n))
243
+ })).filter((e) => e.items.length > 0);
244
+ }
245
+ function q({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: i, user: a, footer: o, onLogout: s, className: l = "" }) {
246
+ let [u, d] = c({}), [f, p] = c({});
247
+ function m(e, t) {
248
+ p((n) => ({
249
+ ...n,
250
+ [e]: t
251
+ }));
252
+ }
253
+ return /* @__PURE__ */ k("aside", {
254
+ className: ["fcc-sidebar", l].filter(Boolean).join(" "),
255
+ children: [
256
+ /* @__PURE__ */ k("div", {
257
+ className: "fcc-sidebar-brand",
258
+ children: [t, /* @__PURE__ */ O("span", {
259
+ className: "fcc-sidebar-label fcc-sidebar-brand-text",
260
+ children: e
261
+ })]
262
+ }),
263
+ /* @__PURE__ */ O("nav", {
264
+ className: "fcc-sidebar-nav",
265
+ "aria-label": `${e} navigation`,
266
+ children: n.map((e) => {
267
+ let t = e.childrenSections?.length > 0, n = G(e, r), a = e.key === r || n || (r?.startsWith?.(`${e.key}/`) ?? !1), o = t && (f[e.key] ?? a), s = u[e.key] || "", c = t ? K(e.childrenSections, s) : [];
268
+ return /* @__PURE__ */ k("div", {
269
+ className: [
270
+ "fcc-sidebar-entry",
271
+ t ? "has-children" : "",
272
+ t && o ? "expanded" : ""
273
+ ].filter(Boolean).join(" "),
274
+ children: [/* @__PURE__ */ k("button", {
275
+ type: "button",
276
+ className: [
277
+ "fcc-sidebar-item",
278
+ a ? "active" : "",
279
+ e.disabled ? "disabled" : ""
280
+ ].filter(Boolean).join(" "),
281
+ onClick: () => {
282
+ t && m(e.key, !0), W(e, i);
283
+ },
284
+ "aria-current": a ? "page" : void 0,
285
+ disabled: e.disabled,
286
+ title: e.label,
287
+ children: [
288
+ /* @__PURE__ */ O("span", {
289
+ className: "fcc-sidebar-item-icon",
290
+ children: e.icon
291
+ }),
292
+ /* @__PURE__ */ O("span", {
293
+ className: "fcc-sidebar-label fcc-sidebar-item-label",
294
+ children: e.label
295
+ }),
296
+ e.badge != null && /* @__PURE__ */ O("span", {
297
+ className: "fcc-sidebar-item-badge",
298
+ children: e.badge
299
+ }),
300
+ t && /* @__PURE__ */ O("span", {
301
+ className: [
302
+ "fcc-sidebar-label",
303
+ "fcc-sidebar-item-chevron",
304
+ o ? "is-expanded" : ""
305
+ ].filter(Boolean).join(" "),
306
+ onClick: (t) => {
307
+ t.preventDefault(), t.stopPropagation(), m(e.key, !o);
308
+ },
309
+ role: "button",
310
+ "aria-label": `${o ? "Collapse" : "Expand"} ${e.label}`,
311
+ "aria-expanded": o,
312
+ children: /* @__PURE__ */ O(h, { size: 14 })
313
+ })
314
+ ]
315
+ }), t && o && /* @__PURE__ */ k("div", {
316
+ className: "fcc-sidebar-accordion",
317
+ children: [/* @__PURE__ */ k("div", {
318
+ className: "fcc-sidebar-search",
319
+ children: [/* @__PURE__ */ O(E, { size: 13 }), /* @__PURE__ */ O("input", {
320
+ type: "text",
321
+ className: "fcc-sidebar-search-input",
322
+ value: s,
323
+ onChange: (t) => d((n) => ({
324
+ ...n,
325
+ [e.key]: t.target.value
326
+ })),
327
+ placeholder: e.searchPlaceholder || "Search..."
328
+ })]
329
+ }), /* @__PURE__ */ k("div", {
330
+ className: "fcc-sidebar-accordion-body",
331
+ children: [c.length === 0 && /* @__PURE__ */ O("div", {
332
+ className: "fcc-sidebar-empty",
333
+ children: "No matching components"
334
+ }), c.map((e) => /* @__PURE__ */ k("div", {
335
+ className: "fcc-sidebar-section",
336
+ children: [/* @__PURE__ */ O("div", {
337
+ className: "fcc-sidebar-section-title",
338
+ children: e.title
339
+ }), /* @__PURE__ */ O("div", {
340
+ className: "fcc-sidebar-child-list",
341
+ children: e.items.map((e) => /* @__PURE__ */ O("button", {
342
+ type: "button",
343
+ className: ["fcc-sidebar-child-item", e.key === r ? "active" : ""].filter(Boolean).join(" "),
344
+ onClick: () => W(e, i),
345
+ title: e.label,
346
+ children: /* @__PURE__ */ O("span", {
347
+ className: "fcc-sidebar-label",
348
+ children: e.label
349
+ })
350
+ }, e.key))
351
+ })]
352
+ }, e.title))]
353
+ })]
354
+ })]
355
+ }, e.key || e.label);
356
+ })
357
+ }),
358
+ o ? /* @__PURE__ */ O("div", {
359
+ className: "fcc-sidebar-footer",
360
+ children: o
361
+ }) : (a || s) && /* @__PURE__ */ k("div", {
362
+ className: "fcc-sidebar-footer",
363
+ children: [a && /* @__PURE__ */ k("div", {
364
+ className: "fcc-sidebar-profile",
365
+ children: [/* @__PURE__ */ O("div", {
366
+ className: "fcc-sidebar-avatar",
367
+ style: a.avatarStyle,
368
+ children: a.avatar || a.initials || a.name?.slice(0, 2) || "FCC"
369
+ }), /* @__PURE__ */ k("div", {
370
+ className: "fcc-sidebar-profile-copy",
371
+ children: [/* @__PURE__ */ O("span", {
372
+ className: "fcc-sidebar-label fcc-sidebar-profile-name",
373
+ children: a.name
374
+ }), a.meta && /* @__PURE__ */ O("span", {
375
+ className: "fcc-sidebar-label fcc-sidebar-profile-meta",
376
+ children: a.meta
377
+ })]
378
+ })]
379
+ }), s && /* @__PURE__ */ O("button", {
380
+ type: "button",
381
+ className: "fcc-sidebar-logout",
382
+ title: "Logout",
383
+ "aria-label": "Logout",
384
+ onClick: s,
385
+ children: /* @__PURE__ */ O(C, { size: 16 })
386
+ })]
387
+ })
388
+ ]
389
+ });
390
+ }
391
+ //#endregion
392
+ //#region src/components/layout/FCCAppShell.jsx
393
+ function se({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: i, user: a, footer: o, onLogout: s, breadcrumbs: c = [], status: l, headerActions: u, header: d, children: f, overlay: p, className: m = "", sidebarClassName: h = "", mainClassName: g = "", headerClassName: _ = "", contentClassName: v = "" }) {
394
+ return /* @__PURE__ */ k("div", {
395
+ className: ["fcc-app-shell", m].filter(Boolean).join(" "),
396
+ children: [/* @__PURE__ */ O(q, {
397
+ appName: e,
398
+ logo: t,
399
+ navItems: n,
400
+ activeNavKey: r,
401
+ onNavigate: i,
402
+ user: a,
403
+ footer: o,
404
+ onLogout: s,
405
+ className: h
406
+ }), /* @__PURE__ */ O(U, {
407
+ breadcrumbs: c,
408
+ status: l,
409
+ headerActions: u,
410
+ header: d,
411
+ overlay: p,
412
+ className: g,
413
+ headerClassName: _,
414
+ contentClassName: v,
415
+ children: f
416
+ })]
417
+ });
418
+ }
419
+ //#endregion
420
+ //#region src/components/layout/FCCBrandLogo.jsx
421
+ function ce({ darkSrc: e, lightSrc: t, alt: n = "FCC", className: r = "", ...i }) {
422
+ let { theme: a } = R(), o = a === "dark" ? e || t : t || e;
423
+ return o ? /* @__PURE__ */ O("img", {
424
+ src: o,
425
+ alt: n,
426
+ className: ["fcc-brand-logo", r].filter(Boolean).join(" "),
427
+ ...i
428
+ }) : null;
429
+ }
430
+ //#endregion
431
+ //#region src/components/layout/FCCThemeToggle.jsx
432
+ function le({ className: e = "" }) {
433
+ let { theme: t, toggleTheme: n } = R(), r = t === "dark";
434
+ return /* @__PURE__ */ O("button", {
435
+ type: "button",
436
+ onClick: n,
437
+ className: [
438
+ "btn",
439
+ "btn-ghost",
440
+ "btn-icon",
441
+ "btn-sm",
442
+ e
443
+ ].filter(Boolean).join(" "),
444
+ title: r ? "Switch to light mode" : "Switch to dark mode",
445
+ "aria-label": r ? "Switch to light mode" : "Switch to dark mode",
446
+ children: O(r ? T : ee, { size: 16 })
447
+ });
448
+ }
449
+ //#endregion
450
+ //#region src/components/ui/Accordion.jsx
451
+ function ue({ title: e, header: t, defaultOpen: n = !1, className: r = "", children: i }) {
452
+ let [a, o] = c(n);
453
+ return /* @__PURE__ */ k("div", {
454
+ className: `accordion-item ${r}`,
455
+ children: [/* @__PURE__ */ k("div", {
456
+ className: `accordion-trigger ${a ? "expanded" : ""}`,
457
+ onClick: () => o(!a),
458
+ role: "button",
459
+ "aria-expanded": a,
460
+ children: [t || /* @__PURE__ */ O("span", {
461
+ className: "accordion-trigger-title",
462
+ children: e
463
+ }), /* @__PURE__ */ O("span", {
464
+ className: "accordion-trigger-chevron",
465
+ children: O(a ? h : g, { size: 14 })
466
+ })]
467
+ }), /* @__PURE__ */ O("div", {
468
+ className: `accordion-collapse ${a ? "open" : ""}`,
469
+ children: /* @__PURE__ */ O("div", {
470
+ className: "accordion-collapse-inner",
471
+ children: /* @__PURE__ */ O("div", {
472
+ className: "accordion-content",
473
+ children: i
474
+ })
475
+ })
476
+ })]
477
+ });
478
+ }
479
+ function de({ items: e = [], className: t = "" }) {
480
+ let [n, r] = c(/* @__PURE__ */ new Set());
481
+ function i(e) {
482
+ r((t) => {
483
+ let n = new Set(t);
484
+ return n.has(e) ? n.delete(e) : n.add(e), n;
485
+ });
486
+ }
487
+ return /* @__PURE__ */ O("div", {
488
+ className: `accordion ${t}`,
489
+ children: e.map((e) => {
490
+ let t = n.has(e.id);
491
+ return /* @__PURE__ */ k("div", {
492
+ className: "accordion-item",
493
+ children: [/* @__PURE__ */ k("div", {
494
+ className: `accordion-trigger ${t ? "expanded" : ""}`,
495
+ onClick: () => i(e.id),
496
+ role: "button",
497
+ "aria-expanded": t,
498
+ children: [e.header || /* @__PURE__ */ O("span", {
499
+ className: "accordion-trigger-title",
500
+ children: e.title
501
+ }), /* @__PURE__ */ O("span", {
502
+ className: "accordion-trigger-chevron",
503
+ children: O(t ? h : g, { size: 14 })
504
+ })]
505
+ }), /* @__PURE__ */ O("div", {
506
+ className: `accordion-collapse ${t ? "open" : ""}`,
507
+ children: /* @__PURE__ */ O("div", {
508
+ className: "accordion-collapse-inner",
509
+ children: /* @__PURE__ */ O("div", {
510
+ className: "accordion-content",
511
+ children: e.content
512
+ })
513
+ })
514
+ })]
515
+ }, e.id);
516
+ })
517
+ });
518
+ }
519
+ //#endregion
520
+ //#region src/components/ui/AppLoader.jsx
521
+ function fe({ label: e = "Loading...", fullscreen: t = !1, className: n = "" }) {
522
+ return t ? /* @__PURE__ */ k("div", {
523
+ className: `loader-fullscreen ${n}`,
524
+ children: [/* @__PURE__ */ O(S, {
525
+ size: 32,
526
+ className: "loader-spin"
527
+ }), e && /* @__PURE__ */ O("span", {
528
+ className: "loader-label",
529
+ children: e
530
+ })]
531
+ }) : /* @__PURE__ */ k("div", {
532
+ className: `loader ${n}`,
533
+ children: [/* @__PURE__ */ O(S, {
534
+ size: 20,
535
+ className: "loader-spin"
536
+ }), e && /* @__PURE__ */ O("span", {
537
+ className: "loader-label",
538
+ children: e
539
+ })]
540
+ });
541
+ }
542
+ function pe({ size: e = 16, className: t = "" }) {
543
+ return /* @__PURE__ */ O(S, {
544
+ size: e,
545
+ className: `loader-spin ${t}`
546
+ });
547
+ }
548
+ //#endregion
549
+ //#region src/components/ui/Avatar.jsx
550
+ var me = {
551
+ sm: "avatar-sm",
552
+ md: "",
553
+ lg: "avatar-lg",
554
+ xl: "avatar-xl"
555
+ }, J = [
556
+ "#5e6ad2",
557
+ "#5bb98e",
558
+ "#c9a84e",
559
+ "#c75a5a",
560
+ "#8a83d4",
561
+ "#5a8ebf",
562
+ "#c4a06a"
563
+ ];
564
+ function he(e) {
565
+ let t = 0;
566
+ for (let n = 0; n < e.length; n++) t = e.charCodeAt(n) + ((t << 5) - t);
567
+ return J[Math.abs(t) % J.length];
568
+ }
569
+ function Y({ imageUrl: e, initials: t, name: n, size: r = "md", className: i = "", style: a = {} }) {
570
+ let [o, s] = c(!1), l = t || (n ? n.split(" ").map((e) => e[0]).join("").slice(0, 2).toUpperCase() : "?"), u = a.background || he(l), d = me[r] || "";
571
+ return e && !o ? /* @__PURE__ */ O("img", {
572
+ src: e,
573
+ alt: n || "",
574
+ className: `avatar ${d} ${i}`,
575
+ style: {
576
+ objectFit: "cover",
577
+ ...a
578
+ },
579
+ onError: () => s(!0)
580
+ }) : /* @__PURE__ */ O("div", {
581
+ className: `avatar ${d} ${i}`,
582
+ style: {
583
+ background: u,
584
+ ...a
585
+ },
586
+ children: l
587
+ });
588
+ }
589
+ //#endregion
590
+ //#region src/components/ui/Badge.jsx
591
+ var X = {
592
+ default: "var(--text-quaternary)",
593
+ secondary: "var(--text-quaternary)",
594
+ success: "var(--accent-green)",
595
+ warning: "var(--accent-yellow)",
596
+ error: "var(--accent-red)",
597
+ info: "var(--accent-blue)",
598
+ outline: "var(--text-quaternary)",
599
+ purple: "var(--accent-purple)",
600
+ orange: "var(--accent-orange)"
601
+ };
602
+ function ge({ variant: e = "default", className: t = "", children: n, ...r }) {
603
+ let i = X[e] || X.default;
604
+ return /* @__PURE__ */ k("span", {
605
+ className: `badge ${t}`,
606
+ ...r,
607
+ children: [/* @__PURE__ */ O("span", {
608
+ className: "badge-dot",
609
+ style: { background: i }
610
+ }), n]
611
+ });
612
+ }
613
+ //#endregion
614
+ //#region src/components/ui/Button.jsx
615
+ var _e = {
616
+ default: "btn-primary",
617
+ destructive: "btn-danger",
618
+ outline: "btn-outline",
619
+ secondary: "btn-secondary",
620
+ ghost: "btn-ghost",
621
+ link: "btn-link"
622
+ }, ve = {
623
+ sm: "btn-sm",
624
+ default: "",
625
+ lg: "btn-lg",
626
+ icon: "btn-icon"
627
+ }, ye = n(function({ variant: e = "default", size: t = "default", className: n = "", children: r, ...i }, a) {
628
+ return /* @__PURE__ */ O("button", {
629
+ ref: a,
630
+ className: [
631
+ "btn",
632
+ _e[e],
633
+ ve[t],
634
+ n
635
+ ].filter(Boolean).join(" "),
636
+ ...i,
637
+ children: r
638
+ });
639
+ }), be = n(function({ className: e = "", children: t, ...n }, r) {
640
+ return /* @__PURE__ */ O("div", {
641
+ ref: r,
642
+ className: `card ${e}`,
643
+ ...n,
644
+ children: t
645
+ });
646
+ }), xe = n(function({ className: e = "", children: t, ...n }, r) {
647
+ return /* @__PURE__ */ O("div", {
648
+ ref: r,
649
+ className: `card-header ${e}`,
650
+ ...n,
651
+ children: t
652
+ });
653
+ }), Se = n(function({ className: e = "", children: t, ...n }, r) {
654
+ return /* @__PURE__ */ O("h3", {
655
+ ref: r,
656
+ className: `card-title ${e}`,
657
+ ...n,
658
+ children: t
659
+ });
660
+ }), Ce = n(function({ className: e = "", children: t, ...n }, r) {
661
+ return /* @__PURE__ */ O("p", {
662
+ ref: r,
663
+ className: `card-description ${e}`,
664
+ ...n,
665
+ children: t
666
+ });
667
+ }), we = n(function({ className: e = "", children: t, ...n }, r) {
668
+ return /* @__PURE__ */ O("div", {
669
+ ref: r,
670
+ className: `card-body ${e}`,
671
+ ...n,
672
+ children: t
673
+ });
674
+ }), Te = n(function({ className: e = "", children: t, ...n }, r) {
675
+ return /* @__PURE__ */ O("div", {
676
+ ref: r,
677
+ className: `card-footer ${e}`,
678
+ ...n,
679
+ children: t
680
+ });
681
+ });
682
+ //#endregion
683
+ //#region src/components/ui/Dialog.jsx
684
+ function Ee({ open: e, onClose: t, children: n, className: r = "" }) {
685
+ let i = s(null);
686
+ return o(() => (e ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
687
+ document.body.style.overflow = "";
688
+ }), [e]), o(() => {
689
+ function n(e) {
690
+ e.key === "Escape" && t?.();
691
+ }
692
+ return e && document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
693
+ }, [e, t]), e ? /* @__PURE__ */ O("div", {
694
+ className: "dialog-overlay",
695
+ ref: i,
696
+ onClick: (e) => {
697
+ e.target === i.current && t?.();
698
+ },
699
+ children: /* @__PURE__ */ O("div", {
700
+ className: `dialog ${r}`,
701
+ children: n
702
+ })
703
+ }) : null;
704
+ }
705
+ function De({ children: e, onClose: t, className: n = "" }) {
706
+ return /* @__PURE__ */ k("div", {
707
+ className: `dialog-header ${n}`,
708
+ children: [/* @__PURE__ */ O("div", {
709
+ style: { flex: 1 },
710
+ children: e
711
+ }), t && /* @__PURE__ */ O("button", {
712
+ className: "btn btn-ghost btn-icon btn-sm",
713
+ onClick: t,
714
+ children: /* @__PURE__ */ O(D, { size: 16 })
715
+ })]
716
+ });
717
+ }
718
+ function Oe({ children: e, className: t = "" }) {
719
+ return /* @__PURE__ */ O("h3", {
720
+ className: `dialog-title ${t}`,
721
+ children: e
722
+ });
723
+ }
724
+ function ke({ children: e, className: t = "" }) {
725
+ return /* @__PURE__ */ O("p", {
726
+ className: `dialog-description ${t}`,
727
+ children: e
728
+ });
729
+ }
730
+ function Ae({ children: e, className: t = "" }) {
731
+ return /* @__PURE__ */ O("div", {
732
+ className: `dialog-body ${t}`,
733
+ children: e
734
+ });
735
+ }
736
+ function je({ children: e, className: t = "" }) {
737
+ return /* @__PURE__ */ O("div", {
738
+ className: `dialog-footer ${t}`,
739
+ children: e
740
+ });
741
+ }
742
+ //#endregion
743
+ //#region src/components/ui/DropdownMenu.jsx
744
+ function Me({ trigger: e, children: t, align: n = "left", className: r = "" }) {
745
+ let [i, a] = c(!1), l = s(null);
746
+ return o(() => {
747
+ function e(e) {
748
+ l.current && !l.current.contains(e.target) && a(!1);
749
+ }
750
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
751
+ }, []), /* @__PURE__ */ k("div", {
752
+ ref: l,
753
+ className: `dropdown-wrapper ${r}`,
754
+ style: { position: "relative" },
755
+ children: [/* @__PURE__ */ O("div", {
756
+ onClick: () => a(!i),
757
+ children: e
758
+ }), i && /* @__PURE__ */ O("div", {
759
+ className: `dropdown dropdown-align-${n}`,
760
+ onClick: () => a(!1),
761
+ children: t
762
+ })]
763
+ });
764
+ }
765
+ function Ne({ icon: e, children: t, shortcut: n, active: r, onClick: i, className: a = "" }) {
766
+ return /* @__PURE__ */ k("div", {
767
+ className: `dropdown-item ${r ? "active" : ""} ${a}`,
768
+ onClick: i,
769
+ children: [
770
+ e && /* @__PURE__ */ O("span", {
771
+ className: "dropdown-item-icon",
772
+ children: e
773
+ }),
774
+ /* @__PURE__ */ O("span", {
775
+ style: { flex: 1 },
776
+ children: t
777
+ }),
778
+ n && /* @__PURE__ */ O("span", {
779
+ className: "dropdown-shortcut",
780
+ children: n
781
+ })
782
+ ]
783
+ });
784
+ }
785
+ function Pe({ checked: e, onCheckedChange: t, children: n, className: r = "" }) {
786
+ return /* @__PURE__ */ k("div", {
787
+ className: `dropdown-item ${r}`,
788
+ onClick: () => t?.(!e),
789
+ children: [/* @__PURE__ */ O("span", {
790
+ className: "dropdown-item-icon",
791
+ style: { opacity: +!!e },
792
+ children: /* @__PURE__ */ O(f, { size: 14 })
793
+ }), n]
794
+ });
795
+ }
796
+ function Fe({ children: e, className: t = "" }) {
797
+ return /* @__PURE__ */ O("div", {
798
+ className: `dropdown-label ${t}`,
799
+ children: e
800
+ });
801
+ }
802
+ function Ie({ className: e = "" }) {
803
+ return /* @__PURE__ */ O("div", { className: `dropdown-divider ${e}` });
804
+ }
805
+ //#endregion
806
+ //#region src/components/ui/SearchableSelect.jsx
807
+ function Le({ options: e = [], value: t, onChange: n, placeholder: r = "Select...", searchPlaceholder: i = "Search...", allowEmpty: a = !1, disabled: l = !1, className: u = "" }) {
808
+ let [d, p] = c(!1), [m, g] = c(""), [_, v] = c(0), y = s(null), b = s(null), x = e.filter((e) => e.label.toLowerCase().includes(m.toLowerCase()) || e.description && e.description.toLowerCase().includes(m.toLowerCase())), S = e.find((e) => e.value === t);
809
+ o(() => {
810
+ d && b.current && b.current.focus();
811
+ }, [d]), o(() => {
812
+ function e(e) {
813
+ y.current && !y.current.contains(e.target) && p(!1);
814
+ }
815
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
816
+ }, []);
817
+ function C(e) {
818
+ e.key === "ArrowDown" ? (e.preventDefault(), v((e) => Math.min(e + 1, x.length - 1))) : e.key === "ArrowUp" ? (e.preventDefault(), v((e) => Math.max(e - 1, 0))) : e.key === "Enter" && x[_] ? (n?.(x[_].value), p(!1), g("")) : e.key === "Escape" && (p(!1), g(""));
819
+ }
820
+ return /* @__PURE__ */ k("div", {
821
+ ref: y,
822
+ className: `searchable-select ${u}`,
823
+ children: [/* @__PURE__ */ k("button", {
824
+ className: "searchable-select-trigger",
825
+ onClick: () => !l && p(!d),
826
+ disabled: l,
827
+ type: "button",
828
+ children: [/* @__PURE__ */ O("span", {
829
+ className: S ? "" : "searchable-select-placeholder",
830
+ children: S ? S.label : r
831
+ }), /* @__PURE__ */ O(h, {
832
+ size: 14,
833
+ className: "searchable-select-chevron"
834
+ })]
835
+ }), d && /* @__PURE__ */ k("div", {
836
+ className: "searchable-select-dropdown",
837
+ children: [/* @__PURE__ */ k("div", {
838
+ className: "searchable-select-search",
839
+ children: [
840
+ /* @__PURE__ */ O(E, { size: 14 }),
841
+ /* @__PURE__ */ O("input", {
842
+ ref: b,
843
+ value: m,
844
+ onChange: (e) => {
845
+ g(e.target.value), v(0);
846
+ },
847
+ onKeyDown: C,
848
+ placeholder: i,
849
+ className: "searchable-select-input"
850
+ }),
851
+ m && /* @__PURE__ */ O("button", {
852
+ className: "searchable-select-clear",
853
+ onClick: () => g(""),
854
+ children: /* @__PURE__ */ O(D, { size: 12 })
855
+ })
856
+ ]
857
+ }), /* @__PURE__ */ k("div", {
858
+ className: "searchable-select-options",
859
+ children: [
860
+ a && /* @__PURE__ */ O("div", {
861
+ className: `searchable-select-option ${t ? "" : "selected"}`,
862
+ onClick: () => {
863
+ n?.(null), p(!1), g("");
864
+ },
865
+ children: /* @__PURE__ */ O("span", {
866
+ style: {
867
+ color: "var(--text-tertiary)",
868
+ fontStyle: "italic"
869
+ },
870
+ children: "None"
871
+ })
872
+ }),
873
+ x.map((e, r) => /* @__PURE__ */ k("div", {
874
+ className: `searchable-select-option ${r === _ ? "highlighted" : ""} ${e.value === t ? "selected" : ""}`,
875
+ onClick: () => {
876
+ n?.(e.value), p(!1), g("");
877
+ },
878
+ onMouseEnter: () => v(r),
879
+ children: [/* @__PURE__ */ k("div", {
880
+ className: "searchable-select-option-content",
881
+ children: [/* @__PURE__ */ O("span", { children: e.label }), e.description && /* @__PURE__ */ O("span", {
882
+ className: "searchable-select-option-desc",
883
+ children: e.description
884
+ })]
885
+ }), e.value === t && /* @__PURE__ */ O(f, { size: 14 })]
886
+ }, e.value)),
887
+ x.length === 0 && /* @__PURE__ */ O("div", {
888
+ className: "searchable-select-empty",
889
+ children: "No results found"
890
+ })
891
+ ]
892
+ })]
893
+ })]
894
+ });
895
+ }
896
+ //#endregion
897
+ //#region src/components/ui/Sheet.jsx
898
+ function Re({ open: e, onClose: t, side: n = "right", title: r, children: i, className: a = "" }) {
899
+ let c = s(null);
900
+ return o(() => (e ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
901
+ document.body.style.overflow = "";
902
+ }), [e]), o(() => {
903
+ function n(e) {
904
+ e.key === "Escape" && t?.();
905
+ }
906
+ return e && document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
907
+ }, [e, t]), e ? /* @__PURE__ */ O("div", {
908
+ className: "sheet-overlay",
909
+ ref: c,
910
+ onClick: (e) => {
911
+ e.target === c.current && t?.();
912
+ },
913
+ children: /* @__PURE__ */ k("div", {
914
+ className: `sheet sheet-${n} ${a}`,
915
+ children: [r && /* @__PURE__ */ k("div", {
916
+ className: "sheet-header",
917
+ children: [/* @__PURE__ */ O("h3", {
918
+ className: "sheet-title",
919
+ children: r
920
+ }), /* @__PURE__ */ O("button", {
921
+ className: "btn btn-ghost btn-icon btn-sm",
922
+ onClick: t,
923
+ children: /* @__PURE__ */ O(D, { size: 16 })
924
+ })]
925
+ }), /* @__PURE__ */ O("div", {
926
+ className: "sheet-body",
927
+ children: i
928
+ })]
929
+ })
930
+ }) : null;
931
+ }
932
+ function ze({ children: e, className: t = "" }) {
933
+ return /* @__PURE__ */ O("div", {
934
+ className: `sheet-footer ${t}`,
935
+ children: e
936
+ });
937
+ }
938
+ //#endregion
939
+ //#region src/components/ui/Switch.jsx
940
+ function Be({ checked: e = !1, onCheckedChange: t, disabled: n = !1, size: r = "md", label: i }) {
941
+ return /* @__PURE__ */ k("div", {
942
+ className: "toggle-row",
943
+ children: [i && /* @__PURE__ */ O("span", {
944
+ className: "toggle-text",
945
+ children: i
946
+ }), /* @__PURE__ */ O("button", {
947
+ className: `toggle ${e ? "active" : ""} ${r === "sm" ? "toggle-sm" : ""}`,
948
+ onClick: () => !n && t?.(!e),
949
+ disabled: n,
950
+ role: "switch",
951
+ "aria-checked": e,
952
+ children: /* @__PURE__ */ O("div", { className: "toggle-knob" })
953
+ })]
954
+ });
955
+ }
956
+ //#endregion
957
+ //#region src/components/ui/Tabs.jsx
958
+ var Z = e({
959
+ value: "",
960
+ onChange: () => {}
961
+ });
962
+ function Ve({ defaultValue: e, value: t, onValueChange: n, children: r, className: i = "" }) {
963
+ let [a, o] = c(e || ""), s = t === void 0 ? a : t, l = n || o;
964
+ return /* @__PURE__ */ O(Z.Provider, {
965
+ value: {
966
+ value: s,
967
+ onChange: l
968
+ },
969
+ children: /* @__PURE__ */ O("div", {
970
+ className: i,
971
+ children: r
972
+ })
973
+ });
974
+ }
975
+ function He({ children: e, className: t = "" }) {
976
+ return /* @__PURE__ */ O("div", {
977
+ className: `tabs ${t}`,
978
+ children: e
979
+ });
980
+ }
981
+ function Ue({ value: e, children: t, className: n = "" }) {
982
+ let { value: r, onChange: i } = a(Z), o = r === e;
983
+ return /* @__PURE__ */ O("button", {
984
+ className: `tab ${o ? "active" : ""} ${n}`,
985
+ onClick: () => i(e),
986
+ role: "tab",
987
+ "aria-selected": o,
988
+ type: "button",
989
+ children: t
990
+ });
991
+ }
992
+ function We({ value: e, children: t, className: n = "" }) {
993
+ let { value: r } = a(Z);
994
+ return r === e ? /* @__PURE__ */ O("div", {
995
+ className: n,
996
+ role: "tabpanel",
997
+ children: t
998
+ }) : null;
999
+ }
1000
+ //#endregion
1001
+ //#region src/components/ui/Tooltip.jsx
1002
+ function Ge({ content: e, side: t = "top", children: n, className: r = "" }) {
1003
+ let [i, a] = c(!1), o = s(null);
1004
+ function l() {
1005
+ o.current = setTimeout(() => a(!0), 300);
1006
+ }
1007
+ function u() {
1008
+ clearTimeout(o.current), a(!1);
1009
+ }
1010
+ return /* @__PURE__ */ k("div", {
1011
+ className: `tooltip-wrapper ${r}`,
1012
+ onMouseEnter: l,
1013
+ onMouseLeave: u,
1014
+ style: {
1015
+ position: "relative",
1016
+ display: "inline-flex"
1017
+ },
1018
+ children: [n, i && /* @__PURE__ */ O("div", {
1019
+ className: `tooltip tooltip-${t}`,
1020
+ children: e
1021
+ })]
1022
+ });
1023
+ }
1024
+ //#endregion
1025
+ //#region src/components/ui/ViewModeToggle.jsx
1026
+ function Ke(e, n) {
1027
+ return e ? r(e) ? e : t(e, { size: n }) : null;
1028
+ }
1029
+ function qe({ options: e = [], value: t, defaultValue: n, onValueChange: r, ariaLabel: i = "View mode", iconSize: a = 16, showLabels: o = !1, className: s = "", optionClassName: l = "" }) {
1030
+ let [u, d] = c(n ?? e[0]?.value ?? ""), f = t === void 0 ? u : t;
1031
+ function p(e) {
1032
+ e.disabled || (t === void 0 && d(e.value), r?.(e.value, e));
1033
+ }
1034
+ return /* @__PURE__ */ O("div", {
1035
+ className: ["view-mode-toggle", s].filter(Boolean).join(" "),
1036
+ role: "group",
1037
+ "aria-label": i,
1038
+ children: e.map((e) => {
1039
+ let t = e.value === f, n = Ke(e.icon, a);
1040
+ return /* @__PURE__ */ k("button", {
1041
+ type: "button",
1042
+ "aria-pressed": t,
1043
+ disabled: e.disabled,
1044
+ title: e.title || e.label,
1045
+ "aria-label": e.title || e.label,
1046
+ className: [
1047
+ "view-mode-toggle-option",
1048
+ t ? "active" : "",
1049
+ e.disabled ? "disabled" : "",
1050
+ l
1051
+ ].filter(Boolean).join(" "),
1052
+ onClick: () => p(e),
1053
+ children: [n && /* @__PURE__ */ O("span", {
1054
+ className: "view-mode-toggle-icon",
1055
+ children: n
1056
+ }), o && /* @__PURE__ */ O("span", {
1057
+ className: "view-mode-toggle-label",
1058
+ children: e.label
1059
+ })]
1060
+ }, e.value);
1061
+ })
1062
+ });
1063
+ }
1064
+ //#endregion
1065
+ //#region src/components/ui/WorkspaceTabs.jsx
1066
+ function Je(e, n) {
1067
+ return e ? r(e) ? e : t(e, { size: n }) : null;
1068
+ }
1069
+ function Ye({ items: e = [], value: t, defaultValue: n, onValueChange: r, ariaLabel: i = "Workspace tabs", iconSize: a = 14, className: o = "", itemClassName: s = "" }) {
1070
+ let [l, u] = c(n ?? e[0]?.id ?? ""), d = t === void 0 ? l : t;
1071
+ function f(e) {
1072
+ e.disabled || (t === void 0 && u(e.id), r?.(e.id, e));
1073
+ }
1074
+ return /* @__PURE__ */ O("div", {
1075
+ className: ["workspace-tabs", o].filter(Boolean).join(" "),
1076
+ role: "tablist",
1077
+ "aria-label": i,
1078
+ children: e.map((e) => {
1079
+ let t = e.id === d, n = Je(e.icon, a);
1080
+ return /* @__PURE__ */ k("button", {
1081
+ type: "button",
1082
+ role: "tab",
1083
+ "aria-selected": t,
1084
+ disabled: e.disabled,
1085
+ title: e.label,
1086
+ className: [
1087
+ "workspace-tab",
1088
+ t ? "active" : "",
1089
+ e.disabled ? "disabled" : "",
1090
+ s
1091
+ ].filter(Boolean).join(" "),
1092
+ onClick: () => f(e),
1093
+ children: [
1094
+ n && /* @__PURE__ */ O("span", {
1095
+ className: "workspace-tab-icon",
1096
+ children: n
1097
+ }),
1098
+ /* @__PURE__ */ O("span", {
1099
+ className: "workspace-tab-label",
1100
+ children: e.label
1101
+ }),
1102
+ e.badge != null && /* @__PURE__ */ O("span", {
1103
+ className: "workspace-tab-badge",
1104
+ children: e.badge
1105
+ })
1106
+ ]
1107
+ }, e.id);
1108
+ })
1109
+ });
1110
+ }
1111
+ //#endregion
1112
+ //#region src/components/data/ActivityFeed.jsx
1113
+ function Xe({ items: e = [], className: t = "" }) {
1114
+ return /* @__PURE__ */ O("div", {
1115
+ className: `activity-feed ${t}`,
1116
+ children: e.map((e, t) => /* @__PURE__ */ k("div", {
1117
+ className: "activity-item",
1118
+ children: [/* @__PURE__ */ O("div", {
1119
+ className: "activity-avatar",
1120
+ children: /* @__PURE__ */ O(Y, {
1121
+ name: e.user,
1122
+ size: "sm"
1123
+ })
1124
+ }), /* @__PURE__ */ k("div", {
1125
+ className: "activity-content",
1126
+ children: [
1127
+ /* @__PURE__ */ k("div", {
1128
+ className: "activity-header",
1129
+ children: [/* @__PURE__ */ O("span", {
1130
+ className: "activity-name",
1131
+ children: e.user
1132
+ }), /* @__PURE__ */ O("span", {
1133
+ className: "activity-time",
1134
+ children: e.time
1135
+ })]
1136
+ }),
1137
+ /* @__PURE__ */ O("div", {
1138
+ className: "activity-text",
1139
+ children: e.text
1140
+ }),
1141
+ e.meta && /* @__PURE__ */ O("div", {
1142
+ className: "activity-meta",
1143
+ children: e.meta
1144
+ })
1145
+ ]
1146
+ })]
1147
+ }, e.id || t))
1148
+ });
1149
+ }
1150
+ //#endregion
1151
+ //#region src/components/data/CommandBar.jsx
1152
+ function Ze({ open: e, onClose: t, groups: n = [], onSelect: r, placeholder: i = "Type a command or search..." }) {
1153
+ let [a, l] = c(""), [u, d] = c(0), f = s(null);
1154
+ if (o(() => {
1155
+ if (e) {
1156
+ let e = setTimeout(() => {
1157
+ l(""), d(0), f.current?.focus();
1158
+ }, 50);
1159
+ return () => clearTimeout(e);
1160
+ }
1161
+ }, [e]), o(() => {
1162
+ function e(e) {
1163
+ e.key === "k" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), t?.());
1164
+ }
1165
+ return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
1166
+ }, [e, t]), !e) return null;
1167
+ let p = n.flatMap((e) => e.items.filter((e) => e.label.toLowerCase().includes(a.toLowerCase())).map((t) => ({
1168
+ ...t,
1169
+ group: e.label
1170
+ }))), m = p.map((e, t) => ({
1171
+ ...e,
1172
+ showGroup: t === 0 || e.group !== p[t - 1].group
1173
+ }));
1174
+ function h(e) {
1175
+ e.key === "ArrowDown" ? (e.preventDefault(), d((e) => Math.min(e + 1, p.length - 1))) : e.key === "ArrowUp" ? (e.preventDefault(), d((e) => Math.max(e - 1, 0))) : e.key === "Enter" && p[u] ? (r?.(p[u]), t?.()) : e.key === "Escape" && t?.();
1176
+ }
1177
+ return /* @__PURE__ */ O("div", {
1178
+ className: "dialog-overlay",
1179
+ onClick: (e) => {
1180
+ e.target === e.currentTarget && t?.();
1181
+ },
1182
+ children: /* @__PURE__ */ k("div", {
1183
+ className: "command-palette",
1184
+ children: [/* @__PURE__ */ k("div", {
1185
+ className: "command-input-wrapper",
1186
+ children: [/* @__PURE__ */ O("span", {
1187
+ className: "command-input-icon",
1188
+ children: /* @__PURE__ */ O(E, { size: 16 })
1189
+ }), /* @__PURE__ */ O("input", {
1190
+ ref: f,
1191
+ className: "command-input",
1192
+ value: a,
1193
+ onChange: (e) => {
1194
+ l(e.target.value), d(0);
1195
+ },
1196
+ onKeyDown: h,
1197
+ placeholder: i
1198
+ })]
1199
+ }), /* @__PURE__ */ k("div", {
1200
+ className: "command-results",
1201
+ children: [m.map((e, n) => /* @__PURE__ */ k("div", { children: [e.showGroup && /* @__PURE__ */ O("div", {
1202
+ className: "command-group-label",
1203
+ children: e.group
1204
+ }), /* @__PURE__ */ k("div", {
1205
+ className: `dropdown-item ${n === u ? "active" : ""}`,
1206
+ onClick: () => {
1207
+ r?.(e), t?.();
1208
+ },
1209
+ onMouseEnter: () => d(n),
1210
+ children: [
1211
+ e.icon && /* @__PURE__ */ O("span", {
1212
+ className: "dropdown-item-icon",
1213
+ children: e.icon
1214
+ }),
1215
+ e.label,
1216
+ e.shortcut && /* @__PURE__ */ O("span", {
1217
+ className: "dropdown-shortcut",
1218
+ children: e.shortcut
1219
+ })
1220
+ ]
1221
+ })] }, e.id || n)), p.length === 0 && /* @__PURE__ */ O("div", {
1222
+ style: {
1223
+ padding: "var(--space-4)",
1224
+ textAlign: "center",
1225
+ color: "var(--text-tertiary)",
1226
+ fontSize: "var(--text-sm)"
1227
+ },
1228
+ children: "No results found"
1229
+ })]
1230
+ })]
1231
+ })
1232
+ });
1233
+ }
1234
+ //#endregion
1235
+ //#region src/components/data/DataTable.jsx
1236
+ function Qe({ columns: e, data: t, onRowClick: n, className: r = "" }) {
1237
+ let [i, a] = c(null), [o, s] = c("asc");
1238
+ function l(e) {
1239
+ i === e ? s((e) => e === "asc" ? "desc" : "asc") : (a(e), s("asc"));
1240
+ }
1241
+ let u = i ? [...t].sort((e, t) => {
1242
+ let n = e[i], r = t[i], a = typeof n == "number" ? n - r : String(n).localeCompare(String(r));
1243
+ return o === "asc" ? a : -a;
1244
+ }) : t;
1245
+ return /* @__PURE__ */ O("div", {
1246
+ className: `table-wrapper ${r}`,
1247
+ children: /* @__PURE__ */ k("table", { children: [/* @__PURE__ */ O("thead", { children: /* @__PURE__ */ O("tr", { children: e.map((e) => /* @__PURE__ */ O("th", {
1248
+ onClick: () => e.sortable !== !1 && l(e.key),
1249
+ style: {
1250
+ cursor: e.sortable === !1 ? "default" : "pointer",
1251
+ width: e.width
1252
+ },
1253
+ children: /* @__PURE__ */ k("span", {
1254
+ className: "th-content",
1255
+ children: [e.label, e.sortable !== !1 && /* @__PURE__ */ O("span", {
1256
+ className: "th-sort-icon",
1257
+ children: i === e.key ? O(o === "asc" ? _ : h, { size: 12 }) : /* @__PURE__ */ O(v, { size: 12 })
1258
+ })]
1259
+ })
1260
+ }, e.key)) }) }), /* @__PURE__ */ k("tbody", { children: [u.map((t, r) => /* @__PURE__ */ O("tr", {
1261
+ onClick: () => n?.(t),
1262
+ style: { cursor: n ? "pointer" : "default" },
1263
+ children: e.map((e) => /* @__PURE__ */ O("td", { children: e.render ? e.render(t[e.key], t) : t[e.key] }, e.key))
1264
+ }, t.id || r)), u.length === 0 && /* @__PURE__ */ O("tr", { children: /* @__PURE__ */ O("td", {
1265
+ colSpan: e.length,
1266
+ style: {
1267
+ textAlign: "center",
1268
+ color: "var(--text-tertiary)",
1269
+ padding: "var(--space-8)"
1270
+ },
1271
+ children: "No data"
1272
+ }) })] })] })
1273
+ });
1274
+ }
1275
+ //#endregion
1276
+ //#region src/components/data/FilterBar.jsx
1277
+ function $e({ searchValue: e = "", onSearchChange: t, filters: n = [], onClearAll: r, children: i, className: a = "" }) {
1278
+ let o = n.some((e) => e.active);
1279
+ return /* @__PURE__ */ k("div", {
1280
+ className: `filter-bar ${a}`,
1281
+ children: [
1282
+ /* @__PURE__ */ k("div", {
1283
+ className: "filter-bar-search",
1284
+ children: [
1285
+ /* @__PURE__ */ O(E, { size: 14 }),
1286
+ /* @__PURE__ */ O("input", {
1287
+ className: "filter-bar-input",
1288
+ value: e,
1289
+ onChange: (e) => t?.(e.target.value),
1290
+ placeholder: "Search..."
1291
+ }),
1292
+ e && /* @__PURE__ */ O("button", {
1293
+ className: "filter-bar-clear",
1294
+ onClick: () => t?.(""),
1295
+ children: /* @__PURE__ */ O(D, { size: 12 })
1296
+ })
1297
+ ]
1298
+ }),
1299
+ /* @__PURE__ */ k("div", {
1300
+ className: "filter-bar-filters",
1301
+ children: [
1302
+ /* @__PURE__ */ O(b, {
1303
+ size: 14,
1304
+ style: { color: "var(--text-tertiary)" }
1305
+ }),
1306
+ n.map((e) => /* @__PURE__ */ k("button", {
1307
+ className: `filter-chip ${e.active ? "active" : ""}`,
1308
+ onClick: e.onClick,
1309
+ children: [e.label, e.active && e.value && /* @__PURE__ */ O("span", {
1310
+ className: "filter-chip-value",
1311
+ children: e.value
1312
+ })]
1313
+ }, e.label)),
1314
+ o && r && /* @__PURE__ */ O("button", {
1315
+ className: "filter-bar-clear-all",
1316
+ onClick: r,
1317
+ children: "Clear all"
1318
+ })
1319
+ ]
1320
+ }),
1321
+ i
1322
+ ]
1323
+ });
1324
+ }
1325
+ //#endregion
1326
+ //#region src/components/data/KanbanBoard.jsx
1327
+ function et({ children: e, className: t = "" }) {
1328
+ return /* @__PURE__ */ O("div", {
1329
+ className: `kanban-board ${t}`,
1330
+ children: e
1331
+ });
1332
+ }
1333
+ function tt({ title: e, count: t, color: n, children: r, className: i = "" }) {
1334
+ return /* @__PURE__ */ k("div", {
1335
+ className: `kanban-column ${i}`,
1336
+ children: [/* @__PURE__ */ k("div", {
1337
+ className: "kanban-column-header",
1338
+ children: [/* @__PURE__ */ k("div", {
1339
+ className: "kanban-column-title",
1340
+ children: [n && /* @__PURE__ */ O("span", {
1341
+ className: "kanban-column-dot",
1342
+ style: { background: n }
1343
+ }), /* @__PURE__ */ O("span", { children: e })]
1344
+ }), /* @__PURE__ */ O("span", {
1345
+ className: "kanban-column-count",
1346
+ children: t
1347
+ })]
1348
+ }), /* @__PURE__ */ O("div", {
1349
+ className: "kanban-column-body",
1350
+ children: r
1351
+ })]
1352
+ });
1353
+ }
1354
+ function nt({ title: e, subtitle: t, badges: n, avatar: r, footer: i, onClick: a, className: o = "" }) {
1355
+ return /* @__PURE__ */ k("div", {
1356
+ className: `kanban-card ${o}`,
1357
+ onClick: a,
1358
+ children: [/* @__PURE__ */ k("div", {
1359
+ className: "kanban-card-body",
1360
+ children: [
1361
+ /* @__PURE__ */ O("span", {
1362
+ className: "kanban-card-title",
1363
+ children: e
1364
+ }),
1365
+ t && /* @__PURE__ */ O("span", {
1366
+ className: "kanban-card-subtitle",
1367
+ children: t
1368
+ }),
1369
+ n && /* @__PURE__ */ O("div", {
1370
+ className: "kanban-card-badges",
1371
+ children: n
1372
+ })
1373
+ ]
1374
+ }), (r || i) && /* @__PURE__ */ k("div", {
1375
+ className: "kanban-card-footer",
1376
+ children: [i && /* @__PURE__ */ O("span", {
1377
+ className: "kanban-card-footer-text",
1378
+ children: i
1379
+ }), r]
1380
+ })]
1381
+ });
1382
+ }
1383
+ //#endregion
1384
+ //#region src/components/data/TableBoard.jsx
1385
+ function Q(...e) {
1386
+ return e.filter(Boolean).join(" ");
1387
+ }
1388
+ function rt({ children: e, className: t = "" }) {
1389
+ return /* @__PURE__ */ O("div", {
1390
+ className: Q("table-board", t),
1391
+ children: e
1392
+ });
1393
+ }
1394
+ function it({ title: e, count: t, open: n, defaultOpen: r = !0, onOpenChange: i, children: a, className: o = "" }) {
1395
+ let [s, l] = c(r), u = n != null, d = u ? n : s;
1396
+ function f() {
1397
+ let e = !d;
1398
+ u || l(e), i?.(e);
1399
+ }
1400
+ return /* @__PURE__ */ k("section", {
1401
+ className: Q("table-board-group", o),
1402
+ children: [/* @__PURE__ */ k("button", {
1403
+ type: "button",
1404
+ className: "table-board-group-header",
1405
+ onClick: f,
1406
+ "aria-expanded": d,
1407
+ children: [
1408
+ /* @__PURE__ */ O("span", {
1409
+ className: Q("table-board-group-chevron", !d && "collapsed"),
1410
+ children: /* @__PURE__ */ O(h, { size: 12 })
1411
+ }),
1412
+ /* @__PURE__ */ O("span", {
1413
+ className: "table-board-group-label",
1414
+ children: e
1415
+ }),
1416
+ t != null && /* @__PURE__ */ O("span", {
1417
+ className: "table-board-group-count",
1418
+ children: t
1419
+ })
1420
+ ]
1421
+ }), /* @__PURE__ */ O("div", {
1422
+ className: Q("table-board-group-panel", d && "open"),
1423
+ children: /* @__PURE__ */ O("div", {
1424
+ className: "table-board-group-panel-inner",
1425
+ children: a
1426
+ })
1427
+ })]
1428
+ });
1429
+ }
1430
+ function at({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title: r, pills: i = [], metric: a, showMetricIcon: o = !0, avatar: s, avatarLabel: c, avatarName: l, avatarStyle: u, meta: d, onClick: f, className: p = "" }) {
1431
+ let m = typeof f == "function";
1432
+ function h(e) {
1433
+ m && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), f());
1434
+ }
1435
+ let g = s || (c ? /* @__PURE__ */ O(Y, {
1436
+ initials: c,
1437
+ name: l || c,
1438
+ size: "sm",
1439
+ className: "table-board-avatar",
1440
+ style: u
1441
+ }) : null);
1442
+ return /* @__PURE__ */ k("div", {
1443
+ className: Q("table-board-row", m && "clickable", p),
1444
+ onClick: f,
1445
+ onKeyDown: h,
1446
+ role: m ? "button" : void 0,
1447
+ tabIndex: m ? 0 : void 0,
1448
+ children: [
1449
+ /* @__PURE__ */ O("span", {
1450
+ className: "table-board-priority",
1451
+ children: e
1452
+ }),
1453
+ t && /* @__PURE__ */ O("span", {
1454
+ className: "table-board-id",
1455
+ children: t
1456
+ }),
1457
+ /* @__PURE__ */ O("span", {
1458
+ className: "table-board-status",
1459
+ children: /* @__PURE__ */ O("span", {
1460
+ className: "table-board-status-dot",
1461
+ style: { background: n }
1462
+ })
1463
+ }),
1464
+ /* @__PURE__ */ O("span", {
1465
+ className: "table-board-title",
1466
+ children: r
1467
+ }),
1468
+ /* @__PURE__ */ O("span", { className: "table-board-spacer" }),
1469
+ i.map((e, t) => /* @__PURE__ */ k("span", {
1470
+ className: "table-board-pill",
1471
+ children: [/* @__PURE__ */ O("span", {
1472
+ className: "table-board-pill-dot",
1473
+ style: { background: e.color || "var(--text-quaternary)" }
1474
+ }), e.label]
1475
+ }, `${e.label}-${t}`)),
1476
+ a != null && /* @__PURE__ */ k("span", {
1477
+ className: "table-board-metric",
1478
+ children: [o && /* @__PURE__ */ O(y, { size: 12 }), a]
1479
+ }),
1480
+ g,
1481
+ d && /* @__PURE__ */ O("span", {
1482
+ className: "table-board-meta",
1483
+ children: d
1484
+ })
1485
+ ]
1486
+ });
1487
+ }
1488
+ //#endregion
1489
+ //#region src/components/data/KPICard.jsx
1490
+ function ot({ title: e, value: t, change: n, changeLabel: r, trend: i = "neutral", icon: a, className: o = "" }) {
1491
+ let s = {
1492
+ up: "var(--accent-green)",
1493
+ down: "var(--accent-red)",
1494
+ neutral: "var(--text-tertiary)"
1495
+ }, c = i === "up" ? ne : i === "down" ? te : w;
1496
+ return /* @__PURE__ */ k("div", {
1497
+ className: `kpi-card ${o}`,
1498
+ children: [
1499
+ /* @__PURE__ */ k("div", {
1500
+ className: "kpi-header",
1501
+ children: [/* @__PURE__ */ O("span", {
1502
+ className: "kpi-title",
1503
+ children: e
1504
+ }), a && /* @__PURE__ */ O("span", {
1505
+ className: "kpi-icon",
1506
+ children: a
1507
+ })]
1508
+ }),
1509
+ /* @__PURE__ */ O("div", {
1510
+ className: "kpi-value",
1511
+ children: t
1512
+ }),
1513
+ (n !== void 0 || r) && /* @__PURE__ */ k("div", {
1514
+ className: "kpi-footer",
1515
+ children: [/* @__PURE__ */ k("span", {
1516
+ className: "kpi-trend",
1517
+ style: { color: s[i] },
1518
+ children: [/* @__PURE__ */ O(c, { size: 12 }), n !== void 0 && /* @__PURE__ */ k("span", { children: [
1519
+ n > 0 ? "+" : "",
1520
+ n,
1521
+ "%"
1522
+ ] })]
1523
+ }), r && /* @__PURE__ */ O("span", {
1524
+ className: "kpi-change-label",
1525
+ children: r
1526
+ })]
1527
+ })
1528
+ ]
1529
+ });
1530
+ }
1531
+ function st({ label: e, value: t, subtitle: n, color: r, className: i = "" }) {
1532
+ return /* @__PURE__ */ k("div", {
1533
+ className: `stat-card ${i}`,
1534
+ children: [r && /* @__PURE__ */ O("div", {
1535
+ className: "stat-card-accent",
1536
+ style: { background: r }
1537
+ }), /* @__PURE__ */ k("div", {
1538
+ className: "stat-card-content",
1539
+ children: [
1540
+ /* @__PURE__ */ O("span", {
1541
+ className: "stat-card-label",
1542
+ children: e
1543
+ }),
1544
+ /* @__PURE__ */ O("span", {
1545
+ className: "stat-card-value",
1546
+ children: t
1547
+ }),
1548
+ n && /* @__PURE__ */ O("span", {
1549
+ className: "stat-card-subtitle",
1550
+ children: n
1551
+ })
1552
+ ]
1553
+ })]
1554
+ });
1555
+ }
1556
+ //#endregion
1557
+ //#region src/components/data/NotificationsPanel.jsx
1558
+ function ct({ notifications: e = [], onMarkRead: t, onMarkAllRead: n, className: r = "" }) {
1559
+ let i = e.filter((e) => !e.read);
1560
+ return /* @__PURE__ */ k("div", {
1561
+ className: `notifications-panel ${r}`,
1562
+ children: [/* @__PURE__ */ k("div", {
1563
+ className: "notifications-header",
1564
+ children: [/* @__PURE__ */ k("div", {
1565
+ className: "notifications-title",
1566
+ children: [
1567
+ /* @__PURE__ */ O(d, { size: 16 }),
1568
+ /* @__PURE__ */ O("span", { children: "Notifications" }),
1569
+ i.length > 0 && /* @__PURE__ */ O("span", {
1570
+ className: "badge badge-purple",
1571
+ style: { marginLeft: "var(--space-1)" },
1572
+ children: i.length
1573
+ })
1574
+ ]
1575
+ }), i.length > 0 && /* @__PURE__ */ k("button", {
1576
+ className: "btn btn-ghost btn-sm",
1577
+ onClick: n,
1578
+ children: [/* @__PURE__ */ O(p, { size: 14 }), " Mark all read"]
1579
+ })]
1580
+ }), /* @__PURE__ */ k("div", {
1581
+ className: "notifications-list",
1582
+ children: [e.length === 0 && /* @__PURE__ */ O("div", {
1583
+ className: "notifications-empty",
1584
+ children: "No notifications"
1585
+ }), e.map((e) => /* @__PURE__ */ k("div", {
1586
+ className: `notification-item ${e.read ? "" : "unread"}`,
1587
+ onClick: () => !e.read && t?.(e.id),
1588
+ children: [
1589
+ /* @__PURE__ */ O(Y, {
1590
+ name: e.user,
1591
+ size: "sm"
1592
+ }),
1593
+ /* @__PURE__ */ k("div", {
1594
+ className: "notification-content",
1595
+ children: [/* @__PURE__ */ k("div", {
1596
+ className: "notification-text",
1597
+ children: [
1598
+ /* @__PURE__ */ O("strong", { children: e.user }),
1599
+ " ",
1600
+ e.text
1601
+ ]
1602
+ }), /* @__PURE__ */ O("span", {
1603
+ className: "notification-time",
1604
+ children: e.time
1605
+ })]
1606
+ }),
1607
+ !e.read && /* @__PURE__ */ O("div", { className: "notification-dot" })
1608
+ ]
1609
+ }, e.id))]
1610
+ })]
1611
+ });
1612
+ }
1613
+ //#endregion
1614
+ //#region src/components/Icons.jsx
1615
+ function lt() {
1616
+ return /* @__PURE__ */ O("svg", {
1617
+ width: "16",
1618
+ height: "16",
1619
+ viewBox: "0 0 16 16",
1620
+ fill: "currentColor",
1621
+ children: /* @__PURE__ */ O("path", { d: "M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5l-2.5-2.5a.5.5 0 0 0-.354-.146H8.5a.5.5 0 0 0-.5.5v2.793L6.854 9.001a.5.5 0 0 0-.708 0L2 13.147V3Zm12 8.207V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-.44l4.5-4.5L8.146 9.707a.5.5 0 0 0 .708 0L11.5 7.06l2.5 2.5V11.207Z" })
1622
+ });
1623
+ }
1624
+ function ut() {
1625
+ return /* @__PURE__ */ k("svg", {
1626
+ width: "16",
1627
+ height: "16",
1628
+ viewBox: "0 0 16 16",
1629
+ fill: "currentColor",
1630
+ children: [/* @__PURE__ */ O("circle", {
1631
+ cx: "8",
1632
+ cy: "8",
1633
+ r: "6",
1634
+ fill: "none",
1635
+ stroke: "currentColor",
1636
+ strokeWidth: "1.5"
1637
+ }), /* @__PURE__ */ O("circle", {
1638
+ cx: "8",
1639
+ cy: "8",
1640
+ r: "2"
1641
+ })]
1642
+ });
1643
+ }
1644
+ function dt() {
1645
+ return /* @__PURE__ */ O("svg", {
1646
+ width: "16",
1647
+ height: "16",
1648
+ viewBox: "0 0 16 16",
1649
+ fill: "currentColor",
1650
+ children: /* @__PURE__ */ O("path", { d: "M8 1l2.2 4.4L15 6.3l-3.5 3.4.8 4.9L8 12.4 3.7 14.6l.8-4.9L1 6.3l4.8-.9L8 1Z" })
1651
+ });
1652
+ }
1653
+ function ft() {
1654
+ return /* @__PURE__ */ O("svg", {
1655
+ width: "16",
1656
+ height: "16",
1657
+ viewBox: "0 0 16 16",
1658
+ fill: "none",
1659
+ stroke: "currentColor",
1660
+ strokeWidth: "1.5",
1661
+ strokeLinecap: "round",
1662
+ strokeLinejoin: "round",
1663
+ children: /* @__PURE__ */ O("path", { d: "M1 8h3l2-5 2 10 2-5h3" })
1664
+ });
1665
+ }
1666
+ function pt() {
1667
+ return /* @__PURE__ */ O("svg", {
1668
+ width: "16",
1669
+ height: "16",
1670
+ viewBox: "0 0 16 16",
1671
+ fill: "currentColor",
1672
+ children: /* @__PURE__ */ O("path", { d: "M3 2h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Zm1 3v2h8V5H4Zm0 4v2h5V9H4Z" })
1673
+ });
1674
+ }
1675
+ function mt() {
1676
+ return /* @__PURE__ */ O("svg", {
1677
+ width: "16",
1678
+ height: "16",
1679
+ viewBox: "0 0 16 16",
1680
+ fill: "currentColor",
1681
+ children: /* @__PURE__ */ O("path", { d: "M2 3.5A1.5 1.5 0 0 1 3.5 2h3.379a1.5 1.5 0 0 1 1.06.44l.622.62A1.5 1.5 0 0 0 9.622 3.5H12.5A1.5 1.5 0 0 1 14 5v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5v-9Z" })
1682
+ });
1683
+ }
1684
+ function ht() {
1685
+ return /* @__PURE__ */ k("svg", {
1686
+ width: "16",
1687
+ height: "16",
1688
+ viewBox: "0 0 16 16",
1689
+ fill: "currentColor",
1690
+ children: [
1691
+ /* @__PURE__ */ O("circle", {
1692
+ cx: "4",
1693
+ cy: "8",
1694
+ r: "1.5"
1695
+ }),
1696
+ /* @__PURE__ */ O("circle", {
1697
+ cx: "8",
1698
+ cy: "8",
1699
+ r: "1.5"
1700
+ }),
1701
+ /* @__PURE__ */ O("circle", {
1702
+ cx: "12",
1703
+ cy: "8",
1704
+ r: "1.5"
1705
+ })
1706
+ ]
1707
+ });
1708
+ }
1709
+ function gt() {
1710
+ return /* @__PURE__ */ k("svg", {
1711
+ width: "16",
1712
+ height: "16",
1713
+ viewBox: "0 0 16 16",
1714
+ fill: "none",
1715
+ stroke: "currentColor",
1716
+ strokeWidth: "1.5",
1717
+ children: [/* @__PURE__ */ O("circle", {
1718
+ cx: "7",
1719
+ cy: "7",
1720
+ r: "4.5"
1721
+ }), /* @__PURE__ */ O("path", {
1722
+ d: "M10.5 10.5L14 14",
1723
+ strokeLinecap: "round"
1724
+ })]
1725
+ });
1726
+ }
1727
+ function _t() {
1728
+ return /* @__PURE__ */ O("svg", {
1729
+ width: "16",
1730
+ height: "16",
1731
+ viewBox: "0 0 16 16",
1732
+ fill: "none",
1733
+ stroke: "currentColor",
1734
+ strokeWidth: "1.5",
1735
+ strokeLinecap: "round",
1736
+ strokeLinejoin: "round",
1737
+ children: /* @__PURE__ */ O("path", { d: "M11 2l3 3-8 8H3v-3l8-8Z" })
1738
+ });
1739
+ }
1740
+ function vt() {
1741
+ return /* @__PURE__ */ O("svg", {
1742
+ width: "14",
1743
+ height: "14",
1744
+ viewBox: "0 0 14 14",
1745
+ fill: "none",
1746
+ stroke: "currentColor",
1747
+ strokeWidth: "1.5",
1748
+ strokeLinecap: "round",
1749
+ strokeLinejoin: "round",
1750
+ children: /* @__PURE__ */ O("path", { d: "M3.5 5.5L7 9l3.5-3.5" })
1751
+ });
1752
+ }
1753
+ function yt() {
1754
+ return /* @__PURE__ */ O("svg", {
1755
+ width: "14",
1756
+ height: "14",
1757
+ viewBox: "0 0 14 14",
1758
+ fill: "none",
1759
+ stroke: "currentColor",
1760
+ strokeWidth: "1.5",
1761
+ strokeLinecap: "round",
1762
+ strokeLinejoin: "round",
1763
+ children: /* @__PURE__ */ O("path", { d: "M3.5 9L7 5.5 10.5 9" })
1764
+ });
1765
+ }
1766
+ function bt() {
1767
+ return /* @__PURE__ */ O("svg", {
1768
+ width: "14",
1769
+ height: "14",
1770
+ viewBox: "0 0 14 14",
1771
+ fill: "#c9a84e",
1772
+ children: /* @__PURE__ */ O("path", { d: "M7 1l1.76 3.52L13 5.26l-3 2.94.7 4.13L7 10.4 3.3 12.33l.7-4.13-3-2.94 4.24-.74L7 1Z" })
1773
+ });
1774
+ }
1775
+ function xt() {
1776
+ return /* @__PURE__ */ k("svg", {
1777
+ width: "14",
1778
+ height: "14",
1779
+ viewBox: "0 0 14 14",
1780
+ children: [/* @__PURE__ */ O("circle", {
1781
+ cx: "7",
1782
+ cy: "7",
1783
+ r: "5.5",
1784
+ fill: "none",
1785
+ stroke: "#c9a84e",
1786
+ strokeWidth: "1.5",
1787
+ strokeDasharray: "8.6 2.9"
1788
+ }), /* @__PURE__ */ O("circle", {
1789
+ cx: "7",
1790
+ cy: "7",
1791
+ r: "2",
1792
+ fill: "#c9a84e"
1793
+ })]
1794
+ });
1795
+ }
1796
+ function St() {
1797
+ return /* @__PURE__ */ k("svg", {
1798
+ width: "14",
1799
+ height: "14",
1800
+ viewBox: "0 0 14 14",
1801
+ children: [/* @__PURE__ */ O("circle", {
1802
+ cx: "7",
1803
+ cy: "7",
1804
+ r: "6",
1805
+ fill: "#5bb98e"
1806
+ }), /* @__PURE__ */ O("path", {
1807
+ d: "M4.5 7l2 2 3-3.5",
1808
+ stroke: "#08090a",
1809
+ strokeWidth: "1.5",
1810
+ fill: "none",
1811
+ strokeLinecap: "round",
1812
+ strokeLinejoin: "round"
1813
+ })]
1814
+ });
1815
+ }
1816
+ function Ct() {
1817
+ return /* @__PURE__ */ O("svg", {
1818
+ width: "14",
1819
+ height: "14",
1820
+ viewBox: "0 0 14 14",
1821
+ children: /* @__PURE__ */ O("circle", {
1822
+ cx: "7",
1823
+ cy: "7",
1824
+ r: "5.5",
1825
+ fill: "none",
1826
+ stroke: "#9b9da0",
1827
+ strokeWidth: "1.5"
1828
+ })
1829
+ });
1830
+ }
1831
+ function wt() {
1832
+ return /* @__PURE__ */ O("svg", {
1833
+ width: "14",
1834
+ height: "14",
1835
+ viewBox: "0 0 14 14",
1836
+ children: /* @__PURE__ */ O("circle", {
1837
+ cx: "7",
1838
+ cy: "7",
1839
+ r: "5.5",
1840
+ fill: "none",
1841
+ stroke: "#4e5054",
1842
+ strokeWidth: "1.5",
1843
+ strokeDasharray: "2 3"
1844
+ })
1845
+ });
1846
+ }
1847
+ function Tt() {
1848
+ return /* @__PURE__ */ k("svg", {
1849
+ width: "14",
1850
+ height: "14",
1851
+ viewBox: "0 0 14 14",
1852
+ children: [/* @__PURE__ */ O("circle", {
1853
+ cx: "7",
1854
+ cy: "7",
1855
+ r: "5.5",
1856
+ fill: "none",
1857
+ stroke: "#6b6d71",
1858
+ strokeWidth: "1.5"
1859
+ }), /* @__PURE__ */ O("path", {
1860
+ d: "M4.5 7h5",
1861
+ stroke: "#6b6d71",
1862
+ strokeWidth: "1.5",
1863
+ strokeLinecap: "round"
1864
+ })]
1865
+ });
1866
+ }
1867
+ function Et() {
1868
+ return /* @__PURE__ */ O("svg", {
1869
+ width: "14",
1870
+ height: "14",
1871
+ viewBox: "0 0 14 14",
1872
+ fill: "#c75a5a",
1873
+ children: /* @__PURE__ */ O("path", { d: "M7 1a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1Zm0 10a1.25 1.25 0 1 1 0 2.5A1.25 1.25 0 0 1 7 11Z" })
1874
+ });
1875
+ }
1876
+ function $() {
1877
+ return /* @__PURE__ */ k("svg", {
1878
+ width: "14",
1879
+ height: "14",
1880
+ viewBox: "0 0 14 14",
1881
+ fill: "#c4a06a",
1882
+ children: [
1883
+ /* @__PURE__ */ O("rect", {
1884
+ x: "2",
1885
+ y: "8",
1886
+ width: "2.5",
1887
+ height: "4",
1888
+ rx: "0.5"
1889
+ }),
1890
+ /* @__PURE__ */ O("rect", {
1891
+ x: "5.75",
1892
+ y: "5",
1893
+ width: "2.5",
1894
+ height: "7",
1895
+ rx: "0.5"
1896
+ }),
1897
+ /* @__PURE__ */ O("rect", {
1898
+ x: "9.5",
1899
+ y: "2",
1900
+ width: "2.5",
1901
+ height: "10",
1902
+ rx: "0.5"
1903
+ })
1904
+ ]
1905
+ });
1906
+ }
1907
+ function Dt() {
1908
+ return /* @__PURE__ */ k("svg", {
1909
+ width: "14",
1910
+ height: "14",
1911
+ viewBox: "0 0 14 14",
1912
+ children: [
1913
+ /* @__PURE__ */ O("rect", {
1914
+ x: "2",
1915
+ y: "8",
1916
+ width: "2.5",
1917
+ height: "4",
1918
+ rx: "0.5",
1919
+ fill: "#c9a84e"
1920
+ }),
1921
+ /* @__PURE__ */ O("rect", {
1922
+ x: "5.75",
1923
+ y: "5",
1924
+ width: "2.5",
1925
+ height: "7",
1926
+ rx: "0.5",
1927
+ fill: "#c9a84e"
1928
+ }),
1929
+ /* @__PURE__ */ O("rect", {
1930
+ x: "9.5",
1931
+ y: "2",
1932
+ width: "2.5",
1933
+ height: "10",
1934
+ rx: "0.5",
1935
+ fill: "#4e5054"
1936
+ })
1937
+ ]
1938
+ });
1939
+ }
1940
+ function Ot() {
1941
+ return /* @__PURE__ */ k("svg", {
1942
+ width: "14",
1943
+ height: "14",
1944
+ viewBox: "0 0 14 14",
1945
+ children: [
1946
+ /* @__PURE__ */ O("rect", {
1947
+ x: "2",
1948
+ y: "8",
1949
+ width: "2.5",
1950
+ height: "4",
1951
+ rx: "0.5",
1952
+ fill: "#5bb98e"
1953
+ }),
1954
+ /* @__PURE__ */ O("rect", {
1955
+ x: "5.75",
1956
+ y: "5",
1957
+ width: "2.5",
1958
+ height: "7",
1959
+ rx: "0.5",
1960
+ fill: "#4e5054"
1961
+ }),
1962
+ /* @__PURE__ */ O("rect", {
1963
+ x: "9.5",
1964
+ y: "2",
1965
+ width: "2.5",
1966
+ height: "10",
1967
+ rx: "0.5",
1968
+ fill: "#4e5054"
1969
+ })
1970
+ ]
1971
+ });
1972
+ }
1973
+ function kt() {
1974
+ return /* @__PURE__ */ O("svg", {
1975
+ width: "14",
1976
+ height: "14",
1977
+ viewBox: "0 0 14 14",
1978
+ fill: "none",
1979
+ stroke: "currentColor",
1980
+ strokeWidth: "1.5",
1981
+ strokeLinecap: "round",
1982
+ children: /* @__PURE__ */ O("path", { d: "M6 8l2-2m-2.5-.5L4 7a2.83 2.83 0 0 0 4 4l1.5-1.5m-1-5L10 3a2.83 2.83 0 0 1 4 4l-1.5 1.5" })
1983
+ });
1984
+ }
1985
+ function At() {
1986
+ return /* @__PURE__ */ O("svg", {
1987
+ width: "14",
1988
+ height: "14",
1989
+ viewBox: "0 0 14 14",
1990
+ fill: "none",
1991
+ stroke: "currentColor",
1992
+ strokeWidth: "1.5",
1993
+ strokeLinecap: "round",
1994
+ strokeLinejoin: "round",
1995
+ children: /* @__PURE__ */ O("path", { d: "M2.5 4h9M5 4V2.5h4V4m-4.5 1v5.5m3-5.5v5.5M3.5 4l.5 8h6l.5-8" })
1996
+ });
1997
+ }
1998
+ function jt() {
1999
+ return /* @__PURE__ */ k("svg", {
2000
+ width: "14",
2001
+ height: "14",
2002
+ viewBox: "0 0 14 14",
2003
+ fill: "none",
2004
+ stroke: "currentColor",
2005
+ strokeWidth: "1.5",
2006
+ strokeLinecap: "round",
2007
+ strokeLinejoin: "round",
2008
+ children: [/* @__PURE__ */ O("path", { d: "M5.5 1.5h3l.5 1.5 1.5.5 1.5-.5 1.5 1.5-1 1.5.5 1.5h2v2h-2l-.5 1.5 1 1.5-1.5 1.5-1.5-.5-1.5.5-.5 1.5h-3l-.5-1.5L3.5 11.5 2 12 .5 10.5l1-1.5L1 7.5H-1v-2h2l.5-1.5-1-1.5L2 1l1.5.5L5 1l.5-.5Z" }), /* @__PURE__ */ O("circle", {
2009
+ cx: "7",
2010
+ cy: "7",
2011
+ r: "2"
2012
+ })]
2013
+ });
2014
+ }
2015
+ function Mt() {
2016
+ return /* @__PURE__ */ O("svg", {
2017
+ width: "14",
2018
+ height: "14",
2019
+ viewBox: "0 0 14 14",
2020
+ fill: "none",
2021
+ stroke: "currentColor",
2022
+ strokeWidth: "1.5",
2023
+ strokeLinecap: "round",
2024
+ children: /* @__PURE__ */ O("path", { d: "M3.5 3.5l7 7M10.5 3.5l-7 7" })
2025
+ });
2026
+ }
2027
+ function Nt() {
2028
+ return /* @__PURE__ */ O("svg", {
2029
+ width: "14",
2030
+ height: "14",
2031
+ viewBox: "0 0 14 14",
2032
+ fill: "none",
2033
+ stroke: "currentColor",
2034
+ strokeWidth: "2",
2035
+ strokeLinecap: "round",
2036
+ strokeLinejoin: "round",
2037
+ children: /* @__PURE__ */ O("path", { d: "M3 7.5l3 3 5-6" })
2038
+ });
2039
+ }
2040
+ function Pt() {
2041
+ return /* @__PURE__ */ k("svg", {
2042
+ width: "14",
2043
+ height: "14",
2044
+ viewBox: "0 0 14 14",
2045
+ fill: "none",
2046
+ stroke: "currentColor",
2047
+ strokeWidth: "1.5",
2048
+ strokeLinecap: "round",
2049
+ strokeLinejoin: "round",
2050
+ children: [/* @__PURE__ */ O("rect", {
2051
+ x: "4.5",
2052
+ y: "4.5",
2053
+ width: "7",
2054
+ height: "7",
2055
+ rx: "1"
2056
+ }), /* @__PURE__ */ O("path", { d: "M9.5 4.5V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v5.5a1 1 0 0 0 1 1h1.5" })]
2057
+ });
2058
+ }
2059
+ function Ft() {
2060
+ return /* @__PURE__ */ O("svg", {
2061
+ width: "14",
2062
+ height: "14",
2063
+ viewBox: "0 0 14 14",
2064
+ fill: "none",
2065
+ stroke: "currentColor",
2066
+ strokeWidth: "1.5",
2067
+ strokeLinecap: "round",
2068
+ strokeLinejoin: "round",
2069
+ children: /* @__PURE__ */ O("path", { d: "M5.5 12a1.5 1.5 0 0 0 3 0M7 1a4 4 0 0 0-4 4c0 3-1.5 4.5-1.5 4.5h11S11 8 11 5a4 4 0 0 0-4-4Z" })
2070
+ });
2071
+ }
2072
+ function It() {
2073
+ return /* @__PURE__ */ k("svg", {
2074
+ width: "14",
2075
+ height: "14",
2076
+ viewBox: "0 0 14 14",
2077
+ fill: "none",
2078
+ stroke: "currentColor",
2079
+ strokeWidth: "1.5",
2080
+ strokeLinecap: "round",
2081
+ strokeLinejoin: "round",
2082
+ children: [/* @__PURE__ */ O("rect", {
2083
+ x: "1.5",
2084
+ y: "2.5",
2085
+ width: "11",
2086
+ height: "10",
2087
+ rx: "1"
2088
+ }), /* @__PURE__ */ O("path", { d: "M4.5 1v2.5M9.5 1v2.5M1.5 5.5h11" })]
2089
+ });
2090
+ }
2091
+ function Lt() {
2092
+ return /* @__PURE__ */ O("svg", {
2093
+ width: "14",
2094
+ height: "14",
2095
+ viewBox: "0 0 14 14",
2096
+ fill: "none",
2097
+ stroke: "currentColor",
2098
+ strokeWidth: "1.5",
2099
+ strokeLinecap: "round",
2100
+ strokeLinejoin: "round",
2101
+ children: /* @__PURE__ */ O("path", { d: "M1.5 3h11M3.5 7h7M5.5 11h3" })
2102
+ });
2103
+ }
2104
+ function Rt() {
2105
+ return /* @__PURE__ */ k("svg", {
2106
+ width: "14",
2107
+ height: "14",
2108
+ viewBox: "0 0 14 14",
2109
+ fill: "currentColor",
2110
+ children: [/* @__PURE__ */ O("circle", {
2111
+ cx: "7",
2112
+ cy: "4.5",
2113
+ r: "2.5"
2114
+ }), /* @__PURE__ */ O("path", {
2115
+ d: "M2.5 12.5a4.5 4.5 0 0 1 9 0",
2116
+ fill: "none",
2117
+ stroke: "currentColor",
2118
+ strokeWidth: "1.5"
2119
+ })]
2120
+ });
2121
+ }
2122
+ function zt() {
2123
+ return /* @__PURE__ */ k("svg", {
2124
+ width: "14",
2125
+ height: "14",
2126
+ viewBox: "0 0 14 14",
2127
+ fill: "none",
2128
+ stroke: "currentColor",
2129
+ strokeWidth: "1.5",
2130
+ strokeLinecap: "round",
2131
+ strokeLinejoin: "round",
2132
+ children: [/* @__PURE__ */ O("path", { d: "M1.5 8.5V2a.5.5 0 0 1 .5-.5h6.5L13 6l-5.5 5.5L1.5 8.5Z" }), /* @__PURE__ */ O("circle", {
2133
+ cx: "5",
2134
+ cy: "5",
2135
+ r: "1",
2136
+ fill: "currentColor"
2137
+ })]
2138
+ });
2139
+ }
2140
+ //#endregion
2141
+ export { de as Accordion, ue as AccordionItem, Xe as ActivityFeed, fe as AppLoader, Y as Avatar, ge as Badge, Ft as BellIcon, ye as Button, It as CalendarIcon, be as Card, we as CardContent, Ce as CardDescription, Te as CardFooter, xe as CardHeader, Se as CardTitle, Nt as CheckIcon, vt as ChevronDown, yt as ChevronUp, Mt as CloseIcon, Ze as CommandBar, Pt as CopyIcon, Qe as DataTable, Ee as Dialog, Ae as DialogBody, ke as DialogDescription, je as DialogFooter, De as DialogHeader, Oe as DialogTitle, Me as DropdownMenu, Pe as DropdownMenuCheckboxItem, Ne as DropdownMenuItem, Fe as DropdownMenuLabel, Ie as DropdownMenuSeparator, _t as EditIcon, se as FCCAppShell, ce as FCCBrandLogo, z as FCCBreadcrumbs, ae as FCCDesignProvider, V as FCCHeaderStatus, U as FCCMainWindow, q as FCCSidebar, le as FCCThemeToggle, H as FCCWorkspaceHeader, $e as FilterBar, Lt as FilterIcon, lt as InboxIcon, pt as InitiativesIcon, ut as IssuesIcon, ot as KPICard, et as KanbanBoard, nt as KanbanCard, tt as KanbanColumn, zt as LabelIcon, kt as LinkIcon, ht as MoreIcon, ct as NotificationsPanel, $ as PriorityHigh, Ot as PriorityLow, Dt as PriorityMedium, Et as PriorityUrgent, mt as ProjectsIcon, ft as PulseIcon, dt as ReviewsIcon, gt as SearchIcon, Le as SearchableSelect, jt as SettingsIcon, Re as Sheet, ze as SheetFooter, pe as Spinner, bt as StarIcon, st as StatCard, wt as StatusBacklog, Tt as StatusCancelled, St as StatusDone, xt as StatusInProgress, Ct as StatusTodo, Be as Switch, rt as TableBoard, it as TableBoardGroup, at as TableBoardRow, Ve as Tabs, We as TabsContent, He as TabsList, Ue as TabsTrigger, L as ThemeProvider, M as ToastProvider, Ge as Tooltip, At as TrashIcon, Rt as UserIcon, qe as ViewModeToggle, Ye as WorkspaceTabs, R as useTheme, N as useToast };