@burdenoff/microfe-assethandler 2026.625.1 → 2026.625.2

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 +42 -41
  2. package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -1
  3. package/dist/assethandler/pages/AnalyticsPage.js +538 -534
  4. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -1
  5. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +135 -125
  6. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -1
  7. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +90 -92
  8. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -1
  9. package/dist/assethandler/pages/AssetsAssetCreatePage.js +131 -124
  10. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -1
  11. package/dist/assethandler/pages/AssetsAssetDetailPage.js +214 -185
  12. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
  13. package/dist/assethandler/pages/AssetsAssetEditPage.js +168 -156
  14. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -1
  15. package/dist/assethandler/pages/AssetsAssetListPage.js +207 -187
  16. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
  17. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +82 -71
  18. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -1
  19. package/dist/assethandler/pages/AuditTrailPage.js +93 -91
  20. package/dist/assethandler/pages/AuditTrailPage.js.map +1 -1
  21. package/dist/assethandler/pages/CmdbBrowserPage.js +32 -33
  22. package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -1
  23. package/dist/assethandler/pages/DashboardPage.js +157 -126
  24. package/dist/assethandler/pages/DashboardPage.js.map +1 -1
  25. package/dist/assethandler/pages/DigitalTwinPage.js +25 -26
  26. package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -1
  27. package/dist/assethandler/pages/DiscoveryJobsPage.js +50 -50
  28. package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -1
  29. package/dist/assethandler/pages/EsgDashboardPage.js +43 -42
  30. package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -1
  31. package/dist/assethandler/pages/FinanceBudgetDetailPage.js +96 -82
  32. package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -1
  33. package/dist/assethandler/pages/FinanceFinanceHubPage.js +137 -103
  34. package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -1
  35. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +77 -66
  36. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -1
  37. package/dist/assethandler/pages/IotDevicesPage.js +34 -35
  38. package/dist/assethandler/pages/IotDevicesPage.js.map +1 -1
  39. package/dist/assethandler/pages/ItilChangeDetailPage.js +236 -199
  40. package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -1
  41. package/dist/assethandler/pages/ItilChangeManagementPage.js +66 -64
  42. package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -1
  43. package/dist/assethandler/pages/ItilIncidentDetailPage.js +237 -200
  44. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -1
  45. package/dist/assethandler/pages/ItilIncidentManagementPage.js +99 -97
  46. package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -1
  47. package/dist/assethandler/pages/ItilItilhubPage.js +166 -122
  48. package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -1
  49. package/dist/assethandler/pages/ItilProblemDetailPage.js +193 -156
  50. package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -1
  51. package/dist/assethandler/pages/ItilProblemManagementPage.js +63 -61
  52. package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -1
  53. package/dist/assethandler/pages/KnowledgeBasePage.js +45 -43
  54. package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -1
  55. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +70 -68
  56. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -1
  57. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +77 -62
  58. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -1
  59. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +162 -151
  60. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -1
  61. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +64 -57
  62. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -1
  63. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +125 -108
  64. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -1
  65. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +67 -61
  66. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -1
  67. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +203 -166
  68. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -1
  69. package/dist/assethandler/pages/OperationsOperationsHubPage.js +125 -95
  70. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -1
  71. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +165 -151
  72. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -1
  73. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +83 -81
  74. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -1
  75. package/dist/assethandler/pages/ProvenancePage.js +56 -53
  76. package/dist/assethandler/pages/ProvenancePage.js.map +1 -1
  77. package/dist/assethandler/pages/ReportsReportBuilderPage.js +80 -73
  78. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -1
  79. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +112 -77
  80. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -1
  81. package/dist/assethandler/pages/ReportsReportsListPage.js +119 -103
  82. package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -1
  83. package/dist/assethandler/pages/SamLicensesPage.js +32 -33
  84. package/dist/assethandler/pages/SamLicensesPage.js.map +1 -1
  85. package/dist/assethandler/pages/SecurityComplianceDetailPage.js +60 -52
  86. package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -1
  87. package/dist/assethandler/pages/SecurityPolicyDetailPage.js +134 -117
  88. package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -1
  89. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +63 -57
  90. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -1
  91. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +131 -117
  92. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -1
  93. package/dist/assethandler/pages/SecuritySecurityHubPage.js +147 -113
  94. package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -1
  95. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +235 -218
  96. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -1
  97. package/dist/assethandler/pages/TransactionsTransactionListPage.js +118 -116
  98. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -1
  99. package/dist/assethandler/pages/UsersPage.js +108 -99
  100. package/dist/assethandler/pages/UsersPage.js.map +1 -1
  101. package/dist/assethandler/pages/UsersUserCreatePage.js +74 -67
  102. package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -1
  103. package/dist/assethandler/pages/UsersUserManagementHubPage.js +128 -93
  104. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -1
  105. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +211 -193
  106. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -1
  107. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +88 -86
  108. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -1
  109. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +68 -60
  110. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -1
  111. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +71 -68
  112. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -1
  113. package/package.json +2 -2
@@ -1,196 +1,202 @@
1
1
  import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
2
  import { useState as t } from "react";
3
3
  import { ArrowLeft as n, Save as r, X as i } from "lucide-react";
4
- import { useParams as a } from "react-router-dom";
5
- import { Button as o, Card as s, CardContent as c, CardHeader as l, CardTitle as u, GradientText as d, Input as f, Label as p, Select as m, SelectContent as h, SelectItem as g, SelectTrigger as _, SelectValue as v, Textarea as y } from "@burdenoff/fe-libs/ui";
6
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
4
+ import { useNavigate as a, useParams as o } from "react-router-dom";
5
+ import { Button as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d, EmphasisPanel as f, GradientText as p, IllustratedEmptyState as m, Input as h, Label as g, PagePurpose as _, Select as v, SelectContent as y, SelectItem as b, SelectTrigger as x, SelectValue as S, Textarea as C } from "@burdenoff/fe-libs/ui";
6
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
7
7
  //#region src/assethandler/pages/AssetsAssetEditPage.tsx
8
- function S() {
9
- let { assetId: S } = a(), { assets: C } = e(), w = C.find((e) => e.id === S || e.assetTag === S) ?? C[0], [T, E] = t({
10
- name: w?.name || "",
11
- description: w?.description || "",
12
- category: w?.category || "it_hardware",
13
- status: w?.status || "active",
14
- condition: w?.condition || "good",
15
- serialNumber: w?.serialNumber || "",
16
- assetTag: w?.assetTag || "",
17
- value: String(w?.value || ""),
18
- currentValue: String(w?.currentValue || ""),
19
- location: w?.location || "",
20
- department: w?.department || "",
21
- assignedTo: w?.assignedTo || "",
22
- vendor: w?.vendor || "",
23
- model: w?.model || "",
24
- manufacturer: w?.manufacturer || "",
25
- depreciationRate: String(w?.depreciationRate || "20"),
26
- purchaseDate: w?.purchaseDate || "",
27
- warrantyExpiry: w?.warrantyExpiry || "",
28
- tags: w?.tags.join(", ") || ""
29
- }), D = (e, t) => E((n) => ({
8
+ function E() {
9
+ let E = a(), { assetId: D } = o(), { assets: O } = e(), k = O.find((e) => e.id === D || e.assetTag === D) ?? O[0], [A, j] = t({
10
+ name: k?.name || "",
11
+ description: k?.description || "",
12
+ category: k?.category || "it_hardware",
13
+ status: k?.status || "active",
14
+ condition: k?.condition || "good",
15
+ serialNumber: k?.serialNumber || "",
16
+ assetTag: k?.assetTag || "",
17
+ value: String(k?.value || ""),
18
+ currentValue: String(k?.currentValue || ""),
19
+ location: k?.location || "",
20
+ department: k?.department || "",
21
+ assignedTo: k?.assignedTo || "",
22
+ vendor: k?.vendor || "",
23
+ model: k?.model || "",
24
+ manufacturer: k?.manufacturer || "",
25
+ depreciationRate: String(k?.depreciationRate || "20"),
26
+ purchaseDate: k?.purchaseDate || "",
27
+ warrantyExpiry: k?.warrantyExpiry || "",
28
+ tags: k?.tags.join(", ") || ""
29
+ }), M = (e, t) => j((n) => ({
30
30
  ...n,
31
31
  [e]: t
32
32
  }));
33
- return w ? /* @__PURE__ */ x("div", {
33
+ return k ? /* @__PURE__ */ T("div", {
34
34
  className: "space-y-6 p-6 max-w-4xl",
35
35
  children: [
36
- /* @__PURE__ */ x("div", {
36
+ /* @__PURE__ */ T("div", {
37
37
  className: "flex items-center justify-between",
38
- children: [/* @__PURE__ */ x("div", {
38
+ children: [/* @__PURE__ */ T("div", {
39
39
  className: "flex items-center gap-4",
40
- children: [/* @__PURE__ */ b(o, {
40
+ children: [/* @__PURE__ */ w(s, {
41
41
  variant: "ghost",
42
42
  size: "icon",
43
- children: /* @__PURE__ */ b(n, { className: "h-4 w-4" })
44
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h1", {
43
+ onClick: () => E(`/assets/${k.id}`),
44
+ children: /* @__PURE__ */ w(n, { className: "h-4 w-4" })
45
+ }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h1", {
45
46
  className: "text-2xl font-bold",
46
- children: /* @__PURE__ */ b(d, { children: "Edit Asset" })
47
- }), /* @__PURE__ */ x("p", {
47
+ children: /* @__PURE__ */ w(p, { children: "Edit Asset" })
48
+ }), /* @__PURE__ */ T("p", {
48
49
  className: "text-sm text-text-secondary",
49
50
  children: [
50
- w.assetTag,
51
+ k.assetTag,
51
52
  " · ",
52
- w.name
53
+ k.name
53
54
  ]
54
55
  })] })]
55
- }), /* @__PURE__ */ x("div", {
56
+ }), /* @__PURE__ */ T("div", {
56
57
  className: "flex gap-2",
57
- children: [/* @__PURE__ */ x(o, {
58
+ children: [/* @__PURE__ */ T(s, {
58
59
  variant: "outline",
59
60
  size: "sm",
60
- children: [/* @__PURE__ */ b(i, { className: "mr-2 h-4 w-4" }), "Cancel"]
61
- }), /* @__PURE__ */ x(o, {
61
+ onClick: () => E(`/assets/${k.id}`),
62
+ children: [/* @__PURE__ */ w(i, { className: "mr-2 h-4 w-4" }), "Cancel"]
63
+ }), /* @__PURE__ */ T(s, {
62
64
  size: "sm",
63
- children: [/* @__PURE__ */ b(r, { className: "mr-2 h-4 w-4" }), "Save Changes"]
65
+ children: [/* @__PURE__ */ w(r, { className: "mr-2 h-4 w-4" }), "Save Changes"]
64
66
  })]
65
67
  })]
66
68
  }),
67
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(l, { children: /* @__PURE__ */ b(u, { children: "General Information" }) }), /* @__PURE__ */ x(c, {
68
- className: "space-y-4",
69
+ /* @__PURE__ */ w(_, { children: "Keep an asset's record accurate as it moves, changes hands or changes condition. Update its details, status and valuation here — accurate data keeps depreciation, maintenance planning and audit reporting trustworthy across the whole estate." }),
70
+ /* @__PURE__ */ T(f, { children: [/* @__PURE__ */ w(u, {
71
+ className: "px-0 pt-0",
72
+ children: /* @__PURE__ */ w(d, { children: "General Information" })
73
+ }), /* @__PURE__ */ T(l, {
74
+ className: "space-y-4 px-0 pb-0",
69
75
  children: [
70
- /* @__PURE__ */ x("div", {
76
+ /* @__PURE__ */ T("div", {
71
77
  className: "grid gap-4 md:grid-cols-2",
72
- children: [/* @__PURE__ */ x("div", {
78
+ children: [/* @__PURE__ */ T("div", {
73
79
  className: "space-y-2",
74
- children: [/* @__PURE__ */ b(p, { children: "Asset Name" }), /* @__PURE__ */ b(f, {
75
- value: T.name,
76
- onChange: (e) => D("name", e.target.value)
80
+ children: [/* @__PURE__ */ w(g, { children: "Asset Name" }), /* @__PURE__ */ w(h, {
81
+ value: A.name,
82
+ onChange: (e) => M("name", e.target.value)
77
83
  })]
78
- }), /* @__PURE__ */ x("div", {
84
+ }), /* @__PURE__ */ T("div", {
79
85
  className: "space-y-2",
80
- children: [/* @__PURE__ */ b(p, { children: "Asset Tag" }), /* @__PURE__ */ b(f, {
81
- value: T.assetTag,
82
- onChange: (e) => D("assetTag", e.target.value)
86
+ children: [/* @__PURE__ */ w(g, { children: "Asset Tag" }), /* @__PURE__ */ w(h, {
87
+ value: A.assetTag,
88
+ onChange: (e) => M("assetTag", e.target.value)
83
89
  })]
84
90
  })]
85
91
  }),
86
- /* @__PURE__ */ x("div", {
92
+ /* @__PURE__ */ T("div", {
87
93
  className: "space-y-2",
88
- children: [/* @__PURE__ */ b(p, { children: "Description" }), /* @__PURE__ */ b(y, {
89
- value: T.description,
90
- onChange: (e) => D("description", e.target.value),
94
+ children: [/* @__PURE__ */ w(g, { children: "Description" }), /* @__PURE__ */ w(C, {
95
+ value: A.description,
96
+ onChange: (e) => M("description", e.target.value),
91
97
  rows: 3
92
98
  })]
93
99
  }),
94
- /* @__PURE__ */ x("div", {
100
+ /* @__PURE__ */ T("div", {
95
101
  className: "grid gap-4 md:grid-cols-3",
96
102
  children: [
97
- /* @__PURE__ */ x("div", {
103
+ /* @__PURE__ */ T("div", {
98
104
  className: "space-y-2",
99
- children: [/* @__PURE__ */ b(p, { children: "Category" }), /* @__PURE__ */ x(m, {
100
- value: T.category,
101
- onValueChange: (e) => D("category", e),
102
- children: [/* @__PURE__ */ b(_, { children: /* @__PURE__ */ b(v, {}) }), /* @__PURE__ */ x(h, { children: [
103
- /* @__PURE__ */ b(g, {
105
+ children: [/* @__PURE__ */ w(g, { children: "Category" }), /* @__PURE__ */ T(v, {
106
+ value: A.category,
107
+ onValueChange: (e) => M("category", e),
108
+ children: [/* @__PURE__ */ w(x, { children: /* @__PURE__ */ w(S, {}) }), /* @__PURE__ */ T(y, { children: [
109
+ /* @__PURE__ */ w(b, {
104
110
  value: "electronics",
105
111
  children: "Electronics"
106
112
  }),
107
- /* @__PURE__ */ b(g, {
113
+ /* @__PURE__ */ w(b, {
108
114
  value: "it_hardware",
109
115
  children: "IT Hardware"
110
116
  }),
111
- /* @__PURE__ */ b(g, {
117
+ /* @__PURE__ */ w(b, {
112
118
  value: "furniture",
113
119
  children: "Furniture"
114
120
  }),
115
- /* @__PURE__ */ b(g, {
121
+ /* @__PURE__ */ w(b, {
116
122
  value: "vehicles",
117
123
  children: "Vehicles"
118
124
  }),
119
- /* @__PURE__ */ b(g, {
125
+ /* @__PURE__ */ w(b, {
120
126
  value: "equipment",
121
127
  children: "Equipment"
122
128
  }),
123
- /* @__PURE__ */ b(g, {
129
+ /* @__PURE__ */ w(b, {
124
130
  value: "software",
125
131
  children: "Software"
126
132
  }),
127
- /* @__PURE__ */ b(g, {
133
+ /* @__PURE__ */ w(b, {
128
134
  value: "networking",
129
135
  children: "Networking"
130
136
  }),
131
- /* @__PURE__ */ b(g, {
137
+ /* @__PURE__ */ w(b, {
132
138
  value: "servers",
133
139
  children: "Servers"
134
140
  })
135
141
  ] })]
136
142
  })]
137
143
  }),
138
- /* @__PURE__ */ x("div", {
144
+ /* @__PURE__ */ T("div", {
139
145
  className: "space-y-2",
140
- children: [/* @__PURE__ */ b(p, { children: "Status" }), /* @__PURE__ */ x(m, {
141
- value: T.status,
142
- onValueChange: (e) => D("status", e),
143
- children: [/* @__PURE__ */ b(_, { children: /* @__PURE__ */ b(v, {}) }), /* @__PURE__ */ x(h, { children: [
144
- /* @__PURE__ */ b(g, {
146
+ children: [/* @__PURE__ */ w(g, { children: "Status" }), /* @__PURE__ */ T(v, {
147
+ value: A.status,
148
+ onValueChange: (e) => M("status", e),
149
+ children: [/* @__PURE__ */ w(x, { children: /* @__PURE__ */ w(S, {}) }), /* @__PURE__ */ T(y, { children: [
150
+ /* @__PURE__ */ w(b, {
145
151
  value: "active",
146
152
  children: "Active"
147
153
  }),
148
- /* @__PURE__ */ b(g, {
154
+ /* @__PURE__ */ w(b, {
149
155
  value: "inactive",
150
156
  children: "Inactive"
151
157
  }),
152
- /* @__PURE__ */ b(g, {
158
+ /* @__PURE__ */ w(b, {
153
159
  value: "under_maintenance",
154
160
  children: "Under Maintenance"
155
161
  }),
156
- /* @__PURE__ */ b(g, {
162
+ /* @__PURE__ */ w(b, {
157
163
  value: "disposed",
158
164
  children: "Disposed"
159
165
  }),
160
- /* @__PURE__ */ b(g, {
166
+ /* @__PURE__ */ w(b, {
161
167
  value: "reserved",
162
168
  children: "Reserved"
163
169
  }),
164
- /* @__PURE__ */ b(g, {
170
+ /* @__PURE__ */ w(b, {
165
171
  value: "in_transit",
166
172
  children: "In Transit"
167
173
  })
168
174
  ] })]
169
175
  })]
170
176
  }),
171
- /* @__PURE__ */ x("div", {
177
+ /* @__PURE__ */ T("div", {
172
178
  className: "space-y-2",
173
- children: [/* @__PURE__ */ b(p, { children: "Condition" }), /* @__PURE__ */ x(m, {
174
- value: T.condition,
175
- onValueChange: (e) => D("condition", e),
176
- children: [/* @__PURE__ */ b(_, { children: /* @__PURE__ */ b(v, {}) }), /* @__PURE__ */ x(h, { children: [
177
- /* @__PURE__ */ b(g, {
179
+ children: [/* @__PURE__ */ w(g, { children: "Condition" }), /* @__PURE__ */ T(v, {
180
+ value: A.condition,
181
+ onValueChange: (e) => M("condition", e),
182
+ children: [/* @__PURE__ */ w(x, { children: /* @__PURE__ */ w(S, {}) }), /* @__PURE__ */ T(y, { children: [
183
+ /* @__PURE__ */ w(b, {
178
184
  value: "excellent",
179
185
  children: "Excellent"
180
186
  }),
181
- /* @__PURE__ */ b(g, {
187
+ /* @__PURE__ */ w(b, {
182
188
  value: "good",
183
189
  children: "Good"
184
190
  }),
185
- /* @__PURE__ */ b(g, {
191
+ /* @__PURE__ */ w(b, {
186
192
  value: "fair",
187
193
  children: "Fair"
188
194
  }),
189
- /* @__PURE__ */ b(g, {
195
+ /* @__PURE__ */ w(b, {
190
196
  value: "poor",
191
197
  children: "Poor"
192
198
  }),
193
- /* @__PURE__ */ b(g, {
199
+ /* @__PURE__ */ w(b, {
194
200
  value: "non_functional",
195
201
  children: "Non-functional"
196
202
  })
@@ -201,141 +207,147 @@ function S() {
201
207
  })
202
208
  ]
203
209
  })] }),
204
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(l, { children: /* @__PURE__ */ b(u, { children: "Identification" }) }), /* @__PURE__ */ b(c, {
210
+ /* @__PURE__ */ T(c, { children: [/* @__PURE__ */ w(u, { children: /* @__PURE__ */ w(d, { children: "Identification" }) }), /* @__PURE__ */ w(l, {
205
211
  className: "space-y-4",
206
- children: /* @__PURE__ */ x("div", {
212
+ children: /* @__PURE__ */ T("div", {
207
213
  className: "grid gap-4 md:grid-cols-2",
208
214
  children: [
209
- /* @__PURE__ */ x("div", {
215
+ /* @__PURE__ */ T("div", {
210
216
  className: "space-y-2",
211
- children: [/* @__PURE__ */ b(p, { children: "Serial Number" }), /* @__PURE__ */ b(f, {
212
- value: T.serialNumber,
213
- onChange: (e) => D("serialNumber", e.target.value)
217
+ children: [/* @__PURE__ */ w(g, { children: "Serial Number" }), /* @__PURE__ */ w(h, {
218
+ value: A.serialNumber,
219
+ onChange: (e) => M("serialNumber", e.target.value)
214
220
  })]
215
221
  }),
216
- /* @__PURE__ */ x("div", {
222
+ /* @__PURE__ */ T("div", {
217
223
  className: "space-y-2",
218
- children: [/* @__PURE__ */ b(p, { children: "Vendor" }), /* @__PURE__ */ b(f, {
219
- value: T.vendor,
220
- onChange: (e) => D("vendor", e.target.value)
224
+ children: [/* @__PURE__ */ w(g, { children: "Vendor" }), /* @__PURE__ */ w(h, {
225
+ value: A.vendor,
226
+ onChange: (e) => M("vendor", e.target.value)
221
227
  })]
222
228
  }),
223
- /* @__PURE__ */ x("div", {
229
+ /* @__PURE__ */ T("div", {
224
230
  className: "space-y-2",
225
- children: [/* @__PURE__ */ b(p, { children: "Manufacturer" }), /* @__PURE__ */ b(f, {
226
- value: T.manufacturer,
227
- onChange: (e) => D("manufacturer", e.target.value)
231
+ children: [/* @__PURE__ */ w(g, { children: "Manufacturer" }), /* @__PURE__ */ w(h, {
232
+ value: A.manufacturer,
233
+ onChange: (e) => M("manufacturer", e.target.value)
228
234
  })]
229
235
  }),
230
- /* @__PURE__ */ x("div", {
236
+ /* @__PURE__ */ T("div", {
231
237
  className: "space-y-2",
232
- children: [/* @__PURE__ */ b(p, { children: "Model" }), /* @__PURE__ */ b(f, {
233
- value: T.model,
234
- onChange: (e) => D("model", e.target.value)
238
+ children: [/* @__PURE__ */ w(g, { children: "Model" }), /* @__PURE__ */ w(h, {
239
+ value: A.model,
240
+ onChange: (e) => M("model", e.target.value)
235
241
  })]
236
242
  })
237
243
  ]
238
244
  })
239
245
  })] }),
240
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(l, { children: /* @__PURE__ */ b(u, { children: "Financial" }) }), /* @__PURE__ */ x(c, {
246
+ /* @__PURE__ */ T(c, { children: [/* @__PURE__ */ w(u, { children: /* @__PURE__ */ w(d, { children: "Financial" }) }), /* @__PURE__ */ T(l, {
241
247
  className: "space-y-4",
242
- children: [/* @__PURE__ */ x("div", {
248
+ children: [/* @__PURE__ */ T("div", {
243
249
  className: "grid gap-4 md:grid-cols-2",
244
250
  children: [
245
- /* @__PURE__ */ x("div", {
251
+ /* @__PURE__ */ T("div", {
246
252
  className: "space-y-2",
247
- children: [/* @__PURE__ */ b(p, { children: "Original Value ($)" }), /* @__PURE__ */ b(f, {
253
+ children: [/* @__PURE__ */ w(g, { children: "Original Value ($)" }), /* @__PURE__ */ w(h, {
248
254
  type: "number",
249
- value: T.value,
250
- onChange: (e) => D("value", e.target.value)
255
+ value: A.value,
256
+ onChange: (e) => M("value", e.target.value)
251
257
  })]
252
258
  }),
253
- /* @__PURE__ */ x("div", {
259
+ /* @__PURE__ */ T("div", {
254
260
  className: "space-y-2",
255
- children: [/* @__PURE__ */ b(p, { children: "Current Value ($)" }), /* @__PURE__ */ b(f, {
261
+ children: [/* @__PURE__ */ w(g, { children: "Current Value ($)" }), /* @__PURE__ */ w(h, {
256
262
  type: "number",
257
- value: T.currentValue,
258
- onChange: (e) => D("currentValue", e.target.value)
263
+ value: A.currentValue,
264
+ onChange: (e) => M("currentValue", e.target.value)
259
265
  })]
260
266
  }),
261
- /* @__PURE__ */ x("div", {
267
+ /* @__PURE__ */ T("div", {
262
268
  className: "space-y-2",
263
- children: [/* @__PURE__ */ b(p, { children: "Depreciation Rate (%)" }), /* @__PURE__ */ b(f, {
269
+ children: [/* @__PURE__ */ w(g, { children: "Depreciation Rate (%)" }), /* @__PURE__ */ w(h, {
264
270
  type: "number",
265
- value: T.depreciationRate,
266
- onChange: (e) => D("depreciationRate", e.target.value)
271
+ value: A.depreciationRate,
272
+ onChange: (e) => M("depreciationRate", e.target.value)
267
273
  })]
268
274
  }),
269
- /* @__PURE__ */ x("div", {
275
+ /* @__PURE__ */ T("div", {
270
276
  className: "space-y-2",
271
- children: [/* @__PURE__ */ b(p, { children: "Purchase Date" }), /* @__PURE__ */ b(f, {
277
+ children: [/* @__PURE__ */ w(g, { children: "Purchase Date" }), /* @__PURE__ */ w(h, {
272
278
  type: "date",
273
- value: T.purchaseDate,
274
- onChange: (e) => D("purchaseDate", e.target.value)
279
+ value: A.purchaseDate,
280
+ onChange: (e) => M("purchaseDate", e.target.value)
275
281
  })]
276
282
  })
277
283
  ]
278
- }), /* @__PURE__ */ x("div", {
284
+ }), /* @__PURE__ */ T("div", {
279
285
  className: "space-y-2",
280
- children: [/* @__PURE__ */ b(p, { children: "Warranty Expiry" }), /* @__PURE__ */ b(f, {
286
+ children: [/* @__PURE__ */ w(g, { children: "Warranty Expiry" }), /* @__PURE__ */ w(h, {
281
287
  type: "date",
282
- value: T.warrantyExpiry,
283
- onChange: (e) => D("warrantyExpiry", e.target.value)
288
+ value: A.warrantyExpiry,
289
+ onChange: (e) => M("warrantyExpiry", e.target.value)
284
290
  })]
285
291
  })]
286
292
  })] }),
287
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(l, { children: /* @__PURE__ */ b(u, { children: "Assignment" }) }), /* @__PURE__ */ x(c, {
293
+ /* @__PURE__ */ T(c, { children: [/* @__PURE__ */ w(u, { children: /* @__PURE__ */ w(d, { children: "Assignment" }) }), /* @__PURE__ */ T(l, {
288
294
  className: "space-y-4",
289
295
  children: [
290
- /* @__PURE__ */ x("div", {
296
+ /* @__PURE__ */ T("div", {
291
297
  className: "grid gap-4 md:grid-cols-2",
292
- children: [/* @__PURE__ */ x("div", {
298
+ children: [/* @__PURE__ */ T("div", {
293
299
  className: "space-y-2",
294
- children: [/* @__PURE__ */ b(p, { children: "Assigned To" }), /* @__PURE__ */ b(f, {
295
- value: T.assignedTo,
296
- onChange: (e) => D("assignedTo", e.target.value)
300
+ children: [/* @__PURE__ */ w(g, { children: "Assigned To" }), /* @__PURE__ */ w(h, {
301
+ value: A.assignedTo,
302
+ onChange: (e) => M("assignedTo", e.target.value)
297
303
  })]
298
- }), /* @__PURE__ */ x("div", {
304
+ }), /* @__PURE__ */ T("div", {
299
305
  className: "space-y-2",
300
- children: [/* @__PURE__ */ b(p, { children: "Department" }), /* @__PURE__ */ b(f, {
301
- value: T.department,
302
- onChange: (e) => D("department", e.target.value)
306
+ children: [/* @__PURE__ */ w(g, { children: "Department" }), /* @__PURE__ */ w(h, {
307
+ value: A.department,
308
+ onChange: (e) => M("department", e.target.value)
303
309
  })]
304
310
  })]
305
311
  }),
306
- /* @__PURE__ */ x("div", {
312
+ /* @__PURE__ */ T("div", {
307
313
  className: "space-y-2",
308
- children: [/* @__PURE__ */ b(p, { children: "Location" }), /* @__PURE__ */ b(f, {
309
- value: T.location,
310
- onChange: (e) => D("location", e.target.value)
314
+ children: [/* @__PURE__ */ w(g, { children: "Location" }), /* @__PURE__ */ w(h, {
315
+ value: A.location,
316
+ onChange: (e) => M("location", e.target.value)
311
317
  })]
312
318
  }),
313
- /* @__PURE__ */ x("div", {
319
+ /* @__PURE__ */ T("div", {
314
320
  className: "space-y-2",
315
- children: [/* @__PURE__ */ b(p, { children: "Tags (comma-separated)" }), /* @__PURE__ */ b(f, {
316
- value: T.tags,
317
- onChange: (e) => D("tags", e.target.value)
321
+ children: [/* @__PURE__ */ w(g, { children: "Tags (comma-separated)" }), /* @__PURE__ */ w(h, {
322
+ value: A.tags,
323
+ onChange: (e) => M("tags", e.target.value)
318
324
  })]
319
325
  })
320
326
  ]
321
327
  })] }),
322
- /* @__PURE__ */ x("div", {
328
+ /* @__PURE__ */ T("div", {
323
329
  className: "flex justify-end gap-2",
324
- children: [/* @__PURE__ */ b(o, {
330
+ children: [/* @__PURE__ */ w(s, {
325
331
  variant: "outline",
326
332
  children: "Cancel"
327
- }), /* @__PURE__ */ x(o, { children: [/* @__PURE__ */ b(r, { className: "mr-2 h-4 w-4" }), "Save Changes"] })]
333
+ }), /* @__PURE__ */ T(s, { children: [/* @__PURE__ */ w(r, { className: "mr-2 h-4 w-4" }), "Save Changes"] })]
328
334
  })
329
335
  ]
330
- }) : /* @__PURE__ */ b("div", {
336
+ }) : /* @__PURE__ */ w("div", {
331
337
  className: "p-6",
332
- children: /* @__PURE__ */ b("p", {
333
- className: "text-text-secondary",
334
- children: "Asset not found."
338
+ children: /* @__PURE__ */ w(m, {
339
+ illustration: "empty-search",
340
+ title: "Asset not found",
341
+ description: "This asset may have been disposed or removed. Return to the inventory to find it.",
342
+ action: /* @__PURE__ */ w(s, {
343
+ size: "sm",
344
+ onClick: () => E("/assets/asset-list"),
345
+ children: "Back to inventory"
346
+ })
335
347
  })
336
348
  });
337
349
  }
338
350
  //#endregion
339
- export { S as AssetsAssetEditPage };
351
+ export { E as AssetsAssetEditPage };
340
352
 
341
353
  //# sourceMappingURL=AssetsAssetEditPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsAssetEditPage.js","names":[],"sources":["../../../src/assethandler/pages/AssetsAssetEditPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n GradientText,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Save, X } from 'lucide-react';\nimport { useParams } from 'react-router-dom';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function AssetsAssetEditPage() {\n const { assetId } = useParams<{ assetId: string }>();\n const { assets } = useAssetHandlerStore();\n const asset =\n assets.find((item) => item.id === assetId || item.assetTag === assetId) ?? assets[0];\n\n const [formData, setFormData] = useState({\n name: asset?.name || '',\n description: asset?.description || '',\n category: asset?.category || 'it_hardware',\n status: asset?.status || 'active',\n condition: asset?.condition || 'good',\n serialNumber: asset?.serialNumber || '',\n assetTag: asset?.assetTag || '',\n value: String(asset?.value || ''),\n currentValue: String(asset?.currentValue || ''),\n location: asset?.location || '',\n department: asset?.department || '',\n assignedTo: asset?.assignedTo || '',\n vendor: asset?.vendor || '',\n model: asset?.model || '',\n manufacturer: asset?.manufacturer || '',\n depreciationRate: String(asset?.depreciationRate || '20'),\n purchaseDate: asset?.purchaseDate || '',\n warrantyExpiry: asset?.warrantyExpiry || '',\n tags: asset?.tags.join(', ') || '',\n });\n\n const handleChange = (field: string, value: string) =>\n setFormData((prev) => ({ ...prev, [field]: value }));\n\n if (!asset)\n return (\n <div className=\"p-6\">\n <p className=\"text-text-secondary\">Asset not found.</p>\n </div>\n );\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button variant=\"ghost\" size=\"icon\">\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <h1 className=\"text-2xl font-bold\">\n <GradientText>Edit Asset</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {asset.assetTag} &middot; {asset.name}\n </p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <X className=\"mr-2 h-4 w-4\" />\n Cancel\n </Button>\n <Button size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Save Changes\n </Button>\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>General Information</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset Name</Label>\n <Input value={formData.name} onChange={(e) => handleChange('name', e.target.value)} />\n </div>\n <div className=\"space-y-2\">\n <Label>Asset Tag</Label>\n <Input\n value={formData.assetTag}\n onChange={(e) => handleChange('assetTag', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n value={formData.description}\n onChange={(e) => handleChange('description', e.target.value)}\n rows={3}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Category</Label>\n <Select value={formData.category} onValueChange={(v) => handleChange('category', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"electronics\">Electronics</SelectItem>\n <SelectItem value=\"it_hardware\">IT Hardware</SelectItem>\n <SelectItem value=\"furniture\">Furniture</SelectItem>\n <SelectItem value=\"vehicles\">Vehicles</SelectItem>\n <SelectItem value=\"equipment\">Equipment</SelectItem>\n <SelectItem value=\"software\">Software</SelectItem>\n <SelectItem value=\"networking\">Networking</SelectItem>\n <SelectItem value=\"servers\">Servers</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={formData.status} onValueChange={(v) => handleChange('status', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"active\">Active</SelectItem>\n <SelectItem value=\"inactive\">Inactive</SelectItem>\n <SelectItem value=\"under_maintenance\">Under Maintenance</SelectItem>\n <SelectItem value=\"disposed\">Disposed</SelectItem>\n <SelectItem value=\"reserved\">Reserved</SelectItem>\n <SelectItem value=\"in_transit\">In Transit</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Condition</Label>\n <Select\n value={formData.condition}\n onValueChange={(v) => handleChange('condition', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"excellent\">Excellent</SelectItem>\n <SelectItem value=\"good\">Good</SelectItem>\n <SelectItem value=\"fair\">Fair</SelectItem>\n <SelectItem value=\"poor\">Poor</SelectItem>\n <SelectItem value=\"non_functional\">Non-functional</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Identification</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Serial Number</Label>\n <Input\n value={formData.serialNumber}\n onChange={(e) => handleChange('serialNumber', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Vendor</Label>\n <Input\n value={formData.vendor}\n onChange={(e) => handleChange('vendor', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Manufacturer</Label>\n <Input\n value={formData.manufacturer}\n onChange={(e) => handleChange('manufacturer', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Model</Label>\n <Input\n value={formData.model}\n onChange={(e) => handleChange('model', e.target.value)}\n />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Financial</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Original Value ($)</Label>\n <Input\n type=\"number\"\n value={formData.value}\n onChange={(e) => handleChange('value', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Current Value ($)</Label>\n <Input\n type=\"number\"\n value={formData.currentValue}\n onChange={(e) => handleChange('currentValue', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Depreciation Rate (%)</Label>\n <Input\n type=\"number\"\n value={formData.depreciationRate}\n onChange={(e) => handleChange('depreciationRate', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Purchase Date</Label>\n <Input\n type=\"date\"\n value={formData.purchaseDate}\n onChange={(e) => handleChange('purchaseDate', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Warranty Expiry</Label>\n <Input\n type=\"date\"\n value={formData.warrantyExpiry}\n onChange={(e) => handleChange('warrantyExpiry', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assignment</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n value={formData.assignedTo}\n onChange={(e) => handleChange('assignedTo', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Department</Label>\n <Input\n value={formData.department}\n onChange={(e) => handleChange('department', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Location</Label>\n <Input\n value={formData.location}\n onChange={(e) => handleChange('location', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Tags (comma-separated)</Label>\n <Input value={formData.tags} onChange={(e) => handleChange('tags', e.target.value)} />\n </div>\n </CardContent>\n </Card>\n\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\">Cancel</Button>\n <Button>\n <Save className=\"mr-2 h-4 w-4\" />\n Save Changes\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetsAssetEditPage.js","names":[],"sources":["../../../src/assethandler/pages/AssetsAssetEditPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n GradientText,\n EmphasisPanel,\n PagePurpose,\n IllustratedEmptyState,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Save, X } from 'lucide-react';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function AssetsAssetEditPage() {\n const navigate = useNavigate();\n const { assetId } = useParams<{ assetId: string }>();\n const { assets } = useAssetHandlerStore();\n const asset =\n assets.find((item) => item.id === assetId || item.assetTag === assetId) ?? assets[0];\n\n const [formData, setFormData] = useState({\n name: asset?.name || '',\n description: asset?.description || '',\n category: asset?.category || 'it_hardware',\n status: asset?.status || 'active',\n condition: asset?.condition || 'good',\n serialNumber: asset?.serialNumber || '',\n assetTag: asset?.assetTag || '',\n value: String(asset?.value || ''),\n currentValue: String(asset?.currentValue || ''),\n location: asset?.location || '',\n department: asset?.department || '',\n assignedTo: asset?.assignedTo || '',\n vendor: asset?.vendor || '',\n model: asset?.model || '',\n manufacturer: asset?.manufacturer || '',\n depreciationRate: String(asset?.depreciationRate || '20'),\n purchaseDate: asset?.purchaseDate || '',\n warrantyExpiry: asset?.warrantyExpiry || '',\n tags: asset?.tags.join(', ') || '',\n });\n\n const handleChange = (field: string, value: string) =>\n setFormData((prev) => ({ ...prev, [field]: value }));\n\n if (!asset)\n return (\n <div className=\"p-6\">\n <IllustratedEmptyState\n illustration=\"empty-search\"\n title=\"Asset not found\"\n description=\"This asset may have been disposed or removed. Return to the inventory to find it.\"\n action={\n <Button size=\"sm\" onClick={() => navigate('/assets/asset-list')}>\n Back to inventory\n </Button>\n }\n />\n </div>\n );\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button variant=\"ghost\" size=\"icon\" onClick={() => navigate(`/assets/${asset.id}`)}>\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <h1 className=\"text-2xl font-bold\">\n <GradientText>Edit Asset</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {asset.assetTag} &middot; {asset.name}\n </p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => navigate(`/assets/${asset.id}`)}>\n <X className=\"mr-2 h-4 w-4\" />\n Cancel\n </Button>\n <Button size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Save Changes\n </Button>\n </div>\n </div>\n\n <PagePurpose>\n Keep an asset&apos;s record accurate as it moves, changes hands or changes condition. Update its\n details, status and valuation here — accurate data keeps depreciation, maintenance planning\n and audit reporting trustworthy across the whole estate.\n </PagePurpose>\n\n <EmphasisPanel>\n <CardHeader className=\"px-0 pt-0\">\n <CardTitle>General Information</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4 px-0 pb-0\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset Name</Label>\n <Input value={formData.name} onChange={(e) => handleChange('name', e.target.value)} />\n </div>\n <div className=\"space-y-2\">\n <Label>Asset Tag</Label>\n <Input\n value={formData.assetTag}\n onChange={(e) => handleChange('assetTag', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n value={formData.description}\n onChange={(e) => handleChange('description', e.target.value)}\n rows={3}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Category</Label>\n <Select value={formData.category} onValueChange={(v) => handleChange('category', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"electronics\">Electronics</SelectItem>\n <SelectItem value=\"it_hardware\">IT Hardware</SelectItem>\n <SelectItem value=\"furniture\">Furniture</SelectItem>\n <SelectItem value=\"vehicles\">Vehicles</SelectItem>\n <SelectItem value=\"equipment\">Equipment</SelectItem>\n <SelectItem value=\"software\">Software</SelectItem>\n <SelectItem value=\"networking\">Networking</SelectItem>\n <SelectItem value=\"servers\">Servers</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={formData.status} onValueChange={(v) => handleChange('status', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"active\">Active</SelectItem>\n <SelectItem value=\"inactive\">Inactive</SelectItem>\n <SelectItem value=\"under_maintenance\">Under Maintenance</SelectItem>\n <SelectItem value=\"disposed\">Disposed</SelectItem>\n <SelectItem value=\"reserved\">Reserved</SelectItem>\n <SelectItem value=\"in_transit\">In Transit</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Condition</Label>\n <Select\n value={formData.condition}\n onValueChange={(v) => handleChange('condition', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"excellent\">Excellent</SelectItem>\n <SelectItem value=\"good\">Good</SelectItem>\n <SelectItem value=\"fair\">Fair</SelectItem>\n <SelectItem value=\"poor\">Poor</SelectItem>\n <SelectItem value=\"non_functional\">Non-functional</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </EmphasisPanel>\n\n <Card>\n <CardHeader>\n <CardTitle>Identification</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Serial Number</Label>\n <Input\n value={formData.serialNumber}\n onChange={(e) => handleChange('serialNumber', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Vendor</Label>\n <Input\n value={formData.vendor}\n onChange={(e) => handleChange('vendor', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Manufacturer</Label>\n <Input\n value={formData.manufacturer}\n onChange={(e) => handleChange('manufacturer', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Model</Label>\n <Input\n value={formData.model}\n onChange={(e) => handleChange('model', e.target.value)}\n />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Financial</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Original Value ($)</Label>\n <Input\n type=\"number\"\n value={formData.value}\n onChange={(e) => handleChange('value', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Current Value ($)</Label>\n <Input\n type=\"number\"\n value={formData.currentValue}\n onChange={(e) => handleChange('currentValue', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Depreciation Rate (%)</Label>\n <Input\n type=\"number\"\n value={formData.depreciationRate}\n onChange={(e) => handleChange('depreciationRate', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Purchase Date</Label>\n <Input\n type=\"date\"\n value={formData.purchaseDate}\n onChange={(e) => handleChange('purchaseDate', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Warranty Expiry</Label>\n <Input\n type=\"date\"\n value={formData.warrantyExpiry}\n onChange={(e) => handleChange('warrantyExpiry', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assignment</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n value={formData.assignedTo}\n onChange={(e) => handleChange('assignedTo', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Department</Label>\n <Input\n value={formData.department}\n onChange={(e) => handleChange('department', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Location</Label>\n <Input\n value={formData.location}\n onChange={(e) => handleChange('location', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Tags (comma-separated)</Label>\n <Input value={formData.tags} onChange={(e) => handleChange('tags', e.target.value)} />\n </div>\n </CardContent>\n </Card>\n\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\">Cancel</Button>\n <Button>\n <Save className=\"mr-2 h-4 w-4\" />\n Save Changes\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}