@elevasis/ui 1.24.3 → 1.25.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.
Files changed (42) hide show
  1. package/dist/charts/index.js +2 -2
  2. package/dist/{chunk-H3MU3WTM.js → chunk-7JJCGPYD.js} +2 -2
  3. package/dist/{chunk-TQBM3OEW.js → chunk-BS4J2LAW.js} +1 -1
  4. package/dist/{chunk-JR2C4XAN.js → chunk-CYXZHBP4.js} +202 -295
  5. package/dist/{chunk-ZDKC3V7C.js → chunk-EFPFPCP2.js} +57 -58
  6. package/dist/{chunk-OH74INP2.js → chunk-FEZZ3IDU.js} +434 -314
  7. package/dist/{chunk-JTUX5FDC.js → chunk-FURGQSSG.js} +374 -2
  8. package/dist/{chunk-IAZT3VO6.js → chunk-G25YWGUL.js} +4 -1
  9. package/dist/{chunk-QDO6NF2I.js → chunk-GQCQDCLJ.js} +380 -63
  10. package/dist/{chunk-CTF6FS2M.js → chunk-L3GVDMCA.js} +211 -1
  11. package/dist/{chunk-BGTZFEKR.js → chunk-LHNPRLSA.js} +6 -252
  12. package/dist/{chunk-VMMNFRAO.js → chunk-QNABH7YG.js} +3 -3
  13. package/dist/{chunk-WY5IJI37.js → chunk-QUL3XRLS.js} +3 -3
  14. package/dist/{chunk-TML32XBW.js → chunk-RMPXGBNI.js} +2 -2
  15. package/dist/{chunk-UG5565XQ.js → chunk-US4JUSI3.js} +3 -3
  16. package/dist/components/index.d.ts +3005 -192
  17. package/dist/components/index.js +1541 -26
  18. package/dist/features/auth/index.d.ts +108 -9
  19. package/dist/features/dashboard/index.js +8 -8
  20. package/dist/features/monitoring/index.js +9 -9
  21. package/dist/features/operations/index.d.ts +8 -2
  22. package/dist/features/operations/index.js +53 -56
  23. package/dist/features/settings/index.d.ts +108 -9
  24. package/dist/features/settings/index.js +28 -11
  25. package/dist/hooks/index.d.ts +3279 -185
  26. package/dist/hooks/index.js +5 -5
  27. package/dist/hooks/published.d.ts +345 -11
  28. package/dist/hooks/published.js +4 -4
  29. package/dist/index.d.ts +3285 -187
  30. package/dist/index.js +6 -6
  31. package/dist/initialization/index.d.ts +108 -9
  32. package/dist/layout/index.d.ts +60 -3
  33. package/dist/layout/index.js +2 -2
  34. package/dist/profile/index.d.ts +108 -9
  35. package/dist/provider/index.d.ts +6 -2
  36. package/dist/provider/index.js +3 -3
  37. package/dist/provider/published.d.ts +6 -2
  38. package/dist/supabase/index.d.ts +210 -18
  39. package/dist/theme/index.d.ts +6 -2
  40. package/dist/theme/index.js +3 -3
  41. package/dist/types/index.d.ts +143 -10
  42. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  import { FilterBar } from './chunk-PDHTXPSF.js';
2
- import { CyberAreaChart } from './chunk-UG5565XQ.js';
3
- import { APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState } from './chunk-IAZT3VO6.js';
4
- import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead } from './chunk-QDO6NF2I.js';
2
+ import { CyberAreaChart } from './chunk-US4JUSI3.js';
3
+ import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState } from './chunk-G25YWGUL.js';
4
+ import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead } from './chunk-GQCQDCLJ.js';
5
5
  import { formatBucketTime } from './chunk-LXHZYSMQ.js';
6
6
  import { formatDuration } from './chunk-XA34RETF.js';
7
7
  import { PAGE_SIZE_DEFAULT } from './chunk-IOKL7BKE.js';
8
8
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
9
- import { Table, Text, Badge, Tooltip, Select, TextInput, Button, Card, Stack, Group, Paper, Center, Loader, ActionIcon, SegmentedControl, NumberFormatter, Box, Alert, Title, Switch, Pagination, UnstyledButton } from '@mantine/core';
10
- import { IconCircleCheck, IconThumbDown, IconThumbUp, IconClock, IconCircleX, IconSearch, IconFilterOff, IconArrowUpRight, IconAlertTriangle, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconChartBar, IconCash, IconInfoCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconArrowUp, IconArrowDown, IconFileOff, IconRobot, IconKey, IconUser } from '@tabler/icons-react';
9
+ import { Table, Text, Badge, Tooltip, Select, TextInput, Button, Card, Stack, Group, Paper, Center, Loader, ActionIcon, SegmentedControl, NumberFormatter, Box, Alert, Switch, Pagination, UnstyledButton } from '@mantine/core';
10
+ import { IconCircleCheck, IconThumbDown, IconThumbUp, IconClock, IconCircleX, IconSearch, IconFilterOff, IconArrowUpRight, IconAlertTriangle, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconChartBar, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconArrowUp, IconArrowDown, IconFileOff, IconRobot, IconKey, IconUser } from '@tabler/icons-react';
11
11
  import { jsxs, jsx } from 'react/jsx-runtime';
12
12
  import { formatDistanceToNow } from 'date-fns';
13
13
  import { useState } from 'react';
@@ -336,7 +336,7 @@ function ErrorAnalysisCard({ data, isLoading, error }) {
336
336
  failureRate: res.failureRate
337
337
  })) ?? [];
338
338
  if (error) {
339
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load error analysis metrics" });
339
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load error analysis metrics" }) });
340
340
  }
341
341
  if (isLoading) {
342
342
  return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
@@ -375,7 +375,7 @@ function ErrorAnalysisCard({ data, isLoading, error }) {
375
375
  }
376
376
  function ExecutionBreakdownTable({ data, isLoading, error }) {
377
377
  if (error) {
378
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load execution breakdown" });
378
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load execution breakdown" }) });
379
379
  }
380
380
  if (isLoading) {
381
381
  return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
@@ -471,7 +471,7 @@ function ExecutionHealthCard({ data, isLoading, error }) {
471
471
  const statusColor = hasExecutions ? successRate >= 98 ? "green" : successRate >= 95 ? "yellow" : "red" : "gray";
472
472
  const statusLabel = hasExecutions ? successRate >= 98 ? "Healthy" : successRate >= 95 ? "Warning" : "Critical" : "No Data";
473
473
  if (error) {
474
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load execution health metrics" });
474
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load execution health metrics" }) });
475
475
  }
476
476
  if (isLoading) {
477
477
  return /* @__PURE__ */ jsx(StatsCardSkeleton, {});
@@ -650,7 +650,7 @@ function CostByModelTable({ data, isLoading, error }) {
650
650
  return modelName.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
651
651
  };
652
652
  if (error) {
653
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load cost by model" });
653
+ return /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load cost by model" }) });
654
654
  }
655
655
  if (isLoading) {
656
656
  return /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
@@ -751,7 +751,7 @@ function BusinessImpactCard({
751
751
  };
752
752
  });
753
753
  if (error) {
754
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load business impact metrics" });
754
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load business impact metrics" }) });
755
755
  }
756
756
  if (isLoading) {
757
757
  return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
@@ -837,7 +837,7 @@ function CostBreakdownCard({
837
837
  avgCost: r.avgCostUsd
838
838
  })) ?? [];
839
839
  if (error) {
840
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load cost breakdown" });
840
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load cost breakdown" }) });
841
841
  }
842
842
  if (isLoading) {
843
843
  return /* @__PURE__ */ jsx(DetailCardSkeleton, { rows: 3 });
@@ -935,7 +935,7 @@ function CostMetricsCard({
935
935
  cost: r.totalCostUsd
936
936
  })) ?? [];
937
937
  if (error) {
938
- return /* @__PURE__ */ jsx(APIErrorAlert, { error, title: "Failed to load cost metrics" });
938
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load cost metrics" }) });
939
939
  }
940
940
  if (isLoading) {
941
941
  return /* @__PURE__ */ jsx(StatsCardSkeleton, {});
@@ -1031,21 +1031,23 @@ function ErrorBreakdownTable({ startDate, endDate, onErrorClick }) {
1031
1031
  }
1032
1032
  if (!data || data.errors.length === 0) {
1033
1033
  return /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
1034
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", children: [
1035
- /* @__PURE__ */ jsxs("div", { children: [
1036
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Recent Errors" }),
1037
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "0 errors found" })
1038
- ] }),
1039
- /* @__PURE__ */ jsx(
1040
- Switch,
1041
- {
1042
- label: "Show resolved",
1043
- checked: showResolved,
1044
- onChange: (e) => setShowResolved(e.currentTarget.checked),
1045
- size: "sm"
1046
- }
1047
- )
1048
- ] }),
1034
+ /* @__PURE__ */ jsx(
1035
+ CardHeader,
1036
+ {
1037
+ icon: /* @__PURE__ */ jsx(IconExclamationCircle, { size: 18 }),
1038
+ title: "Recent Errors",
1039
+ subtitle: "0 errors found",
1040
+ rightSection: /* @__PURE__ */ jsx(
1041
+ Switch,
1042
+ {
1043
+ label: "Show resolved",
1044
+ checked: showResolved,
1045
+ onChange: (e) => setShowResolved(e.currentTarget.checked),
1046
+ size: "sm"
1047
+ }
1048
+ )
1049
+ }
1050
+ ),
1049
1051
  /* @__PURE__ */ jsx(
1050
1052
  EmptyState,
1051
1053
  {
@@ -1080,38 +1082,35 @@ function ErrorBreakdownTable({ startDate, endDate, onErrorClick }) {
1080
1082
  }
1081
1083
  };
1082
1084
  return /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
1083
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", children: [
1084
- /* @__PURE__ */ jsxs("div", { children: [
1085
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Recent Errors" }),
1086
- /* @__PURE__ */ jsxs(Text, { size: "sm", c: "dimmed", children: [
1087
- filteredErrors.length,
1088
- " error",
1089
- filteredErrors.length !== 1 ? "s" : "",
1090
- " found"
1085
+ /* @__PURE__ */ jsx(
1086
+ CardHeader,
1087
+ {
1088
+ icon: /* @__PURE__ */ jsx(IconExclamationCircle, { size: 18 }),
1089
+ title: "Recent Errors",
1090
+ subtitle: `${filteredErrors.length} error${filteredErrors.length !== 1 ? "s" : ""} found`,
1091
+ rightSection: /* @__PURE__ */ jsxs(Group, { children: [
1092
+ /* @__PURE__ */ jsx(
1093
+ Switch,
1094
+ {
1095
+ label: "Show resolved",
1096
+ checked: showResolved,
1097
+ onChange: (e) => setShowResolved(e.currentTarget.checked),
1098
+ size: "sm"
1099
+ }
1100
+ ),
1101
+ !showResolved && filteredErrors.some((e) => !e.resolved) && /* @__PURE__ */ jsx(
1102
+ Button,
1103
+ {
1104
+ leftSection: /* @__PURE__ */ jsx(IconChecks, { size: 16 }),
1105
+ variant: "light",
1106
+ loading: resolveAll.isPending,
1107
+ onClick: () => resolveAll.mutate(),
1108
+ children: "Resolve All"
1109
+ }
1110
+ )
1091
1111
  ] })
1092
- ] }),
1093
- /* @__PURE__ */ jsxs(Group, { children: [
1094
- /* @__PURE__ */ jsx(
1095
- Switch,
1096
- {
1097
- label: "Show resolved",
1098
- checked: showResolved,
1099
- onChange: (e) => setShowResolved(e.currentTarget.checked),
1100
- size: "sm"
1101
- }
1102
- ),
1103
- !showResolved && filteredErrors.some((e) => !e.resolved) && /* @__PURE__ */ jsx(
1104
- Button,
1105
- {
1106
- leftSection: /* @__PURE__ */ jsx(IconChecks, { size: 16 }),
1107
- variant: "light",
1108
- loading: resolveAll.isPending,
1109
- onClick: () => resolveAll.mutate(),
1110
- children: "Resolve All"
1111
- }
1112
- )
1113
- ] })
1114
- ] }),
1112
+ }
1113
+ ),
1115
1114
  /* @__PURE__ */ jsxs(FilterBar, { children: [
1116
1115
  /* @__PURE__ */ jsx(
1117
1116
  TextInput,