@burdenoff/microfe-assethandler 2026.608.1 → 2026.625.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 (113) hide show
  1. package/dist/assethandler/pages/AiPredictionsPage.js +49 -43
  2. package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -1
  3. package/dist/assethandler/pages/AnalyticsPage.js +335 -314
  4. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -1
  5. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +66 -66
  6. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -1
  7. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +92 -92
  8. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -1
  9. package/dist/assethandler/pages/AssetsAssetCreatePage.js +124 -124
  10. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -1
  11. package/dist/assethandler/pages/AssetsAssetDetailPage.js +191 -191
  12. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
  13. package/dist/assethandler/pages/AssetsAssetEditPage.js +154 -154
  14. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -1
  15. package/dist/assethandler/pages/AssetsAssetListPage.js +212 -206
  16. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
  17. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +70 -70
  18. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -1
  19. package/dist/assethandler/pages/AuditTrailPage.js +127 -111
  20. package/dist/assethandler/pages/AuditTrailPage.js.map +1 -1
  21. package/dist/assethandler/pages/CmdbBrowserPage.js +38 -32
  22. package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -1
  23. package/dist/assethandler/pages/DashboardPage.js +222 -205
  24. package/dist/assethandler/pages/DashboardPage.js.map +1 -1
  25. package/dist/assethandler/pages/DigitalTwinPage.js +33 -27
  26. package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -1
  27. package/dist/assethandler/pages/DiscoveryJobsPage.js +56 -50
  28. package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -1
  29. package/dist/assethandler/pages/EsgDashboardPage.js +50 -44
  30. package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -1
  31. package/dist/assethandler/pages/FinanceBudgetDetailPage.js +79 -79
  32. package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -1
  33. package/dist/assethandler/pages/FinanceFinanceHubPage.js +126 -126
  34. package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -1
  35. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +73 -73
  36. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -1
  37. package/dist/assethandler/pages/IotDevicesPage.js +41 -35
  38. package/dist/assethandler/pages/IotDevicesPage.js.map +1 -1
  39. package/dist/assethandler/pages/ItilChangeDetailPage.js +103 -103
  40. package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -1
  41. package/dist/assethandler/pages/ItilChangeManagementPage.js +70 -70
  42. package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -1
  43. package/dist/assethandler/pages/ItilIncidentDetailPage.js +105 -105
  44. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -1
  45. package/dist/assethandler/pages/ItilIncidentManagementPage.js +103 -103
  46. package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -1
  47. package/dist/assethandler/pages/ItilItilhubPage.js +134 -134
  48. package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -1
  49. package/dist/assethandler/pages/ItilProblemDetailPage.js +83 -83
  50. package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -1
  51. package/dist/assethandler/pages/ItilProblemManagementPage.js +67 -67
  52. package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -1
  53. package/dist/assethandler/pages/KnowledgeBasePage.js +50 -44
  54. package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -1
  55. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +73 -73
  56. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -1
  57. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +49 -49
  58. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -1
  59. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +75 -75
  60. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -1
  61. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +60 -60
  62. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -1
  63. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +43 -43
  64. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -1
  65. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +63 -63
  66. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -1
  67. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +89 -89
  68. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -1
  69. package/dist/assethandler/pages/OperationsOperationsHubPage.js +101 -101
  70. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -1
  71. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +80 -80
  72. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -1
  73. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +129 -113
  74. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -1
  75. package/dist/assethandler/pages/ProvenancePage.js +56 -51
  76. package/dist/assethandler/pages/ProvenancePage.js.map +1 -1
  77. package/dist/assethandler/pages/ReportsReportBuilderPage.js +75 -75
  78. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -1
  79. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +83 -83
  80. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -1
  81. package/dist/assethandler/pages/ReportsReportsListPage.js +45 -45
  82. package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -1
  83. package/dist/assethandler/pages/SamLicensesPage.js +38 -32
  84. package/dist/assethandler/pages/SamLicensesPage.js.map +1 -1
  85. package/dist/assethandler/pages/SecurityComplianceDetailPage.js +56 -56
  86. package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -1
  87. package/dist/assethandler/pages/SecurityPolicyDetailPage.js +65 -65
  88. package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -1
  89. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +64 -64
  90. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -1
  91. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +62 -62
  92. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -1
  93. package/dist/assethandler/pages/SecuritySecurityHubPage.js +130 -130
  94. package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -1
  95. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +120 -120
  96. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -1
  97. package/dist/assethandler/pages/TransactionsTransactionListPage.js +143 -127
  98. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -1
  99. package/dist/assethandler/pages/UsersPage.js +125 -109
  100. package/dist/assethandler/pages/UsersPage.js.map +1 -1
  101. package/dist/assethandler/pages/UsersUserCreatePage.js +67 -67
  102. package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -1
  103. package/dist/assethandler/pages/UsersUserManagementHubPage.js +145 -132
  104. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -1
  105. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +78 -78
  106. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -1
  107. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +123 -107
  108. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -1
  109. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +65 -65
  110. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -1
  111. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +95 -83
  112. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -1
  113. package/package.json +2 -2
@@ -1,174 +1,189 @@
1
1
  import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
2
  import { useState as t } from "react";
3
3
  import { Activity as n, ArrowUpRight as r, BarChart3 as i, Box as a, DollarSign as o, Download as s, PieChart as c, TrendingDown as l } from "lucide-react";
4
- import { Badge as u, Button as d, Card as f, CardContent as p, CardDescription as m, CardHeader as h, CardTitle as g, Separator as _, Tabs as v, TabsContent as y, TabsList as b, TabsTrigger as x } from "@burdenoff/fe-libs/ui";
5
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
4
+ import { Badge as u, CTAOverflowMenu as d, Card as f, CardContent as p, CardDescription as m, CardHeader as h, CardTitle as g, EmphasisPanel as _, GlassCard as v, GradientText as y, Separator as b, Tabs as x, TabsContent as S, TabsList as C, TabsTrigger as w } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as T, jsxs as E } from "react/jsx-runtime";
6
6
  //#region src/assethandler/pages/AnalyticsPage.tsx
7
- function w() {
8
- let { assets: w, portfolio: T, transactions: E, incidents: D, maintenanceRecords: O, workflows: k } = e(), [A, j] = t("30d"), M = w.reduce((e, t) => e + t.currentValue, 0), N = w.reduce((e, t) => e + t.value, 0), P = N - M, F = N > 0 ? (P / N * 100).toFixed(1) : "0", I = w.length > 0 ? Math.round(M / w.length) : 0, L = w.reduce((e, t) => {
7
+ function D() {
8
+ let { assets: D, portfolio: O, transactions: k, incidents: A, maintenanceRecords: j, workflows: M } = e(), [N, P] = t("30d"), F = D.reduce((e, t) => e + t.currentValue, 0), I = D.reduce((e, t) => e + t.value, 0), L = I - F, R = I > 0 ? (L / I * 100).toFixed(1) : "0", z = D.length > 0 ? Math.round(F / D.length) : 0, B = D.reduce((e, t) => {
9
9
  let n = t.category.replace("_", " ");
10
10
  return e[n] || (e[n] = {
11
11
  count: 0,
12
12
  value: 0
13
13
  }), e[n].count++, e[n].value += t.currentValue, e;
14
- }, {}), R = w.reduce((e, t) => (e[t.status] = (e[t.status] || 0) + 1, e), {}), z = w.reduce((e, t) => (e[t.department] || (e[t.department] = {
14
+ }, {}), V = D.reduce((e, t) => (e[t.status] = (e[t.status] || 0) + 1, e), {}), H = D.reduce((e, t) => (e[t.department] || (e[t.department] = {
15
15
  count: 0,
16
16
  value: 0
17
- }), e[t.department].count++, e[t.department].value += t.currentValue, e), {}), B = D.filter((e) => e.status === "resolved" || e.status === "closed"), V = D.filter((e) => e.slaBreached), H = O.filter((e) => e.status === "completed"), U = O.reduce((e, t) => e + t.cost, 0);
18
- return /* @__PURE__ */ C("div", {
17
+ }), e[t.department].count++, e[t.department].value += t.currentValue, e), {}), U = A.filter((e) => e.status === "resolved" || e.status === "closed"), W = A.filter((e) => e.slaBreached), G = j.filter((e) => e.status === "completed"), K = j.reduce((e, t) => e + t.cost, 0);
18
+ return /* @__PURE__ */ E("div", {
19
19
  className: "space-y-6 p-6",
20
- children: [/* @__PURE__ */ C("div", {
20
+ children: [/* @__PURE__ */ E("div", {
21
21
  className: "flex items-center justify-between",
22
- children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
22
+ children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h1", {
23
23
  className: "text-3xl font-bold",
24
- children: "Analytics & Business Intelligence"
25
- }), /* @__PURE__ */ S("p", {
26
- className: "text-sm text-muted-foreground mt-1",
24
+ children: /* @__PURE__ */ T(y, { children: "Analytics & Business Intelligence" })
25
+ }), /* @__PURE__ */ T("p", {
26
+ className: "text-sm text-text-secondary mt-1",
27
27
  children: "Comprehensive asset management analytics and insights"
28
- })] }), /* @__PURE__ */ C("div", {
28
+ })] }), /* @__PURE__ */ E("div", {
29
29
  className: "flex gap-2",
30
- children: [
31
- /* @__PURE__ */ C("select", {
32
- value: A,
33
- onChange: (e) => j(e.target.value),
34
- className: "rounded-md border border-input bg-background px-3 py-1.5 text-sm",
35
- children: [
36
- /* @__PURE__ */ S("option", {
37
- value: "7d",
38
- children: "Last 7 days"
39
- }),
40
- /* @__PURE__ */ S("option", {
41
- value: "30d",
42
- children: "Last 30 days"
43
- }),
44
- /* @__PURE__ */ S("option", {
45
- value: "90d",
46
- children: "Last 90 days"
47
- }),
48
- /* @__PURE__ */ S("option", {
49
- value: "1y",
50
- children: "Last year"
51
- })
52
- ]
53
- }),
54
- /* @__PURE__ */ C(d, {
55
- variant: "outline",
56
- size: "sm",
57
- children: [/* @__PURE__ */ S(s, { className: "mr-2 h-4 w-4" }), "Export"]
58
- }),
59
- /* @__PURE__ */ S(d, {
60
- size: "sm",
61
- children: "Generate Report"
62
- })
63
- ]
30
+ children: [/* @__PURE__ */ E("select", {
31
+ value: N,
32
+ onChange: (e) => P(e.target.value),
33
+ className: "rounded-md border border-border-default bg-bg-surface px-3 py-1.5 text-sm",
34
+ children: [
35
+ /* @__PURE__ */ T("option", {
36
+ value: "7d",
37
+ children: "Last 7 days"
38
+ }),
39
+ /* @__PURE__ */ T("option", {
40
+ value: "30d",
41
+ children: "Last 30 days"
42
+ }),
43
+ /* @__PURE__ */ T("option", {
44
+ value: "90d",
45
+ children: "Last 90 days"
46
+ }),
47
+ /* @__PURE__ */ T("option", {
48
+ value: "1y",
49
+ children: "Last year"
50
+ })
51
+ ]
52
+ }), /* @__PURE__ */ T(d, {
53
+ primary: {
54
+ label: "Generate Report",
55
+ onSelect: () => {}
56
+ },
57
+ actions: [{
58
+ label: "Export",
59
+ onSelect: () => {},
60
+ icon: /* @__PURE__ */ T(s, { className: "h-4 w-4" })
61
+ }]
62
+ })]
64
63
  })]
65
- }), /* @__PURE__ */ C(v, {
64
+ }), /* @__PURE__ */ E(x, {
66
65
  defaultValue: "overview",
67
66
  children: [
68
- /* @__PURE__ */ C(b, { children: [
69
- /* @__PURE__ */ S(x, {
67
+ /* @__PURE__ */ E(C, { children: [
68
+ /* @__PURE__ */ T(w, {
70
69
  value: "overview",
71
70
  children: "Overview"
72
71
  }),
73
- /* @__PURE__ */ S(x, {
72
+ /* @__PURE__ */ T(w, {
74
73
  value: "financial",
75
74
  children: "Financial"
76
75
  }),
77
- /* @__PURE__ */ S(x, {
76
+ /* @__PURE__ */ T(w, {
78
77
  value: "operational",
79
78
  children: "Operational"
80
79
  }),
81
- /* @__PURE__ */ S(x, {
80
+ /* @__PURE__ */ T(w, {
82
81
  value: "insights",
83
82
  children: "Insights"
84
83
  })
85
84
  ] }),
86
- /* @__PURE__ */ C(y, {
85
+ /* @__PURE__ */ E(S, {
87
86
  value: "overview",
88
87
  className: "space-y-6 mt-6",
89
88
  children: [
90
- /* @__PURE__ */ C("div", {
89
+ /* @__PURE__ */ E("div", {
91
90
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
92
91
  children: [
93
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, {
94
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
95
- children: [/* @__PURE__ */ S(g, {
96
- className: "text-sm font-medium",
97
- children: "Total Portfolio Value"
98
- }), /* @__PURE__ */ S(o, { className: "h-4 w-4 text-muted-foreground" })]
99
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ C("div", {
100
- className: "text-2xl font-bold",
101
- children: ["$", T.totalValue.toLocaleString()]
102
- }), /* @__PURE__ */ C("p", {
103
- className: "text-xs text-muted-foreground flex items-center mt-1",
104
- children: [
105
- /* @__PURE__ */ S(r, { className: "mr-1 h-3 w-3 text-green-600" }),
106
- /* @__PURE__ */ S("span", {
107
- className: "text-green-600",
108
- children: "+5.6%"
109
- }),
110
- " from last quarter"
111
- ]
112
- })] })] }),
113
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, {
114
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
115
- children: [/* @__PURE__ */ S(g, {
116
- className: "text-sm font-medium",
117
- children: "Total Depreciation"
118
- }), /* @__PURE__ */ S(l, { className: "h-4 w-4 text-muted-foreground" })]
119
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ C("div", {
120
- className: "text-2xl font-bold text-red-600",
121
- children: ["-$", P.toLocaleString()]
122
- }), /* @__PURE__ */ C("p", {
123
- className: "text-xs text-muted-foreground",
124
- children: [F, "% of original value"]
125
- })] })] }),
126
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, {
127
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
128
- children: [/* @__PURE__ */ S(g, {
129
- className: "text-sm font-medium",
130
- children: "Total Assets"
131
- }), /* @__PURE__ */ S(a, { className: "h-4 w-4 text-muted-foreground" })]
132
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
133
- className: "text-2xl font-bold",
134
- children: T.totalAssets
135
- }), /* @__PURE__ */ C("p", {
136
- className: "text-xs text-muted-foreground",
137
- children: [w.filter((e) => e.status === "active").length, " currently active"]
138
- })] })] }),
139
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, {
140
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
141
- children: [/* @__PURE__ */ S(g, {
142
- className: "text-sm font-medium",
143
- children: "Avg. Asset Value"
144
- }), /* @__PURE__ */ S(i, { className: "h-4 w-4 text-muted-foreground" })]
145
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ C("div", {
146
- className: "text-2xl font-bold",
147
- children: ["$", I.toLocaleString()]
148
- }), /* @__PURE__ */ S("p", {
149
- className: "text-xs text-muted-foreground",
150
- children: "Across all categories"
151
- })] })] })
92
+ /* @__PURE__ */ E(v, {
93
+ treatment: "metric",
94
+ className: "border-border-seam",
95
+ children: [/* @__PURE__ */ E(h, {
96
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
97
+ children: [/* @__PURE__ */ T(g, {
98
+ className: "text-sm font-medium",
99
+ children: "Total Portfolio Value"
100
+ }), /* @__PURE__ */ T(o, { className: "h-4 w-4 text-text-secondary" })]
101
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ E("div", {
102
+ className: "text-2xl font-bold tabular-nums",
103
+ children: ["$", O.totalValue.toLocaleString()]
104
+ }), /* @__PURE__ */ E("p", {
105
+ className: "text-xs text-text-secondary flex items-center mt-1",
106
+ children: [
107
+ /* @__PURE__ */ T(r, { className: "mr-1 h-3 w-3 text-status-success-text" }),
108
+ /* @__PURE__ */ T("span", {
109
+ className: "text-status-success-text",
110
+ children: "+5.6%"
111
+ }),
112
+ " from last quarter"
113
+ ]
114
+ })] })]
115
+ }),
116
+ /* @__PURE__ */ E(v, {
117
+ treatment: "metric",
118
+ className: "border-border-seam",
119
+ children: [/* @__PURE__ */ E(h, {
120
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
121
+ children: [/* @__PURE__ */ T(g, {
122
+ className: "text-sm font-medium",
123
+ children: "Total Depreciation"
124
+ }), /* @__PURE__ */ T(l, { className: "h-4 w-4 text-text-secondary" })]
125
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ E("div", {
126
+ className: "text-2xl font-bold text-status-error-text",
127
+ children: ["-$", L.toLocaleString()]
128
+ }), /* @__PURE__ */ E("p", {
129
+ className: "text-xs text-text-secondary",
130
+ children: [R, "% of original value"]
131
+ })] })]
132
+ }),
133
+ /* @__PURE__ */ E(v, {
134
+ treatment: "metric",
135
+ className: "border-border-seam",
136
+ children: [/* @__PURE__ */ E(h, {
137
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
138
+ children: [/* @__PURE__ */ T(g, {
139
+ className: "text-sm font-medium",
140
+ children: "Total Assets"
141
+ }), /* @__PURE__ */ T(a, { className: "h-4 w-4 text-text-secondary" })]
142
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
143
+ className: "text-2xl font-bold tabular-nums",
144
+ children: O.totalAssets
145
+ }), /* @__PURE__ */ E("p", {
146
+ className: "text-xs text-text-secondary",
147
+ children: [D.filter((e) => e.status === "active").length, " currently active"]
148
+ })] })]
149
+ }),
150
+ /* @__PURE__ */ E(v, {
151
+ treatment: "metric",
152
+ className: "border-border-seam",
153
+ children: [/* @__PURE__ */ E(h, {
154
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
155
+ children: [/* @__PURE__ */ T(g, {
156
+ className: "text-sm font-medium",
157
+ children: "Avg. Asset Value"
158
+ }), /* @__PURE__ */ T(i, { className: "h-4 w-4 text-text-secondary" })]
159
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ E("div", {
160
+ className: "text-2xl font-bold tabular-nums",
161
+ children: ["$", z.toLocaleString()]
162
+ }), /* @__PURE__ */ T("p", {
163
+ className: "text-xs text-text-secondary",
164
+ children: "Across all categories"
165
+ })] })]
166
+ })
152
167
  ]
153
168
  }),
154
- /* @__PURE__ */ C("div", {
169
+ /* @__PURE__ */ E("div", {
155
170
  className: "grid gap-6 lg:grid-cols-2",
156
- children: [/* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, { children: [/* @__PURE__ */ C(g, {
171
+ children: [/* @__PURE__ */ E(f, { children: [/* @__PURE__ */ E(h, { children: [/* @__PURE__ */ E(g, {
157
172
  className: "flex items-center gap-2",
158
- children: [/* @__PURE__ */ S(c, { className: "h-4 w-4" }), "Category Distribution"]
159
- }), /* @__PURE__ */ S(m, { children: "Assets by category with values" })] }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ S("div", {
173
+ children: [/* @__PURE__ */ T(c, { className: "h-4 w-4" }), "Category Distribution"]
174
+ }), /* @__PURE__ */ T(m, { children: "Assets by category with values" })] }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ T("div", {
160
175
  className: "space-y-3",
161
- children: Object.entries(L).sort((e, t) => t[1].value - e[1].value).map(([e, t]) => {
162
- let n = Math.round(t.count / w.length * 100);
163
- return /* @__PURE__ */ C("div", {
176
+ children: Object.entries(B).sort((e, t) => t[1].value - e[1].value).map(([e, t]) => {
177
+ let n = Math.round(t.count / D.length * 100);
178
+ return /* @__PURE__ */ E("div", {
164
179
  className: "space-y-1",
165
- children: [/* @__PURE__ */ C("div", {
180
+ children: [/* @__PURE__ */ E("div", {
166
181
  className: "flex items-center justify-between text-sm",
167
- children: [/* @__PURE__ */ S("span", {
182
+ children: [/* @__PURE__ */ T("span", {
168
183
  className: "font-medium capitalize",
169
184
  children: e
170
- }), /* @__PURE__ */ C("span", {
171
- className: "text-muted-foreground",
185
+ }), /* @__PURE__ */ E("span", {
186
+ className: "text-text-secondary",
172
187
  children: [
173
188
  t.count,
174
189
  " · $",
@@ -176,40 +191,40 @@ function w() {
176
191
  "K"
177
192
  ]
178
193
  })]
179
- }), /* @__PURE__ */ S("div", {
180
- className: "h-2 rounded-full bg-muted overflow-hidden",
181
- children: /* @__PURE__ */ S("div", {
182
- className: "h-full rounded-full bg-primary",
194
+ }), /* @__PURE__ */ T("div", {
195
+ className: "h-2 rounded-full bg-bg-sunken overflow-hidden",
196
+ children: /* @__PURE__ */ T("div", {
197
+ className: "h-full rounded-full bg-action-primary-bg",
183
198
  style: { width: `${n}%` }
184
199
  })
185
200
  })]
186
201
  }, e);
187
202
  })
188
- }) })] }), /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, { children: [/* @__PURE__ */ C(g, {
203
+ }) })] }), /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ E(h, { children: [/* @__PURE__ */ E(g, {
189
204
  className: "flex items-center gap-2",
190
- children: [/* @__PURE__ */ S(n, { className: "h-4 w-4" }), "Status Breakdown"]
191
- }), /* @__PURE__ */ S(m, { children: "Current asset status distribution" })] }), /* @__PURE__ */ C(p, { children: [
192
- /* @__PURE__ */ S("div", {
205
+ children: [/* @__PURE__ */ T(n, { className: "h-4 w-4" }), "Status Breakdown"]
206
+ }), /* @__PURE__ */ T(m, { children: "Current asset status distribution" })] }), /* @__PURE__ */ E(p, { children: [
207
+ /* @__PURE__ */ T("div", {
193
208
  className: "space-y-3",
194
- children: Object.entries(R).map(([e, t]) => {
195
- let n = Math.round(t / w.length * 100);
196
- return /* @__PURE__ */ C("div", {
209
+ children: Object.entries(V).map(([e, t]) => {
210
+ let n = Math.round(t / D.length * 100);
211
+ return /* @__PURE__ */ E("div", {
197
212
  className: "flex items-center justify-between",
198
- children: [/* @__PURE__ */ S("div", {
213
+ children: [/* @__PURE__ */ T("div", {
199
214
  className: "flex items-center gap-2",
200
- children: /* @__PURE__ */ S(u, {
215
+ children: /* @__PURE__ */ T(u, {
201
216
  variant: e === "active" ? "default" : e === "under_maintenance" ? "secondary" : "outline",
202
217
  children: e.replace("_", " ")
203
218
  })
204
- }), /* @__PURE__ */ C("div", {
219
+ }), /* @__PURE__ */ E("div", {
205
220
  className: "flex items-center gap-3",
206
- children: [/* @__PURE__ */ S("div", {
207
- className: "h-2 w-24 rounded-full bg-muted overflow-hidden",
208
- children: /* @__PURE__ */ S("div", {
209
- className: "h-full rounded-full bg-primary",
221
+ children: [/* @__PURE__ */ T("div", {
222
+ className: "h-2 w-24 rounded-full bg-bg-sunken overflow-hidden",
223
+ children: /* @__PURE__ */ T("div", {
224
+ className: "h-full rounded-full bg-action-primary-bg",
210
225
  style: { width: `${n}%` }
211
226
  })
212
- }), /* @__PURE__ */ S("span", {
227
+ }), /* @__PURE__ */ T("span", {
213
228
  className: "text-sm font-medium w-8 text-right",
214
229
  children: t
215
230
  })]
@@ -217,43 +232,43 @@ function w() {
217
232
  }, e);
218
233
  })
219
234
  }),
220
- /* @__PURE__ */ S(_, { className: "my-4" }),
221
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h4", {
235
+ /* @__PURE__ */ T(b, { className: "my-4" }),
236
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h4", {
222
237
  className: "text-sm font-medium mb-3",
223
238
  children: "By Department"
224
- }), /* @__PURE__ */ S("div", {
239
+ }), /* @__PURE__ */ T("div", {
225
240
  className: "space-y-2",
226
- children: Object.entries(z).sort((e, t) => t[1].count - e[1].count).slice(0, 5).map(([e, t]) => /* @__PURE__ */ C("div", {
241
+ children: Object.entries(H).sort((e, t) => t[1].count - e[1].count).slice(0, 5).map(([e, t]) => /* @__PURE__ */ E("div", {
227
242
  className: "flex items-center justify-between text-sm",
228
- children: [/* @__PURE__ */ S("span", { children: e }), /* @__PURE__ */ C("span", {
229
- className: "text-muted-foreground",
243
+ children: [/* @__PURE__ */ T("span", { children: e }), /* @__PURE__ */ E("span", {
244
+ className: "text-text-secondary",
230
245
  children: [t.count, " assets"]
231
246
  })]
232
247
  }, e))
233
248
  })] })
234
249
  ] })] })]
235
250
  }),
236
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, { children: [/* @__PURE__ */ S(g, { children: "Depreciation Trend" }), /* @__PURE__ */ S(m, { children: "Portfolio depreciation over the last 6 months" })] }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ S("div", {
251
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ E(h, { children: [/* @__PURE__ */ T(g, { children: "Depreciation Trend" }), /* @__PURE__ */ T(m, { children: "Portfolio depreciation over the last 6 months" })] }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ T("div", {
237
252
  className: "flex items-end gap-2 h-40",
238
- children: T.depreciationTrend.map((e) => {
239
- let t = Math.max(...T.depreciationTrend.map((e) => e.value)), n = t > 0 ? e.value / t * 100 : 0;
240
- return /* @__PURE__ */ C("div", {
253
+ children: O.depreciationTrend.map((e) => {
254
+ let t = Math.max(...O.depreciationTrend.map((e) => e.value)), n = t > 0 ? e.value / t * 100 : 0;
255
+ return /* @__PURE__ */ E("div", {
241
256
  className: "flex-1 flex flex-col items-center gap-1",
242
257
  children: [
243
- /* @__PURE__ */ C("span", {
244
- className: "text-[10px] text-muted-foreground",
258
+ /* @__PURE__ */ E("span", {
259
+ className: "text-[10px] text-text-secondary",
245
260
  children: [
246
261
  "$",
247
262
  (e.value / 1e6).toFixed(2),
248
263
  "M"
249
264
  ]
250
265
  }),
251
- /* @__PURE__ */ S("div", {
252
- className: "w-full bg-primary/80 rounded-t",
266
+ /* @__PURE__ */ T("div", {
267
+ className: "w-full bg-action-primary-bg/80 rounded-t",
253
268
  style: { height: `${n}%` }
254
269
  }),
255
- /* @__PURE__ */ S("span", {
256
- className: "text-[10px] text-muted-foreground",
270
+ /* @__PURE__ */ T("span", {
271
+ className: "text-[10px] text-text-secondary",
257
272
  children: e.month.replace(" 20", "'")
258
273
  })
259
274
  ]
@@ -262,135 +277,135 @@ function w() {
262
277
  }) })] })
263
278
  ]
264
279
  }),
265
- /* @__PURE__ */ C(y, {
280
+ /* @__PURE__ */ E(S, {
266
281
  value: "financial",
267
282
  className: "space-y-6 mt-6",
268
283
  children: [
269
- /* @__PURE__ */ C("div", {
284
+ /* @__PURE__ */ E("div", {
270
285
  className: "grid gap-4 md:grid-cols-3",
271
286
  children: [
272
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
287
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
273
288
  className: "pb-2",
274
- children: /* @__PURE__ */ S(g, {
289
+ children: /* @__PURE__ */ T(g, {
275
290
  className: "text-sm font-medium",
276
291
  children: "Total Transactions"
277
292
  })
278
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
279
- className: "text-2xl font-bold",
280
- children: E.length
281
- }), /* @__PURE__ */ C("p", {
282
- className: "text-xs text-muted-foreground",
293
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
294
+ className: "text-2xl font-bold tabular-nums",
295
+ children: k.length
296
+ }), /* @__PURE__ */ E("p", {
297
+ className: "text-xs text-text-secondary",
283
298
  children: [
284
299
  "$",
285
- E.reduce((e, t) => e + Math.abs(t.amount), 0).toLocaleString(),
300
+ k.reduce((e, t) => e + Math.abs(t.amount), 0).toLocaleString(),
286
301
  " total value"
287
302
  ]
288
303
  })] })] }),
289
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
304
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
290
305
  className: "pb-2",
291
- children: /* @__PURE__ */ S(g, {
306
+ children: /* @__PURE__ */ T(g, {
292
307
  className: "text-sm font-medium",
293
308
  children: "Maintenance Cost"
294
309
  })
295
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ C("div", {
296
- className: "text-2xl font-bold",
297
- children: ["$", U.toLocaleString()]
298
- }), /* @__PURE__ */ C("p", {
299
- className: "text-xs text-muted-foreground",
300
- children: [O.length, " maintenance records"]
310
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ E("div", {
311
+ className: "text-2xl font-bold tabular-nums",
312
+ children: ["$", K.toLocaleString()]
313
+ }), /* @__PURE__ */ E("p", {
314
+ className: "text-xs text-text-secondary",
315
+ children: [j.length, " maintenance records"]
301
316
  })] })] }),
302
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
317
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
303
318
  className: "pb-2",
304
- children: /* @__PURE__ */ S(g, {
319
+ children: /* @__PURE__ */ T(g, {
305
320
  className: "text-sm font-medium",
306
321
  children: "Acquisitions (6mo)"
307
322
  })
308
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
309
- className: "text-2xl font-bold",
310
- children: T.acquisitionTrend.reduce((e, t) => e + t.count, 0)
311
- }), /* @__PURE__ */ C("p", {
312
- className: "text-xs text-muted-foreground",
323
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
324
+ className: "text-2xl font-bold tabular-nums",
325
+ children: O.acquisitionTrend.reduce((e, t) => e + t.count, 0)
326
+ }), /* @__PURE__ */ E("p", {
327
+ className: "text-xs text-text-secondary",
313
328
  children: [
314
329
  "$",
315
- (T.acquisitionTrend.reduce((e, t) => e + t.value, 0) / 1e3).toFixed(0),
330
+ (O.acquisitionTrend.reduce((e, t) => e + t.value, 0) / 1e3).toFixed(0),
316
331
  "K total spend"
317
332
  ]
318
333
  })] })] })
319
334
  ]
320
335
  }),
321
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, { children: [/* @__PURE__ */ S(g, { children: "Acquisition Trend" }), /* @__PURE__ */ S(m, { children: "New assets acquired over the last 6 months" })] }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ S("div", {
336
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ E(h, { children: [/* @__PURE__ */ T(g, { children: "Acquisition Trend" }), /* @__PURE__ */ T(m, { children: "New assets acquired over the last 6 months" })] }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ T("div", {
322
337
  className: "flex items-end gap-2 h-40",
323
- children: T.acquisitionTrend.map((e) => {
324
- let t = Math.max(...T.acquisitionTrend.map((e) => e.count)), n = t > 0 ? e.count / t * 100 : 0;
325
- return /* @__PURE__ */ C("div", {
338
+ children: O.acquisitionTrend.map((e) => {
339
+ let t = Math.max(...O.acquisitionTrend.map((e) => e.count)), n = t > 0 ? e.count / t * 100 : 0;
340
+ return /* @__PURE__ */ E("div", {
326
341
  className: "flex-1 flex flex-col items-center gap-1",
327
342
  children: [
328
- /* @__PURE__ */ C("span", {
329
- className: "text-[10px] text-muted-foreground",
343
+ /* @__PURE__ */ E("span", {
344
+ className: "text-[10px] text-text-secondary",
330
345
  children: [e.count, " units"]
331
346
  }),
332
- /* @__PURE__ */ S("div", {
333
- className: "w-full bg-green-500/80 rounded-t",
347
+ /* @__PURE__ */ T("div", {
348
+ className: "w-full bg-status-success-bg rounded-t",
334
349
  style: { height: `${n}%` }
335
350
  }),
336
- /* @__PURE__ */ S("span", {
337
- className: "text-[10px] text-muted-foreground",
351
+ /* @__PURE__ */ T("span", {
352
+ className: "text-[10px] text-text-secondary",
338
353
  children: e.month.replace(" 20", "'")
339
354
  })
340
355
  ]
341
356
  }, e.month);
342
357
  })
343
358
  }) })] }),
344
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, { children: /* @__PURE__ */ S(g, { children: "Recent Transactions" }) }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ S("div", {
359
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, { children: /* @__PURE__ */ T(g, { children: "Recent Transactions" }) }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ T("div", {
345
360
  className: "overflow-x-auto",
346
- children: /* @__PURE__ */ C("table", {
361
+ children: /* @__PURE__ */ E("table", {
347
362
  className: "w-full text-sm",
348
- children: [/* @__PURE__ */ S("thead", { children: /* @__PURE__ */ C("tr", {
363
+ children: [/* @__PURE__ */ T("thead", { children: /* @__PURE__ */ E("tr", {
349
364
  className: "border-b",
350
365
  children: [
351
- /* @__PURE__ */ S("th", {
366
+ /* @__PURE__ */ T("th", {
352
367
  className: "text-left py-2 font-medium",
353
368
  children: "ID"
354
369
  }),
355
- /* @__PURE__ */ S("th", {
370
+ /* @__PURE__ */ T("th", {
356
371
  className: "text-left py-2 font-medium",
357
372
  children: "Type"
358
373
  }),
359
- /* @__PURE__ */ S("th", {
374
+ /* @__PURE__ */ T("th", {
360
375
  className: "text-left py-2 font-medium",
361
376
  children: "Description"
362
377
  }),
363
- /* @__PURE__ */ S("th", {
378
+ /* @__PURE__ */ T("th", {
364
379
  className: "text-right py-2 font-medium",
365
380
  children: "Amount"
366
381
  }),
367
- /* @__PURE__ */ S("th", {
382
+ /* @__PURE__ */ T("th", {
368
383
  className: "text-left py-2 font-medium",
369
384
  children: "Status"
370
385
  })
371
386
  ]
372
- }) }), /* @__PURE__ */ S("tbody", { children: E.slice(0, 5).map((e) => /* @__PURE__ */ C("tr", {
373
- className: "border-b hover:bg-muted/50",
387
+ }) }), /* @__PURE__ */ T("tbody", { children: k.slice(0, 5).map((e) => /* @__PURE__ */ E("tr", {
388
+ className: "border-b hover:bg-bg-sunken/50",
374
389
  children: [
375
- /* @__PURE__ */ S("td", {
390
+ /* @__PURE__ */ T("td", {
376
391
  className: "py-2 font-mono text-xs",
377
392
  children: e.id
378
393
  }),
379
- /* @__PURE__ */ S("td", {
394
+ /* @__PURE__ */ T("td", {
380
395
  className: "py-2 capitalize",
381
396
  children: e.type
382
397
  }),
383
- /* @__PURE__ */ S("td", {
398
+ /* @__PURE__ */ T("td", {
384
399
  className: "py-2 truncate max-w-xs",
385
400
  children: e.description
386
401
  }),
387
- /* @__PURE__ */ C("td", {
388
- className: `py-2 text-right font-medium ${e.amount < 0 ? "text-red-600" : ""}`,
402
+ /* @__PURE__ */ E("td", {
403
+ className: `py-2 text-right font-medium ${e.amount < 0 ? "text-status-error-text" : ""}`,
389
404
  children: ["$", Math.abs(e.amount).toLocaleString()]
390
405
  }),
391
- /* @__PURE__ */ S("td", {
406
+ /* @__PURE__ */ T("td", {
392
407
  className: "py-2",
393
- children: /* @__PURE__ */ S(u, {
408
+ children: /* @__PURE__ */ T(u, {
394
409
  variant: "outline",
395
410
  children: e.status
396
411
  })
@@ -401,176 +416,182 @@ function w() {
401
416
  }) })] })
402
417
  ]
403
418
  }),
404
- /* @__PURE__ */ S(y, {
419
+ /* @__PURE__ */ T(S, {
405
420
  value: "operational",
406
421
  className: "space-y-6 mt-6",
407
- children: /* @__PURE__ */ C("div", {
422
+ children: /* @__PURE__ */ E("div", {
408
423
  className: "grid gap-4 md:grid-cols-4",
409
424
  children: [
410
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
425
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
411
426
  className: "pb-2",
412
- children: /* @__PURE__ */ S(g, {
427
+ children: /* @__PURE__ */ T(g, {
413
428
  className: "text-sm font-medium",
414
429
  children: "Incidents"
415
430
  })
416
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
417
- className: "text-2xl font-bold",
418
- children: D.length
419
- }), /* @__PURE__ */ C("p", {
420
- className: "text-xs text-muted-foreground",
421
- children: [B.length, " resolved"]
431
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
432
+ className: "text-2xl font-bold tabular-nums",
433
+ children: A.length
434
+ }), /* @__PURE__ */ E("p", {
435
+ className: "text-xs text-text-secondary",
436
+ children: [U.length, " resolved"]
422
437
  })] })] }),
423
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
438
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
424
439
  className: "pb-2",
425
- children: /* @__PURE__ */ S(g, {
440
+ children: /* @__PURE__ */ T(g, {
426
441
  className: "text-sm font-medium",
427
442
  children: "SLA Breaches"
428
443
  })
429
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
430
- className: "text-2xl font-bold text-red-600",
431
- children: V.length
432
- }), /* @__PURE__ */ C("p", {
433
- className: "text-xs text-muted-foreground",
434
- children: [((1 - V.length / Math.max(D.length, 1)) * 100).toFixed(1), "% compliance"]
444
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
445
+ className: "text-2xl font-bold text-status-error-text",
446
+ children: W.length
447
+ }), /* @__PURE__ */ E("p", {
448
+ className: "text-xs text-text-secondary",
449
+ children: [((1 - W.length / Math.max(A.length, 1)) * 100).toFixed(1), "% compliance"]
435
450
  })] })] }),
436
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
451
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
437
452
  className: "pb-2",
438
- children: /* @__PURE__ */ S(g, {
453
+ children: /* @__PURE__ */ T(g, {
439
454
  className: "text-sm font-medium",
440
455
  children: "Maintenance Done"
441
456
  })
442
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ S("div", {
443
- className: "text-2xl font-bold",
444
- children: H.length
445
- }), /* @__PURE__ */ C("p", {
446
- className: "text-xs text-muted-foreground",
457
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ T("div", {
458
+ className: "text-2xl font-bold tabular-nums",
459
+ children: G.length
460
+ }), /* @__PURE__ */ E("p", {
461
+ className: "text-xs text-text-secondary",
447
462
  children: [
448
463
  "of ",
449
- O.length,
464
+ j.length,
450
465
  " total"
451
466
  ]
452
467
  })] })] }),
453
- /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(h, {
468
+ /* @__PURE__ */ E(f, { children: [/* @__PURE__ */ T(h, {
454
469
  className: "pb-2",
455
- children: /* @__PURE__ */ S(g, {
470
+ children: /* @__PURE__ */ T(g, {
456
471
  className: "text-sm font-medium",
457
472
  children: "Workflow Success"
458
473
  })
459
- }), /* @__PURE__ */ C(p, { children: [/* @__PURE__ */ C("div", {
460
- className: "text-2xl font-bold",
461
- children: [(k.reduce((e, t) => e + t.successRate, 0) / Math.max(k.length, 1)).toFixed(1), "%"]
462
- }), /* @__PURE__ */ C("p", {
463
- className: "text-xs text-muted-foreground",
464
- children: [k.length, " active workflows"]
474
+ }), /* @__PURE__ */ E(p, { children: [/* @__PURE__ */ E("div", {
475
+ className: "text-2xl font-bold tabular-nums",
476
+ children: [(M.reduce((e, t) => e + t.successRate, 0) / Math.max(M.length, 1)).toFixed(1), "%"]
477
+ }), /* @__PURE__ */ E("p", {
478
+ className: "text-xs text-text-secondary",
479
+ children: [M.length, " active workflows"]
465
480
  })] })] })
466
481
  ]
467
482
  })
468
483
  }),
469
- /* @__PURE__ */ C(y, {
484
+ /* @__PURE__ */ E(S, {
470
485
  value: "insights",
471
486
  className: "space-y-6 mt-6",
472
- children: [/* @__PURE__ */ C("div", {
487
+ children: [/* @__PURE__ */ E("div", {
473
488
  className: "grid gap-4 md:grid-cols-3",
474
489
  children: [
475
- /* @__PURE__ */ C(f, {
476
- className: "border-blue-200 bg-blue-50/50",
477
- children: [/* @__PURE__ */ S(h, { children: /* @__PURE__ */ S(g, {
478
- className: "text-blue-900 text-base",
490
+ /* @__PURE__ */ E(f, {
491
+ className: "border-status-info-border bg-status-info-bg-subtle",
492
+ children: [/* @__PURE__ */ T(h, { children: /* @__PURE__ */ T(g, {
493
+ className: "text-status-info-text text-base",
479
494
  children: "Diversification"
480
- }) }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ C("p", {
481
- className: "text-sm text-blue-800",
495
+ }) }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ E("p", {
496
+ className: "text-sm text-status-info-text",
482
497
  children: [
483
498
  "Your portfolio spans ",
484
- Object.keys(L).length,
499
+ Object.keys(B).length,
485
500
  " categories across",
486
501
  " ",
487
- Object.keys(z).length,
502
+ Object.keys(H).length,
488
503
  " departments. IT Hardware represents the largest segment at ",
489
- T.byCategory[0]?.count || 0,
504
+ O.byCategory[0]?.count || 0,
490
505
  " assets."
491
506
  ]
492
507
  }) })]
493
508
  }),
494
- /* @__PURE__ */ C(f, {
495
- className: "border-green-200 bg-green-50/50",
496
- children: [/* @__PURE__ */ S(h, { children: /* @__PURE__ */ S(g, {
497
- className: "text-green-900 text-base",
509
+ /* @__PURE__ */ E(f, {
510
+ className: "border-status-success-border bg-status-success-bg-subtle",
511
+ children: [/* @__PURE__ */ T(h, { children: /* @__PURE__ */ T(g, {
512
+ className: "text-status-success-text text-base",
498
513
  children: "Performance"
499
- }) }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ C("p", {
500
- className: "text-sm text-green-800",
514
+ }) }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ E("p", {
515
+ className: "text-sm text-status-success-text",
501
516
  children: [
502
517
  "Portfolio depreciated value stands at $",
503
- (T.depreciatedValue / 1e6).toFixed(2),
518
+ (O.depreciatedValue / 1e6).toFixed(2),
504
519
  "M. Depreciation rate is within expected range at ",
505
- F,
520
+ R,
506
521
  "% of original cost."
507
522
  ]
508
523
  }) })]
509
524
  }),
510
- /* @__PURE__ */ C(f, {
511
- className: "border-amber-200 bg-amber-50/50",
512
- children: [/* @__PURE__ */ S(h, { children: /* @__PURE__ */ S(g, {
513
- className: "text-amber-900 text-base",
525
+ /* @__PURE__ */ E(f, {
526
+ className: "border-status-warning-border bg-status-warning-bg-subtle",
527
+ children: [/* @__PURE__ */ T(h, { children: /* @__PURE__ */ T(g, {
528
+ className: "text-status-warning-text text-base",
514
529
  children: "Maintenance"
515
- }) }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ C("p", {
516
- className: "text-sm text-amber-800",
530
+ }) }), /* @__PURE__ */ T(p, { children: /* @__PURE__ */ E("p", {
531
+ className: "text-sm text-status-warning-text",
517
532
  children: [
518
- O.filter((e) => e.status === "scheduled").length,
533
+ j.filter((e) => e.status === "scheduled").length,
519
534
  " maintenance tasks are scheduled. Total maintenance spend is $",
520
- U.toLocaleString(),
535
+ K.toLocaleString(),
521
536
  ". Stay on top of preventive maintenance."
522
537
  ]
523
538
  }) })]
524
539
  })
525
540
  ]
526
- }), /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ C(h, { children: [/* @__PURE__ */ S(g, { children: "Top Assets by Value" }), /* @__PURE__ */ S(m, { children: "Highest value assets in your portfolio" })] }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ S("div", {
527
- className: "space-y-3",
528
- children: [...w].sort((e, t) => t.currentValue - e.currentValue).slice(0, 5).map((e, t) => /* @__PURE__ */ C("div", {
529
- className: "flex items-center justify-between p-3 rounded-lg border",
530
- children: [/* @__PURE__ */ C("div", {
531
- className: "flex items-center gap-3",
532
- children: [/* @__PURE__ */ S("div", {
533
- className: "w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-medium text-primary",
534
- children: t + 1
535
- }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
536
- className: "text-sm font-medium",
537
- children: e.name
538
- }), /* @__PURE__ */ C("p", {
539
- className: "text-xs text-muted-foreground",
540
- children: [
541
- e.department,
542
- " · ",
543
- e.category.replace("_", " ")
544
- ]
545
- })] })]
546
- }), /* @__PURE__ */ C("div", {
547
- className: "text-right",
548
- children: [/* @__PURE__ */ C("p", {
549
- className: "text-sm font-medium",
550
- children: ["$", e.currentValue.toLocaleString()]
551
- }), /* @__PURE__ */ S("p", {
552
- className: "text-xs text-muted-foreground",
553
- children: e.currentValue < e.value ? /* @__PURE__ */ C("span", {
554
- className: "text-red-600",
541
+ }), /* @__PURE__ */ E(_, { children: [/* @__PURE__ */ E(h, {
542
+ className: "px-0 pt-0",
543
+ children: [/* @__PURE__ */ T(g, { children: "Top Assets by Value" }), /* @__PURE__ */ T(m, { children: "Highest value assets in your portfolio" })]
544
+ }), /* @__PURE__ */ T(p, {
545
+ className: "px-0 pb-0",
546
+ children: /* @__PURE__ */ T("div", {
547
+ className: "space-y-3",
548
+ children: [...D].sort((e, t) => t.currentValue - e.currentValue).slice(0, 5).map((e, t) => /* @__PURE__ */ E("div", {
549
+ className: "flex items-center justify-between p-3 rounded-lg border border-border-seam bg-gloss-card",
550
+ children: [/* @__PURE__ */ E("div", {
551
+ className: "flex items-center gap-3",
552
+ children: [/* @__PURE__ */ T("div", {
553
+ className: "w-8 h-8 rounded-full bg-action-primary-bg/10 flex items-center justify-center text-xs font-medium text-primary",
554
+ children: t + 1
555
+ }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
556
+ className: "text-sm font-medium",
557
+ children: e.name
558
+ }), /* @__PURE__ */ E("p", {
559
+ className: "text-xs text-text-secondary",
555
560
  children: [
556
- "-",
557
- ((1 - e.currentValue / e.value) * 100).toFixed(1),
558
- "%"
561
+ e.department,
562
+ " · ",
563
+ e.category.replace("_", " ")
559
564
  ]
560
- }) : /* @__PURE__ */ S("span", {
561
- className: "text-green-600",
562
- children: "No depreciation"
563
- })
565
+ })] })]
566
+ }), /* @__PURE__ */ E("div", {
567
+ className: "text-right",
568
+ children: [/* @__PURE__ */ E("p", {
569
+ className: "text-sm font-medium",
570
+ children: ["$", e.currentValue.toLocaleString()]
571
+ }), /* @__PURE__ */ T("p", {
572
+ className: "text-xs text-text-secondary",
573
+ children: e.currentValue < e.value ? /* @__PURE__ */ E("span", {
574
+ className: "text-status-error-text",
575
+ children: [
576
+ "-",
577
+ ((1 - e.currentValue / e.value) * 100).toFixed(1),
578
+ "%"
579
+ ]
580
+ }) : /* @__PURE__ */ T("span", {
581
+ className: "text-status-success-text",
582
+ children: "No depreciation"
583
+ })
584
+ })]
564
585
  })]
565
- })]
566
- }, e.id))
567
- }) })] })]
586
+ }, e.id))
587
+ })
588
+ })] })]
568
589
  })
569
590
  ]
570
591
  })]
571
592
  });
572
593
  }
573
594
  //#endregion
574
- export { w as AnalyticsPage };
595
+ export { D as AnalyticsPage };
575
596
 
576
597
  //# sourceMappingURL=AnalyticsPage.js.map