@gravitee/gamma-lib-observability 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@ import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c,
2
2
  import { AlertCircleIcon as S, AlignRightIcon as C, ArrowDownIcon as w, ArrowLeftIcon as T, ArrowRightIcon as E, ArrowUpIcon as ee, BarChart3Icon as te, BoxesIcon as D, BrainCircuitIcon as O, CableIcon as ne, CalendarIcon as k, ChartLineIcon as re, CheckIcon as ie, ChevronDownIcon as ae, ChevronRightIcon as oe, CircleDotIcon as se, CircleHelpIcon as ce, ClockIcon as le, CopyIcon as ue, ExpandIcon as de, ExternalLinkIcon as fe, FileTextIcon as pe, FilterIcon as me, FunnelXIcon as he, GlobeIcon as ge, Grid2x2Icon as _e, InfoIcon as ve, LayoutDashboardIcon as ye, LayoutGridIcon as be, ListIcon as xe, LockIcon as Se, MessageSquareIcon as Ce, MoreVerticalIcon as we, NetworkIcon as Te, PanelLeftIcon as Ee, PencilIcon as De, PlusIcon as Oe, RefreshCwIcon as ke, ScrollTextIcon as Ae, Trash2Icon as je, TrendingUpIcon as Me, WaypointsIcon as Ne, WebhookIcon as Pe, XIcon as Fe } from "@gravitee/graphene-core/icons";
3
3
  import { Component as Ie, Fragment as Le, Suspense as Re, createContext as ze, createElement as Be, forwardRef as Ve, lazy as He, memo as Ue, useCallback as A, useContext as We, useEffect as j, useId as Ge, useLayoutEffect as Ke, useMemo as M, useReducer as qe, useRef as N, useState as P } from "react";
4
4
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
5
- import { keepPreviousData as Je, useInfiniteQuery as Ye, useMutation as Xe, useQueries as Ze, useQuery as R, useQueryClient as Qe } from "@tanstack/react-query";
6
- import { Accordion as $e, AccordionContent as et, AccordionItem as tt, AccordionTrigger as nt, Alert as rt, AlertDescription as it, AlertTitle as at, Badge as z, Button as B, Calendar as ot, Card as st, Combobox as ct, ComboboxChip as lt, ComboboxChips as ut, ComboboxChipsInput as dt, ComboboxContent as ft, ComboboxEmpty as pt, ComboboxInput as mt, ComboboxItem as ht, ComboboxList as gt, ComboboxValue as _t, DataTable as vt, DataTableColumnHeader as yt, DataTablePagination as bt, Dialog as xt, DialogClose as St, DialogContent as Ct, DialogDescription as wt, DialogFooter as Tt, DialogHeader as Et, DialogTitle as Dt, DropdownMenu as Ot, DropdownMenuContent as kt, DropdownMenuItem as At, DropdownMenuLabel as jt, DropdownMenuSeparator as Mt, DropdownMenuTrigger as Nt, Empty as Pt, EmptyDescription as Ft, EmptyHeader as It, EmptyMedia as Lt, EmptyTitle as Rt, Field as V, FieldDescription as zt, FieldError as Bt, FieldGroup as Vt, FieldLabel as Ht, Input as H, Label as Ut, Popover as Wt, PopoverAnchor as Gt, PopoverContent as Kt, PopoverTrigger as qt, ScrollArea as Jt, Select as U, SelectContent as W, SelectGroup as Yt, SelectItem as G, SelectLabel as Xt, SelectTrigger as K, SelectValue as q, Separator as Zt, Sheet as Qt, SheetContent as $t, SheetDescription as en, SheetTitle as tn, Skeleton as J, Spinner as nn, Switch as rn, Tabs as an, TabsContent as on, TabsList as sn, TabsTrigger as cn, Textarea as ln, ToggleGroup as un, ToggleGroupItem as dn, Tooltip as fn, TooltipContent as pn, TooltipProvider as Y, TooltipTrigger as mn, buttonVariants as hn, cn as X, toast as Z, useComboboxAnchor as gn } from "@gravitee/graphene-core";
5
+ import { keepPreviousData as Je, useInfiniteQuery as Ye, useMutation as Xe, useQueries as Ze, useQuery as Qe, useQueryClient as $e } from "@tanstack/react-query";
6
+ import { Accordion as et, AccordionContent as tt, AccordionItem as nt, AccordionTrigger as rt, Alert as it, AlertDescription as at, AlertTitle as ot, Badge as st, Button as R, Calendar as ct, Card as lt, Combobox as ut, ComboboxChip as dt, ComboboxChips as ft, ComboboxChipsInput as pt, ComboboxContent as mt, ComboboxEmpty as ht, ComboboxInput as gt, ComboboxItem as _t, ComboboxList as vt, ComboboxValue as yt, DataTable as bt, DataTableColumnHeader as xt, DataTablePagination as St, Dialog as Ct, DialogClose as wt, DialogContent as Tt, DialogDescription as Et, DialogFooter as Dt, DialogHeader as Ot, DialogTitle as kt, DropdownMenu as At, DropdownMenuContent as jt, DropdownMenuItem as z, DropdownMenuLabel as Mt, DropdownMenuSeparator as Nt, DropdownMenuTrigger as Pt, Empty as Ft, EmptyDescription as It, EmptyHeader as Lt, EmptyMedia as Rt, EmptyTitle as zt, Field as B, FieldDescription as Bt, FieldError as Vt, FieldGroup as Ht, FieldLabel as Ut, Input as V, Label as Wt, Popover as Gt, PopoverAnchor as Kt, PopoverContent as qt, PopoverTrigger as Jt, ScrollArea as Yt, Select as H, SelectContent as U, SelectGroup as Xt, SelectItem as W, SelectLabel as Zt, SelectTrigger as G, SelectValue as K, Separator as Qt, Sheet as $t, SheetContent as en, SheetDescription as tn, SheetTitle as nn, Skeleton as q, Spinner as rn, Switch as an, Tabs as on, TabsContent as sn, TabsList as cn, TabsTrigger as ln, Textarea as un, ToggleGroup as dn, ToggleGroupItem as fn, Tooltip as J, TooltipContent as pn, TooltipProvider as Y, TooltipTrigger as mn, buttonVariants as hn, cn as X, toast as Z, useComboboxAnchor as gn } from "@gravitee/graphene-core";
7
7
  import { AreaSeries as _n, BarChart as vn, BarSeries as yn, BreakdownChart as bn, BreakdownTooltip as xn, BreakdownTooltipContent as Sn, CartesianChart as Cn, ChartContainer as wn, ChartLegend as Tn, ChartLegendContent as En, ChartTooltip as Dn, ChartTooltipContent as On, DoughnutChart as kn, FilterCombobox as An, Grid as jn, LineSeries as Mn, Metric as Nn, MetricGroup as Pn, ReferenceLine as Fn, TraceWaterfall as In, ValueAxis as Ln, XAxis as Rn, YAxis as zn, compactTick as Bn } from "@gravitee/graphene-charts";
8
8
  import { DashboardGrid as Vn, DashboardWidget as Hn } from "@gravitee/graphene-charts/dashboard-grid";
9
9
  import { Link as Un, Navigate as Wn, Route as Gn, Routes as Kn, useLocation as qn, useNavigate as Jn, useParams as Yn, useSearchParams as Xn } from "react-router-dom";
@@ -607,7 +607,7 @@ function ni(e) {
607
607
  }
608
608
  function ri(e, t) {
609
609
  let n = v(), r = Br(Ur(), e.filters), i = ti(e.timeRange), a = ni(e);
610
- return R({
610
+ return Qe({
611
611
  queryKey: Q.facets(e.by, i, r, {
612
612
  metrics: a,
613
613
  ranges: e.ranges,
@@ -632,7 +632,7 @@ function ri(e, t) {
632
632
  //#endregion
633
633
  //#region src/hooks/use-log-detail-query.ts
634
634
  function ii(e) {
635
- let t = m(), n = typeof t.getById == "function", r = R({
635
+ let t = m(), n = typeof t.getById == "function", r = Qe({
636
636
  queryKey: Q.logDetail(e.id ?? "", e.apiId ?? ""),
637
637
  queryFn: ({ signal: n }) => t.getById(e.id, e.apiId, n),
638
638
  staleTime: Dr,
@@ -652,7 +652,7 @@ function ii(e) {
652
652
  //#region src/hooks/use-logs-query.ts
653
653
  function ai(e, t) {
654
654
  let n = m(), r = Br(Ur(), e.filters), i = ti(e.timeRange);
655
- return R({
655
+ return Qe({
656
656
  queryKey: Q.logs(i, r),
657
657
  queryFn: ({ signal: e }) => n.fetchLogs({
658
658
  timeRange: i,
@@ -672,7 +672,7 @@ function ci(e) {
672
672
  j(() => {
673
673
  h.current !== p && (h.current = p, l(1));
674
674
  }, [p]);
675
- let g = R({
675
+ let g = Qe({
676
676
  queryKey: [...f, {
677
677
  page: c,
678
678
  pageSize: u
@@ -709,7 +709,7 @@ function ci(e) {
709
709
  //#region src/hooks/use-measures-query.ts
710
710
  function li(e, t) {
711
711
  let n = v(), r = Br(Ur(), e.filters), i = ti(e.timeRange);
712
- return R({
712
+ return Qe({
713
713
  queryKey: Q.measures(e.metrics, i, r),
714
714
  queryFn: ({ signal: t }) => n.fetchMeasures({
715
715
  metrics: e.metrics,
@@ -729,7 +729,7 @@ function ui(e, t) {
729
729
  let n = M(() => e.filter((e) => e.value.length > 0 && !e.valueLabels?.length), [e]), r = M(() => n.map((e) => ({
730
730
  filterName: e.field,
731
731
  ids: e.value
732
- })), [n]), i = M(() => JSON.stringify(r), [r]), { data: a } = R({
732
+ })), [n]), i = M(() => JSON.stringify(r), [r]), { data: a } = Qe({
733
733
  queryKey: Q.filterLabels(i),
734
734
  queryFn: ({ signal: e }) => t.resolveLabels(r, e),
735
735
  enabled: !!t && r.length > 0,
@@ -754,7 +754,7 @@ function ui(e, t) {
754
754
  //#region src/hooks/use-time-series-query.ts
755
755
  function di(e, t) {
756
756
  let n = v(), r = Br(Ur(), e.filters), i = ti(e.timeRange);
757
- return R({
757
+ return Qe({
758
758
  queryKey: Q.timeSeries(e.metrics, i, e.interval, r, e.by, e.limit, e.ranges),
759
759
  queryFn: ({ signal: t }) => n.fetchTimeSeries({
760
760
  metrics: e.metrics,
@@ -775,7 +775,7 @@ function di(e, t) {
775
775
  //#endregion
776
776
  //#region src/hooks/use-trace-detail-query.ts
777
777
  function fi(e) {
778
- let { apiId: t, traceId: n, enabled: r, keepPreviousData: a } = e, o = i(), s = R({
778
+ let { apiId: t, traceId: n, enabled: r, keepPreviousData: a } = e, o = i(), s = Qe({
779
779
  queryKey: Q.traceDetail(t, n ?? ""),
780
780
  queryFn: ({ signal: e }) => {
781
781
  if (!n) throw Error("traceId is required but was called with a falsy value");
@@ -806,7 +806,7 @@ function hi(e) {
806
806
  j(() => {
807
807
  h.current !== m && (h.current = m, u(1));
808
808
  }, [m]);
809
- let g = R({
809
+ let g = Qe({
810
810
  queryKey: [...p, {
811
811
  page: l,
812
812
  pageSize: d
@@ -1045,12 +1045,12 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1045
1045
  to: y
1046
1046
  }), l(!1));
1047
1047
  }
1048
- return /* @__PURE__ */ L(Wt, {
1048
+ return /* @__PURE__ */ L(Gt, {
1049
1049
  open: c,
1050
1050
  onOpenChange: S,
1051
- children: [/* @__PURE__ */ I(qt, {
1051
+ children: [/* @__PURE__ */ I(Jt, {
1052
1052
  asChild: !0,
1053
- children: /* @__PURE__ */ L(B, {
1053
+ children: /* @__PURE__ */ L(R, {
1054
1054
  variant: "outline",
1055
1055
  disabled: n,
1056
1056
  "aria-label": "Time range picker",
@@ -1062,11 +1062,11 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1062
1062
  className: "size-4 shrink-0"
1063
1063
  })]
1064
1064
  })
1065
- }), /* @__PURE__ */ L(Kt, {
1065
+ }), /* @__PURE__ */ L(qt, {
1066
1066
  className: "w-80 p-4",
1067
1067
  align: "start",
1068
1068
  children: [
1069
- /* @__PURE__ */ L(un, {
1069
+ /* @__PURE__ */ L(dn, {
1070
1070
  type: "single",
1071
1071
  value: u,
1072
1072
  onValueChange: (e) => {
@@ -1074,11 +1074,11 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1074
1074
  },
1075
1075
  variant: "outline",
1076
1076
  className: "mb-4 w-full",
1077
- children: [/* @__PURE__ */ I(dn, {
1077
+ children: [/* @__PURE__ */ I(fn, {
1078
1078
  value: "relative",
1079
1079
  className: "flex-1",
1080
1080
  children: "Relative"
1081
- }), /* @__PURE__ */ I(dn, {
1081
+ }), /* @__PURE__ */ I(fn, {
1082
1082
  value: "custom",
1083
1083
  className: "flex-1",
1084
1084
  children: "Custom"
@@ -1095,7 +1095,7 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1095
1095
  children: t.label
1096
1096
  }), /* @__PURE__ */ I("div", {
1097
1097
  className: "grid grid-cols-3 gap-2",
1098
- children: t.periods.map((t) => /* @__PURE__ */ I(B, {
1098
+ children: t.periods.map((t) => /* @__PURE__ */ I(R, {
1099
1099
  variant: "outline",
1100
1100
  size: "sm",
1101
1101
  role: "option",
@@ -1112,7 +1112,7 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1112
1112
  u === "custom" && /* @__PURE__ */ L("div", {
1113
1113
  className: "flex flex-col gap-3",
1114
1114
  children: [
1115
- /* @__PURE__ */ I(ot, {
1115
+ /* @__PURE__ */ I(ct, {
1116
1116
  mode: "range",
1117
1117
  selected: f,
1118
1118
  onSelect: w,
@@ -1124,12 +1124,12 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1124
1124
  /* @__PURE__ */ L("div", {
1125
1125
  className: "flex items-end gap-2",
1126
1126
  children: [
1127
- /* @__PURE__ */ L(V, {
1127
+ /* @__PURE__ */ L(B, {
1128
1128
  className: "flex-1",
1129
- children: [/* @__PURE__ */ I(Ht, {
1129
+ children: [/* @__PURE__ */ I(Ut, {
1130
1130
  htmlFor: o,
1131
1131
  children: Li(f?.from)
1132
- }), /* @__PURE__ */ I(H, {
1132
+ }), /* @__PURE__ */ I(V, {
1133
1133
  id: o,
1134
1134
  type: "time",
1135
1135
  value: m,
@@ -1143,12 +1143,12 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1143
1143
  className: "pb-2 text-muted-foreground",
1144
1144
  children: "-"
1145
1145
  }),
1146
- /* @__PURE__ */ L(V, {
1146
+ /* @__PURE__ */ L(B, {
1147
1147
  className: "flex-1",
1148
- children: [/* @__PURE__ */ I(Ht, {
1148
+ children: [/* @__PURE__ */ I(Ut, {
1149
1149
  htmlFor: s,
1150
1150
  children: Li(f?.to)
1151
- }), /* @__PURE__ */ I(H, {
1151
+ }), /* @__PURE__ */ I(V, {
1152
1152
  id: s,
1153
1153
  type: "time",
1154
1154
  value: g,
@@ -1165,7 +1165,7 @@ function zi({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
1165
1165
  role: "alert",
1166
1166
  children: "Start must be before end"
1167
1167
  }),
1168
- /* @__PURE__ */ I(B, {
1168
+ /* @__PURE__ */ I(R, {
1169
1169
  size: "sm",
1170
1170
  disabled: !x || n,
1171
1171
  onClick: T,
@@ -1385,24 +1385,24 @@ function ca({ options: e, selected: t, onSelectedChange: n, multiple: r, onSearc
1385
1385
  ...a && { filter: null },
1386
1386
  ...i && { onInputValueChange: (e) => i(String(e)) }
1387
1387
  }, v = /* @__PURE__ */ L(F, { children: [
1388
- /* @__PURE__ */ I(pt, { children: s }),
1389
- /* @__PURE__ */ I(gt, { children: (e) => /* @__PURE__ */ I(ht, {
1388
+ /* @__PURE__ */ I(ht, { children: s }),
1389
+ /* @__PURE__ */ I(vt, { children: (e) => /* @__PURE__ */ I(_t, {
1390
1390
  value: e,
1391
1391
  children: e.label
1392
1392
  }, e.value) }),
1393
1393
  c
1394
- ] }), y = r ? /* @__PURE__ */ L(ct, {
1394
+ ] }), y = r ? /* @__PURE__ */ L(ut, {
1395
1395
  ..._,
1396
1396
  multiple: !0,
1397
1397
  autoHighlight: !0,
1398
1398
  value: t,
1399
1399
  onValueChange: (e) => n(Array.isArray(e) ? e : []),
1400
- children: [/* @__PURE__ */ I(ut, {
1400
+ children: [/* @__PURE__ */ I(ft, {
1401
1401
  ref: u,
1402
- children: /* @__PURE__ */ I(_t, { children: (e) => /* @__PURE__ */ L(Le, { children: [e.map((e) => /* @__PURE__ */ I(lt, {
1402
+ children: /* @__PURE__ */ I(yt, { children: (e) => /* @__PURE__ */ L(Le, { children: [e.map((e) => /* @__PURE__ */ I(dt, {
1403
1403
  removeAriaLabel: `Remove ${e.label}`,
1404
1404
  children: e.label
1405
- }, e.value)), /* @__PURE__ */ I(dt, {
1405
+ }, e.value)), /* @__PURE__ */ I(pt, {
1406
1406
  "aria-label": "Filter values",
1407
1407
  "aria-invalid": g || void 0,
1408
1408
  "aria-describedby": g ? h : void 0,
@@ -1410,19 +1410,19 @@ function ca({ options: e, selected: t, onSelectedChange: n, multiple: r, onSearc
1410
1410
  onFocus: p,
1411
1411
  onKeyDown: m
1412
1412
  })] }) })
1413
- }), /* @__PURE__ */ I(ft, {
1413
+ }), /* @__PURE__ */ I(mt, {
1414
1414
  anchor: u,
1415
1415
  className: "max-h-48",
1416
1416
  children: v
1417
1417
  })]
1418
- }) : /* @__PURE__ */ L(ct, {
1418
+ }) : /* @__PURE__ */ L(ut, {
1419
1419
  ..._,
1420
1420
  value: t[0] ?? null,
1421
1421
  onValueChange: (e) => n(e ? [e] : []),
1422
1422
  openOnInputClick: !0,
1423
- children: [/* @__PURE__ */ I(ut, {
1423
+ children: [/* @__PURE__ */ I(ft, {
1424
1424
  ref: u,
1425
- children: /* @__PURE__ */ I(dt, {
1425
+ children: /* @__PURE__ */ I(pt, {
1426
1426
  "aria-label": "Filter values",
1427
1427
  "aria-invalid": g || void 0,
1428
1428
  "aria-describedby": g ? h : void 0,
@@ -1430,13 +1430,13 @@ function ca({ options: e, selected: t, onSelectedChange: n, multiple: r, onSearc
1430
1430
  onFocus: p,
1431
1431
  onKeyDown: m
1432
1432
  })
1433
- }), /* @__PURE__ */ I(ft, {
1433
+ }), /* @__PURE__ */ I(mt, {
1434
1434
  anchor: u,
1435
1435
  className: "max-h-48",
1436
1436
  children: v
1437
1437
  })]
1438
1438
  });
1439
- return l ? /* @__PURE__ */ L(F, { children: [y, /* @__PURE__ */ I(Bt, {
1439
+ return l ? /* @__PURE__ */ L(F, { children: [y, /* @__PURE__ */ I(Vt, {
1440
1440
  id: h,
1441
1441
  children: l
1442
1442
  })] }) : y;
@@ -1470,7 +1470,7 @@ function la({ provider: e, selected: t, onSelectedChange: n, multiple: r, apiTyp
1470
1470
  role: "status",
1471
1471
  "aria-live": "polite",
1472
1472
  className: "flex items-center justify-center gap-1.5 py-1 text-[11px] text-muted-foreground",
1473
- children: [/* @__PURE__ */ I(nn, {
1473
+ children: [/* @__PURE__ */ I(rn, {
1474
1474
  className: "size-3",
1475
1475
  "aria-hidden": "true"
1476
1476
  }), "Loading…"]
@@ -1557,7 +1557,7 @@ function ba(e, t, n) {
1557
1557
  //#region src/filters/FilterValueField.tsx
1558
1558
  function xa({ provider: e, operator: t, selected: n, onSelectedChange: r, multiple: i, freeText: a, onFreeTextChange: o, activeApiTypes: s, onSubmit: c, canSubmit: l = !1 }) {
1559
1559
  let [u, d] = P(null), f = u !== null && u === e?.field;
1560
- if (!e || !t) return /* @__PURE__ */ I(H, {
1560
+ if (!e || !t) return /* @__PURE__ */ I(V, {
1561
1561
  disabled: !0,
1562
1562
  placeholder: "Search value…",
1563
1563
  "aria-label": "Filter value"
@@ -1582,7 +1582,7 @@ function xa({ provider: e, operator: t, selected: n, onSelectedChange: r, multip
1582
1582
  }
1583
1583
  let m = _a(t) ? "Enter value(s), comma-separated" : "Enter value";
1584
1584
  switch (e.inputHint) {
1585
- case "number": return /* @__PURE__ */ I(H, {
1585
+ case "number": return /* @__PURE__ */ I(V, {
1586
1586
  type: "number",
1587
1587
  step: "any",
1588
1588
  value: a,
@@ -1591,7 +1591,7 @@ function xa({ provider: e, operator: t, selected: n, onSelectedChange: r, multip
1591
1591
  "aria-label": "Filter value",
1592
1592
  onKeyDown: (e) => p(e)
1593
1593
  });
1594
- case "long-text": return /* @__PURE__ */ I(ln, {
1594
+ case "long-text": return /* @__PURE__ */ I(un, {
1595
1595
  value: a,
1596
1596
  onChange: (e) => o(e.target.value),
1597
1597
  placeholder: m,
@@ -1605,7 +1605,7 @@ function xa({ provider: e, operator: t, selected: n, onSelectedChange: r, multip
1605
1605
  onKeyDown: (e) => p(e, !0)
1606
1606
  });
1607
1607
  case "text":
1608
- case void 0: return /* @__PURE__ */ I(H, {
1608
+ case void 0: return /* @__PURE__ */ I(V, {
1609
1609
  value: a,
1610
1610
  onChange: (e) => o(e.target.value),
1611
1611
  placeholder: m,
@@ -1745,27 +1745,27 @@ function ka({ existingCondition: e, onApply: t, onCancel: r, providers: i, activ
1745
1745
  return /* @__PURE__ */ L("div", {
1746
1746
  className: "flex w-[340px] flex-col gap-4 p-4",
1747
1747
  children: [
1748
- /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Filter by" }), /* @__PURE__ */ I(na, {
1748
+ /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Filter by" }), /* @__PURE__ */ I(na, {
1749
1749
  providers: u,
1750
1750
  selectedField: d,
1751
1751
  onFieldChange: ee,
1752
1752
  activeScopes: a
1753
1753
  })] }),
1754
- /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Choose operator" }), /* @__PURE__ */ L(U, {
1754
+ /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Choose operator" }), /* @__PURE__ */ L(H, {
1755
1755
  value: p ?? void 0,
1756
1756
  onValueChange: te,
1757
1757
  disabled: !b,
1758
- children: [/* @__PURE__ */ I(K, {
1758
+ children: [/* @__PURE__ */ I(G, {
1759
1759
  className: "w-full",
1760
1760
  "aria-label": "Filter operator",
1761
- children: /* @__PURE__ */ I(q, { placeholder: "Select operator…" })
1762
- }), /* @__PURE__ */ I(W, { children: (b?.operators ?? []).map((e) => /* @__PURE__ */ I(G, {
1761
+ children: /* @__PURE__ */ I(K, { placeholder: "Select operator…" })
1762
+ }), /* @__PURE__ */ I(U, { children: (b?.operators ?? []).map((e) => /* @__PURE__ */ I(W, {
1763
1763
  value: e,
1764
1764
  children: ma(e)
1765
1765
  }, e)) })]
1766
1766
  })] }),
1767
- C ? /* @__PURE__ */ L(V, { children: [
1768
- /* @__PURE__ */ I(Ht, { children: "Filter value" }),
1767
+ C ? /* @__PURE__ */ L(B, { children: [
1768
+ /* @__PURE__ */ I(Ut, { children: "Filter value" }),
1769
1769
  /* @__PURE__ */ I(xa, {
1770
1770
  provider: b,
1771
1771
  operator: p,
@@ -1786,7 +1786,7 @@ function ka({ existingCondition: e, onApply: t, onCancel: r, providers: i, activ
1786
1786
  s?.({ isEmptyValue: T }),
1787
1787
  /* @__PURE__ */ L("div", {
1788
1788
  className: `flex items-center gap-2 ${c ? "justify-between" : "justify-end"}`,
1789
- children: [c ? /* @__PURE__ */ I(B, {
1789
+ children: [c ? /* @__PURE__ */ I(R, {
1790
1790
  type: "button",
1791
1791
  variant: "ghost",
1792
1792
  size: "sm",
@@ -1795,13 +1795,13 @@ function ka({ existingCondition: e, onApply: t, onCancel: r, providers: i, activ
1795
1795
  children: "Remove"
1796
1796
  }) : null, /* @__PURE__ */ L("div", {
1797
1797
  className: "flex items-center gap-2",
1798
- children: [/* @__PURE__ */ I(B, {
1798
+ children: [/* @__PURE__ */ I(R, {
1799
1799
  type: "button",
1800
1800
  variant: "ghost",
1801
1801
  size: "sm",
1802
1802
  onClick: r,
1803
1803
  children: "Cancel"
1804
- }), /* @__PURE__ */ I(B, {
1804
+ }), /* @__PURE__ */ I(R, {
1805
1805
  type: "button",
1806
1806
  size: "sm",
1807
1807
  disabled: !E,
@@ -1818,7 +1818,7 @@ function ka({ existingCondition: e, onApply: t, onCancel: r, providers: i, activ
1818
1818
  var Aa = Ue(function({ signals: e, variant: t = "compact" }) {
1819
1819
  if (!e || e.length === 0 || qi.length <= e.length && qi.every((t) => e.includes(t))) return null;
1820
1820
  let n = e.map((e) => ir(e)?.label).filter(Boolean).join(" + ");
1821
- return t === "compact" ? /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
1821
+ return t === "compact" ? /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
1822
1822
  asChild: !0,
1823
1823
  children: /* @__PURE__ */ I("span", {
1824
1824
  className: "inline-flex items-center gap-0.5",
@@ -1831,13 +1831,13 @@ var Aa = Ue(function({ signals: e, variant: t = "compact" }) {
1831
1831
  }, e) : null;
1832
1832
  })
1833
1833
  })
1834
- }), /* @__PURE__ */ L(pn, { children: [n, " only"] })] }) : /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
1834
+ }), /* @__PURE__ */ L(pn, { children: [n, " only"] })] }) : /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
1835
1835
  asChild: !0,
1836
1836
  children: /* @__PURE__ */ I("span", {
1837
1837
  className: "inline-flex items-center gap-1",
1838
1838
  children: e.map((e) => {
1839
1839
  let t = ir(e);
1840
- return t ? /* @__PURE__ */ I(z, {
1840
+ return t ? /* @__PURE__ */ I(st, {
1841
1841
  variant: "highlight",
1842
1842
  className: "gap-1 px-1.5 py-0 text-[10px] font-medium",
1843
1843
  children: /* @__PURE__ */ I(t.icon, { className: "size-3" })
@@ -1943,7 +1943,7 @@ var za = Ue(Ve(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0
1943
1943
  }) : null,
1944
1944
  c
1945
1945
  ] });
1946
- return /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
1946
+ return /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
1947
1947
  asChild: !0,
1948
1948
  children: /* @__PURE__ */ L("span", {
1949
1949
  ref: p,
@@ -1956,7 +1956,7 @@ var za = Ue(Ve(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0
1956
1956
  onMouseLeave: () => v(!1),
1957
1957
  onFocus: () => h && v(!0),
1958
1958
  onBlur: () => v(!1),
1959
- children: [/* @__PURE__ */ I(z, {
1959
+ children: [/* @__PURE__ */ I(st, {
1960
1960
  variant: S,
1961
1961
  className: X("h-auto max-w-xs gap-1.5 py-1 font-normal transition-all", g && "border-dashed border-highlight/40", h ? X("cursor-pointer", C) : "pr-2", h && (n && _ ? "pr-1" : "pr-2")),
1962
1962
  role: h ? "button" : void 0,
@@ -1967,7 +1967,7 @@ var za = Ue(Ve(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0
1967
1967
  h && ((e.key === "Enter" || e.key === " ") && (e.preventDefault(), t?.()), (e.key === "Delete" || e.key === "Backspace") && (e.preventDefault(), n?.()));
1968
1968
  },
1969
1969
  children: T
1970
- }), h && n && _ ? /* @__PURE__ */ I(B, {
1970
+ }), h && n && _ ? /* @__PURE__ */ I(R, {
1971
1971
  type: "button",
1972
1972
  variant: "ghost",
1973
1973
  size: "sm",
@@ -2105,7 +2105,7 @@ function Qa({ filters: e, onFiltersChange: t, editable: n = !0, scopeFilterField
2105
2105
  e && (e.querySelector("[data-autofocus]") ?? e.querySelector("input:not([disabled])"))?.focus();
2106
2106
  });
2107
2107
  }
2108
- return /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(Wt, {
2108
+ return /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(Gt, {
2109
2109
  open: v,
2110
2110
  onOpenChange: T,
2111
2111
  children: [
@@ -2131,7 +2131,7 @@ function Qa({ filters: e, onFiltersChange: t, editable: n = !0, scopeFilterField
2131
2131
  onRemove: () => ee(t)
2132
2132
  }, Ua(e));
2133
2133
  }),
2134
- n ? /* @__PURE__ */ L(B, {
2134
+ n ? /* @__PURE__ */ L(R, {
2135
2135
  ref: p,
2136
2136
  type: "button",
2137
2137
  variant: "ghost",
@@ -2153,8 +2153,8 @@ function Qa({ filters: e, onFiltersChange: t, editable: n = !0, scopeFilterField
2153
2153
  }) : null
2154
2154
  ]
2155
2155
  }),
2156
- /* @__PURE__ */ I(Gt, { virtualRef: g }),
2157
- /* @__PURE__ */ I(Kt, {
2156
+ /* @__PURE__ */ I(Kt, { virtualRef: g }),
2157
+ /* @__PURE__ */ I(qt, {
2158
2158
  ref: h,
2159
2159
  side: "bottom",
2160
2160
  align: "start",
@@ -3617,7 +3617,7 @@ function hc({ columns: e, data: t, loading: n, totalCount: r, page: i, pageSize:
3617
3617
  onClick: D,
3618
3618
  onKeyDown: ne,
3619
3619
  className: l ? "[&_tbody_tr]:cursor-pointer" : void 0,
3620
- children: /* @__PURE__ */ I(vt, {
3620
+ children: /* @__PURE__ */ I(bt, {
3621
3621
  columns: e,
3622
3622
  data: t,
3623
3623
  loading: n,
@@ -3638,7 +3638,7 @@ function hc({ columns: e, data: t, loading: n, totalCount: r, page: i, pageSize:
3638
3638
  onColumnVisibilityChange: te
3639
3639
  },
3640
3640
  emptyMessage: _,
3641
- footer: x && r > 0 ? /* @__PURE__ */ I(bt, {
3641
+ footer: x && r > 0 ? /* @__PURE__ */ I(St, {
3642
3642
  page: i,
3643
3643
  pageSize: a,
3644
3644
  totalCount: r,
@@ -3907,7 +3907,7 @@ function Vc({ columns: e, rows: t, dimensionLabel: n, state: r, sort: i, onSortC
3907
3907
  }
3908
3908
  }, r = re.map((e) => ({
3909
3909
  id: e.id,
3910
- header: ({ column: t }) => /* @__PURE__ */ I(yt, {
3910
+ header: ({ column: t }) => /* @__PURE__ */ I(xt, {
3911
3911
  column: t,
3912
3912
  title: e.label,
3913
3913
  className: "justify-end whitespace-nowrap"
@@ -3997,9 +3997,9 @@ function Hc() {
3997
3997
  });
3998
3998
  }
3999
3999
  function Uc({ columns: e }) {
4000
- return /* @__PURE__ */ L(Wt, { children: [/* @__PURE__ */ I(qt, {
4000
+ return /* @__PURE__ */ L(Gt, { children: [/* @__PURE__ */ I(Jt, {
4001
4001
  asChild: !0,
4002
- children: /* @__PURE__ */ L(B, {
4002
+ children: /* @__PURE__ */ L(R, {
4003
4003
  variant: "ghost",
4004
4004
  size: "xs",
4005
4005
  className: "h-5 px-1.5 text-xs",
@@ -4010,7 +4010,7 @@ function Uc({ columns: e }) {
4010
4010
  e.length === 1 ? "column" : "columns"
4011
4011
  ]
4012
4012
  })
4013
- }), /* @__PURE__ */ L(Kt, {
4013
+ }), /* @__PURE__ */ L(qt, {
4014
4014
  align: "start",
4015
4015
  className: "w-56",
4016
4016
  children: [/* @__PURE__ */ I("p", {
@@ -4023,18 +4023,18 @@ function Uc({ columns: e }) {
4023
4023
  })] });
4024
4024
  }
4025
4025
  function Wc({ row: e, hiddenColumns: t, shareBases: n, children: r }) {
4026
- return /* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(Nt, {
4026
+ return /* @__PURE__ */ L(At, { children: [/* @__PURE__ */ I(Pt, {
4027
4027
  asChild: !0,
4028
- children: /* @__PURE__ */ I(B, {
4028
+ children: /* @__PURE__ */ I(R, {
4029
4029
  variant: "ghost",
4030
4030
  size: "icon-xs",
4031
4031
  "aria-label": `Actions for ${e.label}`,
4032
4032
  children: /* @__PURE__ */ I(we, { className: "size-4" })
4033
4033
  })
4034
- }), /* @__PURE__ */ L(kt, {
4034
+ }), /* @__PURE__ */ L(jt, {
4035
4035
  align: "end",
4036
4036
  className: "w-auto min-w-56",
4037
- children: [t.length > 0 && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(jt, {
4037
+ children: [t.length > 0 && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Mt, {
4038
4038
  className: "space-y-1 font-normal",
4039
4039
  children: t.map((t) => {
4040
4040
  let r = e.values[t.id], i = n.get(t.id), a = Cc(r, r !== void 0 && i && i.base > 0 ? r / i.base : void 0, t.thresholds);
@@ -4049,7 +4049,7 @@ function Wc({ row: e, hiddenColumns: t, shareBases: n, children: r }) {
4049
4049
  })]
4050
4050
  }, t.id);
4051
4051
  })
4052
- }), /* @__PURE__ */ I(Mt, {})] }), r]
4052
+ }), /* @__PURE__ */ I(Nt, {})] }), r]
4053
4053
  })] });
4054
4054
  }
4055
4055
  //#endregion
@@ -4149,7 +4149,7 @@ function Yc({ widget: e, timeRange: t, filters: n, onInteract: r }) {
4149
4149
  value: e.key,
4150
4150
  label: e.label
4151
4151
  });
4152
- }, [y, f]), S = M(() => Jc.filter((e) => b(e.kind)), [b]), C = A((e) => S.map(({ kind: t, label: n, icon: r }) => /* @__PURE__ */ L(At, {
4152
+ }, [y, f]), S = M(() => Jc.filter((e) => b(e.kind)), [b]), C = A((e) => S.map(({ kind: t, label: n, icon: r }) => /* @__PURE__ */ L(z, {
4153
4153
  onSelect: () => y?.({
4154
4154
  kind: t,
4155
4155
  field: f ?? "",
@@ -4447,7 +4447,7 @@ function yl({ message: e, onRetry: t, className: n }) {
4447
4447
  className: "flex-1 text-sm text-destructive",
4448
4448
  children: e
4449
4449
  }),
4450
- /* @__PURE__ */ L(B, {
4450
+ /* @__PURE__ */ L(R, {
4451
4451
  variant: "outline",
4452
4452
  size: "sm",
4453
4453
  onClick: t,
@@ -4463,7 +4463,7 @@ function bl(e) {
4463
4463
  }
4464
4464
  function xl({ isFetching: e, className: t }) {
4465
4465
  let n = _r(), [r, i] = P(!0), a = A(() => i((e) => !e), []), o = n?.isLive ?? r, s = n?.intervalMs ?? 6e4, c = n?.toggle ?? a, l = e ?? n?.isFetching ?? !1, u = o ? `Live — refreshing every ${bl(s)}` : "Paused — click to resume";
4466
- return /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
4466
+ return /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
4467
4467
  asChild: !0,
4468
4468
  children: /* @__PURE__ */ L("button", {
4469
4469
  type: "button",
@@ -4541,7 +4541,7 @@ function kl(e, t) {
4541
4541
  //#region src/logs/LogColumnPresetToggle.tsx
4542
4542
  var Al = "Column preset — changes which columns are shown, not which logs are listed.", jl = "Columns edited by hand. Pick a preset to restore it.", Ml = "data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-sm text-muted-foreground hover:bg-transparent hover:text-foreground";
4543
4543
  function Nl({ hint: e, children: t }) {
4544
- return /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
4544
+ return /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
4545
4545
  asChild: !0,
4546
4546
  children: /* @__PURE__ */ I("span", {
4547
4547
  className: "inline-flex",
@@ -4555,7 +4555,7 @@ function Nl({ hint: e, children: t }) {
4555
4555
  function Pl({ presets: e, value: t, onChange: n }) {
4556
4556
  if (e.length === 0) return null;
4557
4557
  let r = t === wl;
4558
- return /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(un, {
4558
+ return /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(dn, {
4559
4559
  type: "single",
4560
4560
  size: "sm",
4561
4561
  className: "ml-auto gap-0.5 rounded-lg bg-muted p-0.5",
@@ -4566,7 +4566,7 @@ function Pl({ presets: e, value: t, onChange: n }) {
4566
4566
  "aria-label": "Column preset",
4567
4567
  children: [e.map((e) => /* @__PURE__ */ I(Nl, {
4568
4568
  hint: e.description ?? Al,
4569
- children: /* @__PURE__ */ I(dn, {
4569
+ children: /* @__PURE__ */ I(fn, {
4570
4570
  value: e.id,
4571
4571
  "aria-label": e.label,
4572
4572
  title: e.description ?? Al,
@@ -4575,7 +4575,7 @@ function Pl({ presets: e, value: t, onChange: n }) {
4575
4575
  })
4576
4576
  }, e.id)), r && /* @__PURE__ */ I(Nl, {
4577
4577
  hint: jl,
4578
- children: /* @__PURE__ */ I(dn, {
4578
+ children: /* @__PURE__ */ I(fn, {
4579
4579
  value: "__custom__",
4580
4580
  "aria-label": "Custom",
4581
4581
  title: jl,
@@ -4615,7 +4615,7 @@ function Ll(e) {
4615
4615
  function Rl({ level: e }) {
4616
4616
  if (!e) return null;
4617
4617
  let t = e.toLowerCase();
4618
- return /* @__PURE__ */ I(z, {
4618
+ return /* @__PURE__ */ I(st, {
4619
4619
  variant: Ll(t) ? Il[t] : "secondary",
4620
4620
  children: e.toUpperCase()
4621
4621
  });
@@ -4688,7 +4688,7 @@ function Gl(e, t) {
4688
4688
  }
4689
4689
  case "http-method": {
4690
4690
  let e = String(n).toUpperCase();
4691
- r = /* @__PURE__ */ I(z, {
4691
+ r = /* @__PURE__ */ I(st, {
4692
4692
  variant: zl[e] ?? "secondary",
4693
4693
  children: e
4694
4694
  });
@@ -4738,23 +4738,23 @@ function Jl({ columns: e, data: t, loading: n, totalCount: r, page: i, pageSize:
4738
4738
  columnVisibility: h,
4739
4739
  onColumnVisibilityChange: g,
4740
4740
  toolbar: u,
4741
- emptyMessage: /* @__PURE__ */ I(Pt, { children: /* @__PURE__ */ L(It, { children: [
4742
- /* @__PURE__ */ I(Lt, {
4741
+ emptyMessage: /* @__PURE__ */ I(Ft, { children: /* @__PURE__ */ L(Lt, { children: [
4742
+ /* @__PURE__ */ I(Rt, {
4743
4743
  variant: "icon",
4744
4744
  children: /* @__PURE__ */ I(pe, {})
4745
4745
  }),
4746
- /* @__PURE__ */ I(Rt, { children: "No logs found" }),
4747
- /* @__PURE__ */ I(Ft, { children: "Try adjusting your filters or time range to see log entries." })
4746
+ /* @__PURE__ */ I(zt, { children: "No logs found" }),
4747
+ /* @__PURE__ */ I(It, { children: "Try adjusting your filters or time range to see log entries." })
4748
4748
  ] }) })
4749
4749
  });
4750
4750
  }
4751
4751
  //#endregion
4752
4752
  //#region src/logs/LogsDesyncBanner.tsx
4753
4753
  function Yl() {
4754
- return /* @__PURE__ */ L(rt, {
4754
+ return /* @__PURE__ */ L(it, {
4755
4755
  variant: "default",
4756
4756
  style: { borderColor: "light-dark(oklch(0.79 0.11 230), oklch(0.55 0.11 230))" },
4757
- children: [/* @__PURE__ */ I(ve, { style: { color: "light-dark(oklch(0.62 0.14 230), oklch(0.72 0.14 230))" } }), /* @__PURE__ */ I(it, { children: "Some active filters only apply to one view — totals may differ between the histogram and the table." })]
4757
+ children: [/* @__PURE__ */ I(ve, { style: { color: "light-dark(oklch(0.62 0.14 230), oklch(0.72 0.14 230))" } }), /* @__PURE__ */ I(at, { children: "Some active filters only apply to one view — totals may differ between the histogram and the table." })]
4758
4758
  });
4759
4759
  }
4760
4760
  //#endregion
@@ -5083,9 +5083,9 @@ function au({ code: e, language: t = "json", maxHeight: n = iu }) {
5083
5083
  children: [
5084
5084
  /* @__PURE__ */ I("div", {
5085
5085
  className: "absolute right-2 top-2 z-10",
5086
- children: /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
5086
+ children: /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
5087
5087
  asChild: !0,
5088
- children: /* @__PURE__ */ I(B, {
5088
+ children: /* @__PURE__ */ I(R, {
5089
5089
  variant: "ghost",
5090
5090
  size: "icon",
5091
5091
  className: "size-7",
@@ -5174,9 +5174,9 @@ function lu({ data: e, onCopyAll: t }) {
5174
5174
  className: "space-y-2",
5175
5175
  children: [/* @__PURE__ */ I("div", {
5176
5176
  className: "flex justify-end",
5177
- children: /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
5177
+ children: /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
5178
5178
  asChild: !0,
5179
- children: /* @__PURE__ */ I(B, {
5179
+ children: /* @__PURE__ */ I(R, {
5180
5180
  variant: "ghost",
5181
5181
  size: "icon",
5182
5182
  className: "size-7",
@@ -5368,9 +5368,9 @@ function fu({ item: e, onFilter: t, wrap: n }) {
5368
5368
  children: r
5369
5369
  }), /* @__PURE__ */ L("span", {
5370
5370
  className: "flex shrink-0 items-center gap-0.5 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity duration-150",
5371
- children: [e.copyable !== !1 && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
5371
+ children: [e.copyable !== !1 && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
5372
5372
  asChild: !0,
5373
- children: /* @__PURE__ */ I(B, {
5373
+ children: /* @__PURE__ */ I(R, {
5374
5374
  variant: "ghost",
5375
5375
  size: "icon",
5376
5376
  className: "size-6",
@@ -5380,9 +5380,9 @@ function fu({ item: e, onFilter: t, wrap: n }) {
5380
5380
  "aria-label": "Copy value",
5381
5381
  children: /* @__PURE__ */ I(ue, { className: "size-3" })
5382
5382
  })
5383
- }), /* @__PURE__ */ I(pn, { children: "Copy" })] }) }), e.filterable && e.filterField && t && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
5383
+ }), /* @__PURE__ */ I(pn, { children: "Copy" })] }) }), e.filterable && e.filterField && t && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
5384
5384
  asChild: !0,
5385
- children: /* @__PURE__ */ I(B, {
5385
+ children: /* @__PURE__ */ I(R, {
5386
5386
  variant: "ghost",
5387
5387
  size: "icon",
5388
5388
  className: "size-6",
@@ -5905,12 +5905,12 @@ function wu({ message: e }) {
5905
5905
  /* @__PURE__ */ L("div", {
5906
5906
  className: "flex items-center gap-2 flex-wrap",
5907
5907
  children: [
5908
- /* @__PURE__ */ I(z, {
5908
+ /* @__PURE__ */ I(st, {
5909
5909
  variant: "secondary",
5910
5910
  className: "text-[10px]",
5911
5911
  children: new Date(e.timestamp).toLocaleTimeString()
5912
5912
  }),
5913
- /* @__PURE__ */ I(z, {
5913
+ /* @__PURE__ */ I(st, {
5914
5914
  variant: e.operation === "PUBLISH" ? "default" : "outline",
5915
5915
  className: "text-[10px]",
5916
5916
  children: e.operation
@@ -6089,7 +6089,7 @@ function Du({ attempts: e }) {
6089
6089
  }),
6090
6090
  /* @__PURE__ */ I("td", {
6091
6091
  className: "px-3 py-2",
6092
- children: /* @__PURE__ */ I(z, {
6092
+ children: /* @__PURE__ */ I(st, {
6093
6093
  variant: e.status >= 200 && e.status < 300 ? "default" : "destructive",
6094
6094
  children: e.status
6095
6095
  })
@@ -6187,7 +6187,7 @@ function Bu({ apiId: e, timestamp: t, metric: n = Lu, measure: r = Ru, filterFie
6187
6187
  ]), d = M(() => [{
6188
6188
  name: n,
6189
6189
  measures: [r]
6190
- }], [n, r]), { data: f, isLoading: p } = R({
6190
+ }], [n, r]), { data: f, isLoading: p } = Qe({
6191
6191
  queryKey: Q.timeSeries(d, c, l, u),
6192
6192
  queryFn: ({ signal: e }) => o.fetchTimeSeries({
6193
6193
  metrics: d,
@@ -6296,11 +6296,11 @@ function Ju({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, childre
6296
6296
  }), [a]);
6297
6297
  return /* @__PURE__ */ I(Hu.Provider, {
6298
6298
  value: f,
6299
- children: /* @__PURE__ */ I(Qt, {
6299
+ children: /* @__PURE__ */ I($t, {
6300
6300
  open: e,
6301
6301
  onOpenChange: s,
6302
6302
  modal: !1,
6303
- children: /* @__PURE__ */ L($t, {
6303
+ children: /* @__PURE__ */ L(en, {
6304
6304
  side: "right",
6305
6305
  className: "gap-0 p-0 transition-[width] duration-200 ease-in-out",
6306
6306
  style: {
@@ -6312,15 +6312,15 @@ function Ju({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, childre
6312
6312
  "aria-describedby": void 0,
6313
6313
  onEscapeKeyDown: c,
6314
6314
  children: [
6315
- /* @__PURE__ */ I(tn, {
6315
+ /* @__PURE__ */ I(nn, {
6316
6316
  className: "sr-only",
6317
6317
  children: "Log Detail"
6318
6318
  }),
6319
- /* @__PURE__ */ I(en, {
6319
+ /* @__PURE__ */ I(tn, {
6320
6320
  className: "sr-only",
6321
6321
  children: "Detailed view of a log entry"
6322
6322
  }),
6323
- /* @__PURE__ */ I(Jt, {
6323
+ /* @__PURE__ */ I(Yt, {
6324
6324
  className: "h-full",
6325
6325
  children: i
6326
6326
  })
@@ -6368,14 +6368,14 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6368
6368
  className: "flex items-center justify-between px-5 pt-4 pb-2",
6369
6369
  children: [/* @__PURE__ */ I("div", {
6370
6370
  className: "flex items-center gap-0.5",
6371
- children: (a ?? o) && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(B, {
6371
+ children: (a ?? o) && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(R, {
6372
6372
  variant: "ghost",
6373
6373
  size: "icon",
6374
6374
  onClick: a,
6375
6375
  disabled: !c,
6376
6376
  "aria-label": "Previous log",
6377
6377
  children: /* @__PURE__ */ I(T, { className: "size-4" })
6378
- }), /* @__PURE__ */ I(B, {
6378
+ }), /* @__PURE__ */ I(R, {
6379
6379
  variant: "ghost",
6380
6380
  size: "icon",
6381
6381
  onClick: o,
@@ -6386,9 +6386,9 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6386
6386
  }), /* @__PURE__ */ L("div", {
6387
6387
  className: "flex items-center gap-0.5",
6388
6388
  children: [
6389
- s && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
6389
+ s && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
6390
6390
  asChild: !0,
6391
- children: /* @__PURE__ */ I(B, {
6391
+ children: /* @__PURE__ */ I(R, {
6392
6392
  variant: "ghost",
6393
6393
  size: "icon",
6394
6394
  onClick: s,
@@ -6396,9 +6396,9 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6396
6396
  children: /* @__PURE__ */ I(ue, { className: "size-4" })
6397
6397
  })
6398
6398
  }), /* @__PURE__ */ I(pn, { children: "Copy as JSON" })] }) }),
6399
- u && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
6399
+ u && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
6400
6400
  asChild: !0,
6401
- children: /* @__PURE__ */ I(B, {
6401
+ children: /* @__PURE__ */ I(R, {
6402
6402
  variant: "ghost",
6403
6403
  size: "icon",
6404
6404
  onClick: () => f(!d),
@@ -6406,10 +6406,10 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6406
6406
  children: I(d ? Ee : de, { className: "size-4" })
6407
6407
  })
6408
6408
  }), /* @__PURE__ */ I(pn, { children: d ? "Exit full screen" : "Full screen" })] }) }),
6409
- i && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Zt, {
6409
+ i && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Qt, {
6410
6410
  orientation: "vertical",
6411
6411
  className: "mx-1.5 h-4"
6412
- }), /* @__PURE__ */ I(B, {
6412
+ }), /* @__PURE__ */ I(R, {
6413
6413
  variant: "ghost",
6414
6414
  size: "icon",
6415
6415
  onClick: i,
@@ -6423,7 +6423,7 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6423
6423
  children: [/* @__PURE__ */ L("div", {
6424
6424
  className: "flex items-center gap-3",
6425
6425
  children: [
6426
- e && /* @__PURE__ */ I(z, {
6426
+ e && /* @__PURE__ */ I(st, {
6427
6427
  variant: Yu[e] ?? "secondary",
6428
6428
  children: e
6429
6429
  }),
@@ -6431,7 +6431,7 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6431
6431
  className: `font-mono text-sm font-semibold tabular-nums ${Xu(t)}`,
6432
6432
  children: t
6433
6433
  }),
6434
- m && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
6434
+ m && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
6435
6435
  asChild: !0,
6436
6436
  children: /* @__PURE__ */ I("span", {
6437
6437
  className: "ml-auto text-xs text-muted-foreground",
@@ -6443,7 +6443,7 @@ function Qu({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
6443
6443
  children: m.full
6444
6444
  })] }) })
6445
6445
  ]
6446
- }), n && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
6446
+ }), n && /* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
6447
6447
  asChild: !0,
6448
6448
  children: /* @__PURE__ */ I("p", {
6449
6449
  className: "font-mono text-sm text-muted-foreground truncate leading-relaxed",
@@ -6482,7 +6482,7 @@ function ed(e, t) {
6482
6482
  //#region src/logs/detail/components/LogDetailSection.tsx
6483
6483
  function td({ children: e, defaultValue: t }) {
6484
6484
  let [n, r] = P(t ?? "");
6485
- return /* @__PURE__ */ I($e, {
6485
+ return /* @__PURE__ */ I(et, {
6486
6486
  type: "single",
6487
6487
  collapsible: !0,
6488
6488
  value: n,
@@ -6491,20 +6491,20 @@ function td({ children: e, defaultValue: t }) {
6491
6491
  });
6492
6492
  }
6493
6493
  function nd({ title: e, badge: t, children: n }) {
6494
- return /* @__PURE__ */ L(tt, {
6494
+ return /* @__PURE__ */ L(nt, {
6495
6495
  value: e,
6496
6496
  className: "border-b last:border-b-0",
6497
- children: [/* @__PURE__ */ I(nt, {
6497
+ children: [/* @__PURE__ */ I(rt, {
6498
6498
  className: "px-5 py-4 text-sm font-medium tracking-tight hover:bg-muted/30 transition-colors duration-150",
6499
6499
  children: /* @__PURE__ */ L("span", {
6500
6500
  className: "flex items-center gap-3",
6501
- children: [e, t != null && /* @__PURE__ */ I(z, {
6501
+ children: [e, t != null && /* @__PURE__ */ I(st, {
6502
6502
  variant: "secondary",
6503
6503
  className: "text-[10px] font-semibold",
6504
6504
  children: t
6505
6505
  })]
6506
6506
  })
6507
- }), /* @__PURE__ */ I(et, { children: /* @__PURE__ */ I("div", {
6507
+ }), /* @__PURE__ */ I(tt, { children: /* @__PURE__ */ I("div", {
6508
6508
  className: "px-5 pb-5 pt-1",
6509
6509
  children: n
6510
6510
  }) })]
@@ -6621,7 +6621,7 @@ function od({ config: e, logId: t, apiId: n, onClose: r, onNavigatePrev: i, onNa
6621
6621
  className: "text-sm text-destructive",
6622
6622
  children: "Failed to load log details"
6623
6623
  }),
6624
- /* @__PURE__ */ I(B, {
6624
+ /* @__PURE__ */ I(R, {
6625
6625
  variant: "outline",
6626
6626
  size: "sm",
6627
6627
  onClick: () => m(),
@@ -6653,22 +6653,22 @@ function sd() {
6653
6653
  /* @__PURE__ */ L("div", {
6654
6654
  className: "flex items-center gap-2",
6655
6655
  children: [
6656
- /* @__PURE__ */ I(J, { className: "h-6 w-12" }),
6657
- /* @__PURE__ */ I(J, { className: "h-6 w-10" }),
6658
- /* @__PURE__ */ I(J, { className: "h-6 w-48" })
6656
+ /* @__PURE__ */ I(q, { className: "h-6 w-12" }),
6657
+ /* @__PURE__ */ I(q, { className: "h-6 w-10" }),
6658
+ /* @__PURE__ */ I(q, { className: "h-6 w-48" })
6659
6659
  ]
6660
6660
  }),
6661
- /* @__PURE__ */ I(J, { className: "h-[80px] w-full" }),
6661
+ /* @__PURE__ */ I(q, { className: "h-[80px] w-full" }),
6662
6662
  /* @__PURE__ */ L("div", {
6663
6663
  className: "flex gap-3",
6664
6664
  children: [
6665
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" }),
6666
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" }),
6667
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" })
6665
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" }),
6666
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" }),
6667
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" })
6668
6668
  ]
6669
6669
  }),
6670
- /* @__PURE__ */ I(J, { className: "h-8 w-full" }),
6671
- /* @__PURE__ */ I(J, { className: "h-32 w-full" })
6670
+ /* @__PURE__ */ I(q, { className: "h-8 w-full" }),
6671
+ /* @__PURE__ */ I(q, { className: "h-32 w-full" })
6672
6672
  ]
6673
6673
  });
6674
6674
  }
@@ -6682,17 +6682,17 @@ function cd({ config: e, onFilter: t }) {
6682
6682
  return s ? /* @__PURE__ */ L("div", {
6683
6683
  className: "space-y-4 p-6",
6684
6684
  children: [
6685
- /* @__PURE__ */ I(J, { className: "h-8 w-48" }),
6686
- /* @__PURE__ */ I(J, { className: "h-[80px] w-full" }),
6685
+ /* @__PURE__ */ I(q, { className: "h-8 w-48" }),
6686
+ /* @__PURE__ */ I(q, { className: "h-[80px] w-full" }),
6687
6687
  /* @__PURE__ */ L("div", {
6688
6688
  className: "flex gap-3",
6689
6689
  children: [
6690
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" }),
6691
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" }),
6692
- /* @__PURE__ */ I(J, { className: "h-14 flex-1" })
6690
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" }),
6691
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" }),
6692
+ /* @__PURE__ */ I(q, { className: "h-14 flex-1" })
6693
6693
  ]
6694
6694
  }),
6695
- /* @__PURE__ */ I(J, { className: "h-64 w-full" })
6695
+ /* @__PURE__ */ I(q, { className: "h-64 w-full" })
6696
6696
  ]
6697
6697
  }) : u ? /* @__PURE__ */ I("div", {
6698
6698
  className: "flex flex-col items-center justify-center gap-2 p-12 text-center text-muted-foreground",
@@ -6705,7 +6705,7 @@ function cd({ config: e, onFilter: t }) {
6705
6705
  children: [/* @__PURE__ */ I("p", {
6706
6706
  className: "text-sm font-medium text-muted-foreground",
6707
6707
  children: "Log not found"
6708
- }), /* @__PURE__ */ L(B, {
6708
+ }), /* @__PURE__ */ L(R, {
6709
6709
  variant: "outline",
6710
6710
  size: "sm",
6711
6711
  onClick: f,
@@ -6719,7 +6719,7 @@ function cd({ config: e, onFilter: t }) {
6719
6719
  className: "text-sm text-destructive",
6720
6720
  children: "Failed to load log details"
6721
6721
  }),
6722
- /* @__PURE__ */ I(B, {
6722
+ /* @__PURE__ */ I(R, {
6723
6723
  variant: "outline",
6724
6724
  size: "sm",
6725
6725
  onClick: () => d(),
@@ -6730,13 +6730,13 @@ function cd({ config: e, onFilter: t }) {
6730
6730
  className: "space-y-0",
6731
6731
  children: [/* @__PURE__ */ I("div", {
6732
6732
  className: "border-b px-6 py-3",
6733
- children: /* @__PURE__ */ L(B, {
6733
+ children: /* @__PURE__ */ L(R, {
6734
6734
  variant: "ghost",
6735
6735
  size: "sm",
6736
6736
  onClick: f,
6737
6737
  children: [/* @__PURE__ */ I(T, { className: "size-4 mr-1.5" }), "Back to logs"]
6738
6738
  })
6739
- }), /* @__PURE__ */ I(st, {
6739
+ }), /* @__PURE__ */ I(lt, {
6740
6740
  className: "mx-6 mt-4 overflow-hidden",
6741
6741
  children: /* @__PURE__ */ I(id, {
6742
6742
  config: e,
@@ -6771,7 +6771,7 @@ var ld = {
6771
6771
  };
6772
6772
  function ud({ status: e }) {
6773
6773
  let t = ld[e];
6774
- return /* @__PURE__ */ I(z, {
6774
+ return /* @__PURE__ */ I(st, {
6775
6775
  variant: t.variant,
6776
6776
  children: t.label
6777
6777
  });
@@ -6866,13 +6866,13 @@ function gd({ data: e, loading: t, totalCount: n, page: r, pageSize: i, onPageCh
6866
6866
  selectedRowId: l,
6867
6867
  columnVisibilityStorageKey: u,
6868
6868
  defaultColumnVisibility: md,
6869
- emptyMessage: /* @__PURE__ */ I(Pt, { children: /* @__PURE__ */ L(It, { children: [
6870
- /* @__PURE__ */ I(Lt, {
6869
+ emptyMessage: /* @__PURE__ */ I(Ft, { children: /* @__PURE__ */ L(Lt, { children: [
6870
+ /* @__PURE__ */ I(Rt, {
6871
6871
  variant: "icon",
6872
6872
  children: /* @__PURE__ */ I(C, {})
6873
6873
  }),
6874
- /* @__PURE__ */ I(Rt, { children: f.title }),
6875
- /* @__PURE__ */ I(Ft, { children: f.description })
6874
+ /* @__PURE__ */ I(zt, { children: f.title }),
6875
+ /* @__PURE__ */ I(It, { children: f.description })
6876
6876
  ] }) })
6877
6877
  });
6878
6878
  }
@@ -7017,7 +7017,7 @@ function Sd({ text: e, query: t }) {
7017
7017
  }, n) : e) });
7018
7018
  }
7019
7019
  function Cd({ option: e, searchQuery: t }) {
7020
- return /* @__PURE__ */ I(ht, {
7020
+ return /* @__PURE__ */ I(_t, {
7021
7021
  value: e,
7022
7022
  children: /* @__PURE__ */ L("span", {
7023
7023
  className: "flex min-w-0 flex-col",
@@ -7041,14 +7041,14 @@ function wd() {
7041
7041
  "aria-label": "Loading APIs",
7042
7042
  children: Array.from({ length: 5 }, (e, t) => /* @__PURE__ */ L("div", {
7043
7043
  className: "flex flex-col gap-1 px-2 py-1.5",
7044
- children: [/* @__PURE__ */ I(J, { className: "h-3.5 w-3/5" }), /* @__PURE__ */ I(J, { className: "h-2.5 w-2/5" })]
7044
+ children: [/* @__PURE__ */ I(q, { className: "h-3.5 w-3/5" }), /* @__PURE__ */ I(q, { className: "h-2.5 w-2/5" })]
7045
7045
  }, t))
7046
7046
  });
7047
7047
  }
7048
7048
  function Td({ inputId: e, errorId: t, loadError: n, children: r }) {
7049
7049
  return /* @__PURE__ */ L("div", {
7050
7050
  className: "flex items-center gap-2",
7051
- children: [/* @__PURE__ */ L(Ut, {
7051
+ children: [/* @__PURE__ */ L(Wt, {
7052
7052
  htmlFor: e,
7053
7053
  className: "shrink-0 text-sm font-medium",
7054
7054
  children: [
@@ -7060,7 +7060,7 @@ function Td({ inputId: e, errorId: t, loadError: n, children: r }) {
7060
7060
  children: "*"
7061
7061
  })
7062
7062
  ]
7063
- }), n ? /* @__PURE__ */ L(F, { children: [r, /* @__PURE__ */ I(Bt, {
7063
+ }), n ? /* @__PURE__ */ L(F, { children: [r, /* @__PURE__ */ I(Vt, {
7064
7064
  id: t,
7065
7065
  children: n
7066
7066
  })] }) : r]
@@ -7080,7 +7080,7 @@ function Ed({ paginatedLoader: e, resolveApiLabel: t, value: n, onSelect: r }) {
7080
7080
  role: "status",
7081
7081
  "aria-live": "polite",
7082
7082
  className: "flex items-center justify-center gap-1.5 py-1 text-[11px] text-muted-foreground",
7083
- children: [/* @__PURE__ */ I(nn, {
7083
+ children: [/* @__PURE__ */ I(rn, {
7084
7084
  className: "size-3",
7085
7085
  "aria-hidden": "true"
7086
7086
  }), "Loading…"]
@@ -7090,7 +7090,7 @@ function Ed({ paginatedLoader: e, resolveApiLabel: t, value: n, onSelect: r }) {
7090
7090
  inputId: c,
7091
7091
  errorId: l,
7092
7092
  loadError: g,
7093
- children: /* @__PURE__ */ L(ct, {
7093
+ children: /* @__PURE__ */ L(ut, {
7094
7094
  open: i,
7095
7095
  onOpenChange: b,
7096
7096
  items: u,
@@ -7108,7 +7108,7 @@ function Ed({ paginatedLoader: e, resolveApiLabel: t, value: n, onSelect: r }) {
7108
7108
  i && _(String(e));
7109
7109
  },
7110
7110
  openOnInputClick: !0,
7111
- children: [/* @__PURE__ */ I(mt, {
7111
+ children: [/* @__PURE__ */ I(gt, {
7112
7112
  id: c,
7113
7113
  "aria-label": "API",
7114
7114
  "aria-required": "true",
@@ -7120,14 +7120,14 @@ function Ed({ paginatedLoader: e, resolveApiLabel: t, value: n, onSelect: r }) {
7120
7120
  className: "w-72 max-w-full",
7121
7121
  onFocus: o,
7122
7122
  onKeyDown: s
7123
- }), /* @__PURE__ */ I(ft, {
7123
+ }), /* @__PURE__ */ I(mt, {
7124
7124
  className: "max-h-56",
7125
7125
  children: p && u.length === 0 ? /* @__PURE__ */ I(wd, {}) : /* @__PURE__ */ L(F, { children: [
7126
- /* @__PURE__ */ I(pt, { children: /* @__PURE__ */ I("span", {
7126
+ /* @__PURE__ */ I(ht, { children: /* @__PURE__ */ I("span", {
7127
7127
  className: "block px-3 py-6 text-center text-sm text-muted-foreground",
7128
7128
  children: "No API found."
7129
7129
  }) }),
7130
- /* @__PURE__ */ I(gt, { children: (e) => /* @__PURE__ */ I(Cd, {
7130
+ /* @__PURE__ */ I(vt, { children: (e) => /* @__PURE__ */ I(Cd, {
7131
7131
  option: e,
7132
7132
  searchQuery: f
7133
7133
  }, e.id) }),
@@ -7143,7 +7143,7 @@ function Dd({ options: e, value: t, onSelect: n, loading: r }) {
7143
7143
  inputId: c,
7144
7144
  errorId: c,
7145
7145
  loadError: null,
7146
- children: /* @__PURE__ */ L(ct, {
7146
+ children: /* @__PURE__ */ L(ut, {
7147
7147
  open: i,
7148
7148
  onOpenChange: a,
7149
7149
  items: e,
@@ -7157,7 +7157,7 @@ function Dd({ options: e, value: t, onSelect: n, loading: r }) {
7157
7157
  isItemEqualToValue: (e, t) => e.id === t.id,
7158
7158
  disabled: r,
7159
7159
  openOnInputClick: !0,
7160
- children: [/* @__PURE__ */ I(mt, {
7160
+ children: [/* @__PURE__ */ I(gt, {
7161
7161
  id: c,
7162
7162
  "aria-label": "API",
7163
7163
  "aria-required": "true",
@@ -7167,12 +7167,12 @@ function Dd({ options: e, value: t, onSelect: n, loading: r }) {
7167
7167
  className: "w-72 max-w-full",
7168
7168
  onFocus: o,
7169
7169
  onKeyDown: s
7170
- }), /* @__PURE__ */ L(ft, {
7170
+ }), /* @__PURE__ */ L(mt, {
7171
7171
  className: "max-h-56",
7172
- children: [/* @__PURE__ */ I(pt, { children: /* @__PURE__ */ I("span", {
7172
+ children: [/* @__PURE__ */ I(ht, { children: /* @__PURE__ */ I("span", {
7173
7173
  className: "block px-3 py-6 text-center text-sm text-muted-foreground",
7174
7174
  children: "No API found."
7175
- }) }), /* @__PURE__ */ I(gt, { children: (e) => /* @__PURE__ */ I(Cd, {
7175
+ }) }), /* @__PURE__ */ I(vt, { children: (e) => /* @__PURE__ */ I(Cd, {
7176
7176
  option: e,
7177
7177
  searchQuery: ""
7178
7178
  }, e.id) })]
@@ -7189,7 +7189,7 @@ function Od({ options: e = [], paginatedLoader: t, resolveApiLabel: n, value: r,
7189
7189
  className: "flex-1 text-sm text-destructive",
7190
7190
  children: "Failed to load the API list."
7191
7191
  }),
7192
- s && /* @__PURE__ */ L(B, {
7192
+ s && /* @__PURE__ */ L(R, {
7193
7193
  variant: "outline",
7194
7194
  size: "sm",
7195
7195
  onClick: s,
@@ -7491,7 +7491,7 @@ function Qd({ span: e, onClose: t }) {
7491
7491
  className: "truncate text-sm font-semibold tracking-tight",
7492
7492
  children: e.operationName
7493
7493
  })]
7494
- }), t && /* @__PURE__ */ I(B, {
7494
+ }), t && /* @__PURE__ */ I(R, {
7495
7495
  variant: "ghost",
7496
7496
  size: "icon",
7497
7497
  className: "size-7 shrink-0",
@@ -7581,7 +7581,7 @@ function $d({ title: e, badge: t, children: n }) {
7581
7581
  children: [/* @__PURE__ */ I("h4", {
7582
7582
  className: "text-[11px] font-medium uppercase tracking-wide text-muted-foreground/70",
7583
7583
  children: e
7584
- }), t !== void 0 && /* @__PURE__ */ I(z, {
7584
+ }), t !== void 0 && /* @__PURE__ */ I(st, {
7585
7585
  variant: "secondary",
7586
7586
  className: "text-[10px] font-semibold",
7587
7587
  children: t
@@ -7757,20 +7757,20 @@ function gf({ trace: e }) {
7757
7757
  className: "flex flex-col gap-5 p-6",
7758
7758
  children: [
7759
7759
  /* @__PURE__ */ I(_f, { trace: e }),
7760
- /* @__PURE__ */ L(an, {
7760
+ /* @__PURE__ */ L(on, {
7761
7761
  value: t,
7762
7762
  onValueChange: (e) => n(e),
7763
7763
  className: "flex flex-col gap-4",
7764
7764
  children: [
7765
- /* @__PURE__ */ I(sn, {
7765
+ /* @__PURE__ */ I(cn, {
7766
7766
  variant: "line",
7767
7767
  "aria-label": "Trace view",
7768
- children: hf.map((e) => /* @__PURE__ */ I(cn, {
7768
+ children: hf.map((e) => /* @__PURE__ */ I(ln, {
7769
7769
  value: e.key,
7770
7770
  children: e.label
7771
7771
  }, e.key))
7772
7772
  }),
7773
- /* @__PURE__ */ I(on, {
7773
+ /* @__PURE__ */ I(sn, {
7774
7774
  value: "timeline",
7775
7775
  children: /* @__PURE__ */ I(mf, {
7776
7776
  trace: e,
@@ -7778,7 +7778,7 @@ function gf({ trace: e }) {
7778
7778
  selectedSpanId: s?.spanId
7779
7779
  })
7780
7780
  }),
7781
- /* @__PURE__ */ I(on, {
7781
+ /* @__PURE__ */ I(sn, {
7782
7782
  value: "lineage",
7783
7783
  children: /* @__PURE__ */ I(cf, {
7784
7784
  trace: e,
@@ -7861,7 +7861,7 @@ function yf({ onRetry: e }) {
7861
7861
  className: "text-sm text-destructive",
7862
7862
  children: "Failed to load trace details"
7863
7863
  }),
7864
- /* @__PURE__ */ I(B, {
7864
+ /* @__PURE__ */ I(R, {
7865
7865
  variant: "outline",
7866
7866
  size: "sm",
7867
7867
  onClick: e,
@@ -7876,7 +7876,7 @@ function bf({ onBack: e }) {
7876
7876
  children: [/* @__PURE__ */ I("p", {
7877
7877
  className: "text-sm font-medium text-muted-foreground",
7878
7878
  children: "Trace not found"
7879
- }), /* @__PURE__ */ L(B, {
7879
+ }), /* @__PURE__ */ L(R, {
7880
7880
  variant: "outline",
7881
7881
  size: "sm",
7882
7882
  onClick: e,
@@ -7895,7 +7895,7 @@ function xf({ apiId: e }) {
7895
7895
  className: "flex flex-col",
7896
7896
  children: [/* @__PURE__ */ I("div", {
7897
7897
  className: "border-b px-6 py-3",
7898
- children: /* @__PURE__ */ L(B, {
7898
+ children: /* @__PURE__ */ L(R, {
7899
7899
  variant: "ghost",
7900
7900
  size: "sm",
7901
7901
  onClick: l,
@@ -7934,7 +7934,7 @@ function Cf({ onClose: e, onNavigatePrev: t, onNavigateNext: n, hasPrev: r, hasN
7934
7934
  "aria-label": "Trace detail toolbar",
7935
7935
  children: [/* @__PURE__ */ I("div", {
7936
7936
  className: "flex items-center gap-0.5",
7937
- children: !!(t ?? n) && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(B, {
7937
+ children: !!(t ?? n) && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(R, {
7938
7938
  variant: "ghost",
7939
7939
  size: "icon",
7940
7940
  className: "size-7",
@@ -7942,7 +7942,7 @@ function Cf({ onClose: e, onNavigatePrev: t, onNavigateNext: n, hasPrev: r, hasN
7942
7942
  disabled: !r,
7943
7943
  "aria-label": "Previous trace",
7944
7944
  children: /* @__PURE__ */ I(T, { className: "size-4" })
7945
- }), /* @__PURE__ */ I(B, {
7945
+ }), /* @__PURE__ */ I(R, {
7946
7946
  variant: "ghost",
7947
7947
  size: "icon",
7948
7948
  className: "size-7",
@@ -7953,9 +7953,9 @@ function Cf({ onClose: e, onNavigatePrev: t, onNavigateNext: n, hasPrev: r, hasN
7953
7953
  })] })
7954
7954
  }), /* @__PURE__ */ L("div", {
7955
7955
  className: "flex items-center gap-0.5",
7956
- children: [/* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
7956
+ children: [/* @__PURE__ */ I(Y, { children: /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
7957
7957
  asChild: !0,
7958
- children: /* @__PURE__ */ I(B, {
7958
+ children: /* @__PURE__ */ I(R, {
7959
7959
  variant: "ghost",
7960
7960
  size: "icon",
7961
7961
  className: "size-7",
@@ -7963,7 +7963,7 @@ function Cf({ onClose: e, onNavigatePrev: t, onNavigateNext: n, hasPrev: r, hasN
7963
7963
  "aria-label": a ? "Exit full screen" : "Full screen",
7964
7964
  children: I(a ? Ee : de, { className: "size-4" })
7965
7965
  })
7966
- }), /* @__PURE__ */ I(pn, { children: a ? "Exit full screen" : "Full screen" })] }) }), /* @__PURE__ */ I(B, {
7966
+ }), /* @__PURE__ */ I(pn, { children: a ? "Exit full screen" : "Full screen" })] }) }), /* @__PURE__ */ I(R, {
7967
7967
  variant: "ghost",
7968
7968
  size: "icon",
7969
7969
  className: "size-7",
@@ -8102,7 +8102,7 @@ function Vf({ error: e, isSuccess: t }) {
8102
8102
  ]);
8103
8103
  }
8104
8104
  function Hf() {
8105
- let e = t(), n = R({
8105
+ let e = t(), n = Qe({
8106
8106
  queryKey: Q.customDashboards(),
8107
8107
  queryFn: ({ signal: t }) => {
8108
8108
  if (!e) throw Error("No dashboard persistence configured.");
@@ -8113,7 +8113,7 @@ function Hf() {
8113
8113
  return Vf(n), n;
8114
8114
  }
8115
8115
  function Uf(e) {
8116
- let n = t(), r = R({
8116
+ let n = t(), r = Qe({
8117
8117
  queryKey: Q.customDashboard(e ?? ""),
8118
8118
  queryFn: ({ signal: t }) => {
8119
8119
  if (!n) throw Error("No dashboard persistence configured.");
@@ -8135,7 +8135,7 @@ function Kf() {
8135
8135
  return Yf((e, t) => e.updateDashboard(t, void 0, { force: !0 }));
8136
8136
  }
8137
8137
  function qf() {
8138
- let e = t(), n = Qe();
8138
+ let e = t(), n = $e();
8139
8139
  return A((t) => {
8140
8140
  e?.adoptCurrentRevision?.(t.id), n.setQueryData(Q.customDashboard(t.id), t), n.invalidateQueries({ queryKey: Q.customDashboards() });
8141
8141
  }, [e, n]);
@@ -8147,7 +8147,7 @@ function Jf() {
8147
8147
  }, [e]);
8148
8148
  }
8149
8149
  function Yf(e) {
8150
- let n = t(), r = Qe(), { reportRefused: i, reportGranted: a } = f();
8150
+ let n = t(), r = $e(), { reportRefused: i, reportGranted: a } = f();
8151
8151
  return Xe({
8152
8152
  mutationFn: (t) => n ? e(n, t) : Promise.reject(/* @__PURE__ */ Error("No dashboard persistence configured.")),
8153
8153
  onSuccess: (e) => {
@@ -8159,7 +8159,7 @@ function Yf(e) {
8159
8159
  });
8160
8160
  }
8161
8161
  function Xf() {
8162
- let e = t(), n = Qe(), { reportRefused: r, reportGranted: i } = f();
8162
+ let e = t(), n = $e(), { reportRefused: r, reportGranted: i } = f();
8163
8163
  return Xe({
8164
8164
  mutationFn: (t) => e ? e.deleteDashboard(t) : Promise.reject(/* @__PURE__ */ Error("No dashboard persistence configured.")),
8165
8165
  onSuccess: (e, t) => {
@@ -8174,12 +8174,12 @@ function Xf() {
8174
8174
  //#region src/dashboards/editor/DashboardConflictDialog.tsx
8175
8175
  function Zf({ open: e, theirDashboard: t, deleted: n = !1, pending: r = null, onResolve: i, onCancel: a }) {
8176
8176
  let [o, s] = P(!1), [c, l] = P(e), u = r !== null;
8177
- return e !== c && (l(e), e && s(!1)), /* @__PURE__ */ I(xt, {
8177
+ return e !== c && (l(e), e && s(!1)), /* @__PURE__ */ I(Ct, {
8178
8178
  open: e,
8179
8179
  onOpenChange: (e) => {
8180
8180
  !e && !u && a();
8181
8181
  },
8182
- children: /* @__PURE__ */ I(Ct, { children: n ? /* @__PURE__ */ I(ep, {
8182
+ children: /* @__PURE__ */ I(Tt, { children: n ? /* @__PURE__ */ I(ep, {
8183
8183
  busy: u,
8184
8184
  pending: r,
8185
8185
  onResolve: i,
@@ -8200,7 +8200,7 @@ function Zf({ open: e, theirDashboard: t, deleted: n = !1, pending: r = null, on
8200
8200
  }
8201
8201
  function Qf({ theirDashboard: e, busy: t, pending: n, onResolve: r, onTakeTheirs: i, onCancel: a }) {
8202
8202
  return /* @__PURE__ */ L(F, { children: [
8203
- /* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Someone else updated this dashboard while you were editing" }), /* @__PURE__ */ I(wt, { children: "Nothing was saved and nothing was lost: your changes are still in the editor behind this dialog, and their version is still on the server. Pick what should happen to each." })] }),
8203
+ /* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Someone else updated this dashboard while you were editing" }), /* @__PURE__ */ I(Et, { children: "Nothing was saved and nothing was lost: your changes are still in the editor behind this dialog, and their version is still on the server. Pick what should happen to each." })] }),
8204
8204
  e && /* @__PURE__ */ I(tp, { dashboard: e }),
8205
8205
  /* @__PURE__ */ L("div", {
8206
8206
  className: "flex flex-col gap-2",
@@ -8227,7 +8227,7 @@ function Qf({ theirDashboard: e, busy: t, pending: n, onResolve: r, onTakeTheirs
8227
8227
  })
8228
8228
  ]
8229
8229
  }),
8230
- /* @__PURE__ */ I(Tt, { children: /* @__PURE__ */ I(B, {
8230
+ /* @__PURE__ */ I(Dt, { children: /* @__PURE__ */ I(R, {
8231
8231
  variant: "ghost",
8232
8232
  disabled: t,
8233
8233
  onClick: a,
@@ -8236,12 +8236,12 @@ function Qf({ theirDashboard: e, busy: t, pending: n, onResolve: r, onTakeTheirs
8236
8236
  ] });
8237
8237
  }
8238
8238
  function $f({ busy: e, onResolve: t, onBack: n }) {
8239
- return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Discard your changes?" }), /* @__PURE__ */ I(wt, { children: "Everything you edited since you opened this dashboard is replaced by the version the other author saved. It was never sent to the server, so this cannot be undone." })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(B, {
8239
+ return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Discard your changes?" }), /* @__PURE__ */ I(Et, { children: "Everything you edited since you opened this dashboard is replaced by the version the other author saved. It was never sent to the server, so this cannot be undone." })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(R, {
8240
8240
  variant: "outline",
8241
8241
  disabled: e,
8242
8242
  onClick: n,
8243
8243
  children: "Keep my changes"
8244
- }), /* @__PURE__ */ I(B, {
8244
+ }), /* @__PURE__ */ I(R, {
8245
8245
  variant: "destructive",
8246
8246
  disabled: e,
8247
8247
  onClick: () => t("take-theirs"),
@@ -8249,12 +8249,12 @@ function $f({ busy: e, onResolve: t, onBack: n }) {
8249
8249
  })] })] });
8250
8250
  }
8251
8251
  function ep({ busy: e, pending: t, onResolve: n, onCancel: r }) {
8252
- return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "This dashboard no longer exists" }), /* @__PURE__ */ I(wt, { children: "It was deleted while you were editing, so there is nothing left to save it to. Your changes are still here and can be kept as a new dashboard." })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(B, {
8252
+ return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "This dashboard no longer exists" }), /* @__PURE__ */ I(Et, { children: "It was deleted while you were editing, so there is nothing left to save it to. Your changes are still here and can be kept as a new dashboard." })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(R, {
8253
8253
  variant: "ghost",
8254
8254
  disabled: e,
8255
8255
  onClick: r,
8256
8256
  children: "Keep editing"
8257
- }), /* @__PURE__ */ I(B, {
8257
+ }), /* @__PURE__ */ I(R, {
8258
8258
  disabled: e,
8259
8259
  onClick: () => n("save-as-copy"),
8260
8260
  children: t === "save-as-copy" ? "Saving…" : "Save as a new dashboard"
@@ -8280,7 +8280,7 @@ function tp({ dashboard: e }) {
8280
8280
  });
8281
8281
  }
8282
8282
  function np({ label: e, description: t, loading: n = !1, disabled: r, onClick: i }) {
8283
- return /* @__PURE__ */ L(B, {
8283
+ return /* @__PURE__ */ L(R, {
8284
8284
  variant: "outline",
8285
8285
  className: "h-auto w-full flex-col items-start gap-0.5 py-3 text-left whitespace-normal",
8286
8286
  disabled: r,
@@ -8359,7 +8359,7 @@ var cp = Ve(function({ condition: e, revaluable: t, changedByReader: n, editable
8359
8359
  //#region src/dashboards/DashboardFilterChipPopover.tsx
8360
8360
  function lp({ condition: e, revaluable: t, changedByReader: n, onRemove: r, renderForm: i }) {
8361
8361
  let [a, o] = P(!1), s = N(null), c = N({ getBoundingClientRect: () => s.current?.getBoundingClientRect() ?? new DOMRect() });
8362
- return /* @__PURE__ */ L(Wt, {
8362
+ return /* @__PURE__ */ L(Gt, {
8363
8363
  open: a,
8364
8364
  onOpenChange: o,
8365
8365
  children: [
@@ -8372,8 +8372,8 @@ function lp({ condition: e, revaluable: t, changedByReader: n, onRemove: r, rend
8372
8372
  onEdit: () => o(!0),
8373
8373
  onRemove: r
8374
8374
  }),
8375
- /* @__PURE__ */ I(Gt, { virtualRef: c }),
8376
- /* @__PURE__ */ I(Kt, {
8375
+ /* @__PURE__ */ I(Kt, { virtualRef: c }),
8376
+ /* @__PURE__ */ I(qt, {
8377
8377
  align: "start",
8378
8378
  className: "w-auto p-0",
8379
8379
  children: a ? i(() => o(!1)) : null
@@ -8434,19 +8434,19 @@ function fp({ condition: e, own: t, addableProviders: n, activeApiTypes: r, onCh
8434
8434
  }
8435
8435
  function pp({ addableProviders: e, activeApiTypes: t, onAdd: n }) {
8436
8436
  let [r, i] = P(!1);
8437
- return /* @__PURE__ */ L(Wt, {
8437
+ return /* @__PURE__ */ L(Gt, {
8438
8438
  open: r,
8439
8439
  onOpenChange: i,
8440
- children: [/* @__PURE__ */ I(qt, {
8440
+ children: [/* @__PURE__ */ I(Jt, {
8441
8441
  asChild: !0,
8442
- children: /* @__PURE__ */ L(B, {
8442
+ children: /* @__PURE__ */ L(R, {
8443
8443
  variant: "ghost",
8444
8444
  size: "sm",
8445
8445
  className: "h-7 gap-1 text-muted-foreground",
8446
8446
  disabled: e.length === 0,
8447
8447
  children: [/* @__PURE__ */ I(Oe, { className: "size-3.5" }), "Add dashboard filter"]
8448
8448
  })
8449
- }), /* @__PURE__ */ I(Kt, {
8449
+ }), /* @__PURE__ */ I(qt, {
8450
8450
  align: "start",
8451
8451
  className: "w-auto p-0",
8452
8452
  children: /* @__PURE__ */ I(mp, {
@@ -8469,7 +8469,7 @@ function mp({ existingCondition: e, providers: t, activeApiTypes: n, onApply: r,
8469
8469
  allowEmptyValue: s,
8470
8470
  footer: ({ isEmptyValue: e }) => /* @__PURE__ */ L("div", {
8471
8471
  className: "flex items-start gap-2 rounded-md border border-border bg-muted/30 p-2.5",
8472
- children: [/* @__PURE__ */ I(rn, {
8472
+ children: [/* @__PURE__ */ I(an, {
8473
8473
  id: o,
8474
8474
  checked: s,
8475
8475
  onCheckedChange: c,
@@ -8971,12 +8971,12 @@ function Gp({ text: e, onTextChange: t, dirty: n, onApply: r }) {
8971
8971
  children: "Copy this document to duplicate parts of the dashboard, or edit it and apply your changes."
8972
8972
  }), /* @__PURE__ */ L("div", {
8973
8973
  className: "flex shrink-0 items-center gap-2",
8974
- children: [/* @__PURE__ */ L(B, {
8974
+ children: [/* @__PURE__ */ L(R, {
8975
8975
  variant: "outline",
8976
8976
  size: "sm",
8977
8977
  onClick: () => void a(),
8978
8978
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), "Copy JSON"]
8979
- }), /* @__PURE__ */ L(B, {
8979
+ }), /* @__PURE__ */ L(R, {
8980
8980
  size: "sm",
8981
8981
  onClick: () => {
8982
8982
  i.ok && (r(i.fields), Z.success("JSON applied to the dashboard"));
@@ -8986,9 +8986,9 @@ function Gp({ text: e, onTextChange: t, dirty: n, onApply: r }) {
8986
8986
  })]
8987
8987
  })]
8988
8988
  }),
8989
- !i.ok && /* @__PURE__ */ L(rt, {
8989
+ !i.ok && /* @__PURE__ */ L(it, {
8990
8990
  variant: "destructive",
8991
- children: [/* @__PURE__ */ I(at, { children: "Invalid dashboard document" }), /* @__PURE__ */ I(it, { children: /* @__PURE__ */ I("ul", {
8991
+ children: [/* @__PURE__ */ I(ot, { children: "Invalid dashboard document" }), /* @__PURE__ */ I(at, { children: /* @__PURE__ */ I("ul", {
8992
8992
  className: "list-inside list-disc",
8993
8993
  children: i.errors.map((e) => /* @__PURE__ */ I("li", { children: e }, e))
8994
8994
  }) })]
@@ -9002,7 +9002,7 @@ function Gp({ text: e, onTextChange: t, dirty: n, onApply: r }) {
9002
9002
  onTextChange: t
9003
9003
  }),
9004
9004
  children: /* @__PURE__ */ I(Re, {
9005
- fallback: /* @__PURE__ */ I(J, { className: "size-full" }),
9005
+ fallback: /* @__PURE__ */ I(q, { className: "size-full" }),
9006
9006
  children: /* @__PURE__ */ I(Wp, {
9007
9007
  language: "json",
9008
9008
  height: "100%",
@@ -9025,7 +9025,7 @@ function Kp({ text: e, onTextChange: t }) {
9025
9025
  /* @__PURE__ */ I("code", { children: "monaco-editor" }),
9026
9026
  " dependency is not installed. Editing still works."
9027
9027
  ]
9028
- }), /* @__PURE__ */ I(ln, {
9028
+ }), /* @__PURE__ */ I(un, {
9029
9029
  "aria-label": "Dashboard JSON",
9030
9030
  className: "min-h-0 flex-1 font-mono text-xs",
9031
9031
  value: e,
@@ -9053,13 +9053,13 @@ function Jp({ onAddWidget: e }) {
9053
9053
  onClick: e,
9054
9054
  "aria-label": "Create your first widget",
9055
9055
  className: "flex min-h-[320px] w-full cursor-pointer items-center justify-center rounded-lg border-2 border-dashed border-border transition-colors hover:border-primary/50 hover:bg-accent/30 focus-visible:outline-2 focus-visible:outline-ring",
9056
- children: /* @__PURE__ */ L(Pt, { children: [/* @__PURE__ */ L(It, { children: [
9057
- /* @__PURE__ */ I(Lt, {
9056
+ children: /* @__PURE__ */ L(Ft, { children: [/* @__PURE__ */ L(Lt, { children: [
9057
+ /* @__PURE__ */ I(Rt, {
9058
9058
  variant: "icon",
9059
9059
  children: /* @__PURE__ */ I(ye, {})
9060
9060
  }),
9061
- /* @__PURE__ */ I(Rt, { children: "Create your first widget" }),
9062
- /* @__PURE__ */ I(Ft, { children: "Pick a visualization, choose your metrics and watch the preview update live." })
9061
+ /* @__PURE__ */ I(zt, { children: "Create your first widget" }),
9062
+ /* @__PURE__ */ I(It, { children: "Pick a visualization, choose your metrics and watch the preview update live." })
9063
9063
  ] }), /* @__PURE__ */ L("span", {
9064
9064
  className: X(hn(), "pointer-events-none mt-2"),
9065
9065
  children: [/* @__PURE__ */ I(Oe, { className: "size-4" }), "Add a widget"]
@@ -9078,7 +9078,7 @@ function Yp({ value: e, onChange: t, placeholder: n, ariaLabel: r, textClassName
9078
9078
  let n = e.trim();
9079
9079
  n !== e && t(n);
9080
9080
  };
9081
- return c ? /* @__PURE__ */ I(H, {
9081
+ return c ? /* @__PURE__ */ I(V, {
9082
9082
  ref: l,
9083
9083
  value: e,
9084
9084
  "aria-label": r,
@@ -9105,11 +9105,11 @@ function Yp({ value: e, onChange: t, placeholder: n, ariaLabel: r, textClassName
9105
9105
  function Xp({ widget: e, onChange: t }) {
9106
9106
  let n = Ge(), r = e.showTotal ?? !1, i = e.series.length < 2 && !e.series[0]?.by?.length;
9107
9107
  return /* @__PURE__ */ L(F, { children: [
9108
- /* @__PURE__ */ I(zt, { children: "Adds a total row to the tooltip, summing every series at the hovered point. Useful when the series are parts of one whole." }),
9108
+ /* @__PURE__ */ I(Bt, { children: "Adds a total row to the tooltip, summing every series at the hovered point. Useful when the series are parts of one whole." }),
9109
9109
  /* @__PURE__ */ L("div", {
9110
9110
  className: "flex items-center gap-3",
9111
9111
  children: [
9112
- /* @__PURE__ */ I(rn, {
9112
+ /* @__PURE__ */ I(an, {
9113
9113
  id: n,
9114
9114
  disabled: i,
9115
9115
  checked: r && !i,
@@ -9118,12 +9118,12 @@ function Xp({ widget: e, onChange: t }) {
9118
9118
  showTotal: n
9119
9119
  })
9120
9120
  }),
9121
- /* @__PURE__ */ I(Ut, {
9121
+ /* @__PURE__ */ I(Wt, {
9122
9122
  htmlFor: n,
9123
9123
  className: X("shrink-0 text-sm font-normal", i && "text-muted-foreground"),
9124
9124
  children: "Total in the tooltip"
9125
9125
  }),
9126
- /* @__PURE__ */ I(H, {
9126
+ /* @__PURE__ */ I(V, {
9127
9127
  "aria-label": "Total label",
9128
9128
  disabled: !r || i,
9129
9129
  value: e.totalLabel ?? "",
@@ -9135,7 +9135,7 @@ function Xp({ widget: e, onChange: t }) {
9135
9135
  })
9136
9136
  ]
9137
9137
  }),
9138
- i && /* @__PURE__ */ I(zt, { children: "Add a second series to use it: a total of one series is that series." })
9138
+ i && /* @__PURE__ */ I(Bt, { children: "Add a second series to use it: a total of one series is that series." })
9139
9139
  ] });
9140
9140
  }
9141
9141
  //#endregion
@@ -9187,28 +9187,28 @@ function tm({ widget: e, onChange: t }) {
9187
9187
  return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Zp, {
9188
9188
  cols: Qp,
9189
9189
  labels: ["Centre", "Custom value"],
9190
- children: [/* @__PURE__ */ L(U, {
9190
+ children: [/* @__PURE__ */ L(H, {
9191
9191
  value: n,
9192
9192
  onValueChange: (e) => e && r(e),
9193
- children: [/* @__PURE__ */ I(K, {
9193
+ children: [/* @__PURE__ */ I(G, {
9194
9194
  className: "w-full",
9195
9195
  "aria-label": "Centre of the doughnut",
9196
- children: /* @__PURE__ */ I(q, {})
9197
- }), /* @__PURE__ */ L(W, { children: [
9198
- /* @__PURE__ */ I(G, {
9196
+ children: /* @__PURE__ */ I(K, {})
9197
+ }), /* @__PURE__ */ L(U, { children: [
9198
+ /* @__PURE__ */ I(W, {
9199
9199
  value: "none",
9200
9200
  children: "Empty"
9201
9201
  }),
9202
- /* @__PURE__ */ I(G, {
9202
+ /* @__PURE__ */ I(W, {
9203
9203
  value: "total",
9204
9204
  children: "Total of the slices"
9205
9205
  }),
9206
- /* @__PURE__ */ I(G, {
9206
+ /* @__PURE__ */ I(W, {
9207
9207
  value: "custom",
9208
9208
  children: "Custom value"
9209
9209
  })
9210
9210
  ] })]
9211
- }), /* @__PURE__ */ I(H, {
9211
+ }), /* @__PURE__ */ I(V, {
9212
9212
  "aria-label": "Centre value",
9213
9213
  disabled: n !== "custom",
9214
9214
  value: e.centerValue ?? "",
@@ -9221,7 +9221,7 @@ function tm({ widget: e, onChange: t }) {
9221
9221
  }), /* @__PURE__ */ I(Zp, {
9222
9222
  cols: Qp,
9223
9223
  labels: ["Caption"],
9224
- children: /* @__PURE__ */ I(H, {
9224
+ children: /* @__PURE__ */ I(V, {
9225
9225
  "aria-label": "Centre caption",
9226
9226
  disabled: n === "none",
9227
9227
  value: e.centerLabel ?? "",
@@ -9250,16 +9250,16 @@ var nm = [
9250
9250
  }
9251
9251
  ], rm = "higher-is-better";
9252
9252
  function im({ value: e, onChange: t, id: n, disabled: r }) {
9253
- return /* @__PURE__ */ L(U, {
9253
+ return /* @__PURE__ */ L(H, {
9254
9254
  value: e ?? rm,
9255
9255
  onValueChange: (e) => e && t(e),
9256
9256
  disabled: r,
9257
- children: [/* @__PURE__ */ I(K, {
9257
+ children: [/* @__PURE__ */ I(G, {
9258
9258
  id: n,
9259
9259
  className: "w-full",
9260
9260
  "aria-label": "Trend sentiment",
9261
- children: /* @__PURE__ */ I(q, {})
9262
- }), /* @__PURE__ */ I(W, { children: nm.map((e) => /* @__PURE__ */ I(G, {
9261
+ children: /* @__PURE__ */ I(K, {})
9262
+ }), /* @__PURE__ */ I(U, { children: nm.map((e) => /* @__PURE__ */ I(W, {
9263
9263
  value: e.value,
9264
9264
  children: e.label
9265
9265
  }, e.value)) })]
@@ -9271,24 +9271,24 @@ function am({ widget: e, onChange: t }) {
9271
9271
  if (e.type === "bar") return /* @__PURE__ */ L(Zp, {
9272
9272
  cols: Qp,
9273
9273
  labels: ["Orientation", "Value label"],
9274
- children: [/* @__PURE__ */ L(U, {
9274
+ children: [/* @__PURE__ */ L(H, {
9275
9275
  value: e.barLayout ?? "vertical",
9276
9276
  onValueChange: (n) => n && t({
9277
9277
  ...e,
9278
9278
  barLayout: n
9279
9279
  }),
9280
- children: [/* @__PURE__ */ I(K, {
9280
+ children: [/* @__PURE__ */ I(G, {
9281
9281
  className: "w-full",
9282
9282
  "aria-label": "Bar orientation",
9283
- children: /* @__PURE__ */ I(q, {})
9284
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9283
+ children: /* @__PURE__ */ I(K, {})
9284
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9285
9285
  value: "vertical",
9286
9286
  children: "Vertical bars"
9287
- }), /* @__PURE__ */ I(G, {
9287
+ }), /* @__PURE__ */ I(W, {
9288
9288
  value: "horizontal",
9289
9289
  children: "Horizontal bars"
9290
9290
  })] })]
9291
- }), /* @__PURE__ */ I(H, {
9291
+ }), /* @__PURE__ */ I(V, {
9292
9292
  "aria-label": "Value label",
9293
9293
  value: e.valueLabel ?? "",
9294
9294
  placeholder: "Shown in the tooltip",
@@ -9307,37 +9307,37 @@ function am({ widget: e, onChange: t }) {
9307
9307
  /* @__PURE__ */ L(Zp, {
9308
9308
  cols: Qp,
9309
9309
  labels: ["Representation", "Row order"],
9310
- children: [/* @__PURE__ */ L(U, {
9310
+ children: [/* @__PURE__ */ L(H, {
9311
9311
  value: e.variant ?? "list",
9312
9312
  onValueChange: (n) => n && t({
9313
9313
  ...e,
9314
9314
  variant: n
9315
9315
  }),
9316
- children: [/* @__PURE__ */ I(K, {
9316
+ children: [/* @__PURE__ */ I(G, {
9317
9317
  className: "w-full",
9318
9318
  "aria-label": "Top list variant",
9319
- children: /* @__PURE__ */ I(q, {})
9320
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9319
+ children: /* @__PURE__ */ I(K, {})
9320
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9321
9321
  value: "list",
9322
9322
  children: "Ranked list"
9323
- }), /* @__PURE__ */ I(G, {
9323
+ }), /* @__PURE__ */ I(W, {
9324
9324
  value: "stacked",
9325
9325
  children: "Stacked bar"
9326
9326
  })] })]
9327
- }), /* @__PURE__ */ L(U, {
9327
+ }), /* @__PURE__ */ L(H, {
9328
9328
  value: e.sortByValue ?? "desc",
9329
9329
  onValueChange: (n) => n && t({
9330
9330
  ...e,
9331
9331
  sortByValue: n
9332
9332
  }),
9333
- children: [/* @__PURE__ */ I(K, {
9333
+ children: [/* @__PURE__ */ I(G, {
9334
9334
  className: "w-full",
9335
9335
  "aria-label": "Row order",
9336
- children: /* @__PURE__ */ I(q, {})
9337
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9336
+ children: /* @__PURE__ */ I(K, {})
9337
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9338
9338
  value: "desc",
9339
9339
  children: "Highest first"
9340
- }), /* @__PURE__ */ I(G, {
9340
+ }), /* @__PURE__ */ I(W, {
9341
9341
  value: "asc",
9342
9342
  children: "Lowest first"
9343
9343
  })] })]
@@ -9348,7 +9348,7 @@ function am({ widget: e, onChange: t }) {
9348
9348
  children: [
9349
9349
  /* @__PURE__ */ L("div", {
9350
9350
  className: "flex items-center gap-2",
9351
- children: [/* @__PURE__ */ I(rn, {
9351
+ children: [/* @__PURE__ */ I(an, {
9352
9352
  "aria-label": "Show rank",
9353
9353
  disabled: r,
9354
9354
  checked: e.showRank ?? !1,
@@ -9363,7 +9363,7 @@ function am({ widget: e, onChange: t }) {
9363
9363
  }),
9364
9364
  /* @__PURE__ */ L("div", {
9365
9365
  className: "flex items-center gap-2",
9366
- children: [/* @__PURE__ */ I(rn, {
9366
+ children: [/* @__PURE__ */ I(an, {
9367
9367
  "aria-label": "Show trend",
9368
9368
  disabled: r,
9369
9369
  checked: n,
@@ -9378,7 +9378,7 @@ function am({ widget: e, onChange: t }) {
9378
9378
  }),
9379
9379
  /* @__PURE__ */ L("div", {
9380
9380
  className: "flex items-center gap-2",
9381
- children: [/* @__PURE__ */ I(rn, {
9381
+ children: [/* @__PURE__ */ I(an, {
9382
9382
  "aria-label": "Compact rows",
9383
9383
  disabled: r,
9384
9384
  checked: e.compact ?? !1,
@@ -9396,7 +9396,7 @@ function am({ widget: e, onChange: t }) {
9396
9396
  !r && /* @__PURE__ */ L(Zp, {
9397
9397
  cols: "grid grid-cols-2",
9398
9398
  labels: n ? ["Collapse after", "Trend sentiment"] : ["Collapse after"],
9399
- children: [/* @__PURE__ */ I(H, {
9399
+ children: [/* @__PURE__ */ I(V, {
9400
9400
  "aria-label": "Collapse after",
9401
9401
  type: "number",
9402
9402
  min: 1,
@@ -9425,24 +9425,24 @@ function am({ widget: e, onChange: t }) {
9425
9425
  var om = "__none__";
9426
9426
  function sm({ value: e, onChange: t, id: n, allowNone: r = !1, disabled: i, ariaLabel: a = "Dimension" }) {
9427
9427
  let o = e !== void 0 && as(e) !== void 0;
9428
- return /* @__PURE__ */ L(U, {
9428
+ return /* @__PURE__ */ L(H, {
9429
9429
  value: e ?? (r ? om : void 0),
9430
9430
  onValueChange: (e) => {
9431
9431
  e && t(e === om ? void 0 : e);
9432
9432
  },
9433
9433
  disabled: i,
9434
- children: [/* @__PURE__ */ I(K, {
9434
+ children: [/* @__PURE__ */ I(G, {
9435
9435
  id: n,
9436
9436
  className: "w-full [&_[data-option-subtitle]]:hidden",
9437
9437
  "aria-label": a,
9438
9438
  title: e,
9439
- children: /* @__PURE__ */ I(q, { placeholder: "Select a dimension" })
9440
- }), /* @__PURE__ */ L(W, { children: [
9441
- r && /* @__PURE__ */ I(G, {
9439
+ children: /* @__PURE__ */ I(K, { placeholder: "Select a dimension" })
9440
+ }), /* @__PURE__ */ L(U, { children: [
9441
+ r && /* @__PURE__ */ I(W, {
9442
9442
  value: om,
9443
9443
  children: "None"
9444
9444
  }),
9445
- ts.map((e) => /* @__PURE__ */ I(G, {
9445
+ ts.map((e) => /* @__PURE__ */ I(W, {
9446
9446
  value: e.field,
9447
9447
  children: /* @__PURE__ */ L("span", {
9448
9448
  className: "flex flex-col items-start",
@@ -9456,7 +9456,7 @@ function sm({ value: e, onChange: t, id: n, allowNone: r = !1, disabled: i, aria
9456
9456
  })]
9457
9457
  })
9458
9458
  }, e.field)),
9459
- !o && e !== void 0 && /* @__PURE__ */ I(G, {
9459
+ !o && e !== void 0 && /* @__PURE__ */ I(W, {
9460
9460
  value: e,
9461
9461
  children: e
9462
9462
  })
@@ -9471,17 +9471,17 @@ function cm(e, t, n) {
9471
9471
  }
9472
9472
  function lm({ value: e, onChange: t, id: n, metric: r }) {
9473
9473
  let i = (r === void 0 ? void 0 : ss(r)) ?? Qo, a = e === void 0 || i.includes(e), o = a || e === void 0 ? i : [...i, e], s = o.length === 1;
9474
- return /* @__PURE__ */ L(U, {
9474
+ return /* @__PURE__ */ L(H, {
9475
9475
  value: e ?? (s ? o[0] : void 0),
9476
9476
  onValueChange: (e) => e && t(e),
9477
9477
  disabled: s,
9478
- children: [/* @__PURE__ */ I(K, {
9478
+ children: [/* @__PURE__ */ I(G, {
9479
9479
  id: n,
9480
9480
  className: "w-full",
9481
9481
  "aria-label": "Measure",
9482
9482
  title: cm(o, s, a),
9483
- children: /* @__PURE__ */ I(q, { placeholder: "Measure" })
9484
- }), /* @__PURE__ */ I(W, { children: o.map((e) => /* @__PURE__ */ I(G, {
9483
+ children: /* @__PURE__ */ I(K, { placeholder: "Measure" })
9484
+ }), /* @__PURE__ */ I(U, { children: o.map((e) => /* @__PURE__ */ I(W, {
9485
9485
  value: e,
9486
9486
  children: e
9487
9487
  }, e)) })]
@@ -9491,16 +9491,16 @@ function lm({ value: e, onChange: t, id: n, metric: r }) {
9491
9491
  //#region src/dashboards/editor/MetricSelect.tsx
9492
9492
  function um({ value: e, onChange: t, id: n }) {
9493
9493
  let r = is(e) !== void 0;
9494
- return /* @__PURE__ */ L(U, {
9494
+ return /* @__PURE__ */ L(H, {
9495
9495
  value: e,
9496
9496
  onValueChange: (e) => e && t(e),
9497
- children: [/* @__PURE__ */ I(K, {
9497
+ children: [/* @__PURE__ */ I(G, {
9498
9498
  id: n,
9499
9499
  className: "w-full [&_[data-option-subtitle]]:hidden",
9500
9500
  "aria-label": "Metric",
9501
9501
  title: e,
9502
- children: /* @__PURE__ */ I(q, { placeholder: "Select a metric" })
9503
- }), /* @__PURE__ */ L(W, { children: [es.map((e) => /* @__PURE__ */ L(Yt, { children: [/* @__PURE__ */ I(Xt, { children: e.label }), e.metrics.map((e) => /* @__PURE__ */ I(G, {
9502
+ children: /* @__PURE__ */ I(K, { placeholder: "Select a metric" })
9503
+ }), /* @__PURE__ */ L(U, { children: [es.map((e) => /* @__PURE__ */ L(Xt, { children: [/* @__PURE__ */ I(Zt, { children: e.label }), e.metrics.map((e) => /* @__PURE__ */ I(W, {
9504
9504
  value: e.name,
9505
9505
  children: /* @__PURE__ */ L("span", {
9506
9506
  className: "flex flex-col items-start",
@@ -9513,7 +9513,7 @@ function um({ value: e, onChange: t, id: n }) {
9513
9513
  children: e.name
9514
9514
  })]
9515
9515
  })
9516
- }, e.name))] }, e.id)), !r && e && /* @__PURE__ */ L(Yt, { children: [/* @__PURE__ */ I(Xt, { children: "Custom" }), /* @__PURE__ */ I(G, {
9516
+ }, e.name))] }, e.id)), !r && e && /* @__PURE__ */ L(Xt, { children: [/* @__PURE__ */ I(Zt, { children: "Custom" }), /* @__PURE__ */ I(W, {
9517
9517
  value: e,
9518
9518
  children: e
9519
9519
  })] })] })]
@@ -9554,7 +9554,7 @@ function mm({ widget: e, onChange: t }) {
9554
9554
  }]
9555
9555
  });
9556
9556
  };
9557
- return /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ L(Zp, {
9557
+ return /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ L(Zp, {
9558
9558
  cols: dm,
9559
9559
  labels: [
9560
9560
  "Metric",
@@ -9581,7 +9581,7 @@ function mm({ widget: e, onChange: t }) {
9581
9581
  by: [n]
9582
9582
  })
9583
9583
  }),
9584
- /* @__PURE__ */ I(H, {
9584
+ /* @__PURE__ */ I(V, {
9585
9585
  "aria-label": "Max buckets",
9586
9586
  type: "number",
9587
9587
  min: 1,
@@ -9597,17 +9597,17 @@ function mm({ widget: e, onChange: t }) {
9597
9597
  });
9598
9598
  }
9599
9599
  }),
9600
- /* @__PURE__ */ L(U, {
9600
+ /* @__PURE__ */ L(H, {
9601
9601
  value: i,
9602
9602
  onValueChange: (e) => e && a(e),
9603
- children: [/* @__PURE__ */ I(K, {
9603
+ children: [/* @__PURE__ */ I(G, {
9604
9604
  className: "w-full",
9605
9605
  "aria-label": "Bucket order",
9606
- children: /* @__PURE__ */ I(q, {})
9607
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9606
+ children: /* @__PURE__ */ I(K, {})
9607
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9608
9608
  value: "DESC",
9609
9609
  children: "Highest"
9610
- }), /* @__PURE__ */ I(G, {
9610
+ }), /* @__PURE__ */ I(W, {
9611
9611
  value: "ASC",
9612
9612
  children: "Lowest"
9613
9613
  })] })]
@@ -9629,7 +9629,7 @@ function hm({ widget: e, onChange: t }) {
9629
9629
  "Colouring"
9630
9630
  ],
9631
9631
  children: [
9632
- /* @__PURE__ */ I(rn, {
9632
+ /* @__PURE__ */ I(an, {
9633
9633
  "aria-label": "Show details on hover",
9634
9634
  checked: n,
9635
9635
  onCheckedChange: (n) => t({
@@ -9647,21 +9647,21 @@ function hm({ widget: e, onChange: t }) {
9647
9647
  tooltipBy: n
9648
9648
  })
9649
9649
  }),
9650
- /* @__PURE__ */ L(U, {
9650
+ /* @__PURE__ */ L(H, {
9651
9651
  value: e.tooltipColorMode ?? "theme",
9652
9652
  disabled: !n || e.tooltipBy === void 0,
9653
9653
  onValueChange: (n) => n && t({
9654
9654
  ...e,
9655
9655
  tooltipColorMode: n
9656
9656
  }),
9657
- children: [/* @__PURE__ */ I(K, {
9657
+ children: [/* @__PURE__ */ I(G, {
9658
9658
  className: "w-full",
9659
9659
  "aria-label": "Hover colouring",
9660
- children: /* @__PURE__ */ I(q, {})
9661
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9660
+ children: /* @__PURE__ */ I(K, {})
9661
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9662
9662
  value: "theme",
9663
9663
  children: "Theme colours"
9664
- }), /* @__PURE__ */ I(G, {
9664
+ }), /* @__PURE__ */ I(W, {
9665
9665
  value: "status",
9666
9666
  children: "Status colours"
9667
9667
  })] })]
@@ -9723,19 +9723,19 @@ function _m({ items: e, onChange: t }) {
9723
9723
  metric: t.metric,
9724
9724
  onChange: (e) => n(i, { measure: e })
9725
9725
  }),
9726
- /* @__PURE__ */ I(H, {
9726
+ /* @__PURE__ */ I(V, {
9727
9727
  "aria-label": "Label",
9728
9728
  value: t.label ?? "",
9729
9729
  placeholder: "Optional label",
9730
9730
  onChange: (e) => n(i, { label: e.target.value || void 0 })
9731
9731
  }),
9732
- /* @__PURE__ */ I(H, {
9732
+ /* @__PURE__ */ I(V, {
9733
9733
  "aria-label": "Group",
9734
9734
  value: t.category ?? "",
9735
9735
  placeholder: "Optional heading",
9736
9736
  onChange: (e) => n(i, { category: e.target.value || void 0 })
9737
9737
  }),
9738
- /* @__PURE__ */ I(rn, {
9738
+ /* @__PURE__ */ I(an, {
9739
9739
  "aria-label": `Show trend for ${t.label || t.metric}`,
9740
9740
  checked: o,
9741
9741
  onCheckedChange: (e) => n(i, { showTrend: e })
@@ -9745,7 +9745,7 @@ function _m({ items: e, onChange: t }) {
9745
9745
  disabled: !o,
9746
9746
  onChange: (e) => n(i, { sentiment: e })
9747
9747
  }),
9748
- /* @__PURE__ */ I(B, {
9748
+ /* @__PURE__ */ I(R, {
9749
9749
  variant: "ghost",
9750
9750
  size: "icon",
9751
9751
  "aria-label": "Remove metric",
@@ -9759,7 +9759,7 @@ function _m({ items: e, onChange: t }) {
9759
9759
  }),
9760
9760
  /* @__PURE__ */ I("div", {
9761
9761
  className: "mt-0.5",
9762
- children: /* @__PURE__ */ L(B, {
9762
+ children: /* @__PURE__ */ L(R, {
9763
9763
  variant: "outline",
9764
9764
  size: "sm",
9765
9765
  onClick: i,
@@ -9774,7 +9774,7 @@ function _m({ items: e, onChange: t }) {
9774
9774
  var vm = "grid grid-cols-[minmax(0,1.6fr)_minmax(0,0.9fr)_minmax(0,1.3fr)_minmax(0,0.5fr)_minmax(0,0.6fr)_minmax(0,1.2fr)]";
9775
9775
  function ym({ widget: e, onChange: t }) {
9776
9776
  let n = e.showTrend ?? !1;
9777
- return /* @__PURE__ */ I(V, { children: /* @__PURE__ */ L(Zp, {
9777
+ return /* @__PURE__ */ I(B, { children: /* @__PURE__ */ L(Zp, {
9778
9778
  cols: vm,
9779
9779
  labels: [
9780
9780
  "Metric",
@@ -9801,7 +9801,7 @@ function ym({ widget: e, onChange: t }) {
9801
9801
  measure: n
9802
9802
  })
9803
9803
  }),
9804
- /* @__PURE__ */ I(H, {
9804
+ /* @__PURE__ */ I(V, {
9805
9805
  "aria-label": "Label",
9806
9806
  value: e.label ?? "",
9807
9807
  placeholder: e.title || "Defaults to the widget title",
@@ -9810,7 +9810,7 @@ function ym({ widget: e, onChange: t }) {
9810
9810
  label: n.target.value || void 0
9811
9811
  })
9812
9812
  }),
9813
- /* @__PURE__ */ I(rn, {
9813
+ /* @__PURE__ */ I(an, {
9814
9814
  "aria-label": "Show trend",
9815
9815
  checked: n,
9816
9816
  onCheckedChange: (n) => t({
@@ -9818,7 +9818,7 @@ function ym({ widget: e, onChange: t }) {
9818
9818
  showTrend: n
9819
9819
  })
9820
9820
  }),
9821
- /* @__PURE__ */ I(rn, {
9821
+ /* @__PURE__ */ I(an, {
9822
9822
  "aria-label": "Show sparkline",
9823
9823
  checked: e.showSparkline ?? !1,
9824
9824
  onCheckedChange: (n) => t({
@@ -9921,51 +9921,51 @@ function wm({ series: e, onChange: t }) {
9921
9921
  value: t.by?.[0],
9922
9922
  onChange: (e) => i(l, { by: e ? [e] : void 0 })
9923
9923
  }),
9924
- /* @__PURE__ */ L(U, {
9924
+ /* @__PURE__ */ L(H, {
9925
9925
  value: t.representation,
9926
9926
  onValueChange: (e) => e && c(l, e),
9927
- children: [/* @__PURE__ */ I(K, {
9927
+ children: [/* @__PURE__ */ I(G, {
9928
9928
  className: "w-full",
9929
9929
  "aria-label": "Representation",
9930
- children: /* @__PURE__ */ I(q, {})
9931
- }), /* @__PURE__ */ I(W, { children: xm.map((e) => /* @__PURE__ */ I(G, {
9930
+ children: /* @__PURE__ */ I(K, {})
9931
+ }), /* @__PURE__ */ I(U, { children: xm.map((e) => /* @__PURE__ */ I(W, {
9932
9932
  value: e.value,
9933
9933
  children: e.label
9934
9934
  }, e.value)) })]
9935
9935
  }),
9936
- /* @__PURE__ */ L(U, {
9936
+ /* @__PURE__ */ L(H, {
9937
9937
  value: t.stackId === void 0 ? "separate" : "stacked",
9938
9938
  disabled: t.representation === "line",
9939
9939
  onValueChange: (e) => e && s(l, e === "stacked"),
9940
- children: [/* @__PURE__ */ I(K, {
9940
+ children: [/* @__PURE__ */ I(G, {
9941
9941
  className: "w-full",
9942
9942
  "aria-label": "Stacking",
9943
9943
  title: t.representation === "line" ? "Lines are never stacked, use bars or areas" : void 0,
9944
- children: /* @__PURE__ */ I(q, {})
9945
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9944
+ children: /* @__PURE__ */ I(K, {})
9945
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9946
9946
  value: "separate",
9947
9947
  children: "Separate"
9948
- }), /* @__PURE__ */ I(G, {
9948
+ }), /* @__PURE__ */ I(W, {
9949
9949
  value: "stacked",
9950
9950
  children: "Stacked"
9951
9951
  })] })]
9952
9952
  }),
9953
- n && /* @__PURE__ */ L(U, {
9953
+ n && /* @__PURE__ */ L(H, {
9954
9954
  value: t.axisId ?? "left",
9955
9955
  onValueChange: (e) => e && o(l, e),
9956
- children: [/* @__PURE__ */ I(K, {
9956
+ children: [/* @__PURE__ */ I(G, {
9957
9957
  className: "w-full",
9958
9958
  "aria-label": "Y axis",
9959
- children: /* @__PURE__ */ I(q, {})
9960
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
9959
+ children: /* @__PURE__ */ I(K, {})
9960
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
9961
9961
  value: "left",
9962
9962
  children: "Left"
9963
- }), /* @__PURE__ */ I(G, {
9963
+ }), /* @__PURE__ */ I(W, {
9964
9964
  value: "right",
9965
9965
  children: "Right"
9966
9966
  })] })]
9967
9967
  }),
9968
- /* @__PURE__ */ I(B, {
9968
+ /* @__PURE__ */ I(R, {
9969
9969
  variant: "ghost",
9970
9970
  size: "icon",
9971
9971
  "aria-label": "Remove series",
@@ -9978,7 +9978,7 @@ function wm({ series: e, onChange: t }) {
9978
9978
  }, l)),
9979
9979
  /* @__PURE__ */ I("div", {
9980
9980
  className: "mt-0.5",
9981
- children: /* @__PURE__ */ L(B, {
9981
+ children: /* @__PURE__ */ L(R, {
9982
9982
  variant: "outline",
9983
9983
  size: "sm",
9984
9984
  onClick: l,
@@ -10013,7 +10013,7 @@ function Dm({ widget: e, onChange: t }) {
10013
10013
  "Totals row"
10014
10014
  ],
10015
10015
  children: [
10016
- /* @__PURE__ */ I(H, {
10016
+ /* @__PURE__ */ I(V, {
10017
10017
  "aria-label": "Rows per page",
10018
10018
  type: "number",
10019
10019
  min: 1,
@@ -10029,22 +10029,22 @@ function Dm({ widget: e, onChange: t }) {
10029
10029
  });
10030
10030
  }
10031
10031
  }),
10032
- /* @__PURE__ */ L(U, {
10032
+ /* @__PURE__ */ L(H, {
10033
10033
  value: e.rowMarker ?? Tm,
10034
10034
  onValueChange: (n) => t({
10035
10035
  ...e,
10036
10036
  rowMarker: n === Tm ? void 0 : n
10037
10037
  }),
10038
- children: [/* @__PURE__ */ I(K, {
10038
+ children: [/* @__PURE__ */ I(G, {
10039
10039
  "aria-label": "Row marker",
10040
10040
  title: "Shown in front of each row. A number is the row's rank. Colours match the charts, status groups included.",
10041
- children: /* @__PURE__ */ I(q, {})
10042
- }), /* @__PURE__ */ I(W, { children: Em.map((e) => /* @__PURE__ */ I(G, {
10041
+ children: /* @__PURE__ */ I(K, {})
10042
+ }), /* @__PURE__ */ I(U, { children: Em.map((e) => /* @__PURE__ */ I(W, {
10043
10043
  value: e.value,
10044
10044
  children: e.label
10045
10045
  }, e.value)) })]
10046
10046
  }),
10047
- /* @__PURE__ */ I(rn, {
10047
+ /* @__PURE__ */ I(an, {
10048
10048
  "aria-label": "Show a totals row",
10049
10049
  checked: e.showTotals === !0,
10050
10050
  onCheckedChange: (n) => t({
@@ -10110,7 +10110,7 @@ function Fm(e, t) {
10110
10110
  })}`;
10111
10111
  }
10112
10112
  function Im({ label: e, children: t }) {
10113
- return /* @__PURE__ */ L(fn, { children: [/* @__PURE__ */ I(mn, {
10113
+ return /* @__PURE__ */ L(J, { children: [/* @__PURE__ */ I(mn, {
10114
10114
  asChild: !0,
10115
10115
  children: t
10116
10116
  }), /* @__PURE__ */ I(pn, { children: e })] });
@@ -10219,7 +10219,7 @@ function Bm({ columns: e, onChange: t }) {
10219
10219
  metric: t.metric,
10220
10220
  onChange: (e) => o(l, { measure: e })
10221
10221
  }),
10222
- /* @__PURE__ */ I(H, {
10222
+ /* @__PURE__ */ I(V, {
10223
10223
  "aria-label": "Column label",
10224
10224
  value: t.label ?? "",
10225
10225
  placeholder: is(t.metric)?.label ?? t.metric,
@@ -10252,28 +10252,28 @@ function Bm({ columns: e, onChange: t }) {
10252
10252
  }),
10253
10253
  /* @__PURE__ */ L("div", {
10254
10254
  className: "flex items-center gap-0.5",
10255
- children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(Nt, {
10255
+ children: [/* @__PURE__ */ L(At, { children: [/* @__PURE__ */ I(Pt, {
10256
10256
  asChild: !0,
10257
- children: /* @__PURE__ */ I(B, {
10257
+ children: /* @__PURE__ */ I(R, {
10258
10258
  variant: "ghost",
10259
10259
  size: "icon-xs",
10260
10260
  "aria-label": `More actions for column ${l + 1}`,
10261
10261
  children: /* @__PURE__ */ I(we, { className: "size-4" })
10262
10262
  })
10263
- }), /* @__PURE__ */ L(kt, {
10263
+ }), /* @__PURE__ */ L(jt, {
10264
10264
  align: "end",
10265
10265
  children: [
10266
- /* @__PURE__ */ L(At, {
10266
+ /* @__PURE__ */ L(z, {
10267
10267
  disabled: l === 0,
10268
10268
  onSelect: () => c(l, -1),
10269
10269
  children: [/* @__PURE__ */ I(ee, { className: "size-4" }), "Move up"]
10270
10270
  }),
10271
- /* @__PURE__ */ L(At, {
10271
+ /* @__PURE__ */ L(z, {
10272
10272
  disabled: l === e.length - 1,
10273
10273
  onSelect: () => c(l, 1),
10274
10274
  children: [/* @__PURE__ */ I(w, { className: "size-4" }), "Move down"]
10275
10275
  }),
10276
- /* @__PURE__ */ L(At, {
10276
+ /* @__PURE__ */ L(z, {
10277
10277
  variant: "destructive",
10278
10278
  disabled: e.length === 1,
10279
10279
  onSelect: () => u(l),
@@ -10282,7 +10282,7 @@ function Bm({ columns: e, onChange: t }) {
10282
10282
  ]
10283
10283
  })] }), /* @__PURE__ */ I(Im, {
10284
10284
  label: g ? "Hide format and thresholds" : "Format and thresholds",
10285
- children: /* @__PURE__ */ I(B, {
10285
+ children: /* @__PURE__ */ I(R, {
10286
10286
  variant: "ghost",
10287
10287
  size: "icon-xs",
10288
10288
  "aria-label": `${g ? "Hide" : "Show"} format and thresholds for column ${l + 1}`,
@@ -10303,15 +10303,15 @@ function Bm({ columns: e, onChange: t }) {
10303
10303
  children: [/* @__PURE__ */ I("span", {
10304
10304
  className: "text-xs font-medium text-muted-foreground",
10305
10305
  children: "Format"
10306
- }), /* @__PURE__ */ L(U, {
10306
+ }), /* @__PURE__ */ L(H, {
10307
10307
  value: t.format ?? "",
10308
10308
  onValueChange: (e) => e && o(l, { format: e }),
10309
- children: [/* @__PURE__ */ I(K, {
10309
+ children: [/* @__PURE__ */ I(G, {
10310
10310
  className: "h-7 w-32",
10311
10311
  "aria-label": "Format",
10312
10312
  title: "Auto follows the unit of the metric.",
10313
- children: /* @__PURE__ */ I(q, { placeholder: "Auto" })
10314
- }), /* @__PURE__ */ I(W, { children: Om.map((e) => /* @__PURE__ */ I(G, {
10313
+ children: /* @__PURE__ */ I(K, { placeholder: "Auto" })
10314
+ }), /* @__PURE__ */ I(U, { children: Om.map((e) => /* @__PURE__ */ I(W, {
10315
10315
  value: e.value,
10316
10316
  children: e.label
10317
10317
  }, e.value)) })]
@@ -10319,7 +10319,7 @@ function Bm({ columns: e, onChange: t }) {
10319
10319
  }),
10320
10320
  /* @__PURE__ */ L("div", {
10321
10321
  className: "flex items-center gap-2 text-sm",
10322
- children: [/* @__PURE__ */ I(rn, {
10322
+ children: [/* @__PURE__ */ I(an, {
10323
10323
  "aria-label": "Share of total",
10324
10324
  checked: t.share === !0,
10325
10325
  onCheckedChange: (e) => o(l, { share: e || void 0 })
@@ -10328,7 +10328,7 @@ function Bm({ columns: e, onChange: t }) {
10328
10328
  /* @__PURE__ */ L("div", {
10329
10329
  className: "flex items-center gap-2 text-sm",
10330
10330
  title: "Stays visible when the widget is narrow. Other columns hide first.",
10331
- children: [/* @__PURE__ */ I(rn, {
10331
+ children: [/* @__PURE__ */ I(an, {
10332
10332
  "aria-label": "Keep when narrow",
10333
10333
  checked: t.pinned === !0,
10334
10334
  onCheckedChange: (e) => o(l, { pinned: e || void 0 })
@@ -10347,7 +10347,7 @@ function Bm({ columns: e, onChange: t }) {
10347
10347
  }),
10348
10348
  h.map((e, i) => {
10349
10349
  let a = "tier" in n && n.tier === i;
10350
- return /* @__PURE__ */ L(B, {
10350
+ return /* @__PURE__ */ L(R, {
10351
10351
  variant: "outline",
10352
10352
  size: "xs",
10353
10353
  className: `h-6 gap-1.5 rounded-full px-2 font-normal tabular-nums ${a ? "border-primary ring-2 ring-primary/20" : ""}`,
@@ -10359,7 +10359,7 @@ function Bm({ columns: e, onChange: t }) {
10359
10359
  children: [/* @__PURE__ */ I(Lm, { color: e.color }), Fm(e, t)]
10360
10360
  }, i);
10361
10361
  }),
10362
- /* @__PURE__ */ L(B, {
10362
+ /* @__PURE__ */ L(R, {
10363
10363
  variant: "outline",
10364
10364
  size: "xs",
10365
10365
  className: "h-6 gap-1 rounded-full border-dashed px-2 font-medium text-primary",
@@ -10425,7 +10425,7 @@ function Bm({ columns: e, onChange: t }) {
10425
10425
  }),
10426
10426
  /* @__PURE__ */ I("div", {
10427
10427
  className: "mt-0.5",
10428
- children: /* @__PURE__ */ L(B, {
10428
+ children: /* @__PURE__ */ L(R, {
10429
10429
  variant: "outline",
10430
10430
  size: "sm",
10431
10431
  onClick: l,
@@ -10441,13 +10441,13 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10441
10441
  return /* @__PURE__ */ L("div", {
10442
10442
  className: `${Nm} items-center gap-2`,
10443
10443
  children: [
10444
- /* @__PURE__ */ I(un, {
10444
+ /* @__PURE__ */ I(dn, {
10445
10445
  type: "single",
10446
10446
  value: t,
10447
10447
  onValueChange: (e) => e && a(e),
10448
10448
  "aria-label": "Threshold colour",
10449
10449
  className: "gap-1",
10450
- children: km.map((e) => /* @__PURE__ */ I(dn, {
10450
+ children: km.map((e) => /* @__PURE__ */ I(fn, {
10451
10451
  value: e.value,
10452
10452
  "aria-label": e.label,
10453
10453
  className: "size-7 rounded-md p-0 data-[state=on]:ring-2 data-[state=on]:ring-foreground/60",
@@ -10457,22 +10457,22 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10457
10457
  })
10458
10458
  }, e.value))
10459
10459
  }),
10460
- /* @__PURE__ */ L(U, {
10460
+ /* @__PURE__ */ L(H, {
10461
10461
  value: n,
10462
10462
  onValueChange: (e) => e && o(e),
10463
- children: [/* @__PURE__ */ I(K, {
10463
+ children: [/* @__PURE__ */ I(G, {
10464
10464
  className: "h-8 w-full",
10465
10465
  "aria-label": "When the value is",
10466
- children: /* @__PURE__ */ I(q, {})
10467
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
10466
+ children: /* @__PURE__ */ I(K, {})
10467
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
10468
10468
  value: "gte",
10469
10469
  children: "At or above"
10470
- }), /* @__PURE__ */ I(G, {
10470
+ }), /* @__PURE__ */ I(W, {
10471
10471
  value: "lte",
10472
10472
  children: "At or below"
10473
10473
  })] })]
10474
10474
  }),
10475
- /* @__PURE__ */ I(H, {
10475
+ /* @__PURE__ */ I(V, {
10476
10476
  "aria-label": "Threshold value",
10477
10477
  type: "number",
10478
10478
  className: "h-8",
@@ -10480,18 +10480,18 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10480
10480
  value: i,
10481
10481
  onChange: (e) => c(e.target.value)
10482
10482
  }),
10483
- /* @__PURE__ */ L(un, {
10483
+ /* @__PURE__ */ L(dn, {
10484
10484
  type: "single",
10485
10485
  value: r,
10486
10486
  onValueChange: (e) => e && s(e),
10487
10487
  "aria-label": "Compared to",
10488
10488
  variant: "outline",
10489
10489
  size: "sm",
10490
- children: [/* @__PURE__ */ I(dn, {
10490
+ children: [/* @__PURE__ */ I(fn, {
10491
10491
  value: "value",
10492
10492
  "aria-label": p ? `The value, in ${p}` : "The value",
10493
10493
  children: p ?? "Value"
10494
- }), /* @__PURE__ */ I(dn, {
10494
+ }), /* @__PURE__ */ I(fn, {
10495
10495
  value: "share",
10496
10496
  "aria-label": "The share of the column total, in percent",
10497
10497
  children: "% of total"
@@ -10502,7 +10502,7 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10502
10502
  children: [m && /* @__PURE__ */ L(F, { children: [
10503
10503
  /* @__PURE__ */ I(Im, {
10504
10504
  label: "Move earlier. Earlier thresholds win.",
10505
- children: /* @__PURE__ */ I(B, {
10505
+ children: /* @__PURE__ */ I(R, {
10506
10506
  variant: "ghost",
10507
10507
  size: "icon-xs",
10508
10508
  "aria-label": "Move threshold earlier",
@@ -10513,7 +10513,7 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10513
10513
  }),
10514
10514
  /* @__PURE__ */ I(Im, {
10515
10515
  label: "Move later",
10516
- children: /* @__PURE__ */ I(B, {
10516
+ children: /* @__PURE__ */ I(R, {
10517
10517
  variant: "ghost",
10518
10518
  size: "icon-xs",
10519
10519
  "aria-label": "Move threshold later",
@@ -10524,7 +10524,7 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10524
10524
  }),
10525
10525
  /* @__PURE__ */ I(Im, {
10526
10526
  label: "Remove threshold",
10527
- children: /* @__PURE__ */ I(B, {
10527
+ children: /* @__PURE__ */ I(R, {
10528
10528
  variant: "ghost",
10529
10529
  size: "icon-xs",
10530
10530
  "aria-label": "Remove threshold",
@@ -10534,7 +10534,7 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10534
10534
  })
10535
10535
  ] }), /* @__PURE__ */ I(Im, {
10536
10536
  label: "Done",
10537
- children: /* @__PURE__ */ I(B, {
10537
+ children: /* @__PURE__ */ I(R, {
10538
10538
  variant: "ghost",
10539
10539
  size: "icon-xs",
10540
10540
  "aria-label": "Done",
@@ -10551,7 +10551,7 @@ function Vm({ column: e, color: t, op: n, basis: r, value: i, onColor: a, onOp:
10551
10551
  var Hm = "grid grid-cols-[minmax(0,1.4fr)_minmax(0,0.8fr)_minmax(0,1.4fr)_minmax(0,0.8fr)]";
10552
10552
  function Um({ widget: e, onChange: t }) {
10553
10553
  let n = Qs(e.columns), r = e.sort?.columnId ?? n[0]?.id, i = e.sort?.order ?? "DESC";
10554
- return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(V, { children: [/* @__PURE__ */ L(Zp, {
10554
+ return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(B, { children: [/* @__PURE__ */ L(Zp, {
10555
10555
  cols: Hm,
10556
10556
  labels: [
10557
10557
  "Group by",
@@ -10568,7 +10568,7 @@ function Um({ widget: e, onChange: t }) {
10568
10568
  by: [n]
10569
10569
  })
10570
10570
  }),
10571
- /* @__PURE__ */ I(H, {
10571
+ /* @__PURE__ */ I(V, {
10572
10572
  "aria-label": "Max rows",
10573
10573
  type: "number",
10574
10574
  min: 1,
@@ -10584,7 +10584,7 @@ function Um({ widget: e, onChange: t }) {
10584
10584
  });
10585
10585
  }
10586
10586
  }),
10587
- /* @__PURE__ */ L(U, {
10587
+ /* @__PURE__ */ L(H, {
10588
10588
  value: r ?? "",
10589
10589
  onValueChange: (n) => n && t({
10590
10590
  ...e,
@@ -10593,16 +10593,16 @@ function Um({ widget: e, onChange: t }) {
10593
10593
  order: i
10594
10594
  }
10595
10595
  }),
10596
- children: [/* @__PURE__ */ I(K, {
10596
+ children: [/* @__PURE__ */ I(G, {
10597
10597
  className: "w-full",
10598
10598
  "aria-label": "Sort by",
10599
- children: /* @__PURE__ */ I(q, {})
10600
- }), /* @__PURE__ */ I(W, { children: n.map((e) => /* @__PURE__ */ I(G, {
10599
+ children: /* @__PURE__ */ I(K, {})
10600
+ }), /* @__PURE__ */ I(U, { children: n.map((e) => /* @__PURE__ */ I(W, {
10601
10601
  value: e.id,
10602
10602
  children: e.label
10603
10603
  }, e.id)) })]
10604
10604
  }),
10605
- /* @__PURE__ */ L(U, {
10605
+ /* @__PURE__ */ L(H, {
10606
10606
  value: i,
10607
10607
  onValueChange: (n) => n && r !== void 0 && t({
10608
10608
  ...e,
@@ -10611,20 +10611,20 @@ function Um({ widget: e, onChange: t }) {
10611
10611
  order: n
10612
10612
  }
10613
10613
  }),
10614
- children: [/* @__PURE__ */ I(K, {
10614
+ children: [/* @__PURE__ */ I(G, {
10615
10615
  className: "w-full",
10616
10616
  "aria-label": "Sort order",
10617
- children: /* @__PURE__ */ I(q, {})
10618
- }), /* @__PURE__ */ L(W, { children: [/* @__PURE__ */ I(G, {
10617
+ children: /* @__PURE__ */ I(K, {})
10618
+ }), /* @__PURE__ */ L(U, { children: [/* @__PURE__ */ I(W, {
10619
10619
  value: "DESC",
10620
10620
  children: "Highest"
10621
- }), /* @__PURE__ */ I(G, {
10621
+ }), /* @__PURE__ */ I(W, {
10622
10622
  value: "ASC",
10623
10623
  children: "Lowest"
10624
10624
  })] })]
10625
10625
  })
10626
10626
  ]
10627
- }), /* @__PURE__ */ I(zt, { children: "Sorting also picks the rows. The table keeps the top N by this column." })] }), /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Columns" }), /* @__PURE__ */ I(Bm, {
10627
+ }), /* @__PURE__ */ I(Bt, { children: "Sorting also picks the rows. The table keeps the top N by this column." })] }), /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Columns" }), /* @__PURE__ */ I(Bm, {
10628
10628
  columns: e.columns,
10629
10629
  onChange: (n) => {
10630
10630
  let a = n.map((e) => Ys(e)), o = r && a.includes(r) ? r : a[0];
@@ -10686,7 +10686,7 @@ var Wm = [
10686
10686
  }
10687
10687
  ];
10688
10688
  function Gm({ value: e, onChange: t }) {
10689
- return /* @__PURE__ */ I(un, {
10689
+ return /* @__PURE__ */ I(dn, {
10690
10690
  type: "single",
10691
10691
  value: e,
10692
10692
  onValueChange: (e) => e && t(e),
@@ -10696,7 +10696,7 @@ function Gm({ value: e, onChange: t }) {
10696
10696
  className: "grid grid-cols-3 sm:grid-cols-7",
10697
10697
  children: Wm.map((e) => {
10698
10698
  let t = e.icon;
10699
- return /* @__PURE__ */ L(dn, {
10699
+ return /* @__PURE__ */ L(fn, {
10700
10700
  value: e.type,
10701
10701
  title: e.description,
10702
10702
  className: "flex h-auto flex-col items-center gap-1.5 p-2.5 text-xs",
@@ -10900,27 +10900,27 @@ function rh({ widget: e, onChange: t }) {
10900
10900
  };
10901
10901
  return /* @__PURE__ */ L("div", {
10902
10902
  className: "flex flex-col gap-5",
10903
- children: [/* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Visualization" }), /* @__PURE__ */ I(Gm, {
10903
+ children: [/* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Visualization" }), /* @__PURE__ */ I(Gm, {
10904
10904
  value: e.type,
10905
10905
  onChange: s
10906
- })] }), /* @__PURE__ */ L(an, {
10906
+ })] }), /* @__PURE__ */ L(on, {
10907
10907
  value: n,
10908
10908
  onValueChange: (e) => r(e),
10909
10909
  children: [
10910
- /* @__PURE__ */ L(sn, {
10910
+ /* @__PURE__ */ L(cn, {
10911
10911
  variant: "line",
10912
10912
  children: [
10913
- /* @__PURE__ */ I(cn, {
10913
+ /* @__PURE__ */ I(ln, {
10914
10914
  value: "data",
10915
10915
  children: "Data"
10916
10916
  }),
10917
- i && /* @__PURE__ */ I(cn, {
10917
+ i && /* @__PURE__ */ I(ln, {
10918
10918
  value: "display",
10919
10919
  children: "Display"
10920
10920
  }),
10921
- /* @__PURE__ */ L(cn, {
10921
+ /* @__PURE__ */ L(ln, {
10922
10922
  value: "filters",
10923
- children: ["Filters", a > 0 && /* @__PURE__ */ I(z, {
10923
+ children: ["Filters", a > 0 && /* @__PURE__ */ I(st, {
10924
10924
  variant: "highlight",
10925
10925
  className: "ml-1.5",
10926
10926
  children: a
@@ -10928,7 +10928,7 @@ function rh({ widget: e, onChange: t }) {
10928
10928
  })
10929
10929
  ]
10930
10930
  }),
10931
- /* @__PURE__ */ I(on, {
10931
+ /* @__PURE__ */ I(sn, {
10932
10932
  value: "data",
10933
10933
  className: th,
10934
10934
  children: /* @__PURE__ */ I(ih, {
@@ -10936,7 +10936,7 @@ function rh({ widget: e, onChange: t }) {
10936
10936
  onChange: o
10937
10937
  })
10938
10938
  }),
10939
- i && /* @__PURE__ */ I(on, {
10939
+ i && /* @__PURE__ */ I(sn, {
10940
10940
  value: "display",
10941
10941
  className: th,
10942
10942
  children: /* @__PURE__ */ I(ah, {
@@ -10944,12 +10944,12 @@ function rh({ widget: e, onChange: t }) {
10944
10944
  onChange: o
10945
10945
  })
10946
10946
  }),
10947
- /* @__PURE__ */ I(on, {
10947
+ /* @__PURE__ */ I(sn, {
10948
10948
  value: "filters",
10949
10949
  className: th,
10950
- children: /* @__PURE__ */ L(V, { children: [
10951
- /* @__PURE__ */ I(Ht, { children: "Widget filters" }),
10952
- /* @__PURE__ */ I(zt, { children: "Applied only to this widget, on top of the dashboard filters." }),
10950
+ children: /* @__PURE__ */ L(B, { children: [
10951
+ /* @__PURE__ */ I(Ut, { children: "Widget filters" }),
10952
+ /* @__PURE__ */ I(Bt, { children: "Applied only to this widget, on top of the dashboard filters." }),
10953
10953
  /* @__PURE__ */ I(Qa, {
10954
10954
  filters: [...e.filters ?? []],
10955
10955
  onFiltersChange: c,
@@ -10963,7 +10963,7 @@ function rh({ widget: e, onChange: t }) {
10963
10963
  }
10964
10964
  function ih({ widget: e, onChange: t }) {
10965
10965
  switch (e.type) {
10966
- case "cartesian": return /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Series" }), /* @__PURE__ */ I(wm, {
10966
+ case "cartesian": return /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Series" }), /* @__PURE__ */ I(wm, {
10967
10967
  series: e.series,
10968
10968
  onChange: (n) => t({
10969
10969
  ...e,
@@ -10974,7 +10974,7 @@ function ih({ widget: e, onChange: t }) {
10974
10974
  widget: e,
10975
10975
  onChange: t
10976
10976
  });
10977
- case "metric-group": return /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, { children: "Metrics" }), /* @__PURE__ */ I(_m, {
10977
+ case "metric-group": return /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, { children: "Metrics" }), /* @__PURE__ */ I(_m, {
10978
10978
  items: e.items,
10979
10979
  onChange: (n) => t({
10980
10980
  ...e,
@@ -11013,10 +11013,10 @@ function ah({ widget: e, onChange: t }) {
11013
11013
  //#region src/dashboards/editor/WidgetIdentityFields.tsx
11014
11014
  function oh({ widget: e, onChange: t }) {
11015
11015
  let n = Ge(), r = Ge();
11016
- return /* @__PURE__ */ L(Vt, { children: [/* @__PURE__ */ L(V, { children: [/* @__PURE__ */ I(Ht, {
11016
+ return /* @__PURE__ */ L(Ht, { children: [/* @__PURE__ */ L(B, { children: [/* @__PURE__ */ I(Ut, {
11017
11017
  htmlFor: n,
11018
11018
  children: "Title"
11019
- }), /* @__PURE__ */ I(H, {
11019
+ }), /* @__PURE__ */ I(V, {
11020
11020
  id: n,
11021
11021
  value: e.title,
11022
11022
  placeholder: "Untitled widget",
@@ -11024,13 +11024,13 @@ function oh({ widget: e, onChange: t }) {
11024
11024
  ...e,
11025
11025
  title: n.target.value
11026
11026
  })
11027
- })] }), /* @__PURE__ */ L(V, { children: [/* @__PURE__ */ L(Ht, {
11027
+ })] }), /* @__PURE__ */ L(B, { children: [/* @__PURE__ */ L(Ut, {
11028
11028
  htmlFor: r,
11029
11029
  children: ["Description ", /* @__PURE__ */ I("span", {
11030
11030
  className: "font-normal text-muted-foreground",
11031
11031
  children: "(optional)"
11032
11032
  })]
11033
- }), /* @__PURE__ */ I(H, {
11033
+ }), /* @__PURE__ */ I(V, {
11034
11034
  id: r,
11035
11035
  value: e.description ?? "",
11036
11036
  placeholder: "Shown as the widget subtitle",
@@ -11149,11 +11149,11 @@ function bh({ open: e, widget: t, isNew: n, timeRange: r, dashboardFilters: i, o
11149
11149
  }, [u, a]), y = A((e) => {
11150
11150
  f && (e.preventDefault(), p(!1));
11151
11151
  }, [f]);
11152
- return /* @__PURE__ */ I(Qt, {
11152
+ return /* @__PURE__ */ I($t, {
11153
11153
  open: e,
11154
11154
  onOpenChange: (e) => !e && _(),
11155
11155
  modal: !1,
11156
- children: /* @__PURE__ */ L($t, {
11156
+ children: /* @__PURE__ */ L(en, {
11157
11157
  side: "right",
11158
11158
  className: "flex flex-col gap-0 p-0 transition-[width] duration-200 ease-in-out",
11159
11159
  style: {
@@ -11166,11 +11166,11 @@ function bh({ open: e, widget: t, isNew: n, timeRange: r, dashboardFilters: i, o
11166
11166
  onInteractOutside: (e) => e.preventDefault(),
11167
11167
  onEscapeKeyDown: y,
11168
11168
  children: [
11169
- /* @__PURE__ */ I(tn, {
11169
+ /* @__PURE__ */ I(nn, {
11170
11170
  className: "sr-only",
11171
11171
  children: n ? "New widget" : "Edit widget"
11172
11172
  }),
11173
- /* @__PURE__ */ I(en, {
11173
+ /* @__PURE__ */ I(tn, {
11174
11174
  className: "sr-only",
11175
11175
  children: "Configure the widget and preview it live"
11176
11176
  }),
@@ -11181,14 +11181,14 @@ function bh({ open: e, widget: t, isNew: n, timeRange: r, dashboardFilters: i, o
11181
11181
  children: n ? "New widget" : "Edit widget"
11182
11182
  }), /* @__PURE__ */ L("div", {
11183
11183
  className: "flex items-center gap-1",
11184
- children: [/* @__PURE__ */ I(B, {
11184
+ children: [/* @__PURE__ */ I(R, {
11185
11185
  variant: "ghost",
11186
11186
  size: "icon",
11187
11187
  "aria-label": f ? "Collapse panel" : "Expand panel",
11188
11188
  title: f ? "Collapse panel" : "Expand panel",
11189
11189
  onClick: () => p((e) => !e),
11190
11190
  children: I(f ? Ee : de, { className: "size-4" })
11191
- }), /* @__PURE__ */ I(B, {
11191
+ }), /* @__PURE__ */ I(R, {
11192
11192
  variant: "ghost",
11193
11193
  size: "icon",
11194
11194
  "aria-label": "Close",
@@ -11198,7 +11198,7 @@ function bh({ open: e, widget: t, isNew: n, timeRange: r, dashboardFilters: i, o
11198
11198
  })]
11199
11199
  })]
11200
11200
  }),
11201
- u && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Jt, {
11201
+ u && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Yt, {
11202
11202
  className: "min-h-0 flex-1",
11203
11203
  children: /* @__PURE__ */ L("div", {
11204
11204
  className: X(f && "mx-auto w-full max-w-4xl"),
@@ -11229,11 +11229,11 @@ function bh({ open: e, widget: t, isNew: n, timeRange: r, dashboardFilters: i, o
11229
11229
  })
11230
11230
  }), /* @__PURE__ */ L("div", {
11231
11231
  className: "flex items-center justify-end gap-2 border-t border-border px-4 py-3",
11232
- children: [/* @__PURE__ */ I(B, {
11232
+ children: [/* @__PURE__ */ I(R, {
11233
11233
  variant: "outline",
11234
11234
  onClick: _,
11235
11235
  children: "Cancel"
11236
- }), /* @__PURE__ */ I(B, {
11236
+ }), /* @__PURE__ */ I(R, {
11237
11237
  onClick: v,
11238
11238
  children: n ? "Add widget" : "Save widget"
11239
11239
  })]
@@ -11360,9 +11360,9 @@ function Dh({ dashboardId: e, scopeFilterField: t }) {
11360
11360
  return r && !o ? /* @__PURE__ */ L("div", {
11361
11361
  className: "flex flex-col gap-4 p-4",
11362
11362
  children: [
11363
- /* @__PURE__ */ I(J, { className: "h-8 w-72" }),
11364
- /* @__PURE__ */ I(J, { className: "h-10 w-full" }),
11365
- /* @__PURE__ */ I(J, { className: "h-[420px] w-full" })
11363
+ /* @__PURE__ */ I(q, { className: "h-8 w-72" }),
11364
+ /* @__PURE__ */ I(q, { className: "h-10 w-full" }),
11365
+ /* @__PURE__ */ I(q, { className: "h-[420px] w-full" })
11366
11366
  ]
11367
11367
  }) : !n && kf(i) ? /* @__PURE__ */ I(Oh, {
11368
11368
  name: e,
@@ -11398,11 +11398,11 @@ function Oh({ name: e, reason: t, onRetry: n, retrying: r = !1 }) {
11398
11398
  ] })
11399
11399
  }), /* @__PURE__ */ L("div", {
11400
11400
  className: "flex items-center gap-2",
11401
- children: [/* @__PURE__ */ I(B, {
11401
+ children: [/* @__PURE__ */ I(R, {
11402
11402
  variant: "outline",
11403
11403
  onClick: () => i("../..", { relative: "path" }),
11404
11404
  children: "Back to dashboards"
11405
- }), n && /* @__PURE__ */ I(B, {
11405
+ }), n && /* @__PURE__ */ I(R, {
11406
11406
  variant: "outline",
11407
11407
  disabled: r,
11408
11408
  onClick: n,
@@ -11541,7 +11541,7 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11541
11541
  }), c(null);
11542
11542
  }, xe = A((e) => /* @__PURE__ */ L("div", {
11543
11543
  className: "flex items-center gap-0.5",
11544
- children: [/* @__PURE__ */ I(B, {
11544
+ children: [/* @__PURE__ */ I(R, {
11545
11545
  variant: "ghost",
11546
11546
  size: "icon",
11547
11547
  "aria-label": `Edit ${e.title || "untitled widget"}`,
@@ -11551,25 +11551,25 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11551
11551
  isNew: !1
11552
11552
  }),
11553
11553
  children: /* @__PURE__ */ I(De, { className: "size-4" })
11554
- }), /* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(Nt, {
11554
+ }), /* @__PURE__ */ L(At, { children: [/* @__PURE__ */ I(Pt, {
11555
11555
  asChild: !0,
11556
- children: /* @__PURE__ */ I(B, {
11556
+ children: /* @__PURE__ */ I(R, {
11557
11557
  variant: "ghost",
11558
11558
  size: "icon",
11559
11559
  "aria-label": `More actions for ${e.title || "untitled widget"}`,
11560
11560
  children: /* @__PURE__ */ I(we, { className: "size-4" })
11561
11561
  })
11562
- }), /* @__PURE__ */ L(kt, {
11562
+ }), /* @__PURE__ */ L(jt, {
11563
11563
  align: "end",
11564
11564
  children: [
11565
- /* @__PURE__ */ L(At, {
11565
+ /* @__PURE__ */ L(z, {
11566
11566
  onSelect: () => b({
11567
11567
  widget: e,
11568
11568
  isNew: !1
11569
11569
  }),
11570
11570
  children: [/* @__PURE__ */ I(De, { className: "size-4" }), "Edit"]
11571
11571
  }),
11572
- /* @__PURE__ */ L(At, {
11572
+ /* @__PURE__ */ L(z, {
11573
11573
  onSelect: () => o({
11574
11574
  type: "duplicateWidget",
11575
11575
  widgetId: e.id,
@@ -11577,8 +11577,8 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11577
11577
  }),
11578
11578
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), "Duplicate"]
11579
11579
  }),
11580
- /* @__PURE__ */ I(Mt, {}),
11581
- /* @__PURE__ */ L(At, {
11580
+ /* @__PURE__ */ I(Nt, {}),
11581
+ /* @__PURE__ */ L(z, {
11582
11582
  variant: "destructive",
11583
11583
  onSelect: () => o({
11584
11584
  type: "removeWidget",
@@ -11595,7 +11595,7 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11595
11595
  }) : /* @__PURE__ */ L("div", {
11596
11596
  className: "flex flex-col gap-4 p-4",
11597
11597
  children: [
11598
- /* @__PURE__ */ L(an, {
11598
+ /* @__PURE__ */ L(on, {
11599
11599
  value: l,
11600
11600
  onValueChange: _e,
11601
11601
  className: "flex flex-col gap-4",
@@ -11604,7 +11604,7 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11604
11604
  className: "flex flex-wrap items-start justify-between gap-3",
11605
11605
  children: [/* @__PURE__ */ L("div", {
11606
11606
  className: "flex min-w-0 items-center gap-2",
11607
- children: [/* @__PURE__ */ I(B, {
11607
+ children: [/* @__PURE__ */ I(R, {
11608
11608
  variant: "ghost",
11609
11609
  size: "icon",
11610
11610
  "aria-label": "Back",
@@ -11637,19 +11637,19 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11637
11637
  }), /* @__PURE__ */ L("div", {
11638
11638
  className: "flex items-center gap-2",
11639
11639
  children: [
11640
- /* @__PURE__ */ L(sn, { children: [/* @__PURE__ */ I(cn, {
11640
+ /* @__PURE__ */ L(cn, { children: [/* @__PURE__ */ I(ln, {
11641
11641
  value: "builder",
11642
11642
  children: "Builder"
11643
- }), /* @__PURE__ */ I(cn, {
11643
+ }), /* @__PURE__ */ I(ln, {
11644
11644
  value: "json",
11645
11645
  children: "JSON"
11646
11646
  })] }),
11647
- /* @__PURE__ */ I(B, {
11647
+ /* @__PURE__ */ I(R, {
11648
11648
  variant: "outline",
11649
11649
  onClick: oe.requestLeave,
11650
11650
  children: "Cancel"
11651
11651
  }),
11652
- /* @__PURE__ */ I(B, {
11652
+ /* @__PURE__ */ I(R, {
11653
11653
  onClick: de,
11654
11654
  disabled: C.isSaving || !ee && t === "edit",
11655
11655
  children: C.isSaving ? "Saving…" : "Save"
@@ -11657,11 +11657,11 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11657
11657
  ]
11658
11658
  })]
11659
11659
  }),
11660
- k.isGone && /* @__PURE__ */ L(rt, {
11660
+ k.isGone && /* @__PURE__ */ L(it, {
11661
11661
  variant: "warning",
11662
- children: [/* @__PURE__ */ I(at, { children: "This dashboard was deleted" }), /* @__PURE__ */ I(it, { children: "Someone removed it while you had it open. Your changes are safe here, and saving will offer to keep them as a new dashboard." })]
11662
+ children: [/* @__PURE__ */ I(ot, { children: "This dashboard was deleted" }), /* @__PURE__ */ I(at, { children: "Someone removed it while you had it open. Your changes are safe here, and saving will offer to keep them as a new dashboard." })]
11663
11663
  }),
11664
- /* @__PURE__ */ L(on, {
11664
+ /* @__PURE__ */ L(sn, {
11665
11665
  value: "builder",
11666
11666
  className: "flex flex-col gap-4",
11667
11667
  children: [
@@ -11682,7 +11682,7 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11682
11682
  /* @__PURE__ */ L("div", {
11683
11683
  className: "flex items-center gap-1.5",
11684
11684
  children: [
11685
- !Ee && /* @__PURE__ */ L(B, {
11685
+ !Ee && /* @__PURE__ */ L(R, {
11686
11686
  variant: "ghost",
11687
11687
  size: "sm",
11688
11688
  className: "text-xs",
@@ -11706,24 +11706,24 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11706
11706
  })
11707
11707
  ]
11708
11708
  }),
11709
- /* @__PURE__ */ L(B, {
11709
+ /* @__PURE__ */ L(R, {
11710
11710
  onClick: ye,
11711
11711
  children: [/* @__PURE__ */ I(Oe, { className: "size-4" }), "Add widget"]
11712
11712
  })
11713
11713
  ]
11714
11714
  }),
11715
- Se.length > 0 && /* @__PURE__ */ L(rt, {
11715
+ Se.length > 0 && /* @__PURE__ */ L(it, {
11716
11716
  variant: "destructive",
11717
- children: [/* @__PURE__ */ I(at, { children: "These dashboard filters cannot be queried" }), /* @__PURE__ */ L(it, { children: [
11717
+ children: [/* @__PURE__ */ I(ot, { children: "These dashboard filters cannot be queried" }), /* @__PURE__ */ L(at, { children: [
11718
11718
  Se.map((e) => `${e.label || e.field} (${e.operator})`).join(", "),
11719
11719
  ". The analytics API only accepts ",
11720
11720
  Ff.join(", "),
11721
11721
  ". The affected widgets stay empty until the operator is changed, from a widget's Filters tab or from the JSON tab."
11722
11722
  ] })]
11723
11723
  }),
11724
- Te.length > 0 && /* @__PURE__ */ L(rt, {
11724
+ Te.length > 0 && /* @__PURE__ */ L(it, {
11725
11725
  variant: "warning",
11726
- children: [/* @__PURE__ */ I(at, { children: "These widgets ignore a locked dashboard filter" }), /* @__PURE__ */ L(it, { children: [/* @__PURE__ */ I("ul", {
11726
+ children: [/* @__PURE__ */ I(ot, { children: "These widgets ignore a locked dashboard filter" }), /* @__PURE__ */ L(at, { children: [/* @__PURE__ */ I("ul", {
11727
11727
  className: "list-inside list-disc",
11728
11728
  children: Te.map((e) => /* @__PURE__ */ L("li", { children: [
11729
11729
  /* @__PURE__ */ I("span", {
@@ -11756,7 +11756,7 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11756
11756
  })
11757
11757
  ]
11758
11758
  }),
11759
- /* @__PURE__ */ I(on, {
11759
+ /* @__PURE__ */ I(sn, {
11760
11760
  value: "json",
11761
11761
  children: /* @__PURE__ */ I(Gp, {
11762
11762
  text: d,
@@ -11785,20 +11785,20 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11785
11785
  onResolve: he,
11786
11786
  onCancel: re
11787
11787
  }),
11788
- /* @__PURE__ */ I(xt, {
11788
+ /* @__PURE__ */ I(Ct, {
11789
11789
  open: v !== null,
11790
11790
  onOpenChange: (e) => !e && y(null),
11791
- children: /* @__PURE__ */ L(Ct, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Discard widget changes?" }), /* @__PURE__ */ L(wt, { children: [
11791
+ children: /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Discard widget changes?" }), /* @__PURE__ */ L(Et, { children: [
11792
11792
  "This widget has changes that were never added to the dashboard.",
11793
11793
  " ",
11794
11794
  v?.kind === "switch-tab" ? "Switching tabs will discard them." : "Opening another one will discard them."
11795
- ] })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(St, {
11795
+ ] })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(wt, {
11796
11796
  asChild: !0,
11797
- children: /* @__PURE__ */ I(B, {
11797
+ children: /* @__PURE__ */ I(R, {
11798
11798
  variant: "outline",
11799
11799
  children: "Keep editing"
11800
11800
  })
11801
- }), /* @__PURE__ */ I(B, {
11801
+ }), /* @__PURE__ */ I(R, {
11802
11802
  variant: "destructive",
11803
11803
  onClick: () => {
11804
11804
  let e = v;
@@ -11813,16 +11813,16 @@ function Ah({ initial: e, mode: t, reloadError: n = null, scopeFilterField: r })
11813
11813
  children: "Discard changes"
11814
11814
  })] })] })
11815
11815
  }),
11816
- /* @__PURE__ */ I(xt, {
11816
+ /* @__PURE__ */ I(Ct, {
11817
11817
  open: oe.confirmOpen,
11818
11818
  onOpenChange: (e) => !e && oe.stay(),
11819
- children: /* @__PURE__ */ L(Ct, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Discard changes?" }), /* @__PURE__ */ I(wt, { children: "This dashboard has unsaved changes. Leaving now will discard them." })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(St, {
11819
+ children: /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Discard changes?" }), /* @__PURE__ */ I(Et, { children: "This dashboard has unsaved changes. Leaving now will discard them." })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(wt, {
11820
11820
  asChild: !0,
11821
- children: /* @__PURE__ */ I(B, {
11821
+ children: /* @__PURE__ */ I(R, {
11822
11822
  variant: "outline",
11823
11823
  children: "Keep editing"
11824
11824
  })
11825
- }), /* @__PURE__ */ I(B, {
11825
+ }), /* @__PURE__ */ I(R, {
11826
11826
  variant: "destructive",
11827
11827
  onClick: oe.confirmLeave,
11828
11828
  children: "Discard changes"
@@ -12511,10 +12511,10 @@ function Sg({ templates: e }) {
12511
12511
  {
12512
12512
  id: "type",
12513
12513
  header: "Type",
12514
- cell: ({ row: e }) => e.original.kind === "custom" ? /* @__PURE__ */ I(z, {
12514
+ cell: ({ row: e }) => e.original.kind === "custom" ? /* @__PURE__ */ I(st, {
12515
12515
  variant: "secondary",
12516
12516
  children: "Custom"
12517
- }) : /* @__PURE__ */ I(z, {
12517
+ }) : /* @__PURE__ */ I(st, {
12518
12518
  variant: "outline",
12519
12519
  children: "Template"
12520
12520
  })
@@ -12552,11 +12552,11 @@ function Sg({ templates: e }) {
12552
12552
  children: [/* @__PURE__ */ I("h1", {
12553
12553
  className: "text-lg font-semibold",
12554
12554
  children: "Dashboards"
12555
- }), i && /* @__PURE__ */ L(B, {
12555
+ }), i && /* @__PURE__ */ L(R, {
12556
12556
  onClick: () => r("new", { relative: "path" }),
12557
12557
  children: [/* @__PURE__ */ I(Oe, { className: "size-4" }), "New dashboard"]
12558
12558
  })]
12559
- }), /* @__PURE__ */ I(vt, {
12559
+ }), /* @__PURE__ */ I(bt, {
12560
12560
  columns: c,
12561
12561
  data: s,
12562
12562
  emptyMessage: i ? "No dashboards yet. Create your first one to get started." : "No dashboards available.",
@@ -12588,49 +12588,49 @@ function Cg({ row: e, capabilities: t }) {
12588
12588
  };
12589
12589
  return /* @__PURE__ */ L("div", {
12590
12590
  className: "flex justify-end",
12591
- children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(Nt, {
12591
+ children: [/* @__PURE__ */ L(At, { children: [/* @__PURE__ */ I(Pt, {
12592
12592
  asChild: !0,
12593
- children: /* @__PURE__ */ I(B, {
12593
+ children: /* @__PURE__ */ I(R, {
12594
12594
  variant: "ghost",
12595
12595
  size: "icon",
12596
12596
  "aria-label": `Actions for ${e.title}`,
12597
12597
  children: /* @__PURE__ */ I(we, { className: "size-4" })
12598
12598
  })
12599
- }), /* @__PURE__ */ L(kt, {
12599
+ }), /* @__PURE__ */ L(jt, {
12600
12600
  align: "end",
12601
12601
  children: [
12602
- e.kind === "custom" && s && /* @__PURE__ */ L(At, {
12602
+ e.kind === "custom" && s && /* @__PURE__ */ L(z, {
12603
12603
  onSelect: () => n(`${e.id}/edit`, { relative: "path" }),
12604
12604
  children: [/* @__PURE__ */ I(De, { className: "size-4" }), "Edit"]
12605
12605
  }),
12606
- s && /* @__PURE__ */ L(At, {
12606
+ s && /* @__PURE__ */ L(z, {
12607
12607
  onSelect: u,
12608
12608
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), e.kind === "template" ? "Duplicate as custom dashboard" : "Duplicate"]
12609
12609
  }),
12610
- /* @__PURE__ */ L(At, {
12610
+ /* @__PURE__ */ L(z, {
12611
12611
  onSelect: () => void l(),
12612
12612
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), "Copy JSON"]
12613
12613
  }),
12614
- e.kind === "custom" && s && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Mt, {}), /* @__PURE__ */ L(At, {
12614
+ e.kind === "custom" && s && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Nt, {}), /* @__PURE__ */ L(z, {
12615
12615
  variant: "destructive",
12616
12616
  onSelect: () => o(!0),
12617
12617
  children: [/* @__PURE__ */ I(je, { className: "size-4" }), "Delete"]
12618
12618
  })] })
12619
12619
  ]
12620
- })] }), /* @__PURE__ */ I(xt, {
12620
+ })] }), /* @__PURE__ */ I(Ct, {
12621
12621
  open: a,
12622
12622
  onOpenChange: o,
12623
- children: /* @__PURE__ */ L(Ct, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Delete this dashboard?" }), /* @__PURE__ */ L(wt, { children: [
12623
+ children: /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Delete this dashboard?" }), /* @__PURE__ */ L(Et, { children: [
12624
12624
  "\"",
12625
12625
  e.title,
12626
12626
  "\" will be permanently deleted. This cannot be undone."
12627
- ] })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(St, {
12627
+ ] })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(wt, {
12628
12628
  asChild: !0,
12629
- children: /* @__PURE__ */ I(B, {
12629
+ children: /* @__PURE__ */ I(R, {
12630
12630
  variant: "outline",
12631
12631
  children: "Cancel"
12632
12632
  })
12633
- }), /* @__PURE__ */ I(B, {
12633
+ }), /* @__PURE__ */ I(R, {
12634
12634
  variant: "destructive",
12635
12635
  disabled: i.isPending,
12636
12636
  onClick: () => {
@@ -12798,8 +12798,8 @@ function kg({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply:
12798
12798
  }
12799
12799
  return /* @__PURE__ */ L("div", {
12800
12800
  className: "flex w-[340px] flex-col gap-4 p-4",
12801
- children: [/* @__PURE__ */ L(V, { children: [
12802
- /* @__PURE__ */ L(Ht, { children: [/* @__PURE__ */ I("span", {
12801
+ children: [/* @__PURE__ */ L(B, { children: [
12802
+ /* @__PURE__ */ L(Ut, { children: [/* @__PURE__ */ I("span", {
12803
12803
  className: "font-medium",
12804
12804
  children: p.name
12805
12805
  }), p.operator ? /* @__PURE__ */ I("span", {
@@ -12824,7 +12824,7 @@ function kg({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply:
12824
12824
  })
12825
12825
  ] }), /* @__PURE__ */ L("div", {
12826
12826
  className: `flex items-center gap-2 ${r ? "justify-between" : "justify-end"}`,
12827
- children: [r ? /* @__PURE__ */ I(B, {
12827
+ children: [r ? /* @__PURE__ */ I(R, {
12828
12828
  type: "button",
12829
12829
  variant: "ghost",
12830
12830
  size: "sm",
@@ -12832,13 +12832,13 @@ function kg({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply:
12832
12832
  children: "Reset"
12833
12833
  }) : null, /* @__PURE__ */ L("div", {
12834
12834
  className: "flex items-center gap-2",
12835
- children: [/* @__PURE__ */ I(B, {
12835
+ children: [/* @__PURE__ */ I(R, {
12836
12836
  type: "button",
12837
12837
  variant: "ghost",
12838
12838
  size: "sm",
12839
12839
  onClick: a,
12840
12840
  children: "Cancel"
12841
- }), /* @__PURE__ */ I(B, {
12841
+ }), /* @__PURE__ */ I(R, {
12842
12842
  type: "button",
12843
12843
  size: "sm",
12844
12844
  onClick: m,
@@ -12891,7 +12891,7 @@ function jg({ lockedFilters: e, revaluableFilters: t, revaluableDefaults: n, pro
12891
12891
  //#region src/routing/ObservabilityDashboardPage.tsx
12892
12892
  var Mg = ["ANALYTICS"], Ng = "API";
12893
12893
  function Pg(e) {
12894
- let [t] = Xn(), n = Qe(), r = t.get("live");
12894
+ let [t] = Xn(), n = $e(), r = t.get("live");
12895
12895
  return /* @__PURE__ */ I(hr, {
12896
12896
  config: {
12897
12897
  defaultEnabled: r === "1" || r === "true",
@@ -12909,9 +12909,9 @@ function Fg(e) {
12909
12909
  }) : o.isLoading ? /* @__PURE__ */ L("div", {
12910
12910
  className: "flex flex-col gap-4 p-4",
12911
12911
  children: [
12912
- /* @__PURE__ */ I(J, { className: "h-8 w-64" }),
12913
- /* @__PURE__ */ I(J, { className: "h-10 w-full" }),
12914
- /* @__PURE__ */ I(J, { className: "h-[420px] w-full" })
12912
+ /* @__PURE__ */ I(q, { className: "h-8 w-64" }),
12913
+ /* @__PURE__ */ I(q, { className: "h-10 w-full" }),
12914
+ /* @__PURE__ */ I(q, { className: "h-[420px] w-full" })
12915
12915
  ]
12916
12916
  }) : o.data ? /* @__PURE__ */ I(Ig, {
12917
12917
  ...e,
@@ -13039,7 +13039,7 @@ function Ig({ dashboard: e, kind: t, scopeFilterField: r, externalLinks: i, widg
13039
13039
  children: [/* @__PURE__ */ I("h1", {
13040
13040
  className: "truncate text-lg font-semibold",
13041
13041
  children: e.title
13042
- }), t === "custom" && /* @__PURE__ */ I(z, {
13042
+ }), t === "custom" && /* @__PURE__ */ I(st, {
13043
13043
  variant: "secondary",
13044
13044
  children: "Custom"
13045
13045
  })]
@@ -13119,52 +13119,52 @@ function Lg({ dashboard: e, kind: t }) {
13119
13119
  onError: (e) => Z.error(bg(e, "delete"))
13120
13120
  });
13121
13121
  };
13122
- return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(Nt, {
13122
+ return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ L(At, { children: [/* @__PURE__ */ I(Pt, {
13123
13123
  asChild: !0,
13124
- children: /* @__PURE__ */ I(B, {
13124
+ children: /* @__PURE__ */ I(R, {
13125
13125
  variant: "ghost",
13126
13126
  size: "icon",
13127
13127
  "aria-label": "Dashboard actions",
13128
13128
  children: /* @__PURE__ */ I(we, { className: "size-4" })
13129
13129
  })
13130
- }), /* @__PURE__ */ L(kt, {
13130
+ }), /* @__PURE__ */ L(jt, {
13131
13131
  align: "end",
13132
13132
  children: [
13133
- t === "custom" && c && /* @__PURE__ */ L(At, {
13133
+ t === "custom" && c && /* @__PURE__ */ L(z, {
13134
13134
  onSelect: () => n({
13135
13135
  pathname: "edit",
13136
13136
  search: r.search
13137
13137
  }, { relative: "path" }),
13138
13138
  children: [/* @__PURE__ */ I(De, { className: "size-4" }), "Edit"]
13139
13139
  }),
13140
- c && /* @__PURE__ */ L(At, {
13140
+ c && /* @__PURE__ */ L(z, {
13141
13141
  onSelect: u,
13142
13142
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), t === "template" ? "Duplicate as custom dashboard" : "Duplicate"]
13143
13143
  }),
13144
- /* @__PURE__ */ L(At, {
13144
+ /* @__PURE__ */ L(z, {
13145
13145
  onSelect: () => void l(),
13146
13146
  children: [/* @__PURE__ */ I(ue, { className: "size-4" }), "Copy JSON"]
13147
13147
  }),
13148
- t === "custom" && c && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Mt, {}), /* @__PURE__ */ L(At, {
13148
+ t === "custom" && c && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Nt, {}), /* @__PURE__ */ L(z, {
13149
13149
  variant: "destructive",
13150
13150
  onSelect: () => s(!0),
13151
13151
  children: [/* @__PURE__ */ I(je, { className: "size-4" }), "Delete"]
13152
13152
  })] })
13153
13153
  ]
13154
- })] }), /* @__PURE__ */ I(xt, {
13154
+ })] }), /* @__PURE__ */ I(Ct, {
13155
13155
  open: o,
13156
13156
  onOpenChange: s,
13157
- children: /* @__PURE__ */ L(Ct, { children: [/* @__PURE__ */ L(Et, { children: [/* @__PURE__ */ I(Dt, { children: "Delete this dashboard?" }), /* @__PURE__ */ L(wt, { children: [
13157
+ children: /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ L(Ot, { children: [/* @__PURE__ */ I(kt, { children: "Delete this dashboard?" }), /* @__PURE__ */ L(Et, { children: [
13158
13158
  "\"",
13159
13159
  e.title,
13160
13160
  "\" will be permanently deleted. This cannot be undone."
13161
- ] })] }), /* @__PURE__ */ L(Tt, { children: [/* @__PURE__ */ I(St, {
13161
+ ] })] }), /* @__PURE__ */ L(Dt, { children: [/* @__PURE__ */ I(wt, {
13162
13162
  asChild: !0,
13163
- children: /* @__PURE__ */ I(B, {
13163
+ children: /* @__PURE__ */ I(R, {
13164
13164
  variant: "outline",
13165
13165
  children: "Cancel"
13166
13166
  })
13167
- }), /* @__PURE__ */ I(B, {
13167
+ }), /* @__PURE__ */ I(R, {
13168
13168
  variant: "destructive",
13169
13169
  disabled: a.isPending,
13170
13170
  onClick: () => {
@@ -13220,9 +13220,11 @@ function Bg(e, t) {
13220
13220
  }
13221
13221
  return {
13222
13222
  async fetchFilterDefinitions(t) {
13223
- let r = await n(`${e}/observability/traces/filters/definition`, a({ signal: t }));
13224
- if (!r.ok) throw Error(`[gamma-lib-observability] HTTP ${r.status} on GET traces/filters/definition`);
13225
- return (await r.json()).data.map((e) => {
13223
+ let r = new URLSearchParams();
13224
+ i && r.set("module", i);
13225
+ let s = r.toString(), c = await n(`${e}/observability/traces/filters/definition${s ? `?${s}` : ""}`, a({ signal: t }));
13226
+ if (!c.ok) throw Error(`[gamma-lib-observability] HTTP ${c.status} on GET traces/filters/definition`);
13227
+ return (await c.json()).data.map((e) => {
13226
13228
  let t = zg(e.type), n = e.operators.map(Rg), r = e.type.toUpperCase();
13227
13229
  if (r === "BOOLEAN") return {
13228
13230
  field: e.name,
@@ -13281,7 +13283,7 @@ function Vg({ baseUrl: e, http: t, module: n, children: r }) {
13281
13283
  e,
13282
13284
  t,
13283
13285
  n
13284
- ]), { data: a } = R({
13286
+ ]), { data: a } = Qe({
13285
13287
  queryKey: Q.tracingFilterDefinitions(n),
13286
13288
  queryFn: ({ signal: e }) => i.fetchFilterDefinitions(e),
13287
13289
  staleTime: 300 * 1e3
@@ -13351,7 +13353,7 @@ function Wg({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, empty
13351
13353
  //#endregion
13352
13354
  //#region src/routing/TracingScreen.tsx
13353
13355
  function Gg(e) {
13354
- let t = e !== void 0 && jd(e), n = R({
13356
+ let t = e !== void 0 && jd(e), n = Qe({
13355
13357
  queryKey: Q.tracingApis(),
13356
13358
  queryFn: ({ signal: t }) => e(t),
13357
13359
  enabled: t,
@@ -13433,7 +13435,7 @@ function Zg(e, t, n) {
13433
13435
  }) : n;
13434
13436
  }
13435
13437
  function Qg({ children: e }) {
13436
- let t = br(), { data: n, isLoading: r, isError: i } = R({
13438
+ let t = br(), { data: n, isLoading: r, isError: i } = Qe({
13437
13439
  queryKey: ["observability", "filter-definitions"],
13438
13440
  queryFn: ({ signal: e }) => t.fetchFilterDefinitions(e),
13439
13441
  enabled: !!t,
@@ -13451,23 +13453,14 @@ function $g() {
13451
13453
  ]
13452
13454
  });
13453
13455
  }
13454
- function e_({ baseUrl: e, http: t, children: n }) {
13455
- let { apiId: r } = Yn();
13456
- return /* @__PURE__ */ I(Vg, {
13457
- baseUrl: e,
13458
- http: t,
13459
- module: r,
13460
- children: n
13461
- });
13462
- }
13463
- function t_({ section: e }) {
13456
+ function e_({ section: e }) {
13464
13457
  let { "*": t = "" } = Yn(), { pathname: n } = qn(), r = t.split("/").filter(Boolean).length, i = n.split("/").filter(Boolean);
13465
13458
  return /* @__PURE__ */ I(Wn, {
13466
13459
  to: `/${[...r > 0 ? i.slice(0, -r) : i, e].join("/")}`,
13467
13460
  replace: !0
13468
13461
  });
13469
13462
  }
13470
- function n_({ templates: e, contextFilters: n }) {
13463
+ function t_({ templates: e, contextFilters: n }) {
13471
13464
  let r = x(), i = t(), a = Hf(), o = M(() => ml(e, r), [e, r]), s = yg(), c = i !== null && a.isLoading, l = !kf(a.error) && (a.data?.length ?? 0) > 0;
13472
13465
  return !s && !c && !l && o.length === 1 && o[0] ? /* @__PURE__ */ I(Wn, {
13473
13466
  to: `./${o[0].id}`,
@@ -13477,7 +13470,7 @@ function n_({ templates: e, contextFilters: n }) {
13477
13470
  children: /* @__PURE__ */ I(Sg, { templates: e })
13478
13471
  });
13479
13472
  }
13480
- function r_({ contextFilters: e, scopeFilterField: n }) {
13473
+ function n_({ contextFilters: e, scopeFilterField: n }) {
13481
13474
  let r = x(), i = t();
13482
13475
  return !r["observability.dashboards.write"] || i === null ? /* @__PURE__ */ I(Wn, {
13483
13476
  to: "..",
@@ -13488,7 +13481,7 @@ function r_({ contextFilters: e, scopeFilterField: n }) {
13488
13481
  children: /* @__PURE__ */ I(Th, { scopeFilterField: n })
13489
13482
  });
13490
13483
  }
13491
- function i_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProviders: o, logsPage: s, logsDataSource: l, logsColumns: f, logsOnRowClick: p, logsGetRowId: m, logsGetApiId: v, logsDetailBasePath: y, tracesDataSource: b, loadTracingApis: S, config: C }) {
13484
+ function r_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProviders: o, logsPage: s, logsDataSource: l, logsColumns: f, logsOnRowClick: p, logsGetRowId: m, logsGetApiId: v, logsDetailBasePath: y, tracesDataSource: b, loadTracingApis: S, config: C }) {
13492
13485
  let w = Tr(), T = Er(r ?? w), E = x(), ee = a(), te = M(() => rg(e, T), [e, T]), D = i !== void 0 || ee === null, O = i ?? ee ?? te, ne = M(() => og(e, T), [e, T]), k = d(), re = M(() => C.features.logs?.enabled ? cg(e, T) : void 0, [
13493
13486
  e,
13494
13487
  T,
@@ -13519,27 +13512,37 @@ function i_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProvid
13519
13512
  Te,
13520
13513
  Ee,
13521
13514
  y
13522
- ]), Oe = ve?.detailMode ?? "drawer", ke = M(() => f ?? ru(y ?? ""), [f, y]), Ae = m ?? ((e) => e.requestId), je = v ?? ((e) => e.apiId), Me = (e) => /* @__PURE__ */ I(h, {
13515
+ ]), Oe = ve?.detailMode ?? "drawer", ke = M(() => f ?? ru(y ?? ""), [f, y]), Ae = m ?? ((e) => e.requestId), je = v ?? ((e) => e.apiId), Me = we && ye && le ? Zg(ue, le, /* @__PURE__ */ I(Vg, {
13516
+ baseUrl: se,
13517
+ http: T,
13518
+ module: C.module,
13519
+ children: /* @__PURE__ */ I(qg, {
13520
+ loadTracingApis: S,
13521
+ detailMode: ye.detailMode ?? "drawer",
13522
+ pageSize: ye.pageSize,
13523
+ columnVisibilityStorageKey: ye.columnVisibilityStorageKey
13524
+ })
13525
+ })) : null, Ne = (e) => /* @__PURE__ */ I(h, {
13523
13526
  providers: e,
13524
13527
  children: /* @__PURE__ */ L(Kn, { children: [
13525
13528
  Se && de && /* @__PURE__ */ L(F, { children: [
13526
13529
  /* @__PURE__ */ I(Gn, {
13527
13530
  path: "dashboards",
13528
- element: /* @__PURE__ */ I(n_, {
13531
+ element: /* @__PURE__ */ I(t_, {
13529
13532
  templates: de.templates,
13530
13533
  contextFilters: be.contextFilters
13531
13534
  })
13532
13535
  }),
13533
13536
  /* @__PURE__ */ I(Gn, {
13534
13537
  path: "dashboards/new",
13535
- element: /* @__PURE__ */ I(r_, {
13538
+ element: /* @__PURE__ */ I(n_, {
13536
13539
  contextFilters: be.contextFilters,
13537
13540
  scopeFilterField: be.scopeFilterField
13538
13541
  })
13539
13542
  }),
13540
13543
  /* @__PURE__ */ I(Gn, {
13541
13544
  path: "dashboards/:dashboardId/edit",
13542
- element: /* @__PURE__ */ I(r_, {
13545
+ element: /* @__PURE__ */ I(n_, {
13543
13546
  contextFilters: be.contextFilters,
13544
13547
  scopeFilterField: be.scopeFilterField
13545
13548
  })
@@ -13587,35 +13590,17 @@ function i_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProvid
13587
13590
  path: "logs/:logId",
13588
13591
  element: /* @__PURE__ */ I(Hr, {
13589
13592
  filters: xe.contextFilters,
13590
- children: Xg(ae, ie, /* @__PURE__ */ I(a_, { config: De }))
13593
+ children: Xg(ae, ie, /* @__PURE__ */ I(i_, { config: De }))
13591
13594
  })
13592
13595
  }),
13593
13596
  we && ye && le && /* @__PURE__ */ L(F, { children: [
13594
13597
  /* @__PURE__ */ I(Gn, {
13595
13598
  path: "tracing",
13596
- element: Zg(ue, le, /* @__PURE__ */ I(e_, {
13597
- baseUrl: se,
13598
- http: T,
13599
- children: /* @__PURE__ */ I(qg, {
13600
- loadTracingApis: S,
13601
- detailMode: ye.detailMode ?? "drawer",
13602
- pageSize: ye.pageSize,
13603
- columnVisibilityStorageKey: ye.columnVisibilityStorageKey
13604
- })
13605
- }))
13599
+ element: Me
13606
13600
  }),
13607
13601
  /* @__PURE__ */ I(Gn, {
13608
13602
  path: "tracing/:apiId",
13609
- element: Zg(ue, le, /* @__PURE__ */ I(e_, {
13610
- baseUrl: se,
13611
- http: T,
13612
- children: /* @__PURE__ */ I(qg, {
13613
- loadTracingApis: S,
13614
- detailMode: ye.detailMode ?? "drawer",
13615
- pageSize: ye.pageSize,
13616
- columnVisibilityStorageKey: ye.columnVisibilityStorageKey
13617
- })
13618
- }))
13603
+ element: Me
13619
13604
  }),
13620
13605
  /* @__PURE__ */ I(Gn, {
13621
13606
  path: "tracing/:apiId/:traceId",
@@ -13624,7 +13609,7 @@ function i_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProvid
13624
13609
  ] }),
13625
13610
  /* @__PURE__ */ I(Gn, {
13626
13611
  path: "*",
13627
- element: Se ? /* @__PURE__ */ I(t_, { section: "dashboards" }) : Ce ? /* @__PURE__ */ I(t_, { section: "logs" }) : we ? /* @__PURE__ */ I(t_, { section: "tracing" }) : de?.enabled || ve?.enabled || ye?.enabled ? /* @__PURE__ */ I("div", {
13612
+ element: Se ? /* @__PURE__ */ I(e_, { section: "dashboards" }) : Ce ? /* @__PURE__ */ I(e_, { section: "logs" }) : we ? /* @__PURE__ */ I(e_, { section: "tracing" }) : de?.enabled || ve?.enabled || ye?.enabled ? /* @__PURE__ */ I("div", {
13628
13613
  className: "flex items-center justify-center p-8 text-muted-foreground",
13629
13614
  children: "You don't have access to any observability feature."
13630
13615
  }) : /* @__PURE__ */ I("div", {
@@ -13633,19 +13618,19 @@ function i_({ baseUrl: e, tracesBaseUrl: n, http: r, dataSource: i, filterProvid
13633
13618
  })
13634
13619
  })
13635
13620
  ] })
13636
- }), Ne = /* @__PURE__ */ I(hr, { children: Se || Ce ? /* @__PURE__ */ I(yr, {
13621
+ }), Pe = /* @__PURE__ */ I(hr, { children: Se || Ce ? /* @__PURE__ */ I(yr, {
13637
13622
  source: ne,
13638
- children: o ? Me(o) : /* @__PURE__ */ I(Qg, { children: (e) => Me(e) })
13639
- }) : Me(o ?? []) }), Pe = _e && ge ? /* @__PURE__ */ I(c, {
13623
+ children: o ? Ne(o) : /* @__PURE__ */ I(Qg, { children: (e) => Ne(e) })
13624
+ }) : Ne(o ?? []) }), Fe = _e && ge ? /* @__PURE__ */ I(c, {
13640
13625
  persistence: ge,
13641
- children: Ne
13642
- }) : Ne;
13626
+ children: Pe
13627
+ }) : Pe;
13643
13628
  return /* @__PURE__ */ I(_, { children: D ? /* @__PURE__ */ I(u, {
13644
13629
  dataSource: O,
13645
- children: Pe
13646
- }) : Pe });
13630
+ children: Fe
13631
+ }) : Fe });
13647
13632
  }
13648
- function a_({ config: e }) {
13633
+ function i_({ config: e }) {
13649
13634
  let t = Jn(), { filters: n, timeRange: r } = Sl();
13650
13635
  return /* @__PURE__ */ I(cd, {
13651
13636
  config: e,
@@ -13663,7 +13648,7 @@ function a_({ config: e }) {
13663
13648
  }
13664
13649
  //#endregion
13665
13650
  //#region src/routing/define-observability-features.ts
13666
- var o_ = {
13651
+ var a_ = {
13667
13652
  dashboards: {
13668
13653
  icon: re,
13669
13654
  title: "Dashboards",
@@ -13683,10 +13668,10 @@ var o_ = {
13683
13668
  showInNav: !0
13684
13669
  }
13685
13670
  };
13686
- function s_(e) {
13687
- let t = e.basePath ?? "observe", n = c_(e), r = l_(e, n, t), i = n.map((e) => `${t}/${e}`), a = u_(n, t);
13671
+ function o_(e) {
13672
+ let t = e.basePath ?? "observe", n = s_(e), r = c_(e, n, t), i = n.map((e) => `${t}/${e}`), a = l_(n, t);
13688
13673
  function o(t) {
13689
- return Be(i_, {
13674
+ return Be(r_, {
13690
13675
  ...t,
13691
13676
  config: e
13692
13677
  });
@@ -13715,13 +13700,13 @@ function s_(e) {
13715
13700
  breadcrumbSegments: c
13716
13701
  };
13717
13702
  }
13718
- function c_(e) {
13703
+ function s_(e) {
13719
13704
  let t = [];
13720
- return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), e.features.tracing?.enabled && t.push("tracing"), t.sort((e, t) => o_[e].order - o_[t].order);
13705
+ return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), e.features.tracing?.enabled && t.push("tracing"), t.sort((e, t) => a_[e].order - a_[t].order);
13721
13706
  }
13722
- function l_(e, t, n) {
13723
- let r = t.filter((e) => o_[e].showInNav).map((t) => {
13724
- let r = o_[t], i = e.nav.overrides?.[t];
13707
+ function c_(e, t, n) {
13708
+ let r = t.filter((e) => a_[e].showInNav).map((t) => {
13709
+ let r = a_[t], i = e.nav.overrides?.[t];
13725
13710
  return {
13726
13711
  key: `${n}/${t}`,
13727
13712
  title: i?.title ?? r.title,
@@ -13733,10 +13718,10 @@ function l_(e, t, n) {
13733
13718
  items: r
13734
13719
  };
13735
13720
  }
13736
- function u_(e, t) {
13721
+ function l_(e, t) {
13737
13722
  let n = {};
13738
13723
  for (let r of e) {
13739
- let e = o_[r], i = `${t}/${r}`;
13724
+ let e = a_[r], i = `${t}/${r}`;
13740
13725
  n[i] = {
13741
13726
  path: `${t}/${r}`,
13742
13727
  label: e.title
@@ -13746,7 +13731,7 @@ function u_(e, t) {
13746
13731
  }
13747
13732
  //#endregion
13748
13733
  //#region src/build-observability-base-url.ts
13749
- function d_(e, t, n, r) {
13734
+ function u_(e, t, n, r) {
13750
13735
  let i = e;
13751
13736
  if (r?.useDevProxy) try {
13752
13737
  i = new URL(i).pathname;
@@ -13755,21 +13740,21 @@ function d_(e, t, n, r) {
13755
13740
  }
13756
13741
  //#endregion
13757
13742
  //#region src/build-traces-base-url.ts
13758
- function f_(e, t, n, r) {
13759
- return d_(e, t, n, r);
13743
+ function d_(e, t, n, r) {
13744
+ return u_(e, t, n, r);
13760
13745
  }
13761
13746
  //#endregion
13762
13747
  //#region src/persistence/local-storage-dashboard-persistence.ts
13763
- var p_ = "observability.custom-dashboards", m_ = 1;
13764
- function h_(e = {}) {
13765
- let t = e.storageKey ?? p_, n = () => {
13748
+ var f_ = "observability.custom-dashboards", p_ = 1;
13749
+ function m_(e = {}) {
13750
+ let t = e.storageKey ?? f_, n = () => {
13766
13751
  if (e.storage) return e.storage;
13767
13752
  if (typeof window > "u" || !window.localStorage) throw Error("[gamma-lib-observability] localStorage is not available in this environment.");
13768
13753
  return window.localStorage;
13769
13754
  }, r = () => {
13770
13755
  let e = n().getItem(t);
13771
13756
  if (!e) return {
13772
- version: m_,
13757
+ version: p_,
13773
13758
  dashboards: {}
13774
13759
  };
13775
13760
  let r = JSON.parse(e);
@@ -13832,4 +13817,4 @@ function h_(e = {}) {
13832
13817
  };
13833
13818
  }
13834
13819
  //#endregion
13835
- export { Zn as API_TYPE_REGISTRY, Vc as AnalyticsTable, Fo as BarPresentation, Ci as CODEC_VERSION, y as CapabilityProvider, As as CartesianPresentation, Hr as ContextFiltersProvider, Os as DASHBOARD_BUCKET_TARGET, b as DEFAULT_CAPABILITIES, dr as DEFAULT_MEASURE, gi as DEFAULT_PERIOD, pr as DEFAULT_REFRESH_INTERVAL_MS, Dr as DEFAULT_STALE_TIME, wi as DEFAULT_TIME_RANGE, Df as DashboardConflictError, Tf as DashboardForbiddenError, Ef as DashboardNotFoundError, wf as DashboardPersistenceError, c as DashboardPersistenceProvider, gl as DashboardTemplatesProvider, cl as DashboardView, Ls as DoughnutPresentation, hc as ExplorerTable, e as FILTER_OPERATORS, Wi as FILTER_SCOPES, Qa as FilterBar, za as FilterChip, ka as FilterPopoverForm, na as FilterPropertyCombobox, h as FilterProvidersProvider, mo as HTTP_STATUS_PALETTE, wr as HttpProvider, xl as LiveIndicator, hr as LiveRefreshProvider, au as LogDetailCodeBlock, Bu as LogDetailContextChart, od as LogDetailDrawer, Ju as LogDetailDrawerShell, su as LogDetailEmptyField, Qu as LogDetailHeader, cu as LogDetailHeadersTable, lu as LogDetailJsonTree, $ as LogDetailKeyValueGrid, $u as LogDetailMetrics, cd as LogDetailPage, nd as LogDetailSection, td as LogDetailSections, Rl as LogSeverityBadge, Jl as LogTable, o as LogsDataSourceProvider, Ql as LogsExplorerPage, Hs as MetricGroupPresentation, qs as MetricPresentation, u as MetricsDataSourceProvider, bi as PERIOD_DISPLAY_LABELS, yi as PERIOD_LABELS, Ud as POLICY_POST_EVENT, Hd as POLICY_PRE_EVENT, _i as PRESET_CATEGORIES, zd as PolicyAttributeDiff, yl as QueryErrorBanner, vi as RELATIVE_PERIODS, Ui as SCOPE_COMMON, Hi as SIGNAL_DATA_TYPES, nr as SIGNAL_REGISTRY, Zd as SpanDetailPanel, Kc as TablePresentation, zi as TimeRangePicker, Sf as TraceDetailDrawer, xf as TraceDetailPage, gf as TraceDetailShell, vd as TraceExplorerPage, cf as TraceLineage, ud as TraceStatusBadge, gd as TraceTable, mf as TraceTimeline, p as TracesDataSourceProvider, Od as TracingApiSelector, qg as TracingScreen, dl as WidgetGroup, ao as WidgetInteractionProvider, rl as WidgetItem, nu as buildApiTypeLink, Fa as buildChipLabel, Ia as buildChipLabelParts, La as buildChipTooltip, $a as buildDashboardDeepLink, ru as buildDefaultConnectionLogColumns, Fu as buildDefaultLogDetailConfig, Qi as buildFilterScopes, $l as buildLogsDeepLink, d_ as buildObservabilityBaseUrl, Ki as buildScopeFromId, ic as buildTableMetrics, f_ as buildTracesBaseUrl, Pd as buildTracesDeepLink, $c as clearWidgetRenderers, ks as computeBucketInterval, Jd as computePolicyAttributeDiff, Go as computePreviousTimeRange, zo as computeTrend, pu as connectionLogPreset, Mh as createDashboardRevisionStore, Wh as createHttpDashboardPersistence, rg as createHttpDataSource, og as createHttpFilterSource, cg as createHttpLogsSource, Bg as createHttpTracesFilterSource, vg as createHttpTracesSource, h_ as createLocalStorageDashboardPersistence, Ai as decodeObservabilityState, fl as defineDashboardTemplate, Bi as defineFilterProvider, Mu as defineLogDetail, s_ as defineObservabilityFeatures, ki as encodeObservabilityState, Lo as extractMeasureValue, Bo as extractSparklineData, po as facetsToBar, uo as facetsToDoughnut, fd as formatDuration, xc as formatTableValue, dd as formatTraceTime, $n as getApiType, tr as getApiTypeOrFallback, Wr as getLocaleWeekStart, ir as getSignal, Qc as getWidgetRenderer, sr as isBarWidget, ar as isCartesianWidget, kf as isDashboardForbidden, Of as isDashboardGone, or as isDoughnutWidget, lr as isMetricGroupWidget, cr as isMetricWidget, ya as isMultiSelectForFilter, go as isStatusFacetField, ur as isTableWidget, jd as isTracingApiLegacyLoader, Nd as isTracingApiPaginatedLoad, Ad as isTracingApiPaginatedLoader, kd as isTracingApiPaginatedLoaderConfig, Ro as measureResultToMetric, Rr as mergeFilters, _s as mergeTimeSeries, vs as mergeTimeSeriesToCartesian, yu as messageLogPreset, ba as normalizeMembershipOperatorForValues, _o as normalizeStatusGroupKey, Q as observabilityQueryKeys, ma as operatorLabel, ha as operatorNeedsValue, Fp as parseDashboardJson, Ac as planColumns, tl as registerDefaultRenderers, Zc as registerWidgetRenderer, pl as resolveDashboardFromTemplate, ta as resolveDataTypeIds, xo as resolveGroupColor, Nu as resolveLogDetailVariant, fr as resolveMeasure, Pu as resolvePreset, Zr as resolveRelativePeriod, jc as resolveRowsPerPage, $r as resolveStableTimeRange, vo as resolveStatusPaletteColor, Qs as resolveTableColumns, $s as resolveTableSort, Md as resolveTracingApiPaginatedLoader, Pp as serializeDashboard, Ys as tableColumnId, $i as toFilterItems, qf as useAdoptServerDashboard, sc as useAnalyticsTableQuery, x as useCapabilities, r as useCapability, Ur as useContextFilters, Wf as useCreateDashboardMutation, Uf as useCustomDashboardQuery, Hf as useCustomDashboardsQuery, s as useDashboardPersistence, vl as useDashboardTemplate, _l as useDashboardTemplates, Xf as useDeleteDashboardMutation, ri as useFacetsQuery, l as useFilterProvider, n as useFilterProviders, Tr as useHttpOptions, Pr as useInfiniteOptions, gr as useLiveRefresh, Uu as useLogDetailDrawerExpand, ii as useLogDetailQuery, m as useLogsDataSource, ci as useLogsPagedQuery, ai as useLogsQuery, li as useMeasuresQuery, Co as useMergedWidgetFilters, v as useMetricsDataSource, t as useOptionalDashboardPersistence, _r as useOptionalLiveRefresh, d as useOptionalLogsDataSource, a as useOptionalMetricsDataSource, g as useOptionalTracesDataSource, Kf as useOverwriteDashboardMutation, Er as useStableHttpOptions, ti as useStableTimeRange, Jf as useTakeReadDashboardRevision, di as useTimeSeriesQuery, fi as useTraceDetailQuery, i as useTracesDataSource, hi as useTracesPagedQuery, Gf as useUpdateDashboardMutation, ro as useWidgetGroupContext, oo as useWidgetInteractionContext, Tu as webhookLogPreset };
13820
+ export { Zn as API_TYPE_REGISTRY, Vc as AnalyticsTable, Fo as BarPresentation, Ci as CODEC_VERSION, y as CapabilityProvider, As as CartesianPresentation, Hr as ContextFiltersProvider, Os as DASHBOARD_BUCKET_TARGET, b as DEFAULT_CAPABILITIES, dr as DEFAULT_MEASURE, gi as DEFAULT_PERIOD, pr as DEFAULT_REFRESH_INTERVAL_MS, Dr as DEFAULT_STALE_TIME, wi as DEFAULT_TIME_RANGE, Df as DashboardConflictError, Tf as DashboardForbiddenError, Ef as DashboardNotFoundError, wf as DashboardPersistenceError, c as DashboardPersistenceProvider, gl as DashboardTemplatesProvider, cl as DashboardView, Ls as DoughnutPresentation, hc as ExplorerTable, e as FILTER_OPERATORS, Wi as FILTER_SCOPES, Qa as FilterBar, za as FilterChip, ka as FilterPopoverForm, na as FilterPropertyCombobox, h as FilterProvidersProvider, mo as HTTP_STATUS_PALETTE, wr as HttpProvider, xl as LiveIndicator, hr as LiveRefreshProvider, au as LogDetailCodeBlock, Bu as LogDetailContextChart, od as LogDetailDrawer, Ju as LogDetailDrawerShell, su as LogDetailEmptyField, Qu as LogDetailHeader, cu as LogDetailHeadersTable, lu as LogDetailJsonTree, $ as LogDetailKeyValueGrid, $u as LogDetailMetrics, cd as LogDetailPage, nd as LogDetailSection, td as LogDetailSections, Rl as LogSeverityBadge, Jl as LogTable, o as LogsDataSourceProvider, Ql as LogsExplorerPage, Hs as MetricGroupPresentation, qs as MetricPresentation, u as MetricsDataSourceProvider, bi as PERIOD_DISPLAY_LABELS, yi as PERIOD_LABELS, Ud as POLICY_POST_EVENT, Hd as POLICY_PRE_EVENT, _i as PRESET_CATEGORIES, zd as PolicyAttributeDiff, yl as QueryErrorBanner, vi as RELATIVE_PERIODS, Ui as SCOPE_COMMON, Hi as SIGNAL_DATA_TYPES, nr as SIGNAL_REGISTRY, Zd as SpanDetailPanel, Kc as TablePresentation, zi as TimeRangePicker, Sf as TraceDetailDrawer, xf as TraceDetailPage, gf as TraceDetailShell, vd as TraceExplorerPage, cf as TraceLineage, ud as TraceStatusBadge, gd as TraceTable, mf as TraceTimeline, p as TracesDataSourceProvider, Od as TracingApiSelector, qg as TracingScreen, dl as WidgetGroup, ao as WidgetInteractionProvider, rl as WidgetItem, nu as buildApiTypeLink, Fa as buildChipLabel, Ia as buildChipLabelParts, La as buildChipTooltip, $a as buildDashboardDeepLink, ru as buildDefaultConnectionLogColumns, Fu as buildDefaultLogDetailConfig, Qi as buildFilterScopes, $l as buildLogsDeepLink, u_ as buildObservabilityBaseUrl, Ki as buildScopeFromId, ic as buildTableMetrics, d_ as buildTracesBaseUrl, Pd as buildTracesDeepLink, $c as clearWidgetRenderers, ks as computeBucketInterval, Jd as computePolicyAttributeDiff, Go as computePreviousTimeRange, zo as computeTrend, pu as connectionLogPreset, Mh as createDashboardRevisionStore, Wh as createHttpDashboardPersistence, rg as createHttpDataSource, og as createHttpFilterSource, cg as createHttpLogsSource, Bg as createHttpTracesFilterSource, vg as createHttpTracesSource, m_ as createLocalStorageDashboardPersistence, Ai as decodeObservabilityState, fl as defineDashboardTemplate, Bi as defineFilterProvider, Mu as defineLogDetail, o_ as defineObservabilityFeatures, ki as encodeObservabilityState, Lo as extractMeasureValue, Bo as extractSparklineData, po as facetsToBar, uo as facetsToDoughnut, fd as formatDuration, xc as formatTableValue, dd as formatTraceTime, $n as getApiType, tr as getApiTypeOrFallback, Wr as getLocaleWeekStart, ir as getSignal, Qc as getWidgetRenderer, sr as isBarWidget, ar as isCartesianWidget, kf as isDashboardForbidden, Of as isDashboardGone, or as isDoughnutWidget, lr as isMetricGroupWidget, cr as isMetricWidget, ya as isMultiSelectForFilter, go as isStatusFacetField, ur as isTableWidget, jd as isTracingApiLegacyLoader, Nd as isTracingApiPaginatedLoad, Ad as isTracingApiPaginatedLoader, kd as isTracingApiPaginatedLoaderConfig, Ro as measureResultToMetric, Rr as mergeFilters, _s as mergeTimeSeries, vs as mergeTimeSeriesToCartesian, yu as messageLogPreset, ba as normalizeMembershipOperatorForValues, _o as normalizeStatusGroupKey, Q as observabilityQueryKeys, ma as operatorLabel, ha as operatorNeedsValue, Fp as parseDashboardJson, Ac as planColumns, tl as registerDefaultRenderers, Zc as registerWidgetRenderer, pl as resolveDashboardFromTemplate, ta as resolveDataTypeIds, xo as resolveGroupColor, Nu as resolveLogDetailVariant, fr as resolveMeasure, Pu as resolvePreset, Zr as resolveRelativePeriod, jc as resolveRowsPerPage, $r as resolveStableTimeRange, vo as resolveStatusPaletteColor, Qs as resolveTableColumns, $s as resolveTableSort, Md as resolveTracingApiPaginatedLoader, Pp as serializeDashboard, Ys as tableColumnId, $i as toFilterItems, qf as useAdoptServerDashboard, sc as useAnalyticsTableQuery, x as useCapabilities, r as useCapability, Ur as useContextFilters, Wf as useCreateDashboardMutation, Uf as useCustomDashboardQuery, Hf as useCustomDashboardsQuery, s as useDashboardPersistence, vl as useDashboardTemplate, _l as useDashboardTemplates, Xf as useDeleteDashboardMutation, ri as useFacetsQuery, l as useFilterProvider, n as useFilterProviders, Tr as useHttpOptions, Pr as useInfiniteOptions, gr as useLiveRefresh, Uu as useLogDetailDrawerExpand, ii as useLogDetailQuery, m as useLogsDataSource, ci as useLogsPagedQuery, ai as useLogsQuery, li as useMeasuresQuery, Co as useMergedWidgetFilters, v as useMetricsDataSource, t as useOptionalDashboardPersistence, _r as useOptionalLiveRefresh, d as useOptionalLogsDataSource, a as useOptionalMetricsDataSource, g as useOptionalTracesDataSource, Kf as useOverwriteDashboardMutation, Er as useStableHttpOptions, ti as useStableTimeRange, Jf as useTakeReadDashboardRevision, di as useTimeSeriesQuery, fi as useTraceDetailQuery, i as useTracesDataSource, hi as useTracesPagedQuery, Gf as useUpdateDashboardMutation, ro as useWidgetGroupContext, oo as useWidgetInteractionContext, Tu as webhookLogPreset };