@freedom-code-compliance/fcc-redesign 0.1.40 → 0.1.42

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 CHANGED
@@ -1,9 +1,9 @@
1
1
  import { createContext as e, createElement as t, forwardRef as n, isValidElement as r, useCallback as i, useContext as a, useEffect as o, useId as s, useLayoutEffect as c, useMemo as l, useRef as u, useState as d } from "react";
2
- import { AlertCircle as f, AlertTriangle as p, Bell as m, Calendar as h, Check as g, CheckCheck as _, CheckCircle as v, ChevronDown as y, ChevronRight as b, ChevronUp as x, ChevronsUpDown as S, Clock as C, Columns3 as w, Filter as T, Hash as E, Info as D, LayoutGrid as O, List as k, Loader2 as A, LogOut as j, Map as M, Menu as N, Mic as P, MicOff as F, Minus as I, Moon as L, MoreHorizontal as R, Pause as z, Phone as ee, PhoneForwarded as te, PhoneIncoming as ne, PhoneMissed as re, PhoneOff as ie, Pin as ae, PinOff as oe, Play as se, Search as B, Sun as ce, TrendingDown as le, TrendingUp as ue, UserPlus as de, Voicemail as fe, X as V } from "lucide-react";
3
- import { Fragment as pe, jsx as H, jsxs as U } from "react/jsx-runtime";
2
+ import { AlertCircle as f, AlertTriangle as p, Bell as m, Calendar as h, Check as g, CheckCheck as _, CheckCircle as v, ChevronDown as y, ChevronLeft as b, ChevronRight as x, ChevronUp as S, ChevronsUpDown as C, Clock as w, Columns3 as T, Filter as E, GripVertical as D, Hash as O, Info as k, LayoutGrid as A, List as j, Loader2 as M, LogOut as N, Map as P, Menu as F, Mic as I, MicOff as L, Minus as R, Moon as z, MoreHorizontal as ee, Pause as te, Phone as ne, PhoneForwarded as re, PhoneIncoming as ie, PhoneMissed as ae, PhoneOff as oe, Pin as se, PinOff as ce, Play as le, Search as B, Sun as ue, TrendingDown as de, TrendingUp as fe, UserPlus as pe, Voicemail as me, X as V } from "lucide-react";
3
+ import { Fragment as he, jsx as H, jsxs as U } from "react/jsx-runtime";
4
4
  import { createPortal as W } from "react-dom";
5
5
  //#region src/components/ui/Toast.jsx
6
- var me = e(null), he = {
6
+ var ge = e(null), _e = {
7
7
  success: /* @__PURE__ */ H(v, {
8
8
  size: 16,
9
9
  style: { color: "var(--accent-green)" }
@@ -16,12 +16,12 @@ var me = e(null), he = {
16
16
  size: 16,
17
17
  style: { color: "var(--accent-yellow)" }
18
18
  }),
19
- info: /* @__PURE__ */ H(D, {
19
+ info: /* @__PURE__ */ H(k, {
20
20
  size: 16,
21
21
  style: { color: "var(--accent-blue)" }
22
22
  })
23
23
  };
24
- function ge({ toast: e, onDismiss: t }) {
24
+ function ve({ toast: e, onDismiss: t }) {
25
25
  return o(() => {
26
26
  if (!(e.sticky || e.duration === 0)) {
27
27
  let n = setTimeout(() => t(e.id), e.duration || 4e3);
@@ -38,7 +38,7 @@ function ge({ toast: e, onDismiss: t }) {
38
38
  children: [
39
39
  /* @__PURE__ */ H("span", {
40
40
  className: "toast-icon",
41
- children: he[e.type] || he.info
41
+ children: _e[e.type] || _e.info
42
42
  }),
43
43
  /* @__PURE__ */ U("div", {
44
44
  className: "toast-content",
@@ -68,7 +68,7 @@ function ge({ toast: e, onDismiss: t }) {
68
68
  ]
69
69
  });
70
70
  }
71
- function _e({ children: e }) {
71
+ function ye({ children: e }) {
72
72
  let [t, n] = d([]), r = i((e) => {
73
73
  let t = Date.now() + Math.random();
74
74
  n((n) => [...n.slice(-4), {
@@ -78,35 +78,35 @@ function _e({ children: e }) {
78
78
  }, []), a = i((e) => {
79
79
  n((t) => t.filter((t) => t.id !== e));
80
80
  }, []);
81
- return /* @__PURE__ */ U(me.Provider, {
81
+ return /* @__PURE__ */ U(ge.Provider, {
82
82
  value: { addToast: r },
83
83
  children: [e, /* @__PURE__ */ H("div", {
84
84
  className: "toast-container",
85
- children: t.map((e) => /* @__PURE__ */ H(ge, {
85
+ children: t.map((e) => /* @__PURE__ */ H(ve, {
86
86
  toast: e,
87
87
  onDismiss: a
88
88
  }, e.id))
89
89
  })]
90
90
  });
91
91
  }
92
- function ve() {
93
- let e = a(me);
92
+ function be() {
93
+ let e = a(ge);
94
94
  if (!e) throw Error("useToast must be used within ToastProvider");
95
95
  return e;
96
96
  }
97
97
  //#endregion
98
98
  //#region src/context/ThemeContext.jsx
99
- var ye = e(void 0), be = "dark", xe = "fcc-theme";
100
- function Se(e) {
99
+ var xe = e(void 0), Se = "dark", Ce = "fcc-theme";
100
+ function we(e) {
101
101
  if (typeof document > "u") return;
102
102
  let t = document.documentElement;
103
103
  t.classList.remove("dark", "light"), e === "light" && t.classList.add("light");
104
104
  }
105
- function Ce({ children: e, defaultTheme: t = be, storageKey: n = xe }) {
105
+ function Te({ children: e, defaultTheme: t = Se, storageKey: n = Ce }) {
106
106
  let [r, i] = d(() => typeof window > "u" ? t : window.localStorage.getItem(n) || t);
107
107
  return o(() => {
108
- typeof window < "u" && window.localStorage.setItem(n, r), Se(r);
109
- }, [n, r]), /* @__PURE__ */ H(ye.Provider, {
108
+ typeof window < "u" && window.localStorage.setItem(n, r), we(r);
109
+ }, [n, r]), /* @__PURE__ */ H(xe.Provider, {
110
110
  value: {
111
111
  theme: r,
112
112
  setTheme: i,
@@ -117,22 +117,22 @@ function Ce({ children: e, defaultTheme: t = be, storageKey: n = xe }) {
117
117
  children: e
118
118
  });
119
119
  }
120
- function we() {
121
- let e = a(ye);
120
+ function Ee() {
121
+ let e = a(xe);
122
122
  if (!e) throw Error("useTheme must be used within a ThemeProvider");
123
123
  return e;
124
124
  }
125
125
  //#endregion
126
126
  //#region src/lib/FCCDesignProvider.jsx
127
- function Te({ children: e, ...t }) {
128
- return /* @__PURE__ */ H(Ce, {
127
+ function De({ children: e, ...t }) {
128
+ return /* @__PURE__ */ H(Te, {
129
129
  ...t,
130
- children: /* @__PURE__ */ H(_e, { children: e })
130
+ children: /* @__PURE__ */ H(ye, { children: e })
131
131
  });
132
132
  }
133
133
  //#endregion
134
134
  //#region src/components/layout/FCCAppShellContext.jsx
135
- var G = () => {}, Ee = e({
135
+ var G = () => {}, Oe = e({
136
136
  sidebarPinned: !1,
137
137
  setSidebarPinned: G,
138
138
  toggleSidebarPinned: G,
@@ -144,13 +144,13 @@ var G = () => {}, Ee = e({
144
144
  pinnable: !1,
145
145
  mobileMenuEnabled: !1
146
146
  });
147
- function De() {
148
- return a(Ee);
147
+ function ke() {
148
+ return a(Oe);
149
149
  }
150
150
  //#endregion
151
151
  //#region src/components/layout/FCCSidePanel.jsx
152
- var K = (...e) => e.filter(Boolean).join(" "), Oe = 300;
153
- function ke({ open: e = !1, width: t = 320, expandedWidth: n, expanded: r = !1, panel: i, children: a, className: s = "", contentClassName: c = "", panelClassName: l = "" }) {
152
+ var K = (...e) => e.filter(Boolean).join(" "), Ae = 300;
153
+ function je({ open: e = !1, width: t = 320, expandedWidth: n, expanded: r = !1, panel: i, children: a, className: s = "", contentClassName: c = "", panelClassName: l = "" }) {
154
154
  let f = r && n ? n : t, p = u(null), m = u(null), [h, g] = d(e ? i : null), [_, v] = d(f), [y, b] = d(e && !!i);
155
155
  o(() => () => {
156
156
  p.current &&= (window.cancelAnimationFrame(p.current), null), m.current &&= (window.clearTimeout(m.current), null);
@@ -168,7 +168,7 @@ function ke({ open: e = !1, width: t = 320, expandedWidth: n, expanded: r = !1,
168
168
  ]), o(() => {
169
169
  if (!(e || !y)) return m.current = window.setTimeout(() => {
170
170
  b(!1), g(null), m.current = null;
171
- }, Oe), () => {
171
+ }, Ae), () => {
172
172
  m.current &&= (window.clearTimeout(m.current), null);
173
173
  };
174
174
  }, [e, y]);
@@ -188,7 +188,7 @@ function ke({ open: e = !1, width: t = 320, expandedWidth: n, expanded: r = !1,
188
188
  })]
189
189
  });
190
190
  }
191
- function Ae({ title: e, subtitle: t, onClose: n, actions: r, className: i = "" }) {
191
+ function Me({ title: e, subtitle: t, onClose: n, actions: r, className: i = "" }) {
192
192
  return /* @__PURE__ */ U("div", {
193
193
  className: K("fcc-side-panel-header", i),
194
194
  children: [/* @__PURE__ */ U("div", {
@@ -211,13 +211,13 @@ function Ae({ title: e, subtitle: t, onClose: n, actions: r, className: i = "" }
211
211
  })]
212
212
  });
213
213
  }
214
- function je({ children: e, className: t = "" }) {
214
+ function Ne({ children: e, className: t = "" }) {
215
215
  return /* @__PURE__ */ H("div", {
216
216
  className: K("fcc-side-panel-body", t),
217
217
  children: e
218
218
  });
219
219
  }
220
- function Me({ tabs: e = [], activeTab: t = 0, onTabChange: n, className: r = "" }) {
220
+ function Pe({ tabs: e = [], activeTab: t = 0, onTabChange: n, className: r = "" }) {
221
221
  return /* @__PURE__ */ H("div", {
222
222
  className: K("fcc-side-panel-tabs", r),
223
223
  children: e.map((e, r) => /* @__PURE__ */ H("button", {
@@ -227,7 +227,7 @@ function Me({ tabs: e = [], activeTab: t = 0, onTabChange: n, className: r = ""
227
227
  }, e))
228
228
  });
229
229
  }
230
- function Ne({ placeholder: e = "Search...", value: t, onChange: n, className: r = "" }) {
230
+ function Fe({ placeholder: e = "Search...", value: t, onChange: n, className: r = "" }) {
231
231
  return /* @__PURE__ */ U("div", {
232
232
  className: K("fcc-side-panel-search", r),
233
233
  children: [/* @__PURE__ */ H(B, { size: 13 }), n ? /* @__PURE__ */ H("input", {
@@ -242,13 +242,13 @@ function Ne({ placeholder: e = "Search...", value: t, onChange: n, className: r
242
242
  })]
243
243
  });
244
244
  }
245
- function Pe({ children: e, className: t = "" }) {
245
+ function Ie({ children: e, className: t = "" }) {
246
246
  return /* @__PURE__ */ H("div", {
247
247
  className: K("fcc-side-panel-group-label", t),
248
248
  children: e
249
249
  });
250
250
  }
251
- function Fe({ dot: e, label: t, detail: n, time: r, onClick: i, className: a = "" }) {
251
+ function Le({ dot: e, label: t, detail: n, time: r, onClick: i, className: a = "" }) {
252
252
  return /* @__PURE__ */ U("div", {
253
253
  className: K("fcc-side-panel-item", a),
254
254
  onClick: i,
@@ -274,7 +274,7 @@ function Fe({ dot: e, label: t, detail: n, time: r, onClick: i, className: a = "
274
274
  ]
275
275
  });
276
276
  }
277
- function Ie({ avatar: e, title: t, detail: n, time: r, unread: i, onClick: a, className: o = "" }) {
277
+ function Re({ avatar: e, title: t, detail: n, time: r, unread: i, onClick: a, className: o = "" }) {
278
278
  return /* @__PURE__ */ U("div", {
279
279
  className: K("fcc-side-panel-card", o),
280
280
  onClick: a,
@@ -300,7 +300,7 @@ function Ie({ avatar: e, title: t, detail: n, time: r, unread: i, onClick: a, cl
300
300
  })]
301
301
  });
302
302
  }
303
- function Le({ avatar: e, name: t, time: n, active: r, online: i, onClick: a, className: o = "" }) {
303
+ function ze({ avatar: e, name: t, time: n, active: r, online: i, onClick: a, className: o = "" }) {
304
304
  return /* @__PURE__ */ U("div", {
305
305
  className: K("fcc-side-panel-contact", r && "active", o),
306
306
  onClick: a,
@@ -320,20 +320,20 @@ function Le({ avatar: e, name: t, time: n, active: r, online: i, onClick: a, cla
320
320
  ]
321
321
  });
322
322
  }
323
- function Re({ children: e, onClick: t, className: n = "" }) {
323
+ function Be({ children: e, onClick: t, className: n = "" }) {
324
324
  return /* @__PURE__ */ H("div", {
325
325
  className: K("fcc-side-panel-action", n),
326
326
  onClick: t,
327
327
  children: e
328
328
  });
329
329
  }
330
- function ze({ children: e, className: t = "" }) {
330
+ function Ve({ children: e, className: t = "" }) {
331
331
  return /* @__PURE__ */ H("div", {
332
332
  className: K("fcc-side-panel-chat-wrap", t),
333
333
  children: e
334
334
  });
335
335
  }
336
- function Be({ title: e, headerActions: t, messages: n = [], input: r, className: i = "" }) {
336
+ function He({ title: e, headerActions: t, messages: n = [], input: r, className: i = "" }) {
337
337
  return /* @__PURE__ */ U("div", {
338
338
  className: K("fcc-side-panel-conversation", i),
339
339
  children: [
@@ -358,7 +358,7 @@ function Be({ title: e, headerActions: t, messages: n = [], input: r, className:
358
358
  ]
359
359
  });
360
360
  }
361
- function Ve({ from: e = "other", meta: t, children: n, className: r = "" }) {
361
+ function Ue({ from: e = "other", meta: t, children: n, className: r = "" }) {
362
362
  let i = e === "you";
363
363
  return /* @__PURE__ */ U("div", {
364
364
  className: K("fcc-side-panel-msg-row", i ? "fcc-msg-right" : "fcc-msg-left", r),
@@ -373,7 +373,7 @@ function Ve({ from: e = "other", meta: t, children: n, className: r = "" }) {
373
373
  }
374
374
  //#endregion
375
375
  //#region src/components/layout/FCCBreadcrumbs.jsx
376
- function He(e, t) {
376
+ function We(e, t) {
377
377
  let n = [
378
378
  "fcc-breadcrumb-item",
379
379
  t ? "current" : "",
@@ -396,7 +396,7 @@ function He(e, t) {
396
396
  children: e.label
397
397
  });
398
398
  }
399
- function Ue({ items: e = [], className: t = "" }) {
399
+ function Ge({ items: e = [], className: t = "" }) {
400
400
  let n = e.filter((e) => e?.label);
401
401
  return n.length === 0 ? null : /* @__PURE__ */ H("nav", {
402
402
  className: ["fcc-breadcrumbs", t].filter(Boolean).join(" "),
@@ -408,25 +408,25 @@ function Ue({ items: e = [], className: t = "" }) {
408
408
  children: [t > 0 && /* @__PURE__ */ H("span", {
409
409
  className: "fcc-breadcrumb-sep",
410
410
  children: "/"
411
- }), He(e, r)]
411
+ }), We(e, r)]
412
412
  }, e.key || e.label || t);
413
413
  })
414
414
  });
415
415
  }
416
416
  //#endregion
417
417
  //#region src/components/layout/FCCHeaderStatus.jsx
418
- var We = {
418
+ var Ke = {
419
419
  success: "fcc-header-status-success",
420
420
  warning: "fcc-header-status-warning",
421
421
  danger: "fcc-header-status-danger",
422
422
  info: "fcc-header-status-info",
423
423
  neutral: "fcc-header-status-neutral"
424
424
  };
425
- function Ge({ label: e, tone: t = "success", dotColor: n, className: r = "" }) {
425
+ function qe({ label: e, tone: t = "success", dotColor: n, className: r = "" }) {
426
426
  return e ? /* @__PURE__ */ U("div", {
427
427
  className: [
428
428
  "fcc-header-status",
429
- We[t] || We.neutral,
429
+ Ke[t] || Ke.neutral,
430
430
  r
431
431
  ].filter(Boolean).join(" "),
432
432
  children: [/* @__PURE__ */ H("span", {
@@ -437,8 +437,8 @@ function Ge({ label: e, tone: t = "success", dotColor: n, className: r = "" }) {
437
437
  }
438
438
  //#endregion
439
439
  //#region src/components/layout/FCCWorkspaceHeader.jsx
440
- function Ke({ breadcrumbs: e = [], status: t, actions: n, leftSlot: r, rightSlot: i, className: a = "", showMobileMenuToggle: o = !0 }) {
441
- let { isMobileViewport: s, mobileMenuEnabled: c, mobileMenuOpen: l, toggleMobileMenu: u } = De(), d = o && c && s;
440
+ function Je({ breadcrumbs: e = [], status: t, actions: n, leftSlot: r, rightSlot: i, className: a = "", showMobileMenuToggle: o = !0 }) {
441
+ let { isMobileViewport: s, mobileMenuEnabled: c, mobileMenuOpen: l, toggleMobileMenu: u } = ke(), d = o && c && s;
442
442
  return /* @__PURE__ */ U("header", {
443
443
  className: ["fcc-workspace-header", a].filter(Boolean).join(" "),
444
444
  children: [/* @__PURE__ */ U("div", {
@@ -450,12 +450,12 @@ function Ke({ breadcrumbs: e = [], status: t, actions: n, leftSlot: r, rightSlot
450
450
  "aria-label": l ? "Close menu" : "Open menu",
451
451
  "aria-expanded": l,
452
452
  title: l ? "Close menu" : "Open menu",
453
- children: /* @__PURE__ */ H(N, { size: 18 })
454
- }), r || /* @__PURE__ */ H(Ue, { items: e })]
453
+ children: /* @__PURE__ */ H(F, { size: 18 })
454
+ }), r || /* @__PURE__ */ H(Ge, { items: e })]
455
455
  }), /* @__PURE__ */ U("div", {
456
456
  className: "fcc-workspace-header-right",
457
457
  children: [
458
- t && /* @__PURE__ */ H(Ge, { ...t }),
458
+ t && /* @__PURE__ */ H(qe, { ...t }),
459
459
  n,
460
460
  i
461
461
  ]
@@ -464,8 +464,8 @@ function Ke({ breadcrumbs: e = [], status: t, actions: n, leftSlot: r, rightSlot
464
464
  }
465
465
  //#endregion
466
466
  //#region src/components/layout/FCCMainWindow.jsx
467
- function qe({ breadcrumbs: e = [], status: t, headerActions: n, header: r, children: i, overlay: a, sidePanel: o, callbar: s = null, className: c = "", headerClassName: l = "", contentClassName: u = "" }) {
468
- let d = o ? /* @__PURE__ */ H(ke, {
467
+ function Ye({ breadcrumbs: e = [], status: t, headerActions: n, header: r, children: i, overlay: a, sidePanel: o, callbar: s = null, className: c = "", headerClassName: l = "", contentClassName: u = "" }) {
468
+ let d = o ? /* @__PURE__ */ H(je, {
469
469
  open: o.open,
470
470
  width: o.width,
471
471
  expandedWidth: o.expandedWidth,
@@ -479,7 +479,7 @@ function qe({ breadcrumbs: e = [], status: t, headerActions: n, header: r, child
479
479
  return /* @__PURE__ */ U("div", {
480
480
  className: ["fcc-main-window", c].filter(Boolean).join(" "),
481
481
  children: [
482
- r || /* @__PURE__ */ H(Ke, {
482
+ r || /* @__PURE__ */ H(Je, {
483
483
  breadcrumbs: e,
484
484
  status: t,
485
485
  actions: n,
@@ -500,7 +500,7 @@ function qe({ breadcrumbs: e = [], status: t, headerActions: n, header: r, child
500
500
  }
501
501
  //#endregion
502
502
  //#region src/components/layout/FCCSidebar.jsx
503
- function Je(e, t) {
503
+ function Xe(e, t) {
504
504
  if (!e.disabled) {
505
505
  if (e.onClick) {
506
506
  e.onClick(e);
@@ -509,10 +509,10 @@ function Je(e, t) {
509
509
  t?.(e);
510
510
  }
511
511
  }
512
- function Ye(e, t) {
512
+ function Ze(e, t) {
513
513
  return !e.childrenSections?.length || !t ? !1 : e.childrenSections.some((e) => e.items?.some((e) => e.key === t));
514
514
  }
515
- function Xe(e, t) {
515
+ function Qe(e, t) {
516
516
  if (!t.trim()) return e;
517
517
  let n = t.trim().toLowerCase();
518
518
  return e.map((e) => ({
@@ -520,8 +520,8 @@ function Xe(e, t) {
520
520
  items: e.items.filter((e) => e.label.toLowerCase().includes(n) || e.pageTitle?.toLowerCase().includes(n) || e.summary?.toLowerCase().includes(n))
521
521
  })).filter((e) => e.items.length > 0);
522
522
  }
523
- function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: i, user: a, footer: o, onLogout: s, className: c = "" }) {
524
- let [l, u] = d({}), [f, p] = d({}), { pinnable: m, sidebarPinned: h, toggleSidebarPinned: g, isMobileViewport: _, mobileMenuEnabled: v, closeMobileMenu: b } = De(), x = m && !_, S = v && _;
523
+ function $e({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: i, user: a, footer: o, onLogout: s, className: c = "" }) {
524
+ let [l, u] = d({}), [f, p] = d({}), { pinnable: m, sidebarPinned: h, toggleSidebarPinned: g, isMobileViewport: _, mobileMenuEnabled: v, closeMobileMenu: b } = ke(), x = m && !_, S = v && _;
525
525
  function C(e, t) {
526
526
  p((n) => ({
527
527
  ...n,
@@ -556,7 +556,7 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
556
556
  "aria-label": h ? "Unpin sidebar" : "Pin sidebar open",
557
557
  title: h ? "Unpin sidebar" : "Pin sidebar open",
558
558
  "aria-pressed": h,
559
- children: H(h ? oe : ae, { size: 14 })
559
+ children: H(h ? ce : se, { size: 14 })
560
560
  }) : null
561
561
  ]
562
562
  }),
@@ -564,7 +564,7 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
564
564
  className: "fcc-sidebar-nav",
565
565
  "aria-label": `${e} navigation`,
566
566
  children: n.map((e) => {
567
- let t = e.childrenSections?.length > 0, n = Ye(e, r), a = e.key === r || n || (r?.startsWith?.(`${e.key}/`) ?? !1), o = t && (f[e.key] ?? a), s = l[e.key] || "", c = t ? Xe(e.childrenSections, s) : [];
567
+ let t = e.childrenSections?.length > 0, n = Ze(e, r), a = e.key === r || n || (r?.startsWith?.(`${e.key}/`) ?? !1), o = t && (f[e.key] ?? a), s = l[e.key] || "", c = t ? Qe(e.childrenSections, s) : [];
568
568
  return /* @__PURE__ */ U("div", {
569
569
  className: [
570
570
  "fcc-sidebar-entry",
@@ -579,7 +579,7 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
579
579
  e.disabled ? "disabled" : ""
580
580
  ].filter(Boolean).join(" "),
581
581
  onClick: () => {
582
- t && C(e.key, !0), Je(e, i);
582
+ t && C(e.key, !0), Xe(e, i);
583
583
  },
584
584
  "aria-current": a ? "page" : void 0,
585
585
  disabled: e.disabled,
@@ -641,7 +641,7 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
641
641
  children: e.items.map((e) => /* @__PURE__ */ H("button", {
642
642
  type: "button",
643
643
  className: ["fcc-sidebar-child-item", e.key === r ? "active" : ""].filter(Boolean).join(" "),
644
- onClick: () => Je(e, i),
644
+ onClick: () => Xe(e, i),
645
645
  title: e.label,
646
646
  children: /* @__PURE__ */ H("span", {
647
647
  className: "fcc-sidebar-label",
@@ -682,7 +682,7 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
682
682
  title: "Logout",
683
683
  "aria-label": "Logout",
684
684
  onClick: s,
685
- children: /* @__PURE__ */ H(j, { size: 16 })
685
+ children: /* @__PURE__ */ H(N, { size: 16 })
686
686
  })]
687
687
  })
688
688
  ]
@@ -690,8 +690,8 @@ function Ze({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
690
690
  }
691
691
  //#endregion
692
692
  //#region src/components/layout/FCCAppShell.jsx
693
- var Qe = "fcc-sidebar-pinned", $e = 1024;
694
- function et(e) {
693
+ var et = "fcc-sidebar-pinned", tt = 1024;
694
+ function nt(e) {
695
695
  if (typeof window > "u") return !1;
696
696
  try {
697
697
  return window.localStorage.getItem(e) === "true";
@@ -699,13 +699,13 @@ function et(e) {
699
699
  return !1;
700
700
  }
701
701
  }
702
- function tt(e, t) {
702
+ function rt(e, t) {
703
703
  if (!(typeof window > "u")) try {
704
704
  window.localStorage.setItem(e, t ? "true" : "false");
705
705
  } catch {}
706
706
  }
707
- function nt({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: a, user: s, footer: c, onLogout: u, breadcrumbs: f = [], status: p, headerActions: m, header: h, children: g, overlay: _, sidePanel: v, callbar: y = null, className: b = "", sidebarClassName: x = "", mainClassName: S = "", headerClassName: C = "", contentClassName: w = "", pinnable: T = !0, mobileMenuEnabled: E = !0, mobileBreakpoint: D = $e, pinStorageKey: O = Qe }) {
708
- let [k, A] = d(() => T ? et(O) : !1), [j, M] = d(!1), [N, P] = d(() => typeof window > "u" ? 1920 : window.innerWidth);
707
+ function it({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, onNavigate: a, user: s, footer: c, onLogout: u, breadcrumbs: f = [], status: p, headerActions: m, header: h, children: g, overlay: _, sidePanel: v, callbar: y = null, className: b = "", sidebarClassName: x = "", mainClassName: S = "", headerClassName: C = "", contentClassName: w = "", pinnable: T = !0, mobileMenuEnabled: E = !0, mobileBreakpoint: D = tt, pinStorageKey: O = et }) {
708
+ let [k, A] = d(() => T ? nt(O) : !1), [j, M] = d(!1), [N, P] = d(() => typeof window > "u" ? 1920 : window.innerWidth);
709
709
  o(() => {
710
710
  if (typeof window > "u") return;
711
711
  let e = () => P(window.innerWidth);
@@ -713,7 +713,7 @@ function nt({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
713
713
  }, []);
714
714
  let F = E && N < D, I = F && j;
715
715
  o(() => {
716
- T && tt(O, k);
716
+ T && rt(O, k);
717
717
  }, [
718
718
  T,
719
719
  O,
@@ -752,12 +752,12 @@ function nt({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
752
752
  I && "fcc-mobile-menu-open",
753
753
  b
754
754
  ].filter(Boolean).join(" ");
755
- return /* @__PURE__ */ H(Ee.Provider, {
755
+ return /* @__PURE__ */ H(Oe.Provider, {
756
756
  value: ee,
757
757
  children: /* @__PURE__ */ U("div", {
758
758
  className: te,
759
759
  children: [
760
- /* @__PURE__ */ H(Ze, {
760
+ /* @__PURE__ */ H($e, {
761
761
  appName: e,
762
762
  logo: t,
763
763
  navItems: n,
@@ -768,7 +768,7 @@ function nt({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
768
768
  onLogout: u,
769
769
  className: x
770
770
  }),
771
- /* @__PURE__ */ H(qe, {
771
+ /* @__PURE__ */ H(Ye, {
772
772
  breadcrumbs: f,
773
773
  status: p,
774
774
  headerActions: m,
@@ -792,8 +792,8 @@ function nt({ appName: e = "FCC", logo: t, navItems: n = [], activeNavKey: r, on
792
792
  }
793
793
  //#endregion
794
794
  //#region src/components/layout/FCCBrandLogo.jsx
795
- function rt({ darkSrc: e, lightSrc: t, alt: n = "FCC", className: r = "", ...i }) {
796
- let { theme: a } = we(), o = a === "dark" ? e || t : t || e;
795
+ function at({ darkSrc: e, lightSrc: t, alt: n = "FCC", className: r = "", ...i }) {
796
+ let { theme: a } = Ee(), o = a === "dark" ? e || t : t || e;
797
797
  return o ? /* @__PURE__ */ H("img", {
798
798
  src: o,
799
799
  alt: n,
@@ -803,8 +803,8 @@ function rt({ darkSrc: e, lightSrc: t, alt: n = "FCC", className: r = "", ...i }
803
803
  }
804
804
  //#endregion
805
805
  //#region src/components/layout/FCCThemeToggle.jsx
806
- function it({ className: e = "" }) {
807
- let { theme: t, toggleTheme: n } = we(), r = t === "dark";
806
+ function ot({ className: e = "" }) {
807
+ let { theme: t, toggleTheme: n } = Ee(), r = t === "dark";
808
808
  return /* @__PURE__ */ H("button", {
809
809
  type: "button",
810
810
  onClick: n,
@@ -817,15 +817,15 @@ function it({ className: e = "" }) {
817
817
  ].filter(Boolean).join(" "),
818
818
  title: r ? "Switch to light mode" : "Switch to dark mode",
819
819
  "aria-label": r ? "Switch to light mode" : "Switch to dark mode",
820
- children: H(r ? L : ce, { size: 16 })
820
+ children: H(r ? z : ue, { size: 16 })
821
821
  });
822
822
  }
823
823
  //#endregion
824
824
  //#region src/components/ui/AppLoader.jsx
825
- function at({ label: e = "Loading...", fullscreen: t = !1, className: n = "" }) {
825
+ function st({ label: e = "Loading...", fullscreen: t = !1, className: n = "" }) {
826
826
  return t ? /* @__PURE__ */ U("div", {
827
827
  className: `loader-fullscreen ${n}`,
828
- children: [/* @__PURE__ */ H(A, {
828
+ children: [/* @__PURE__ */ H(M, {
829
829
  size: 32,
830
830
  className: "loader-spin"
831
831
  }), e && /* @__PURE__ */ H("span", {
@@ -834,7 +834,7 @@ function at({ label: e = "Loading...", fullscreen: t = !1, className: n = "" })
834
834
  })]
835
835
  }) : /* @__PURE__ */ U("div", {
836
836
  className: `loader ${n}`,
837
- children: [/* @__PURE__ */ H(A, {
837
+ children: [/* @__PURE__ */ H(M, {
838
838
  size: 20,
839
839
  className: "loader-spin"
840
840
  }), e && /* @__PURE__ */ H("span", {
@@ -843,13 +843,13 @@ function at({ label: e = "Loading...", fullscreen: t = !1, className: n = "" })
843
843
  })]
844
844
  });
845
845
  }
846
- function ot({ size: e = 16, className: t = "" }) {
847
- return /* @__PURE__ */ H(A, {
846
+ function ct({ size: e = 16, className: t = "" }) {
847
+ return /* @__PURE__ */ H(M, {
848
848
  size: e,
849
849
  className: `loader-spin ${t}`
850
850
  });
851
851
  }
852
- function st({ label: e = "Loading...", fullscreen: t = !1, size: n = 64, darkSrc: r, lightSrc: i, alt: a = "FCC", className: o = "" }) {
852
+ function lt({ label: e = "Loading...", fullscreen: t = !1, size: n = 64, darkSrc: r, lightSrc: i, alt: a = "FCC", className: o = "" }) {
853
853
  let s = /* @__PURE__ */ U("div", {
854
854
  className: "fcc-loader-stage",
855
855
  style: { "--fcc-loader-size": `${n}px` },
@@ -857,14 +857,14 @@ function st({ label: e = "Loading...", fullscreen: t = !1, size: n = 64, darkSrc
857
857
  children: [
858
858
  /* @__PURE__ */ H("span", { className: "fcc-loader-ring" }),
859
859
  /* @__PURE__ */ H("span", { className: "fcc-loader-glow" }),
860
- /* @__PURE__ */ H(rt, {
860
+ /* @__PURE__ */ H(at, {
861
861
  darkSrc: r,
862
862
  lightSrc: i,
863
863
  alt: a,
864
864
  className: "fcc-loader-logo"
865
865
  })
866
866
  ]
867
- }), c = t ? `fcc-loader fcc-loader-fullscreen ${o}`.trim() : `fcc-loader ${o}`.trim(), l = typeof e == "string" ? e.match(/^(.*?)\.{3}\s*$/) : null, u = l ? /* @__PURE__ */ U(pe, { children: [l[1], /* @__PURE__ */ U("span", {
867
+ }), c = t ? `fcc-loader fcc-loader-fullscreen ${o}`.trim() : `fcc-loader ${o}`.trim(), l = typeof e == "string" ? e.match(/^(.*?)\.{3}\s*$/) : null, u = l ? /* @__PURE__ */ U(he, { children: [l[1], /* @__PURE__ */ U("span", {
868
868
  className: "fcc-loader-dots",
869
869
  "aria-hidden": "true",
870
870
  children: [
@@ -894,7 +894,7 @@ function st({ label: e = "Loading...", fullscreen: t = !1, size: n = 64, darkSrc
894
894
  }
895
895
  //#endregion
896
896
  //#region src/components/ui/FCCDetailsPanel.jsx
897
- function ct({ open: e, onClose: t, title: n, header: r, children: a, loading: s = !1, loadingLabel: c = "Loading...", loaderSize: l = 64, loaderDarkSrc: f, loaderLightSrc: p, width: m, zIndex: h = 1100, showBackdrop: g = !0, resizable: _ = !0, minWidth: v = 360, storageKey: y, className: b = "" }) {
897
+ function ut({ open: e, onClose: t, title: n, header: r, children: a, loading: s = !1, loadingLabel: c = "Loading...", loaderSize: l = 64, loaderDarkSrc: f, loaderLightSrc: p, width: m, zIndex: h = 1100, showBackdrop: g = !0, resizable: _ = !0, minWidth: v = 360, storageKey: y, className: b = "" }) {
898
898
  let [x, S] = d(!1), [C, w] = d(!1), [T, E] = d(!1), [D, O] = d(() => {
899
899
  if (!y || typeof window > "u") return null;
900
900
  let e = window.localStorage.getItem(y), t = e ? parseInt(e, 10) : NaN;
@@ -974,7 +974,7 @@ function ct({ open: e, onClose: t, title: n, header: r, children: a, loading: s
974
974
  className: "fcc-details-panel-body",
975
975
  children: s ? /* @__PURE__ */ H("div", {
976
976
  className: "fcc-details-panel-loading",
977
- children: /* @__PURE__ */ H(st, {
977
+ children: /* @__PURE__ */ H(lt, {
978
978
  label: c,
979
979
  size: l,
980
980
  darkSrc: f,
@@ -988,8 +988,8 @@ function ct({ open: e, onClose: t, title: n, header: r, children: a, loading: s
988
988
  }
989
989
  //#endregion
990
990
  //#region src/components/ui/FCCFullPagePanel.jsx
991
- var lt = 220;
992
- function ut({ open: e, onClose: t, children: n, className: r = "", closeOnEscape: i = !0, lockScroll: a = !0 }) {
991
+ var dt = 220;
992
+ function ft({ open: e, onClose: t, children: n, className: r = "", closeOnEscape: i = !0, lockScroll: a = !0 }) {
993
993
  let [s, c] = d(e ? "open" : "closed"), l = e || s !== "closed";
994
994
  return o(() => {
995
995
  if (a) return l ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
@@ -1011,7 +1011,7 @@ function ut({ open: e, onClose: t, children: n, className: r = "", closeOnEscape
1011
1011
  return () => cancelAnimationFrame(e);
1012
1012
  }
1013
1013
  if (s === "closed") return;
1014
- let t = requestAnimationFrame(() => c("closing")), n = window.setTimeout(() => c("closed"), lt);
1014
+ let t = requestAnimationFrame(() => c("closing")), n = window.setTimeout(() => c("closed"), dt);
1015
1015
  return () => {
1016
1016
  cancelAnimationFrame(t), window.clearTimeout(n);
1017
1017
  };
@@ -1026,73 +1026,292 @@ function ut({ open: e, onClose: t, children: n, className: r = "", closeOnEscape
1026
1026
  })
1027
1027
  }), document.body);
1028
1028
  }
1029
- function dt({ title: e, subtitle: t, eyebrow: n, leading: r, actions: i, onClose: a, className: o = "" }) {
1029
+ function pt({ title: e, subtitle: t, eyebrow: n, leading: r, actions: i, endActions: a, onClose: o, className: s = "" }) {
1030
1030
  return /* @__PURE__ */ U("div", {
1031
- className: `fcc-fpp-header ${o}`,
1032
- children: [/* @__PURE__ */ U("div", {
1033
- className: "fcc-fpp-header-lead",
1034
- children: [r, /* @__PURE__ */ U("div", {
1035
- className: "fcc-fpp-header-titles",
1036
- children: [
1037
- n && /* @__PURE__ */ H("span", {
1038
- className: "fcc-fpp-eyebrow",
1039
- children: n
1040
- }),
1041
- e && /* @__PURE__ */ H("h2", {
1042
- className: "fcc-fpp-title",
1043
- children: e
1044
- }),
1045
- t && /* @__PURE__ */ H("p", {
1046
- className: "fcc-fpp-subtitle",
1047
- children: t
1048
- })
1049
- ]
1050
- })]
1031
+ className: `fcc-fpp-header ${s}`,
1032
+ children: [n && /* @__PURE__ */ H("div", {
1033
+ className: "fcc-fpp-header-eyebrow-row",
1034
+ children: /* @__PURE__ */ H("span", {
1035
+ className: "fcc-fpp-eyebrow",
1036
+ children: n
1037
+ })
1051
1038
  }), /* @__PURE__ */ U("div", {
1052
- className: "fcc-fpp-header-actions",
1053
- children: [i, a && /* @__PURE__ */ H("button", {
1054
- type: "button",
1055
- className: "btn btn-ghost btn-icon btn-sm",
1056
- onClick: a,
1057
- "aria-label": "Close panel",
1058
- children: /* @__PURE__ */ H(V, { size: 16 })
1059
- })]
1039
+ className: "fcc-fpp-header-main-row",
1040
+ children: [
1041
+ r && /* @__PURE__ */ H("span", {
1042
+ className: "fcc-fpp-header-leading",
1043
+ children: r
1044
+ }),
1045
+ e && /* @__PURE__ */ H("h2", {
1046
+ className: "fcc-fpp-title",
1047
+ children: e
1048
+ }),
1049
+ t && /* @__PURE__ */ H("p", {
1050
+ className: "fcc-fpp-subtitle",
1051
+ children: t
1052
+ }),
1053
+ i && /* @__PURE__ */ H("div", {
1054
+ className: "fcc-fpp-header-actions",
1055
+ children: i
1056
+ }),
1057
+ a && /* @__PURE__ */ H("div", {
1058
+ className: "fcc-fpp-header-end-actions",
1059
+ children: a
1060
+ }),
1061
+ o && /* @__PURE__ */ H("button", {
1062
+ type: "button",
1063
+ className: "btn btn-ghost btn-icon btn-sm fcc-fpp-header-close",
1064
+ onClick: o,
1065
+ "aria-label": "Close panel",
1066
+ children: /* @__PURE__ */ H(V, { size: 16 })
1067
+ })
1068
+ ]
1060
1069
  })]
1061
1070
  });
1062
1071
  }
1063
- function ft({ children: e, className: t = "" }) {
1072
+ function mt({ children: e, className: t = "" }) {
1064
1073
  return /* @__PURE__ */ H("div", {
1065
1074
  className: `fcc-fpp-toolbar ${t}`,
1066
1075
  children: e
1067
1076
  });
1068
1077
  }
1069
- function pt({ children: e, className: t = "" }) {
1078
+ function ht({ children: e, className: t = "" }) {
1070
1079
  return /* @__PURE__ */ H("div", {
1071
1080
  className: `fcc-fpp-body ${t}`,
1072
1081
  children: e
1073
1082
  });
1074
1083
  }
1075
- function mt({ children: e, className: t = "" }) {
1084
+ function gt({ children: e, className: t = "" }) {
1076
1085
  return /* @__PURE__ */ H("div", {
1077
1086
  className: `fcc-fpp-main ${t}`,
1078
1087
  children: e
1079
1088
  });
1080
1089
  }
1081
- function ht({ children: e, side: t = "right", className: n = "" }) {
1082
- return /* @__PURE__ */ H("aside", {
1083
- className: `fcc-fpp-sidebar fcc-fpp-sidebar-${t} ${n}`,
1084
- children: e
1090
+ function _t({ children: e, side: t = "right", footer: n, className: r = "" }) {
1091
+ return /* @__PURE__ */ U("aside", {
1092
+ className: `fcc-fpp-sidebar fcc-fpp-sidebar-${t} ${r}`,
1093
+ children: [/* @__PURE__ */ H("div", {
1094
+ className: "fcc-fpp-sidebar-body",
1095
+ children: e
1096
+ }), n && /* @__PURE__ */ H("div", {
1097
+ className: "fcc-fpp-sidebar-footer",
1098
+ children: n
1099
+ })]
1085
1100
  });
1086
1101
  }
1087
- function gt({ children: e, className: t = "" }) {
1102
+ function vt({ children: e, className: t = "" }) {
1088
1103
  return /* @__PURE__ */ H("div", {
1089
1104
  className: `fcc-fpp-footer ${t}`,
1090
1105
  children: e
1091
1106
  });
1092
1107
  }
1108
+ function yt({ label: e, value: t, children: n, className: r = "" }) {
1109
+ return /* @__PURE__ */ U("div", {
1110
+ className: r,
1111
+ children: [(e || t) && /* @__PURE__ */ U("div", {
1112
+ className: "fcc-fpp-sidebar-footer-row",
1113
+ children: [e && /* @__PURE__ */ H("span", {
1114
+ className: "fcc-fpp-sidebar-footer-label",
1115
+ children: e
1116
+ }), t && /* @__PURE__ */ H("span", {
1117
+ className: "fcc-fpp-sidebar-footer-value",
1118
+ children: t
1119
+ })]
1120
+ }), n && /* @__PURE__ */ H("div", {
1121
+ className: "fcc-fpp-sidebar-footer-actions",
1122
+ children: n
1123
+ })]
1124
+ });
1125
+ }
1126
+ function bt({ leading: e, children: t, actions: n, hidden: r = !1, className: i = "" }) {
1127
+ return /* @__PURE__ */ U("div", {
1128
+ className: `fcc-fpp-subheader ${i}`,
1129
+ "data-hidden": r ? "true" : "false",
1130
+ "aria-hidden": r,
1131
+ children: [
1132
+ e && /* @__PURE__ */ H("div", {
1133
+ className: "fcc-fpp-subheader-lead",
1134
+ children: e
1135
+ }),
1136
+ t !== void 0 && /* @__PURE__ */ H(xt, { children: t }),
1137
+ n && /* @__PURE__ */ H("div", {
1138
+ className: "fcc-fpp-subheader-actions",
1139
+ children: n
1140
+ })
1141
+ ]
1142
+ });
1143
+ }
1144
+ function xt({ children: e }) {
1145
+ let t = u(null), [n, r] = d(!1), [a, s] = d(!1), l = i(() => {
1146
+ let e = t.current;
1147
+ if (!e) return;
1148
+ let { scrollLeft: n, scrollWidth: i, clientWidth: a } = e;
1149
+ r(n > 1), s(n + a < i - 1);
1150
+ }, []);
1151
+ c(() => {
1152
+ l();
1153
+ }, [l, e]), o(() => {
1154
+ let e = t.current;
1155
+ if (!e) return;
1156
+ e.addEventListener("scroll", l, { passive: !0 });
1157
+ let n = typeof ResizeObserver < "u" ? new ResizeObserver(l) : null;
1158
+ return n?.observe(e), n && e.firstElementChild && n.observe(e.firstElementChild), () => {
1159
+ e.removeEventListener("scroll", l), n?.disconnect();
1160
+ };
1161
+ }, [l]);
1162
+ let f = i((e) => {
1163
+ let n = t.current;
1164
+ n && n.scrollBy({
1165
+ left: e * Math.round(n.clientWidth * .8),
1166
+ behavior: "smooth"
1167
+ });
1168
+ }, []);
1169
+ return /* @__PURE__ */ U("div", {
1170
+ className: "fcc-fpp-subheader-content",
1171
+ children: [
1172
+ /* @__PURE__ */ H("button", {
1173
+ type: "button",
1174
+ className: "fcc-fpp-subheader-scroll-btn fcc-fpp-subheader-scroll-btn--left",
1175
+ "data-visible": n ? "true" : "false",
1176
+ "aria-label": "Scroll tabs left",
1177
+ tabIndex: n ? 0 : -1,
1178
+ onClick: () => f(-1),
1179
+ children: /* @__PURE__ */ H(b, { size: 16 })
1180
+ }),
1181
+ /* @__PURE__ */ H("div", {
1182
+ ref: t,
1183
+ className: "fcc-fpp-subheader-scroll-viewport",
1184
+ children: e
1185
+ }),
1186
+ /* @__PURE__ */ H("button", {
1187
+ type: "button",
1188
+ className: "fcc-fpp-subheader-scroll-btn fcc-fpp-subheader-scroll-btn--right",
1189
+ "data-visible": a ? "true" : "false",
1190
+ "aria-label": "Scroll tabs right",
1191
+ tabIndex: a ? 0 : -1,
1192
+ onClick: () => f(1),
1193
+ children: /* @__PURE__ */ H(x, { size: 16 })
1194
+ })
1195
+ ]
1196
+ });
1197
+ }
1198
+ var St = 200, Ct = 720, wt = 3, Tt = 8;
1199
+ function Et(e) {
1200
+ return typeof window > "u" ? e : Math.floor(window.innerWidth / wt);
1201
+ }
1202
+ function Dt({ children: e, side: t = "right", defaultWidth: n = 320, minWidth: r = St, maxWidth: a = Ct, storageKey: s, className: c = "", onWidthChange: l, footer: f, hidden: p = !1 }) {
1203
+ let [m, h] = d(() => Et(a)), [g, _] = d(!1), [v, y] = d(!1), [b, x] = d(() => {
1204
+ if (typeof window > "u" || !s) return Math.min(n, Et(a));
1205
+ let e = window.localStorage.getItem(s), t = e ? Number(e) : NaN, i = Et(a);
1206
+ return Number.isFinite(t) && t >= r && t <= i ? t : Math.min(n, i);
1207
+ }), S = u(!1), C = u(0), w = u(b);
1208
+ o(() => {
1209
+ if (typeof window > "u") return;
1210
+ let e = () => {
1211
+ let e = Et(a);
1212
+ h(e), x((t) => Math.min(t, e));
1213
+ };
1214
+ return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
1215
+ }, [a]), o(() => {
1216
+ !s || typeof window > "u" || window.localStorage.setItem(s, String(b));
1217
+ }, [s, b]), o(() => {
1218
+ l?.(g ? Tt : b);
1219
+ }, [
1220
+ b,
1221
+ g,
1222
+ l
1223
+ ]);
1224
+ let T = i((e) => {
1225
+ e.preventDefault(), g && _(!1), S.current = !0, y(!0), C.current = e.clientX, w.current = g ? r : b, document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
1226
+ let n = e.clientX, i = null, a = () => {
1227
+ if (i = null, !S.current) return;
1228
+ let e = n - C.current, a = t === "right" ? -e : e;
1229
+ x(Math.max(r, Math.min(m, w.current + a)));
1230
+ }, o = (e) => {
1231
+ S.current && (n = e.clientX, i ??= requestAnimationFrame(a));
1232
+ }, s = () => {
1233
+ S.current = !1, y(!1), i != null && (cancelAnimationFrame(i), i = null), document.body.style.cursor = "", document.body.style.userSelect = "", window.removeEventListener("pointermove", o), window.removeEventListener("pointerup", s);
1234
+ };
1235
+ window.addEventListener("pointermove", o), window.addEventListener("pointerup", s);
1236
+ }, [
1237
+ t,
1238
+ b,
1239
+ r,
1240
+ m,
1241
+ g
1242
+ ]), E = i(() => {
1243
+ _((e) => !e);
1244
+ }, []), O = i((e) => {
1245
+ let n = e.shiftKey ? 32 : 8;
1246
+ e.key === "ArrowLeft" ? (e.preventDefault(), _(!1), x((e) => Math.max(r, Math.min(m, e + (t === "right" ? n : -n))))) : e.key === "ArrowRight" ? (e.preventDefault(), _(!1), x((e) => Math.max(r, Math.min(m, e + (t === "right" ? -n : n))))) : (e.key === "Enter" || e.key === " ") && (e.preventDefault(), _((e) => !e));
1247
+ }, [
1248
+ t,
1249
+ r,
1250
+ m
1251
+ ]), k = p ? 0 : g ? Tt : b;
1252
+ return /* @__PURE__ */ U("aside", {
1253
+ className: `fcc-fpp-sidebar fcc-fpp-sidebar-${t} fcc-fpp-sidebar-resizable ${g ? "fcc-fpp-sidebar-collapsed" : ""} ${p ? "fcc-fpp-sidebar-hidden" : ""} ${c}`,
1254
+ style: {
1255
+ width: `${k}px`,
1256
+ transition: v ? "none" : "width 220ms ease, border-color var(--transition-fast)"
1257
+ },
1258
+ "aria-hidden": p,
1259
+ children: [!p && /* @__PURE__ */ H("div", {
1260
+ role: "separator",
1261
+ "aria-orientation": "vertical",
1262
+ "aria-label": `Resize ${t} sidebar (double-click to ${g ? "expand" : "collapse"})`,
1263
+ "aria-expanded": !g,
1264
+ tabIndex: 0,
1265
+ className: `fcc-fpp-sidebar-resizer fcc-fpp-sidebar-resizer-${t}`,
1266
+ onPointerDown: T,
1267
+ onDoubleClick: E,
1268
+ onKeyDown: O,
1269
+ title: g ? "Double-click to expand" : "Drag to resize, double-click to collapse",
1270
+ children: /* @__PURE__ */ H("span", {
1271
+ className: "fcc-fpp-sidebar-resizer-grip",
1272
+ "aria-hidden": "true",
1273
+ children: /* @__PURE__ */ H(D, { size: 10 })
1274
+ })
1275
+ }), !g && !p && /* @__PURE__ */ U("div", {
1276
+ className: "fcc-fpp-sidebar-inner",
1277
+ children: [/* @__PURE__ */ H("div", {
1278
+ className: "fcc-fpp-sidebar-body",
1279
+ children: e
1280
+ }), f && /* @__PURE__ */ H("div", {
1281
+ className: "fcc-fpp-sidebar-footer",
1282
+ children: f
1283
+ })]
1284
+ })]
1285
+ });
1286
+ }
1287
+ function Ot({ children: e, collapsed: t = !1, onCollapsedChange: n, className: r = "", ariaLabel: i = "Document controls", showMinimize: a = !0 }) {
1288
+ return /* @__PURE__ */ H("div", {
1289
+ className: `fcc-fpp-bottom-anchor ${t ? "fcc-fpp-bottom-anchor--collapsed" : ""} ${r}`,
1290
+ children: /* @__PURE__ */ U("div", {
1291
+ className: `fcc-fpp-bottom-wrap ${t ? "fcc-fpp-bottom-wrap--collapsed" : ""}`,
1292
+ children: [/* @__PURE__ */ H("div", {
1293
+ className: "fcc-fpp-bottom-controls",
1294
+ role: "toolbar",
1295
+ "aria-label": i,
1296
+ "aria-hidden": t,
1297
+ children: e
1298
+ }), a && n && !t && /* @__PURE__ */ H("button", {
1299
+ type: "button",
1300
+ className: "fcc-fpp-bottom-minimize",
1301
+ onClick: () => n(!0),
1302
+ "aria-label": "Hide controls",
1303
+ title: "Hide controls",
1304
+ children: /* @__PURE__ */ H(V, {
1305
+ size: 11,
1306
+ strokeWidth: 2.5
1307
+ })
1308
+ })]
1309
+ })
1310
+ });
1311
+ }
1093
1312
  //#endregion
1094
1313
  //#region src/components/ui/Accordion.jsx
1095
- function _t({ title: e, header: t, defaultOpen: n = !1, className: r = "", contentClassName: i = "", children: a }) {
1314
+ function kt({ title: e, header: t, defaultOpen: n = !1, className: r = "", contentClassName: i = "", children: a }) {
1096
1315
  let [o, s] = d(n);
1097
1316
  return /* @__PURE__ */ U("div", {
1098
1317
  className: `accordion-item ${r}`,
@@ -1106,7 +1325,7 @@ function _t({ title: e, header: t, defaultOpen: n = !1, className: r = "", conte
1106
1325
  children: e
1107
1326
  }), /* @__PURE__ */ H("span", {
1108
1327
  className: "accordion-trigger-chevron",
1109
- children: H(o ? y : b, { size: 14 })
1328
+ children: H(o ? y : x, { size: 14 })
1110
1329
  })]
1111
1330
  }), /* @__PURE__ */ H("div", {
1112
1331
  className: `accordion-collapse ${o ? "open" : ""}`,
@@ -1120,7 +1339,7 @@ function _t({ title: e, header: t, defaultOpen: n = !1, className: r = "", conte
1120
1339
  })]
1121
1340
  });
1122
1341
  }
1123
- function vt({ items: e = [], className: t = "" }) {
1342
+ function At({ items: e = [], className: t = "" }) {
1124
1343
  let [n, r] = d(/* @__PURE__ */ new Set());
1125
1344
  function i(e) {
1126
1345
  r((t) => {
@@ -1144,7 +1363,7 @@ function vt({ items: e = [], className: t = "" }) {
1144
1363
  children: e.title
1145
1364
  }), /* @__PURE__ */ H("span", {
1146
1365
  className: "accordion-trigger-chevron",
1147
- children: H(t ? y : b, { size: 14 })
1366
+ children: H(t ? y : x, { size: 14 })
1148
1367
  })]
1149
1368
  }), /* @__PURE__ */ H("div", {
1150
1369
  className: `accordion-collapse ${t ? "open" : ""}`,
@@ -1162,12 +1381,12 @@ function vt({ items: e = [], className: t = "" }) {
1162
1381
  }
1163
1382
  //#endregion
1164
1383
  //#region src/components/ui/Avatar.jsx
1165
- var yt = {
1384
+ var jt = {
1166
1385
  sm: "avatar-sm",
1167
1386
  md: "",
1168
1387
  lg: "avatar-lg",
1169
1388
  xl: "avatar-xl"
1170
- }, bt = [
1389
+ }, Mt = [
1171
1390
  "#5e6ad2",
1172
1391
  "#5bb98e",
1173
1392
  "#c9a84e",
@@ -1176,13 +1395,13 @@ var yt = {
1176
1395
  "#5a8ebf",
1177
1396
  "#c4a06a"
1178
1397
  ];
1179
- function xt(e) {
1398
+ function Nt(e) {
1180
1399
  let t = 0;
1181
1400
  for (let n = 0; n < e.length; n++) t = e.charCodeAt(n) + ((t << 5) - t);
1182
- return bt[Math.abs(t) % bt.length];
1401
+ return Mt[Math.abs(t) % Mt.length];
1183
1402
  }
1184
1403
  function q({ imageUrl: e, initials: t, name: n, size: r = "md", className: i = "", style: a = {} }) {
1185
- let [o, s] = d(!1), c = t || (n ? n.split(" ").map((e) => e[0]).join("").slice(0, 2).toUpperCase() : "?"), l = a.background || xt(c), u = yt[r] || "";
1404
+ let [o, s] = d(!1), c = t || (n ? n.split(" ").map((e) => e[0]).join("").slice(0, 2).toUpperCase() : "?"), l = a.background || Nt(c), u = jt[r] || "";
1186
1405
  return e && !o ? /* @__PURE__ */ H("img", {
1187
1406
  src: e,
1188
1407
  alt: n || "",
@@ -1203,7 +1422,7 @@ function q({ imageUrl: e, initials: t, name: n, size: r = "md", className: i = "
1203
1422
  }
1204
1423
  //#endregion
1205
1424
  //#region src/components/ui/Badge.jsx
1206
- var St = {
1425
+ var Pt = {
1207
1426
  default: "var(--text-quaternary)",
1208
1427
  secondary: "var(--text-quaternary)",
1209
1428
  success: "var(--accent-green)",
@@ -1215,7 +1434,7 @@ var St = {
1215
1434
  orange: "var(--accent-orange)"
1216
1435
  };
1217
1436
  function J({ variant: e = "default", className: t = "", children: n, showDot: r = !0, ...i }) {
1218
- let a = St[e] || St.default;
1437
+ let a = Pt[e] || Pt.default;
1219
1438
  return /* @__PURE__ */ U("span", {
1220
1439
  className: `badge ${r ? "" : "badge--no-dot"} ${t}`.trim(),
1221
1440
  ...i,
@@ -1227,7 +1446,7 @@ function J({ variant: e = "default", className: t = "", children: n, showDot: r
1227
1446
  }
1228
1447
  //#endregion
1229
1448
  //#region src/components/ui/Button.jsx
1230
- var Ct = {
1449
+ var Ft = {
1231
1450
  default: "btn-primary",
1232
1451
  destructive: "btn-danger",
1233
1452
  success: "btn-success",
@@ -1237,7 +1456,7 @@ var Ct = {
1237
1456
  muted: "btn-muted",
1238
1457
  ghost: "btn-ghost",
1239
1458
  link: "btn-link"
1240
- }, wt = {
1459
+ }, It = {
1241
1460
  sm: "btn-sm",
1242
1461
  default: "",
1243
1462
  lg: "btn-lg",
@@ -1247,66 +1466,66 @@ var Ct = {
1247
1466
  ref: a,
1248
1467
  className: [
1249
1468
  "btn",
1250
- Ct[e],
1251
- wt[t],
1469
+ Ft[e],
1470
+ It[t],
1252
1471
  n
1253
1472
  ].filter(Boolean).join(" "),
1254
1473
  ...i,
1255
1474
  children: r
1256
1475
  });
1257
- }), Tt = {
1476
+ }), Lt = {
1258
1477
  default: "card-default",
1259
1478
  green: "card-green",
1260
1479
  red: "card-red",
1261
1480
  yellow: "card-yellow"
1262
- }, Et = n(function({ variant: e = "default", className: t = "", children: n, ...r }, i) {
1481
+ }, Rt = n(function({ variant: e = "default", className: t = "", children: n, ...r }, i) {
1263
1482
  return /* @__PURE__ */ H("div", {
1264
1483
  ref: i,
1265
1484
  className: [
1266
1485
  "card",
1267
- Tt[e],
1486
+ Lt[e],
1268
1487
  t
1269
1488
  ].filter(Boolean).join(" "),
1270
1489
  ...r,
1271
1490
  children: n
1272
1491
  });
1273
- }), Dt = n(function({ className: e = "", children: t, ...n }, r) {
1492
+ }), zt = n(function({ className: e = "", children: t, ...n }, r) {
1274
1493
  return /* @__PURE__ */ H("div", {
1275
1494
  ref: r,
1276
1495
  className: `card-header ${e}`,
1277
1496
  ...n,
1278
1497
  children: t
1279
1498
  });
1280
- }), Ot = n(function({ className: e = "", children: t, ...n }, r) {
1499
+ }), Bt = n(function({ className: e = "", children: t, ...n }, r) {
1281
1500
  return /* @__PURE__ */ H("h3", {
1282
1501
  ref: r,
1283
1502
  className: `card-title ${e}`,
1284
1503
  ...n,
1285
1504
  children: t
1286
1505
  });
1287
- }), kt = n(function({ className: e = "", children: t, ...n }, r) {
1506
+ }), Vt = n(function({ className: e = "", children: t, ...n }, r) {
1288
1507
  return /* @__PURE__ */ H("p", {
1289
1508
  ref: r,
1290
1509
  className: `card-description ${e}`,
1291
1510
  ...n,
1292
1511
  children: t
1293
1512
  });
1294
- }), At = n(function({ className: e = "", children: t, ...n }, r) {
1513
+ }), Ht = n(function({ className: e = "", children: t, ...n }, r) {
1295
1514
  return /* @__PURE__ */ H("div", {
1296
1515
  ref: r,
1297
1516
  className: `card-body ${e}`,
1298
1517
  ...n,
1299
1518
  children: t
1300
1519
  });
1301
- }), jt = n(function({ className: e = "", children: t, ...n }, r) {
1520
+ }), Ut = n(function({ className: e = "", children: t, ...n }, r) {
1302
1521
  return /* @__PURE__ */ H("div", {
1303
1522
  ref: r,
1304
1523
  className: `card-footer ${e}`,
1305
1524
  ...n,
1306
1525
  children: t
1307
1526
  });
1308
- }), Mt = 220;
1309
- function Nt({ open: e, onClose: t, children: n, className: r = "", overlayClassName: i = "", contained: a = !1 }) {
1527
+ }), Wt = 220;
1528
+ function Gt({ open: e, onClose: t, children: n, className: r = "", overlayClassName: i = "", contained: a = !1 }) {
1310
1529
  let s = u(null), [c, l] = d(e ? "open" : "closed"), f = e || c !== "closed";
1311
1530
  return o(() => {
1312
1531
  if (!a) return f ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
@@ -1323,7 +1542,7 @@ function Nt({ open: e, onClose: t, children: n, className: r = "", overlayClassN
1323
1542
  return () => cancelAnimationFrame(e);
1324
1543
  }
1325
1544
  if (c === "closed") return;
1326
- let t = requestAnimationFrame(() => l("closing")), n = window.setTimeout(() => l("closed"), Mt);
1545
+ let t = requestAnimationFrame(() => l("closing")), n = window.setTimeout(() => l("closed"), Wt);
1327
1546
  return () => {
1328
1547
  cancelAnimationFrame(t), window.clearTimeout(n);
1329
1548
  };
@@ -1340,7 +1559,7 @@ function Nt({ open: e, onClose: t, children: n, className: r = "", overlayClassN
1340
1559
  })
1341
1560
  }) : null;
1342
1561
  }
1343
- function Pt({ children: e, onClose: t, className: n = "" }) {
1562
+ function Kt({ children: e, onClose: t, className: n = "" }) {
1344
1563
  return /* @__PURE__ */ U("div", {
1345
1564
  className: `dialog-header ${n}`,
1346
1565
  children: [/* @__PURE__ */ H("div", {
@@ -1353,25 +1572,25 @@ function Pt({ children: e, onClose: t, className: n = "" }) {
1353
1572
  })]
1354
1573
  });
1355
1574
  }
1356
- function Ft({ children: e, className: t = "" }) {
1575
+ function qt({ children: e, className: t = "" }) {
1357
1576
  return /* @__PURE__ */ H("h3", {
1358
1577
  className: `dialog-title ${t}`,
1359
1578
  children: e
1360
1579
  });
1361
1580
  }
1362
- function It({ children: e, className: t = "" }) {
1581
+ function Jt({ children: e, className: t = "" }) {
1363
1582
  return /* @__PURE__ */ H("p", {
1364
1583
  className: `dialog-description ${t}`,
1365
1584
  children: e
1366
1585
  });
1367
1586
  }
1368
- function Lt({ children: e, className: t = "" }) {
1587
+ function Yt({ children: e, className: t = "" }) {
1369
1588
  return /* @__PURE__ */ H("div", {
1370
1589
  className: `dialog-body ${t}`,
1371
1590
  children: e
1372
1591
  });
1373
1592
  }
1374
- function Rt({ children: e, className: t = "" }) {
1593
+ function Xt({ children: e, className: t = "" }) {
1375
1594
  return /* @__PURE__ */ H("div", {
1376
1595
  className: `dialog-footer ${t}`,
1377
1596
  children: e
@@ -1379,7 +1598,7 @@ function Rt({ children: e, className: t = "" }) {
1379
1598
  }
1380
1599
  //#endregion
1381
1600
  //#region src/components/ui/Input.jsx
1382
- var zt = n(function({ id: e, label: t, labelMode: n = "stacked", description: r, error: i, clearable: a = !1, startIcon: o, endIcon: c, placeholder: l, value: f, defaultValue: p, className: m = "", inputClassName: h = "", disabled: g = !1, type: _ = "text", "aria-describedby": v, "aria-invalid": y, onChange: b, ...x }, S) {
1601
+ var Zt = n(function({ id: e, label: t, labelMode: n = "stacked", description: r, error: i, clearable: a = !1, startIcon: o, endIcon: c, placeholder: l, value: f, defaultValue: p, className: m = "", inputClassName: h = "", disabled: g = !1, type: _ = "text", "aria-describedby": v, "aria-invalid": y, onChange: b, ...x }, S) {
1383
1602
  let C = u(null), w = s(), T = e || w, E = i && i !== !0 ? i : r, D = E ? `${T}-helper` : void 0, O = !!(i || y), k = !!(t && n === "floating"), A = [v, D].filter(Boolean).join(" ") || void 0, j = k ? " " : l, M = f !== void 0, [N, P] = d(() => String(p ?? "")), F = a && !g && (M ? String(f ?? "") : N).length > 0;
1384
1603
  function I(e) {
1385
1604
  C.current = e, typeof S == "function" ? S(e) : S && (S.current = e);
@@ -1473,7 +1692,7 @@ var zt = n(function({ id: e, label: t, labelMode: n = "stacked", description: r,
1473
1692
  });
1474
1693
  //#endregion
1475
1694
  //#region src/components/ui/DropdownMenu.jsx
1476
- function Bt({ trigger: e, children: t, align: n = "left", className: r = "", sideOffset: i = 6, onOpenChange: a }) {
1695
+ function Qt({ trigger: e, children: t, align: n = "left", className: r = "", sideOffset: i = 6, onOpenChange: a }) {
1477
1696
  let [s, l] = d(!1), [f, p] = d(null), m = u(null), h = u(null);
1478
1697
  return o(() => {
1479
1698
  a?.(s);
@@ -1526,7 +1745,7 @@ function Bt({ trigger: e, children: t, align: n = "left", className: r = "", sid
1526
1745
  }), document.body)]
1527
1746
  });
1528
1747
  }
1529
- function Vt({ icon: e, children: t, shortcut: n, active: r, onClick: i, className: a = "" }) {
1748
+ function $t({ icon: e, children: t, shortcut: n, active: r, onClick: i, className: a = "" }) {
1530
1749
  return /* @__PURE__ */ U("div", {
1531
1750
  className: `dropdown-item ${r ? "active" : ""} ${a}`,
1532
1751
  onClick: i,
@@ -1550,7 +1769,7 @@ function Vt({ icon: e, children: t, shortcut: n, active: r, onClick: i, classNam
1550
1769
  ]
1551
1770
  });
1552
1771
  }
1553
- function Ht({ checked: e, onCheckedChange: t, children: n, className: r = "" }) {
1772
+ function en({ checked: e, onCheckedChange: t, children: n, className: r = "" }) {
1554
1773
  return /* @__PURE__ */ U("div", {
1555
1774
  className: `dropdown-item ${e ? "active" : ""} ${r}`,
1556
1775
  onClick: () => t?.(!e),
@@ -1563,18 +1782,18 @@ function Ht({ checked: e, onCheckedChange: t, children: n, className: r = "" })
1563
1782
  })]
1564
1783
  });
1565
1784
  }
1566
- function Ut({ children: e, className: t = "" }) {
1785
+ function tn({ children: e, className: t = "" }) {
1567
1786
  return /* @__PURE__ */ H("div", {
1568
1787
  className: `dropdown-label ${t}`,
1569
1788
  children: e
1570
1789
  });
1571
1790
  }
1572
- function Wt({ className: e = "" }) {
1791
+ function nn({ className: e = "" }) {
1573
1792
  return /* @__PURE__ */ H("div", { className: `dropdown-divider ${e}` });
1574
1793
  }
1575
1794
  //#endregion
1576
1795
  //#region src/components/ui/SearchableSelect.jsx
1577
- function Gt({ options: e = [], value: t, onChange: n, placeholder: r = "Select...", searchPlaceholder: i = "Search...", allowEmpty: a = !1, disabled: s = !1, className: l = "" }) {
1796
+ function rn({ options: e = [], value: t, onChange: n, placeholder: r = "Select...", searchPlaceholder: i = "Search...", allowEmpty: a = !1, disabled: s = !1, className: l = "" }) {
1578
1797
  let [f, p] = d(!1), [m, h] = d(""), [_, v] = d(-1), [b, x] = d(null), S = u(null), C = u(null), w = u(null), T = e.filter((e) => e.label.toLowerCase().includes(m.toLowerCase()) || e.description && e.description.toLowerCase().includes(m.toLowerCase())), E = e.find((e) => e.value === t);
1579
1798
  o(() => {
1580
1799
  f && w.current && w.current.focus();
@@ -1699,7 +1918,7 @@ function Gt({ options: e = [], value: t, onChange: n, placeholder: r = "Select..
1699
1918
  }
1700
1919
  //#endregion
1701
1920
  //#region src/components/ui/Sheet.jsx
1702
- function Kt({ open: e, onClose: t, side: n = "right", title: r, children: i, className: a = "" }) {
1921
+ function an({ open: e, onClose: t, side: n = "right", title: r, children: i, className: a = "" }) {
1703
1922
  let s = u(null);
1704
1923
  return o(() => (e ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
1705
1924
  document.body.style.overflow = "";
@@ -1733,7 +1952,7 @@ function Kt({ open: e, onClose: t, side: n = "right", title: r, children: i, cla
1733
1952
  })
1734
1953
  }) : null;
1735
1954
  }
1736
- function qt({ children: e, className: t = "" }) {
1955
+ function on({ children: e, className: t = "" }) {
1737
1956
  return /* @__PURE__ */ H("div", {
1738
1957
  className: `sheet-footer ${t}`,
1739
1958
  children: e
@@ -1741,17 +1960,17 @@ function qt({ children: e, className: t = "" }) {
1741
1960
  }
1742
1961
  //#endregion
1743
1962
  //#region src/components/ui/StatusMetric.jsx
1744
- function Jt(...e) {
1963
+ function sn(...e) {
1745
1964
  return e.filter(Boolean).join(" ");
1746
1965
  }
1747
- var Yt = {
1966
+ var cn = {
1748
1967
  default: "",
1749
1968
  warning: "status-metric--warning"
1750
1969
  };
1751
- function Xt({ children: e, tone: t = "default", showIcon: n = !0, icon: r, iconSize: i = 12, className: a = "" }) {
1752
- let o = r || (t === "warning" ? p : C);
1970
+ function ln({ children: e, tone: t = "default", showIcon: n = !0, icon: r, iconSize: i = 12, className: a = "" }) {
1971
+ let o = r || (t === "warning" ? p : w);
1753
1972
  return /* @__PURE__ */ U("span", {
1754
- className: Jt("status-metric", Yt[t], a),
1973
+ className: sn("status-metric", cn[t], a),
1755
1974
  children: [n && o && /* @__PURE__ */ H("span", {
1756
1975
  className: "status-metric-icon",
1757
1976
  children: /* @__PURE__ */ H(o, { size: i })
@@ -1763,7 +1982,7 @@ function Xt({ children: e, tone: t = "default", showIcon: n = !0, icon: r, iconS
1763
1982
  }
1764
1983
  //#endregion
1765
1984
  //#region src/components/ui/Switch.jsx
1766
- function Zt({ checked: e = !1, onCheckedChange: t, disabled: n = !1, size: r = "md", label: i }) {
1985
+ function un({ checked: e = !1, onCheckedChange: t, disabled: n = !1, size: r = "md", label: i }) {
1767
1986
  return /* @__PURE__ */ U("div", {
1768
1987
  className: "toggle-row",
1769
1988
  children: [i && /* @__PURE__ */ H("span", {
@@ -1781,13 +2000,13 @@ function Zt({ checked: e = !1, onCheckedChange: t, disabled: n = !1, size: r = "
1781
2000
  }
1782
2001
  //#endregion
1783
2002
  //#region src/components/ui/Tabs.jsx
1784
- var Qt = e({
2003
+ var dn = e({
1785
2004
  value: "",
1786
2005
  onChange: () => {},
1787
2006
  registerTrigger: () => {},
1788
2007
  getTriggerNode: () => null
1789
2008
  });
1790
- function $t({ defaultValue: e, value: t, onValueChange: n, children: r, className: a = "" }) {
2009
+ function fn({ defaultValue: e, value: t, onValueChange: n, children: r, className: a = "" }) {
1791
2010
  let [o, s] = d(e || ""), c = u(/* @__PURE__ */ new Map()), l = t === void 0 ? o : t, f = n || s, p = i((e, t) => {
1792
2011
  if (t) {
1793
2012
  c.current.set(e, t);
@@ -1795,7 +2014,7 @@ function $t({ defaultValue: e, value: t, onValueChange: n, children: r, classNam
1795
2014
  }
1796
2015
  c.current.delete(e);
1797
2016
  }, []), m = i((e) => c.current.get(e) || null, []);
1798
- return /* @__PURE__ */ H(Qt.Provider, {
2017
+ return /* @__PURE__ */ H(dn.Provider, {
1799
2018
  value: {
1800
2019
  value: l,
1801
2020
  onChange: f,
@@ -1808,8 +2027,8 @@ function $t({ defaultValue: e, value: t, onValueChange: n, children: r, classNam
1808
2027
  })
1809
2028
  });
1810
2029
  }
1811
- function en({ children: e, className: t = "" }) {
1812
- let { value: n, getTriggerNode: r } = a(Qt), i = u(null);
2030
+ function pn({ children: e, className: t = "" }) {
2031
+ let { value: n, getTriggerNode: r } = a(dn), i = u(null);
1813
2032
  return c(() => {
1814
2033
  let e = i.current, t = r(n);
1815
2034
  if (!e) return;
@@ -1835,8 +2054,8 @@ function en({ children: e, className: t = "" }) {
1835
2054
  }), e]
1836
2055
  });
1837
2056
  }
1838
- function tn({ value: e, children: t, className: n = "" }) {
1839
- let { value: r, onChange: i, registerTrigger: o } = a(Qt), s = r === e;
2057
+ function mn({ value: e, children: t, className: n = "" }) {
2058
+ let { value: r, onChange: i, registerTrigger: o } = a(dn), s = r === e;
1840
2059
  return /* @__PURE__ */ H("button", {
1841
2060
  ref: (t) => o(e, t),
1842
2061
  className: `tab ${s ? "active" : ""} ${n}`,
@@ -1847,8 +2066,8 @@ function tn({ value: e, children: t, className: n = "" }) {
1847
2066
  children: t
1848
2067
  });
1849
2068
  }
1850
- function nn({ value: e, children: t, className: n = "" }) {
1851
- let { value: r } = a(Qt);
2069
+ function hn({ value: e, children: t, className: n = "" }) {
2070
+ let { value: r } = a(dn);
1852
2071
  return r === e ? /* @__PURE__ */ H("div", {
1853
2072
  className: n,
1854
2073
  role: "tabpanel",
@@ -1857,7 +2076,7 @@ function nn({ value: e, children: t, className: n = "" }) {
1857
2076
  }
1858
2077
  //#endregion
1859
2078
  //#region src/components/ui/Textarea.jsx
1860
- var rn = n(function({ className: e = "", startAdornment: t, endAdornment: n, ...r }, i) {
2079
+ var gn = n(function({ className: e = "", startAdornment: t, endAdornment: n, ...r }, i) {
1861
2080
  return t || n ? /* @__PURE__ */ U("div", {
1862
2081
  className: ["textarea-wrapper", e].filter(Boolean).join(" "),
1863
2082
  children: [
@@ -1883,7 +2102,7 @@ var rn = n(function({ className: e = "", startAdornment: t, endAdornment: n, ...
1883
2102
  });
1884
2103
  //#endregion
1885
2104
  //#region src/components/ui/Tooltip.jsx
1886
- function an({ content: e, side: t = "top", children: n, className: r = "" }) {
2105
+ function _n({ content: e, side: t = "top", children: n, className: r = "" }) {
1887
2106
  let [i, a] = d(!1), [s, l] = d(null), f = u(null), p = u(null), m = u(null);
1888
2107
  function h() {
1889
2108
  m.current = setTimeout(() => a(!0), 300);
@@ -1934,17 +2153,17 @@ function an({ content: e, side: t = "top", children: n, className: r = "" }) {
1934
2153
  }
1935
2154
  //#endregion
1936
2155
  //#region src/components/ui/viewModeDefaults.js
1937
- var on = {
1938
- kanban: w,
1939
- board: w,
1940
- columns: w,
1941
- table: k,
1942
- list: k,
1943
- rows: k,
1944
- grid: O,
2156
+ var vn = {
2157
+ kanban: T,
2158
+ board: T,
2159
+ columns: T,
2160
+ table: j,
2161
+ list: j,
2162
+ rows: j,
2163
+ grid: A,
1945
2164
  calendar: h,
1946
- map: M
1947
- }, sn = [{
2165
+ map: P
2166
+ }, yn = [{
1948
2167
  value: "kanban",
1949
2168
  label: "Kanban",
1950
2169
  title: "Board View"
@@ -1955,13 +2174,13 @@ var on = {
1955
2174
  }];
1956
2175
  //#endregion
1957
2176
  //#region src/components/ui/ViewModeToggle.jsx
1958
- function cn(e) {
1959
- return e.icon ? e.icon : on[e.value] ?? null;
2177
+ function bn(e) {
2178
+ return e.icon ? e.icon : vn[e.value] ?? null;
1960
2179
  }
1961
- function ln(e, n) {
2180
+ function xn(e, n) {
1962
2181
  return e ? r(e) ? e : t(e, { size: n }) : null;
1963
2182
  }
1964
- function un({ options: e = sn, value: t, defaultValue: n, onValueChange: r, ariaLabel: a = "View mode", iconSize: s = 16, showLabels: l = !1, className: f = "", optionClassName: p = "" }) {
2183
+ function Sn({ options: e = yn, value: t, defaultValue: n, onValueChange: r, ariaLabel: a = "View mode", iconSize: s = 16, showLabels: l = !1, className: f = "", optionClassName: p = "" }) {
1965
2184
  let m = u(null), h = u(null), g = u(/* @__PURE__ */ new Map()), [_, v] = d(n ?? e[0]?.value ?? ""), y = t === void 0 ? _ : t, b = i(() => {
1966
2185
  let e = h.current, t = g.current.get(y);
1967
2186
  if (e) {
@@ -2023,7 +2242,7 @@ function un({ options: e = sn, value: t, defaultValue: n, onValueChange: r, aria
2023
2242
  "aria-hidden": "true",
2024
2243
  className: "view-mode-toggle-indicator"
2025
2244
  }), e.map((e) => {
2026
- let t = e.value === y, n = ln(cn(e), s);
2245
+ let t = e.value === y, n = xn(bn(e), s);
2027
2246
  return /* @__PURE__ */ U("button", {
2028
2247
  type: "button",
2029
2248
  "aria-pressed": t,
@@ -2053,10 +2272,10 @@ function un({ options: e = sn, value: t, defaultValue: n, onValueChange: r, aria
2053
2272
  }
2054
2273
  //#endregion
2055
2274
  //#region src/components/ui/WorkspaceTabs.jsx
2056
- function dn(e, n) {
2275
+ function Cn(e, n) {
2057
2276
  return e ? r(e) ? e : t(e, { size: n }) : null;
2058
2277
  }
2059
- function fn({ items: e = [], value: t, defaultValue: n, onValueChange: r, ariaLabel: a = "Workspace tabs", iconSize: s = 14, variant: l = "plain", className: f = "", itemClassName: p = "" }) {
2278
+ function wn({ items: e = [], value: t, defaultValue: n, onValueChange: r, ariaLabel: a = "Workspace tabs", iconSize: s = 14, variant: l = "plain", className: f = "", itemClassName: p = "" }) {
2060
2279
  let m = u(null), h = u(null), g = u(/* @__PURE__ */ new Map()), [_, v] = d(n ?? e[0]?.id ?? ""), y = t === void 0 ? _ : t, b = i(() => {
2061
2280
  let e = h.current, t = g.current.get(y);
2062
2281
  if (e) {
@@ -2118,7 +2337,7 @@ function fn({ items: e = [], value: t, defaultValue: n, onValueChange: r, ariaLa
2118
2337
  "aria-hidden": "true",
2119
2338
  className: "workspace-tabs-indicator"
2120
2339
  }), e.map((e) => {
2121
- let t = e.id === y, n = dn(e.icon, s);
2340
+ let t = e.id === y, n = Cn(e.icon, s);
2122
2341
  return /* @__PURE__ */ U("button", {
2123
2342
  type: "button",
2124
2343
  role: "tab",
@@ -2156,7 +2375,7 @@ function fn({ items: e = [], value: t, defaultValue: n, onValueChange: r, ariaLa
2156
2375
  //#endregion
2157
2376
  //#region src/components/ui/CallControlsBar.jsx
2158
2377
  function X({ icon: e, label: t, onClick: n, active: r, danger: i, compact: a, title: o }) {
2159
- return /* @__PURE__ */ H(an, {
2378
+ return /* @__PURE__ */ H(_n, {
2160
2379
  content: o,
2161
2380
  children: /* @__PURE__ */ U("button", {
2162
2381
  type: "button",
@@ -2180,7 +2399,7 @@ function X({ icon: e, label: t, onClick: n, active: r, danger: i, compact: a, ti
2180
2399
  })
2181
2400
  });
2182
2401
  }
2183
- function pn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onInvite: a, onKeypad: o, onEnd: s, compact: c = !1, hideEnd: l = !1, className: u = "" }) {
2402
+ function Tn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onInvite: a, onKeypad: o, onEnd: s, compact: c = !1, hideEnd: l = !1, className: u = "" }) {
2184
2403
  return /* @__PURE__ */ U("div", {
2185
2404
  className: `call-controls-bar ${u}`,
2186
2405
  style: {
@@ -2191,7 +2410,7 @@ function pn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onIn
2191
2410
  },
2192
2411
  children: [
2193
2412
  /* @__PURE__ */ H(X, {
2194
- icon: e ? F : P,
2413
+ icon: e ? L : I,
2195
2414
  label: e ? "Unmute" : "Mute",
2196
2415
  onClick: n,
2197
2416
  active: e,
@@ -2199,7 +2418,7 @@ function pn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onIn
2199
2418
  title: "Mute (M)"
2200
2419
  }),
2201
2420
  /* @__PURE__ */ H(X, {
2202
- icon: t ? se : z,
2421
+ icon: t ? le : te,
2203
2422
  label: t ? "Resume" : "Hold",
2204
2423
  onClick: r,
2205
2424
  active: t,
@@ -2207,28 +2426,28 @@ function pn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onIn
2207
2426
  title: "Hold (H)"
2208
2427
  }),
2209
2428
  /* @__PURE__ */ H(X, {
2210
- icon: te,
2429
+ icon: re,
2211
2430
  label: "Transfer",
2212
2431
  onClick: i,
2213
2432
  compact: c,
2214
2433
  title: "Transfer (T)"
2215
2434
  }),
2216
2435
  /* @__PURE__ */ H(X, {
2217
- icon: de,
2436
+ icon: pe,
2218
2437
  label: "Invite",
2219
2438
  onClick: a,
2220
2439
  compact: c,
2221
2440
  title: "Invite observer"
2222
2441
  }),
2223
2442
  /* @__PURE__ */ H(X, {
2224
- icon: E,
2443
+ icon: O,
2225
2444
  label: "Keypad",
2226
2445
  onClick: o,
2227
2446
  compact: c,
2228
2447
  title: "Keypad"
2229
2448
  }),
2230
2449
  !l && /* @__PURE__ */ H(X, {
2231
- icon: ie,
2450
+ icon: oe,
2232
2451
  label: "End",
2233
2452
  onClick: s,
2234
2453
  danger: !0,
@@ -2240,15 +2459,15 @@ function pn({ isMuted: e, isOnHold: t, onMute: n, onHold: r, onTransfer: i, onIn
2240
2459
  }
2241
2460
  //#endregion
2242
2461
  //#region src/components/phone/phoneUtils.js
2243
- function mn(e) {
2462
+ function En(e) {
2244
2463
  return e == null || Number.isNaN(e) ? "0:00" : `${Math.floor(e / 60)}:${Math.floor(e % 60).toString().padStart(2, "0")}`;
2245
2464
  }
2246
- function hn(e) {
2465
+ function Dn(e) {
2247
2466
  if (!e) return "";
2248
2467
  let t = new Date(e).getTime() - Date.now();
2249
- return t <= 0 ? "now" : mn(Math.ceil(t / 1e3));
2468
+ return t <= 0 ? "now" : En(Math.ceil(t / 1e3));
2250
2469
  }
2251
- function gn(e) {
2470
+ function On(e) {
2252
2471
  if (!e) return "";
2253
2472
  let t = Date.now() - new Date(e).getTime(), n = Math.floor(t / 1e3);
2254
2473
  if (n < 60) return "just now";
@@ -2259,12 +2478,12 @@ function gn(e) {
2259
2478
  let a = Math.floor(i / 24);
2260
2479
  return a === 1 ? "Yesterday" : a < 7 ? `${a}d ago` : new Date(e).toLocaleDateString();
2261
2480
  }
2262
- function _n(e) {
2481
+ function kn(e) {
2263
2482
  if (!e) return "none";
2264
2483
  let t = new Date(e).getTime() - Date.now();
2265
2484
  return t <= 0 ? "overdue" : t < 30 * 1e3 ? "urgent" : t < 120 * 1e3 ? "warning" : "normal";
2266
2485
  }
2267
- var vn = {
2486
+ var An = {
2268
2487
  intake: "Intake",
2269
2488
  plan_review: "Plan Review",
2270
2489
  inspections: "Inspections",
@@ -2274,31 +2493,31 @@ var vn = {
2274
2493
  sales: "Sales",
2275
2494
  escalations: "Escalations"
2276
2495
  };
2277
- function yn(e) {
2278
- return e ? vn[e] ? vn[e] : e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") : "";
2496
+ function jn(e) {
2497
+ return e ? An[e] ? An[e] : e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") : "";
2279
2498
  }
2280
- var bn = {
2499
+ var Mn = {
2281
2500
  client: "Client",
2282
2501
  building_department: "Building Dept",
2283
2502
  staff: "Staff",
2284
2503
  unknown: "Unknown"
2285
2504
  };
2286
- function xn(e) {
2287
- return bn[e] || "Unknown";
2505
+ function Nn(e) {
2506
+ return Mn[e] || "Unknown";
2288
2507
  }
2289
- var Sn = {
2508
+ var Pn = {
2290
2509
  open: "Open",
2291
2510
  in_progress: "In progress",
2292
2511
  resolved: "Resolved",
2293
2512
  closed: "Closed",
2294
2513
  awaiting_reply: "Awaiting reply"
2295
2514
  };
2296
- function Cn(e) {
2297
- return Sn[e] || (e ? e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase()) : "");
2515
+ function Fn(e) {
2516
+ return Pn[e] || (e ? e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase()) : "");
2298
2517
  }
2299
2518
  //#endregion
2300
2519
  //#region src/components/ui/TicketLinkChip.jsx
2301
- var wn = {
2520
+ var In = {
2302
2521
  intake: "var(--accent-blue)",
2303
2522
  plan_review: "var(--accent-purple)",
2304
2523
  inspections: "var(--accent-green)",
@@ -2308,7 +2527,7 @@ var wn = {
2308
2527
  sales: "var(--accent-orange)",
2309
2528
  escalations: "var(--accent-red)"
2310
2529
  };
2311
- function Tn(e) {
2530
+ function Ln(e) {
2312
2531
  switch (e) {
2313
2532
  case "resolved":
2314
2533
  case "closed": return "success";
@@ -2317,12 +2536,12 @@ function Tn(e) {
2317
2536
  default: return "secondary";
2318
2537
  }
2319
2538
  }
2320
- function En(e, t) {
2539
+ function Rn(e, t) {
2321
2540
  return e ? e.length > t ? `${e.slice(0, t - 1)}…` : e : "";
2322
2541
  }
2323
2542
  function Z({ ticket: e, onClick: t, variant: n = "default", className: r = "" }) {
2324
2543
  if (!e) return null;
2325
- let i = wn[e.department] ?? wn.tech_support, a = t ? "button" : "span", o = n === "compact" ? `#${e.number}` : `#${e.number} · ${En(e.title, 28)}`;
2544
+ let i = In[e.department] ?? In.tech_support, a = t ? "button" : "span", o = n === "compact" ? `#${e.number}` : `#${e.number} · ${Rn(e.title, 28)}`;
2326
2545
  return n === "detailed" ? /* @__PURE__ */ U(a, {
2327
2546
  type: t ? "button" : void 0,
2328
2547
  onClick: t,
@@ -2366,7 +2585,7 @@ function Z({ ticket: e, onClick: t, variant: n = "default", className: r = "" })
2366
2585
  }),
2367
2586
  /* @__PURE__ */ U("span", {
2368
2587
  style: { color: "var(--text-secondary)" },
2369
- children: ["· ", En(e.title, 40)]
2588
+ children: ["· ", Rn(e.title, 40)]
2370
2589
  })
2371
2590
  ]
2372
2591
  }), /* @__PURE__ */ U("span", {
@@ -2379,10 +2598,10 @@ function Z({ ticket: e, onClick: t, variant: n = "default", className: r = "" })
2379
2598
  variant: "secondary",
2380
2599
  showDot: !1,
2381
2600
  className: "badge--no-dot",
2382
- children: yn(e.department)
2601
+ children: jn(e.department)
2383
2602
  }), e.status && /* @__PURE__ */ H(J, {
2384
- variant: Tn(e.status),
2385
- children: Cn(e.status)
2603
+ variant: Ln(e.status),
2604
+ children: Fn(e.status)
2386
2605
  })]
2387
2606
  })]
2388
2607
  }) : /* @__PURE__ */ U(a, {
@@ -2421,19 +2640,19 @@ function Z({ ticket: e, onClick: t, variant: n = "default", className: r = "" })
2421
2640
  }
2422
2641
  //#endregion
2423
2642
  //#region src/components/ui/PresenceDot.jsx
2424
- var Dn = {
2643
+ var zn = {
2425
2644
  available: "var(--accent-green, #22c55e)",
2426
2645
  busy: "var(--accent-yellow, #f59e0b)",
2427
2646
  in_call: "var(--accent-yellow, #f59e0b)",
2428
2647
  dnd: "var(--accent-red, #ef4444)",
2429
2648
  offline: "var(--text-tertiary, #71717a)"
2430
- }, On = {
2649
+ }, Bn = {
2431
2650
  xs: 6,
2432
2651
  sm: 8,
2433
2652
  md: 10
2434
2653
  };
2435
- function kn({ status: e = "offline", size: t = "sm", className: n = "" }) {
2436
- let r = On[t] ?? 8, i = Dn[e] ?? Dn.offline;
2654
+ function Vn({ status: e = "offline", size: t = "sm", className: n = "" }) {
2655
+ let r = Bn[t] ?? 8, i = zn[e] ?? zn.offline;
2437
2656
  return /* @__PURE__ */ H("span", {
2438
2657
  className: `presence-dot ${e === "in_call" ? "presence-dot-pulse" : ""} ${n}`,
2439
2658
  style: {
@@ -2450,13 +2669,13 @@ function kn({ status: e = "offline", size: t = "sm", className: n = "" }) {
2450
2669
  }
2451
2670
  //#endregion
2452
2671
  //#region src/components/ui/PresenceAvatar.jsx
2453
- var An = {
2672
+ var Hn = {
2454
2673
  sm: "sm",
2455
2674
  md: "md",
2456
2675
  lg: "lg"
2457
2676
  };
2458
- function jn({ name: e, initials: t, avatarUrl: n, status: r = "offline", activity: i = null, size: a = "md", showActivity: o = !0, className: s = "" }) {
2459
- let c = An[a] || "md", l = a === "sm" ? "xs" : a === "md" ? "sm" : "md";
2677
+ function Un({ name: e, initials: t, avatarUrl: n, status: r = "offline", activity: i = null, size: a = "md", showActivity: o = !0, className: s = "" }) {
2678
+ let c = Hn[a] || "md", l = a === "sm" ? "xs" : a === "md" ? "sm" : "md";
2460
2679
  return /* @__PURE__ */ U("div", {
2461
2680
  className: `presence-avatar ${s}`,
2462
2681
  style: {
@@ -2480,7 +2699,7 @@ function jn({ name: e, initials: t, avatarUrl: n, status: r = "offline", activit
2480
2699
  left: -1,
2481
2700
  top: -1
2482
2701
  },
2483
- children: /* @__PURE__ */ H(kn, {
2702
+ children: /* @__PURE__ */ H(Vn, {
2484
2703
  status: r,
2485
2704
  size: l
2486
2705
  })
@@ -2497,28 +2716,28 @@ function jn({ name: e, initials: t, avatarUrl: n, status: r = "offline", activit
2497
2716
  }
2498
2717
  //#endregion
2499
2718
  //#region src/components/ui/Callbar.jsx
2500
- var Mn = {
2719
+ var Wn = {
2501
2720
  connecting: "Connecting…",
2502
2721
  ringing: "Ringing…",
2503
2722
  connected: "Connected",
2504
2723
  on_hold: "On hold",
2505
2724
  ending: "Ending…"
2506
- }, Nn = {
2725
+ }, Gn = {
2507
2726
  connecting: "info",
2508
2727
  ringing: "info",
2509
2728
  connected: "success",
2510
2729
  on_hold: "warning",
2511
2730
  ending: "error"
2512
2731
  };
2513
- function Pn(e) {
2732
+ function Kn(e) {
2514
2733
  return e === "connected" ? "var(--accent-green)" : e === "on_hold" ? "var(--accent-yellow)" : e === "ending" ? "var(--accent-red)" : "var(--accent-blue)";
2515
2734
  }
2516
- function Fn(e) {
2735
+ function qn(e) {
2517
2736
  return e === "connecting" || e === "ringing";
2518
2737
  }
2519
- function In({ state: e = "connected", caller: t = {}, ticket: n = null, durationSec: r = 0, isMuted: i, isOnHold: a, observers: o = [], recordingConsentPending: s = !1, onMute: c, onHold: u, onTransfer: f, onInvite: p, onKeypad: m, onEnd: h, onMinimize: g, minimized: _ = !1, className: v = "" }) {
2520
- let [b, S] = d(!1), C = _ || b, w = Mn[e] || e, T = Fn(e), E = Pn(e), D = l(() => `${Math.floor(r / 60)}:${Math.floor(r % 60).toString().padStart(2, "0")}`, [r]), O = o.slice(0, 3), k = Math.max(0, o.length - 3), A = () => {
2521
- S((e) => !e), g?.();
2738
+ function Jn({ state: e = "connected", caller: t = {}, ticket: n = null, durationSec: r = 0, isMuted: i, isOnHold: a, observers: o = [], recordingConsentPending: s = !1, onMute: c, onHold: u, onTransfer: f, onInvite: p, onKeypad: m, onEnd: h, onMinimize: g, minimized: _ = !1, className: v = "" }) {
2739
+ let [b, x] = d(!1), C = _ || b, w = Wn[e] || e, T = qn(e), E = Kn(e), D = l(() => `${Math.floor(r / 60)}:${Math.floor(r % 60).toString().padStart(2, "0")}`, [r]), O = o.slice(0, 3), k = Math.max(0, o.length - 3), A = () => {
2740
+ x((e) => !e), g?.();
2522
2741
  };
2523
2742
  return C ? /* @__PURE__ */ U("div", {
2524
2743
  className: `callbar callbar-minimized ${v}`,
@@ -2569,7 +2788,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2569
2788
  gap: 6
2570
2789
  },
2571
2790
  children: [
2572
- /* @__PURE__ */ H(pn, {
2791
+ /* @__PURE__ */ H(Tn, {
2573
2792
  isMuted: i,
2574
2793
  isOnHold: a,
2575
2794
  onMute: c,
@@ -2586,7 +2805,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2586
2805
  size: "sm",
2587
2806
  onClick: h,
2588
2807
  "aria-label": "End call",
2589
- children: [/* @__PURE__ */ H(ie, {
2808
+ children: [/* @__PURE__ */ H(oe, {
2590
2809
  size: 13,
2591
2810
  style: { marginRight: 4 }
2592
2811
  }), "End"]
@@ -2639,7 +2858,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2639
2858
  gap: 8
2640
2859
  },
2641
2860
  children: [/* @__PURE__ */ H(J, {
2642
- variant: Nn[e] || "secondary",
2861
+ variant: Gn[e] || "secondary",
2643
2862
  children: w
2644
2863
  }), (e === "connected" || e === "on_hold") && /* @__PURE__ */ H("span", {
2645
2864
  style: {
@@ -2700,7 +2919,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2700
2919
  flexShrink: 0
2701
2920
  },
2702
2921
  children: [
2703
- O.map((e) => /* @__PURE__ */ H(jn, {
2922
+ O.map((e) => /* @__PURE__ */ H(Un, {
2704
2923
  name: e.name,
2705
2924
  initials: e.initials,
2706
2925
  avatarUrl: e.avatarUrl,
@@ -2717,7 +2936,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2717
2936
  },
2718
2937
  children: ["+", k]
2719
2938
  }),
2720
- /* @__PURE__ */ H(pn, {
2939
+ /* @__PURE__ */ H(Tn, {
2721
2940
  isMuted: i,
2722
2941
  isOnHold: a,
2723
2942
  onMute: c,
@@ -2734,7 +2953,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2734
2953
  size: "sm",
2735
2954
  onClick: h,
2736
2955
  "aria-label": "End call",
2737
- children: [/* @__PURE__ */ H(ie, {
2956
+ children: [/* @__PURE__ */ H(oe, {
2738
2957
  size: 14,
2739
2958
  style: { marginRight: 6 }
2740
2959
  }), "End call"]
@@ -2744,7 +2963,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2744
2963
  className: "btn btn-ghost btn-icon btn-sm",
2745
2964
  onClick: A,
2746
2965
  "aria-label": "Minimize callbar",
2747
- children: /* @__PURE__ */ H(x, { size: 14 })
2966
+ children: /* @__PURE__ */ H(S, { size: 14 })
2748
2967
  })
2749
2968
  ]
2750
2969
  })
@@ -2763,7 +2982,7 @@ function In({ state: e = "connected", caller: t = {}, ticket: n = null, duration
2763
2982
  }
2764
2983
  //#endregion
2765
2984
  //#region src/components/ui/CallCard.jsx
2766
- var Ln = {
2985
+ var Yn = {
2767
2986
  client: {
2768
2987
  accent: "var(--accent-green)",
2769
2988
  variant: "success"
@@ -2781,17 +3000,17 @@ var Ln = {
2781
3000
  variant: "warning"
2782
3001
  }
2783
3002
  };
2784
- function Rn(e) {
3003
+ function Xn(e) {
2785
3004
  return e ? Math.max(0, Math.floor((Date.now() - new Date(e).getTime()) / 1e3)) : 0;
2786
3005
  }
2787
- function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType: r = "unknown", avatarUrl: i, ticket: a = null, ticketCandidates: s = [], projectRef: c = null, transferContext: l = null, ringStartedAt: u, onAccept: f, onDecline: p, onSendToVoicemail: m, onPromote: h, className: g = "" }) {
2788
- let [_, v] = d(() => Rn(u)), [y, b] = d(s[0]?.id || "none");
3006
+ function Zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType: r = "unknown", avatarUrl: i, ticket: a = null, ticketCandidates: s = [], projectRef: c = null, transferContext: l = null, ringStartedAt: u, onAccept: f, onDecline: p, onSendToVoicemail: m, onPromote: h, className: g = "" }) {
3007
+ let [_, v] = d(() => Xn(u)), [y, b] = d(s[0]?.id || "none");
2789
3008
  o(() => {
2790
3009
  if (!u) return;
2791
- let e = setInterval(() => v(Rn(u)), 1e3);
3010
+ let e = setInterval(() => v(Xn(u)), 1e3);
2792
3011
  return () => clearInterval(e);
2793
3012
  }, [u]);
2794
- let x = Ln[r] || Ln.unknown;
3013
+ let x = Yn[r] || Yn.unknown;
2795
3014
  return e === "mini" ? /* @__PURE__ */ U("div", {
2796
3015
  role: "button",
2797
3016
  tabIndex: 0,
@@ -2846,14 +3065,14 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
2846
3065
  variant: x.variant,
2847
3066
  showDot: !1,
2848
3067
  className: "badge--no-dot",
2849
- children: xn(r)
3068
+ children: Nn(r)
2850
3069
  })]
2851
3070
  }), /* @__PURE__ */ U("div", {
2852
3071
  style: {
2853
3072
  fontSize: "var(--text-xs)",
2854
3073
  color: "var(--text-tertiary)"
2855
3074
  },
2856
- children: ["Ringing · ", mn(_)]
3075
+ children: ["Ringing · ", En(_)]
2857
3076
  })]
2858
3077
  }),
2859
3078
  /* @__PURE__ */ H("button", {
@@ -2861,7 +3080,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
2861
3080
  className: "btn btn-ghost btn-icon btn-sm",
2862
3081
  onClick: () => f?.(),
2863
3082
  "aria-label": "Accept",
2864
- children: /* @__PURE__ */ H(ee, {
3083
+ children: /* @__PURE__ */ H(ne, {
2865
3084
  size: 16,
2866
3085
  style: { color: "var(--accent-green)" }
2867
3086
  })
@@ -2871,7 +3090,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
2871
3090
  className: "btn btn-ghost btn-icon btn-sm",
2872
3091
  onClick: p,
2873
3092
  "aria-label": "Decline",
2874
- children: /* @__PURE__ */ H(ie, { size: 16 })
3093
+ children: /* @__PURE__ */ H(oe, { size: 16 })
2875
3094
  })
2876
3095
  ]
2877
3096
  }) : /* @__PURE__ */ U("div", {
@@ -2954,7 +3173,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
2954
3173
  variant: x.variant,
2955
3174
  showDot: !1,
2956
3175
  className: "badge--no-dot",
2957
- children: xn(r)
3176
+ children: Nn(r)
2958
3177
  })]
2959
3178
  }), /* @__PURE__ */ H("div", {
2960
3179
  style: {
@@ -2975,7 +3194,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
2975
3194
  children: [/* @__PURE__ */ H("span", {
2976
3195
  style: { marginRight: 4 },
2977
3196
  children: "•"
2978
- }), mn(_)]
3197
+ }), En(_)]
2979
3198
  })]
2980
3199
  }), /* @__PURE__ */ H("div", {
2981
3200
  style: {
@@ -3086,7 +3305,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
3086
3305
  size: "sm",
3087
3306
  onClick: m,
3088
3307
  "aria-label": "Send to voicemail",
3089
- children: /* @__PURE__ */ H(fe, { size: 14 })
3308
+ children: /* @__PURE__ */ H(me, { size: 14 })
3090
3309
  }),
3091
3310
  /* @__PURE__ */ H(Y, {
3092
3311
  type: "button",
@@ -3103,7 +3322,7 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
3103
3322
  !a && s.length > 0 ? y === "none" ? f?.("none") : y === "new" ? f?.("new") : f?.(y) : f?.();
3104
3323
  },
3105
3324
  style: { fontWeight: 600 },
3106
- children: [/* @__PURE__ */ H(ee, {
3325
+ children: [/* @__PURE__ */ H(ne, {
3107
3326
  size: 14,
3108
3327
  style: { marginRight: 6 }
3109
3328
  }), "Accept"]
@@ -3115,35 +3334,35 @@ function zn({ variant: e = "primary", callerName: t, callerNumber: n, callerType
3115
3334
  }
3116
3335
  //#endregion
3117
3336
  //#region src/components/ui/QueueItem.jsx
3118
- var Bn = {
3337
+ var Qn = {
3119
3338
  ringing: {
3120
- icon: ne,
3339
+ icon: ie,
3121
3340
  color: "var(--accent-red)",
3122
3341
  label: "Ringing"
3123
3342
  },
3124
3343
  voicemail: {
3125
- icon: fe,
3344
+ icon: me,
3126
3345
  color: "var(--accent-yellow)",
3127
3346
  label: "Voicemail"
3128
3347
  },
3129
3348
  callback: {
3130
- icon: te,
3349
+ icon: re,
3131
3350
  color: "var(--accent-blue)",
3132
3351
  label: "Callback"
3133
3352
  },
3134
3353
  missed: {
3135
- icon: re,
3354
+ icon: ae,
3136
3355
  color: "var(--text-tertiary)",
3137
3356
  label: "Missed"
3138
3357
  }
3139
- }, Vn = {
3358
+ }, $n = {
3140
3359
  client: "success",
3141
3360
  building_department: "info",
3142
3361
  staff: "purple",
3143
3362
  unknown: "warning"
3144
3363
  };
3145
- function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadlineAt: i = null, voicemailDurationSec: a, assignedTo: o = null, actions: s = [], onAction: c, onClick: l, className: u = "" }) {
3146
- let d = Bn[e] || Bn.ringing, f = d.icon, p = s.slice(0, 2), m = s.slice(2), h = i ? _n(i) : "none", g = h === "urgent" ? "var(--accent-red)" : h === "warning" ? "var(--accent-yellow)" : "var(--text-secondary)";
3364
+ function er({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadlineAt: i = null, voicemailDurationSec: a, assignedTo: o = null, actions: s = [], onAction: c, onClick: l, className: u = "" }) {
3365
+ let d = Qn[e] || Qn.ringing, f = d.icon, p = s.slice(0, 2), m = s.slice(2), h = i ? kn(i) : "none", g = h === "urgent" ? "var(--accent-red)" : h === "warning" ? "var(--accent-yellow)" : "var(--text-secondary)";
3147
3366
  return /* @__PURE__ */ U("div", {
3148
3367
  role: "button",
3149
3368
  tabIndex: 0,
@@ -3194,10 +3413,10 @@ function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadl
3194
3413
  children: t.name
3195
3414
  }),
3196
3415
  /* @__PURE__ */ H(J, {
3197
- variant: Vn[t.type] || "warning",
3416
+ variant: $n[t.type] || "warning",
3198
3417
  showDot: !1,
3199
3418
  className: "badge--no-dot",
3200
- children: xn(t.type)
3419
+ children: Nn(t.type)
3201
3420
  }),
3202
3421
  n && /* @__PURE__ */ H(Z, {
3203
3422
  ticket: n,
@@ -3225,8 +3444,8 @@ function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadl
3225
3444
  children: d.label
3226
3445
  }),
3227
3446
  /* @__PURE__ */ H("span", { children: "·" }),
3228
- e === "voicemail" && a != null && /* @__PURE__ */ U(pe, { children: [/* @__PURE__ */ H("span", { children: mn(a) }), /* @__PURE__ */ H("span", { children: "·" })] }),
3229
- r && /* @__PURE__ */ H("span", { children: gn(r) }),
3447
+ e === "voicemail" && a != null && /* @__PURE__ */ U(he, { children: [/* @__PURE__ */ H("span", { children: En(a) }), /* @__PURE__ */ H("span", { children: "·" })] }),
3448
+ r && /* @__PURE__ */ H("span", { children: On(r) }),
3230
3449
  i && /* @__PURE__ */ U("span", {
3231
3450
  style: {
3232
3451
  color: g,
@@ -3234,12 +3453,12 @@ function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadl
3234
3453
  fontVariantNumeric: "tabular-nums",
3235
3454
  fontWeight: 600
3236
3455
  },
3237
- children: ["SLA ", hn(i)]
3456
+ children: ["SLA ", Dn(i)]
3238
3457
  })
3239
3458
  ]
3240
3459
  })]
3241
3460
  }),
3242
- o && /* @__PURE__ */ H(jn, {
3461
+ o && /* @__PURE__ */ H(Un, {
3243
3462
  name: o.name,
3244
3463
  initials: o.initials,
3245
3464
  avatarUrl: null,
@@ -3261,15 +3480,15 @@ function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadl
3261
3480
  title: e.label,
3262
3481
  onClick: () => c?.(e.key),
3263
3482
  children: e.icon
3264
- }, e.key)), m.length > 0 && /* @__PURE__ */ H(Bt, {
3483
+ }, e.key)), m.length > 0 && /* @__PURE__ */ H(Qt, {
3265
3484
  align: "right",
3266
3485
  trigger: /* @__PURE__ */ H("button", {
3267
3486
  type: "button",
3268
3487
  className: "btn btn-ghost btn-icon btn-sm",
3269
3488
  "aria-label": "More actions",
3270
- children: /* @__PURE__ */ H(R, { size: 16 })
3489
+ children: /* @__PURE__ */ H(ee, { size: 16 })
3271
3490
  }),
3272
- children: m.map((e) => /* @__PURE__ */ H(Vt, {
3491
+ children: m.map((e) => /* @__PURE__ */ H($t, {
3273
3492
  onClick: () => c?.(e.key),
3274
3493
  children: e.label
3275
3494
  }, e.key))
@@ -3280,7 +3499,7 @@ function Hn({ kind: e, caller: t = {}, ticket: n = null, ago: r = null, slaDeadl
3280
3499
  }
3281
3500
  //#endregion
3282
3501
  //#region src/components/data/ActivityFeed.jsx
3283
- function Un({ items: e = [], className: t = "" }) {
3502
+ function tr({ items: e = [], className: t = "" }) {
3284
3503
  return /* @__PURE__ */ H("div", {
3285
3504
  className: `activity-feed ${t}`,
3286
3505
  children: e.map((e, t) => /* @__PURE__ */ U("div", {
@@ -3319,7 +3538,7 @@ function Un({ items: e = [], className: t = "" }) {
3319
3538
  }
3320
3539
  //#endregion
3321
3540
  //#region src/components/data/CommandBar.jsx
3322
- function Wn({ open: e, onClose: t, groups: n = [], onSelect: r, placeholder: i = "Type a command or search..." }) {
3541
+ function nr({ open: e, onClose: t, groups: n = [], onSelect: r, placeholder: i = "Type a command or search..." }) {
3323
3542
  let [a, s] = d(""), [c, l] = d(0), f = u(null);
3324
3543
  if (o(() => {
3325
3544
  if (e) {
@@ -3403,7 +3622,7 @@ function Wn({ open: e, onClose: t, groups: n = [], onSelect: r, placeholder: i =
3403
3622
  }
3404
3623
  //#endregion
3405
3624
  //#region src/components/data/DataTable.jsx
3406
- function Gn({ columns: e, data: t, onRowClick: n, className: r = "" }) {
3625
+ function rr({ columns: e, data: t, onRowClick: n, className: r = "" }) {
3407
3626
  let [i, a] = d(null), [o, s] = d("asc");
3408
3627
  function c(e) {
3409
3628
  i === e ? s((e) => e === "asc" ? "desc" : "asc") : (a(e), s("asc"));
@@ -3424,7 +3643,7 @@ function Gn({ columns: e, data: t, onRowClick: n, className: r = "" }) {
3424
3643
  className: "th-content",
3425
3644
  children: [e.label, e.sortable !== !1 && /* @__PURE__ */ H("span", {
3426
3645
  className: "th-sort-icon",
3427
- children: i === e.key ? H(o === "asc" ? x : y, { size: 12 }) : /* @__PURE__ */ H(S, { size: 12 })
3646
+ children: i === e.key ? H(o === "asc" ? S : y, { size: 12 }) : /* @__PURE__ */ H(C, { size: 12 })
3428
3647
  })]
3429
3648
  })
3430
3649
  }, e.key)) }) }), /* @__PURE__ */ U("tbody", { children: [l.map((t, r) => /* @__PURE__ */ H("tr", {
@@ -3444,7 +3663,7 @@ function Gn({ columns: e, data: t, onRowClick: n, className: r = "" }) {
3444
3663
  }
3445
3664
  //#endregion
3446
3665
  //#region src/components/data/FilterBar.jsx
3447
- function Kn({ searchValue: e = "", onSearchChange: t, filters: n = [], onClearAll: r, children: i, className: a = "" }) {
3666
+ function ir({ searchValue: e = "", onSearchChange: t, filters: n = [], onClearAll: r, children: i, className: a = "" }) {
3448
3667
  let o = n.some((e) => e.active);
3449
3668
  return /* @__PURE__ */ U("div", {
3450
3669
  className: `filter-bar ${a}`,
@@ -3469,7 +3688,7 @@ function Kn({ searchValue: e = "", onSearchChange: t, filters: n = [], onClearAl
3469
3688
  /* @__PURE__ */ U("div", {
3470
3689
  className: "filter-bar-filters",
3471
3690
  children: [
3472
- /* @__PURE__ */ H(T, {
3691
+ /* @__PURE__ */ H(E, {
3473
3692
  size: 14,
3474
3693
  style: { color: "var(--text-tertiary)" }
3475
3694
  }),
@@ -3497,14 +3716,14 @@ function Kn({ searchValue: e = "", onSearchChange: t, filters: n = [], onClearAl
3497
3716
  function Q(...e) {
3498
3717
  return e.filter(Boolean).join(" ");
3499
3718
  }
3500
- function qn({ children: e, className: t = "", style: n }) {
3719
+ function ar({ children: e, className: t = "", style: n }) {
3501
3720
  return /* @__PURE__ */ H("div", {
3502
3721
  className: Q("kanban-board", t),
3503
3722
  style: n,
3504
3723
  children: e
3505
3724
  });
3506
3725
  }
3507
- function Jn({ title: e, count: t, color: n, headerAction: r = null, countVariant: i = "pill", children: a, className: o = "", style: s, headerClassName: c = "", headerStyle: l, countClassName: u = "", bodyClassName: d = "", bodyStyle: f }) {
3726
+ function or({ title: e, count: t, color: n, headerAction: r = null, countVariant: i = "pill", children: a, className: o = "", style: s, headerClassName: c = "", headerStyle: l, countClassName: u = "", bodyClassName: d = "", bodyStyle: f }) {
3508
3727
  return /* @__PURE__ */ U("div", {
3509
3728
  className: Q("kanban-column", o),
3510
3729
  style: s,
@@ -3542,13 +3761,13 @@ function Jn({ title: e, count: t, color: n, headerAction: r = null, countVariant
3542
3761
  })]
3543
3762
  });
3544
3763
  }
3545
- function Yn({ title: e, subtitle: t, badges: n, avatar: r, footer: i, footerEnd: a, children: o, onClick: s, className: c = "", style: l }) {
3764
+ function sr({ title: e, subtitle: t, badges: n, avatar: r, footer: i, footerEnd: a, children: o, onClick: s, className: c = "", style: l }) {
3546
3765
  let u = a ?? r;
3547
3766
  return /* @__PURE__ */ H("div", {
3548
3767
  className: Q("kanban-card", c),
3549
3768
  onClick: s,
3550
3769
  style: l,
3551
- children: o || /* @__PURE__ */ U(pe, { children: [/* @__PURE__ */ U("div", {
3770
+ children: o || /* @__PURE__ */ U(he, { children: [/* @__PURE__ */ U("div", {
3552
3771
  className: "kanban-card-body",
3553
3772
  children: [
3554
3773
  e && /* @__PURE__ */ H("div", {
@@ -3578,13 +3797,13 @@ function Yn({ title: e, subtitle: t, badges: n, avatar: r, footer: i, footerEnd:
3578
3797
  function $(...e) {
3579
3798
  return e.filter(Boolean).join(" ");
3580
3799
  }
3581
- function Xn({ children: e, className: t = "" }) {
3800
+ function cr({ children: e, className: t = "" }) {
3582
3801
  return /* @__PURE__ */ H("div", {
3583
3802
  className: $("table-board", t),
3584
3803
  children: e
3585
3804
  });
3586
3805
  }
3587
- function Zn({ title: e, count: t, accentColor: n, open: r, defaultOpen: i = !0, onOpenChange: a, children: o, className: s = "" }) {
3806
+ function lr({ title: e, count: t, accentColor: n, open: r, defaultOpen: i = !0, onOpenChange: a, children: o, className: s = "" }) {
3588
3807
  let [c, l] = d(i), u = r != null, f = u ? r : c;
3589
3808
  function p() {
3590
3809
  let e = !f;
@@ -3621,7 +3840,7 @@ function Zn({ title: e, count: t, accentColor: n, open: r, defaultOpen: i = !0,
3621
3840
  })]
3622
3841
  });
3623
3842
  }
3624
- function Qn({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title: i, subtitle: a, subtitleInline: s = !1, pills: c = [], maxVisibleLeadingPills: l, pinnedTrailingPillsCount: f = 0, metric: m, metricTone: h = "default", metricIcon: g, showMetricIcon: _ = !0, avatar: v, avatarImageUrl: y, avatarLabel: b, avatarName: x, avatarStyle: S, meta: w, onClick: T, className: E = "" }) {
3843
+ function ur({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title: i, subtitle: a, subtitleInline: s = !1, pills: c = [], maxVisibleLeadingPills: l, pinnedTrailingPillsCount: f = 0, metric: m, metricTone: h = "default", metricIcon: g, showMetricIcon: _ = !0, avatar: v, avatarImageUrl: y, avatarLabel: b, avatarName: x, avatarStyle: S, meta: C, onClick: T, className: E = "" }) {
3625
3844
  let D = typeof T == "function", O = u(null), [k, A] = d(!1), j = Array.isArray(c) ? c : [], M = Math.max(0, Math.min(f, j.length)), N = M > 0 ? j.slice(0, -M) : j, P = M > 0 ? j.slice(-M) : [], F = typeof l == "number" && l >= 0 ? N.slice(0, l) : N, I = Math.max(0, N.length - F.length), L = [
3626
3845
  ...F,
3627
3846
  ...I > 0 ? [{
@@ -3633,7 +3852,7 @@ function Qn({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title
3633
3852
  function R(e) {
3634
3853
  D && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), T());
3635
3854
  }
3636
- let z = x || w || b, ee = S || (y ? void 0 : { background: "var(--accent-blue)" }), te = g || (h === "warning" ? p : C), ne = v || (y || b || z ? /* @__PURE__ */ H(q, {
3855
+ let z = x || C || b, ee = S || (y ? void 0 : { background: "var(--accent-blue)" }), te = g || (h === "warning" ? p : w), ne = v || (y || b || z ? /* @__PURE__ */ H(q, {
3637
3856
  imageUrl: y,
3638
3857
  initials: b,
3639
3858
  name: z,
@@ -3710,7 +3929,7 @@ function Qn({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title
3710
3929
  m != null && (r(m) ? m : /* @__PURE__ */ H(J, {
3711
3930
  className: "table-board-metric",
3712
3931
  showDot: !1,
3713
- children: /* @__PURE__ */ H(Xt, {
3932
+ children: /* @__PURE__ */ H(ln, {
3714
3933
  tone: h,
3715
3934
  icon: te,
3716
3935
  showIcon: _,
@@ -3718,21 +3937,21 @@ function Qn({ priority: e, id: t, statusColor: n = "var(--accent-yellow)", title
3718
3937
  })
3719
3938
  })),
3720
3939
  ne,
3721
- w && /* @__PURE__ */ H("span", {
3940
+ C && /* @__PURE__ */ H("span", {
3722
3941
  className: "table-board-meta",
3723
- children: w
3942
+ children: C
3724
3943
  })
3725
3944
  ]
3726
3945
  });
3727
3946
  }
3728
3947
  //#endregion
3729
3948
  //#region src/components/data/KPICard.jsx
3730
- function $n({ title: e, value: t, change: n, changeLabel: r, trend: i = "neutral", icon: a, className: o = "" }) {
3949
+ function dr({ title: e, value: t, change: n, changeLabel: r, trend: i = "neutral", icon: a, className: o = "" }) {
3731
3950
  let s = {
3732
3951
  up: "var(--accent-green)",
3733
3952
  down: "var(--accent-red)",
3734
3953
  neutral: "var(--text-tertiary)"
3735
- }, c = i === "up" ? ue : i === "down" ? le : I;
3954
+ }, c = i === "up" ? fe : i === "down" ? de : R;
3736
3955
  return /* @__PURE__ */ U("div", {
3737
3956
  className: `kpi-card ${o}`,
3738
3957
  children: [
@@ -3768,7 +3987,7 @@ function $n({ title: e, value: t, change: n, changeLabel: r, trend: i = "neutral
3768
3987
  ]
3769
3988
  });
3770
3989
  }
3771
- function er({ label: e, value: t, subtitle: n, color: r, className: i = "" }) {
3990
+ function fr({ label: e, value: t, subtitle: n, color: r, className: i = "" }) {
3772
3991
  return /* @__PURE__ */ U("div", {
3773
3992
  className: `stat-card ${i}`,
3774
3993
  children: [r && /* @__PURE__ */ H("div", {
@@ -3795,7 +4014,7 @@ function er({ label: e, value: t, subtitle: n, color: r, className: i = "" }) {
3795
4014
  }
3796
4015
  //#endregion
3797
4016
  //#region src/components/data/NotificationsPanel.jsx
3798
- function tr({ notifications: e = [], onMarkRead: t, onMarkAllRead: n, className: r = "" }) {
4017
+ function pr({ notifications: e = [], onMarkRead: t, onMarkAllRead: n, className: r = "" }) {
3799
4018
  let i = e.filter((e) => !e.read);
3800
4019
  return /* @__PURE__ */ U("div", {
3801
4020
  className: `notifications-panel ${r}`,
@@ -3852,7 +4071,7 @@ function tr({ notifications: e = [], onMarkRead: t, onMarkAllRead: n, className:
3852
4071
  }
3853
4072
  //#endregion
3854
4073
  //#region src/components/Icons.jsx
3855
- function nr() {
4074
+ function mr() {
3856
4075
  return /* @__PURE__ */ H("svg", {
3857
4076
  width: "16",
3858
4077
  height: "16",
@@ -3861,7 +4080,7 @@ function nr() {
3861
4080
  children: /* @__PURE__ */ H("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" })
3862
4081
  });
3863
4082
  }
3864
- function rr() {
4083
+ function hr() {
3865
4084
  return /* @__PURE__ */ U("svg", {
3866
4085
  width: "16",
3867
4086
  height: "16",
@@ -3881,7 +4100,7 @@ function rr() {
3881
4100
  })]
3882
4101
  });
3883
4102
  }
3884
- function ir() {
4103
+ function gr() {
3885
4104
  return /* @__PURE__ */ H("svg", {
3886
4105
  width: "16",
3887
4106
  height: "16",
@@ -3890,7 +4109,7 @@ function ir() {
3890
4109
  children: /* @__PURE__ */ H("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" })
3891
4110
  });
3892
4111
  }
3893
- function ar() {
4112
+ function _r() {
3894
4113
  return /* @__PURE__ */ H("svg", {
3895
4114
  width: "16",
3896
4115
  height: "16",
@@ -3903,7 +4122,7 @@ function ar() {
3903
4122
  children: /* @__PURE__ */ H("path", { d: "M1 8h3l2-5 2 10 2-5h3" })
3904
4123
  });
3905
4124
  }
3906
- function or() {
4125
+ function vr() {
3907
4126
  return /* @__PURE__ */ H("svg", {
3908
4127
  width: "16",
3909
4128
  height: "16",
@@ -3912,7 +4131,7 @@ function or() {
3912
4131
  children: /* @__PURE__ */ H("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" })
3913
4132
  });
3914
4133
  }
3915
- function sr() {
4134
+ function yr() {
3916
4135
  return /* @__PURE__ */ H("svg", {
3917
4136
  width: "16",
3918
4137
  height: "16",
@@ -3921,7 +4140,7 @@ function sr() {
3921
4140
  children: /* @__PURE__ */ H("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" })
3922
4141
  });
3923
4142
  }
3924
- function cr() {
4143
+ function br() {
3925
4144
  return /* @__PURE__ */ U("svg", {
3926
4145
  width: "16",
3927
4146
  height: "16",
@@ -3946,7 +4165,7 @@ function cr() {
3946
4165
  ]
3947
4166
  });
3948
4167
  }
3949
- function lr() {
4168
+ function xr() {
3950
4169
  return /* @__PURE__ */ U("svg", {
3951
4170
  width: "16",
3952
4171
  height: "16",
@@ -3964,7 +4183,7 @@ function lr() {
3964
4183
  })]
3965
4184
  });
3966
4185
  }
3967
- function ur() {
4186
+ function Sr() {
3968
4187
  return /* @__PURE__ */ H("svg", {
3969
4188
  width: "16",
3970
4189
  height: "16",
@@ -3977,7 +4196,7 @@ function ur() {
3977
4196
  children: /* @__PURE__ */ H("path", { d: "M11 2l3 3-8 8H3v-3l8-8Z" })
3978
4197
  });
3979
4198
  }
3980
- function dr() {
4199
+ function Cr() {
3981
4200
  return /* @__PURE__ */ H("svg", {
3982
4201
  width: "14",
3983
4202
  height: "14",
@@ -3990,7 +4209,7 @@ function dr() {
3990
4209
  children: /* @__PURE__ */ H("path", { d: "M3.5 5.5L7 9l3.5-3.5" })
3991
4210
  });
3992
4211
  }
3993
- function fr() {
4212
+ function wr() {
3994
4213
  return /* @__PURE__ */ H("svg", {
3995
4214
  width: "14",
3996
4215
  height: "14",
@@ -4003,7 +4222,7 @@ function fr() {
4003
4222
  children: /* @__PURE__ */ H("path", { d: "M3.5 9L7 5.5 10.5 9" })
4004
4223
  });
4005
4224
  }
4006
- function pr() {
4225
+ function Tr() {
4007
4226
  return /* @__PURE__ */ H("svg", {
4008
4227
  width: "14",
4009
4228
  height: "14",
@@ -4012,7 +4231,7 @@ function pr() {
4012
4231
  children: /* @__PURE__ */ H("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" })
4013
4232
  });
4014
4233
  }
4015
- function mr() {
4234
+ function Er() {
4016
4235
  return /* @__PURE__ */ U("svg", {
4017
4236
  width: "14",
4018
4237
  height: "14",
@@ -4033,7 +4252,7 @@ function mr() {
4033
4252
  })]
4034
4253
  });
4035
4254
  }
4036
- function hr() {
4255
+ function Dr() {
4037
4256
  return /* @__PURE__ */ U("svg", {
4038
4257
  width: "14",
4039
4258
  height: "14",
@@ -4053,7 +4272,7 @@ function hr() {
4053
4272
  })]
4054
4273
  });
4055
4274
  }
4056
- function gr() {
4275
+ function Or() {
4057
4276
  return /* @__PURE__ */ H("svg", {
4058
4277
  width: "14",
4059
4278
  height: "14",
@@ -4068,7 +4287,7 @@ function gr() {
4068
4287
  })
4069
4288
  });
4070
4289
  }
4071
- function _r() {
4290
+ function kr() {
4072
4291
  return /* @__PURE__ */ H("svg", {
4073
4292
  width: "14",
4074
4293
  height: "14",
@@ -4084,7 +4303,7 @@ function _r() {
4084
4303
  })
4085
4304
  });
4086
4305
  }
4087
- function vr() {
4306
+ function Ar() {
4088
4307
  return /* @__PURE__ */ U("svg", {
4089
4308
  width: "14",
4090
4309
  height: "14",
@@ -4104,7 +4323,7 @@ function vr() {
4104
4323
  })]
4105
4324
  });
4106
4325
  }
4107
- function yr() {
4326
+ function jr() {
4108
4327
  return /* @__PURE__ */ H("svg", {
4109
4328
  width: "14",
4110
4329
  height: "14",
@@ -4113,7 +4332,7 @@ function yr() {
4113
4332
  children: /* @__PURE__ */ H("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" })
4114
4333
  });
4115
4334
  }
4116
- function br() {
4335
+ function Mr() {
4117
4336
  return /* @__PURE__ */ U("svg", {
4118
4337
  width: "14",
4119
4338
  height: "14",
@@ -4144,7 +4363,7 @@ function br() {
4144
4363
  ]
4145
4364
  });
4146
4365
  }
4147
- function xr() {
4366
+ function Nr() {
4148
4367
  return /* @__PURE__ */ U("svg", {
4149
4368
  width: "14",
4150
4369
  height: "14",
@@ -4177,7 +4396,7 @@ function xr() {
4177
4396
  ]
4178
4397
  });
4179
4398
  }
4180
- function Sr() {
4399
+ function Pr() {
4181
4400
  return /* @__PURE__ */ U("svg", {
4182
4401
  width: "14",
4183
4402
  height: "14",
@@ -4210,7 +4429,7 @@ function Sr() {
4210
4429
  ]
4211
4430
  });
4212
4431
  }
4213
- function Cr() {
4432
+ function Fr() {
4214
4433
  return /* @__PURE__ */ H("svg", {
4215
4434
  width: "14",
4216
4435
  height: "14",
@@ -4222,7 +4441,7 @@ function Cr() {
4222
4441
  children: /* @__PURE__ */ H("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" })
4223
4442
  });
4224
4443
  }
4225
- function wr() {
4444
+ function Ir() {
4226
4445
  return /* @__PURE__ */ H("svg", {
4227
4446
  width: "14",
4228
4447
  height: "14",
@@ -4235,7 +4454,7 @@ function wr() {
4235
4454
  children: /* @__PURE__ */ H("path", { d: "M2.5 4h9M5 4V2.5h4V4m-4.5 1v5.5m3-5.5v5.5M3.5 4l.5 8h6l.5-8" })
4236
4455
  });
4237
4456
  }
4238
- function Tr() {
4457
+ function Lr() {
4239
4458
  return /* @__PURE__ */ U("svg", {
4240
4459
  width: "14",
4241
4460
  height: "14",
@@ -4252,7 +4471,7 @@ function Tr() {
4252
4471
  })]
4253
4472
  });
4254
4473
  }
4255
- function Er() {
4474
+ function Rr() {
4256
4475
  return /* @__PURE__ */ H("svg", {
4257
4476
  width: "14",
4258
4477
  height: "14",
@@ -4264,7 +4483,7 @@ function Er() {
4264
4483
  children: /* @__PURE__ */ H("path", { d: "M3.5 3.5l7 7M10.5 3.5l-7 7" })
4265
4484
  });
4266
4485
  }
4267
- function Dr() {
4486
+ function zr() {
4268
4487
  return /* @__PURE__ */ H("svg", {
4269
4488
  width: "14",
4270
4489
  height: "14",
@@ -4277,7 +4496,7 @@ function Dr() {
4277
4496
  children: /* @__PURE__ */ H("path", { d: "M3 7.5l3 3 5-6" })
4278
4497
  });
4279
4498
  }
4280
- function Or() {
4499
+ function Br() {
4281
4500
  return /* @__PURE__ */ U("svg", {
4282
4501
  width: "14",
4283
4502
  height: "14",
@@ -4296,7 +4515,7 @@ function Or() {
4296
4515
  }), /* @__PURE__ */ H("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" })]
4297
4516
  });
4298
4517
  }
4299
- function kr() {
4518
+ function Vr() {
4300
4519
  return /* @__PURE__ */ H("svg", {
4301
4520
  width: "14",
4302
4521
  height: "14",
@@ -4309,7 +4528,7 @@ function kr() {
4309
4528
  children: /* @__PURE__ */ H("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" })
4310
4529
  });
4311
4530
  }
4312
- function Ar() {
4531
+ function Hr() {
4313
4532
  return /* @__PURE__ */ U("svg", {
4314
4533
  width: "14",
4315
4534
  height: "14",
@@ -4328,7 +4547,7 @@ function Ar() {
4328
4547
  }), /* @__PURE__ */ H("path", { d: "M4.5 1v2.5M9.5 1v2.5M1.5 5.5h11" })]
4329
4548
  });
4330
4549
  }
4331
- function jr() {
4550
+ function Ur() {
4332
4551
  return /* @__PURE__ */ H("svg", {
4333
4552
  width: "14",
4334
4553
  height: "14",
@@ -4341,7 +4560,7 @@ function jr() {
4341
4560
  children: /* @__PURE__ */ H("path", { d: "M1.5 3h11M3.5 7h7M5.5 11h3" })
4342
4561
  });
4343
4562
  }
4344
- function Mr() {
4563
+ function Wr() {
4345
4564
  return /* @__PURE__ */ U("svg", {
4346
4565
  width: "14",
4347
4566
  height: "14",
@@ -4359,7 +4578,7 @@ function Mr() {
4359
4578
  })]
4360
4579
  });
4361
4580
  }
4362
- function Nr() {
4581
+ function Gr() {
4363
4582
  return /* @__PURE__ */ U("svg", {
4364
4583
  width: "14",
4365
4584
  height: "14",
@@ -4378,4 +4597,4 @@ function Nr() {
4378
4597
  });
4379
4598
  }
4380
4599
  //#endregion
4381
- export { vt as Accordion, _t as AccordionItem, Un as ActivityFeed, at as AppLoader, q as Avatar, J as Badge, kr as BellIcon, Y as Button, Ar as CalendarIcon, zn as CallCard, pn as CallControlsBar, In as Callbar, Et as Card, At as CardContent, kt as CardDescription, jt as CardFooter, Dt as CardHeader, Ot as CardTitle, Dr as CheckIcon, dr as ChevronDown, fr as ChevronUp, Er as CloseIcon, Wn as CommandBar, Or as CopyIcon, on as DEFAULT_ICON_BY_VALUE, sn as DEFAULT_VIEW_MODE_OPTIONS, Gn as DataTable, Nt as Dialog, Lt as DialogBody, It as DialogDescription, Rt as DialogFooter, Pt as DialogHeader, Ft as DialogTitle, Bt as DropdownMenu, Ht as DropdownMenuCheckboxItem, Vt as DropdownMenuItem, Ut as DropdownMenuLabel, Wt as DropdownMenuSeparator, ur as EditIcon, nt as FCCAppShell, Ee as FCCAppShellContext, rt as FCCBrandLogo, Ue as FCCBreadcrumbs, Te as FCCDesignProvider, ct as FCCDetailsPanel, ut as FCCFullPagePanel, pt as FCCFullPagePanelBody, gt as FCCFullPagePanelFooter, dt as FCCFullPagePanelHeader, mt as FCCFullPagePanelMain, ht as FCCFullPagePanelSidebar, ft as FCCFullPagePanelToolbar, Ge as FCCHeaderStatus, st as FCCLoader, qe as FCCMainWindow, ke as FCCSidePanel, Re as FCCSidePanelAction, je as FCCSidePanelBody, Ie as FCCSidePanelCard, ze as FCCSidePanelChatWrap, Le as FCCSidePanelContact, Be as FCCSidePanelConversation, Pe as FCCSidePanelGroupLabel, Ae as FCCSidePanelHeader, Fe as FCCSidePanelItem, Ve as FCCSidePanelMessage, Ne as FCCSidePanelSearch, Me as FCCSidePanelTabs, Ze as FCCSidebar, it as FCCThemeToggle, Ke as FCCWorkspaceHeader, Kn as FilterBar, jr as FilterIcon, nr as InboxIcon, or as InitiativesIcon, zt as Input, rr as IssuesIcon, $n as KPICard, qn as KanbanBoard, Yn as KanbanCard, Jn as KanbanColumn, Nr as LabelIcon, Cr as LinkIcon, cr as MoreIcon, tr as NotificationsPanel, jn as PresenceAvatar, kn as PresenceDot, br as PriorityHigh, Sr as PriorityLow, xr as PriorityMedium, yr as PriorityUrgent, sr as ProjectsIcon, ar as PulseIcon, Hn as QueueItem, ir as ReviewsIcon, lr as SearchIcon, Gt as SearchableSelect, Tr as SettingsIcon, Kt as Sheet, qt as SheetFooter, ot as Spinner, pr as StarIcon, er as StatCard, _r as StatusBacklog, vr as StatusCancelled, hr as StatusDone, mr as StatusInProgress, Xt as StatusMetric, gr as StatusTodo, Zt as Switch, Xn as TableBoard, Zn as TableBoardGroup, Qn as TableBoardRow, $t as Tabs, nn as TabsContent, en as TabsList, tn as TabsTrigger, rn as Textarea, Ce as ThemeProvider, Z as TicketLinkChip, _e as ToastProvider, an as Tooltip, wr as TrashIcon, Mr as UserIcon, un as ViewModeToggle, fn as WorkspaceTabs, De as useFCCAppShell, we as useTheme, ve as useToast };
4600
+ export { At as Accordion, kt as AccordionItem, tr as ActivityFeed, st as AppLoader, q as Avatar, J as Badge, Vr as BellIcon, Y as Button, Hr as CalendarIcon, Zn as CallCard, Tn as CallControlsBar, Jn as Callbar, Rt as Card, Ht as CardContent, Vt as CardDescription, Ut as CardFooter, zt as CardHeader, Bt as CardTitle, zr as CheckIcon, Cr as ChevronDown, wr as ChevronUp, Rr as CloseIcon, nr as CommandBar, Br as CopyIcon, vn as DEFAULT_ICON_BY_VALUE, yn as DEFAULT_VIEW_MODE_OPTIONS, rr as DataTable, Gt as Dialog, Yt as DialogBody, Jt as DialogDescription, Xt as DialogFooter, Kt as DialogHeader, qt as DialogTitle, Qt as DropdownMenu, en as DropdownMenuCheckboxItem, $t as DropdownMenuItem, tn as DropdownMenuLabel, nn as DropdownMenuSeparator, Sr as EditIcon, it as FCCAppShell, Oe as FCCAppShellContext, at as FCCBrandLogo, Ge as FCCBreadcrumbs, De as FCCDesignProvider, ut as FCCDetailsPanel, ft as FCCFullPagePanel, ht as FCCFullPagePanelBody, Ot as FCCFullPagePanelBottomControls, vt as FCCFullPagePanelFooter, pt as FCCFullPagePanelHeader, gt as FCCFullPagePanelMain, Dt as FCCFullPagePanelResizableSidebar, _t as FCCFullPagePanelSidebar, yt as FCCFullPagePanelSidebarFooter, bt as FCCFullPagePanelSubHeader, mt as FCCFullPagePanelToolbar, qe as FCCHeaderStatus, lt as FCCLoader, Ye as FCCMainWindow, je as FCCSidePanel, Be as FCCSidePanelAction, Ne as FCCSidePanelBody, Re as FCCSidePanelCard, Ve as FCCSidePanelChatWrap, ze as FCCSidePanelContact, He as FCCSidePanelConversation, Ie as FCCSidePanelGroupLabel, Me as FCCSidePanelHeader, Le as FCCSidePanelItem, Ue as FCCSidePanelMessage, Fe as FCCSidePanelSearch, Pe as FCCSidePanelTabs, $e as FCCSidebar, ot as FCCThemeToggle, Je as FCCWorkspaceHeader, ir as FilterBar, Ur as FilterIcon, mr as InboxIcon, vr as InitiativesIcon, Zt as Input, hr as IssuesIcon, dr as KPICard, ar as KanbanBoard, sr as KanbanCard, or as KanbanColumn, Gr as LabelIcon, Fr as LinkIcon, br as MoreIcon, pr as NotificationsPanel, Un as PresenceAvatar, Vn as PresenceDot, Mr as PriorityHigh, Pr as PriorityLow, Nr as PriorityMedium, jr as PriorityUrgent, yr as ProjectsIcon, _r as PulseIcon, er as QueueItem, gr as ReviewsIcon, xr as SearchIcon, rn as SearchableSelect, Lr as SettingsIcon, an as Sheet, on as SheetFooter, ct as Spinner, Tr as StarIcon, fr as StatCard, kr as StatusBacklog, Ar as StatusCancelled, Dr as StatusDone, Er as StatusInProgress, ln as StatusMetric, Or as StatusTodo, un as Switch, cr as TableBoard, lr as TableBoardGroup, ur as TableBoardRow, fn as Tabs, hn as TabsContent, pn as TabsList, mn as TabsTrigger, gn as Textarea, Te as ThemeProvider, Z as TicketLinkChip, ye as ToastProvider, _n as Tooltip, Ir as TrashIcon, Wr as UserIcon, Sn as ViewModeToggle, wn as WorkspaceTabs, ke as useFCCAppShell, Ee as useTheme, be as useToast };