@burdenoff/microfe-assethandler 2026.625.2 → 2026.703.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 (76) hide show
  1. package/dist/assethandler/AssetHandlerRoot.js +0 -24
  2. package/dist/assethandler/AssetHandlerRoot.js.map +1 -1
  3. package/dist/assethandler/AssetHandlerRoutes.js +92 -160
  4. package/dist/assethandler/AssetHandlerRoutes.js.map +1 -1
  5. package/dist/assethandler/pages/AnalyticsPage.js +367 -402
  6. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -1
  7. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +29 -26
  8. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -1
  9. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +278 -164
  10. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -1
  11. package/dist/assethandler/pages/AssetsAssetCreatePage.js +200 -242
  12. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -1
  13. package/dist/assethandler/pages/AssetsAssetDetailPage.js +192 -286
  14. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
  15. package/dist/assethandler/pages/AssetsAssetListPage.js +204 -296
  16. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
  17. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +38 -42
  18. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -1
  19. package/dist/assethandler/pages/DashboardPage.js +212 -236
  20. package/dist/assethandler/pages/DashboardPage.js.map +1 -1
  21. package/dist/assethandler/pages/ItilIncidentDetailPage.js +41 -85
  22. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -1
  23. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +1 -1
  24. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -1
  25. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +37 -86
  26. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -1
  27. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +82 -98
  28. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -1
  29. package/dist/assethandler/pages/OperationsOperationsHubPage.js +6 -22
  30. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -1
  31. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +4 -34
  32. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -1
  33. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +105 -150
  34. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -1
  35. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +116 -152
  36. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -1
  37. package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -1
  38. package/dist/assethandler/store/assethandlerStore.js +68 -2206
  39. package/dist/assethandler/store/assethandlerStore.js.map +1 -1
  40. package/dist/assethandler/utils/toast.js +33 -0
  41. package/dist/assethandler/utils/toast.js.map +1 -0
  42. package/package.json +5 -4
  43. package/dist/assethandler/pages/AssetsAssetEditPage.js +0 -353
  44. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +0 -1
  45. package/dist/assethandler/pages/AuditTrailPage.js +0 -215
  46. package/dist/assethandler/pages/AuditTrailPage.js.map +0 -1
  47. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +0 -177
  48. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +0 -1
  49. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +0 -162
  50. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +0 -1
  51. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +0 -143
  52. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +0 -1
  53. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +0 -163
  54. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +0 -1
  55. package/dist/assethandler/pages/ReportsReportBuilderPage.js +0 -208
  56. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +0 -1
  57. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +0 -236
  58. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +0 -1
  59. package/dist/assethandler/pages/ReportsReportsListPage.js +0 -144
  60. package/dist/assethandler/pages/ReportsReportsListPage.js.map +0 -1
  61. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +0 -149
  62. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +0 -1
  63. package/dist/assethandler/pages/UsersPage.js +0 -208
  64. package/dist/assethandler/pages/UsersPage.js.map +0 -1
  65. package/dist/assethandler/pages/UsersUserCreatePage.js +0 -220
  66. package/dist/assethandler/pages/UsersUserCreatePage.js.map +0 -1
  67. package/dist/assethandler/pages/UsersUserManagementHubPage.js +0 -373
  68. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +0 -1
  69. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +0 -264
  70. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +0 -1
  71. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +0 -206
  72. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +0 -1
  73. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +0 -171
  74. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +0 -1
  75. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +0 -173
  76. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +0 -1
@@ -1,445 +1,352 @@
1
1
  import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
2
  import { tWithFallback as t } from "../utils/i18n.js";
3
3
  import { useMemo as n, useState as r } from "react";
4
- import { Download as i, Grid3x3 as a, List as o, Plus as s, Search as c, Table as l, Trash2 as u } from "lucide-react";
5
- import { Badge as d, Button as f, CTAOverflowMenu as p, Card as m, CardContent as h, CardHeader as g, CardTitle as _, Checkbox as v, EmphasisPanel as y, GradientText as b, IllustratedEmptyState as x, Input as S, PagePurpose as C, Select as w, SelectContent as T, SelectItem as E, SelectTrigger as D, SelectValue as O, Separator as k } from "@burdenoff/fe-libs/ui";
6
- import { useI18n as A } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
- import { jsx as j, jsxs as M } from "react/jsx-runtime";
4
+ import { Grid3x3 as i, List as a, Plus as o, Search as s, Table as c } from "lucide-react";
5
+ import { useNavigate as l } from "react-router-dom";
6
+ import { Badge as u, Button as d, Card as f, CardContent as p, CardHeader as m, CardTitle as h, EmphasisPanel as g, GradientText as _, IllustratedEmptyState as v, Input as y, PagePurpose as b, Select as x, SelectContent as S, SelectItem as C, SelectTrigger as w, SelectValue as T } from "@burdenoff/fe-libs/ui";
7
+ import { useI18n as E } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { jsx as D, jsxs as O } from "react/jsx-runtime";
8
9
  //#region src/assethandler/pages/AssetsAssetListPage.tsx
9
- var N = {
10
+ var k = {
10
11
  active: "default",
11
12
  inactive: "outline",
12
- under_maintenance: "secondary",
13
- disposed: "destructive",
14
- reserved: "secondary",
15
- in_transit: "outline"
16
- }, P = {
13
+ maintenance: "secondary",
14
+ retired: "outline",
15
+ disposed: "destructive"
16
+ }, A = {
17
17
  excellent: "text-status-success-text bg-status-success-bg-subtle",
18
18
  good: "text-status-info-text bg-status-info-bg-subtle",
19
19
  fair: "text-status-warning-text bg-status-warning-bg-subtle",
20
20
  poor: "text-status-warning-text bg-status-warning-bg-subtle",
21
- non_functional: "text-status-error-text bg-status-error-bg-subtle"
21
+ damaged: "text-status-error-text bg-status-error-bg-subtle"
22
22
  };
23
- function F() {
24
- let { t: F } = A(), { assets: I } = e(), [L, R] = r(""), [z, B] = r("all"), [V, H] = r("all"), [U, W] = r("table"), [G, K] = r([]), q = n(() => I.filter((e) => {
25
- let t = L === "" || e.name.toLowerCase().includes(L.toLowerCase()) || e.assetTag.toLowerCase().includes(L.toLowerCase()) || e.serialNumber.toLowerCase().includes(L.toLowerCase()), n = z === "all" || e.category === z, r = V === "all" || e.status === V;
23
+ function j() {
24
+ let { t: j } = E(), M = l(), { assets: N, hydrated: P } = e(), [F, I] = r(""), [L, R] = r("all"), [z, B] = r("all"), [V, H] = r("table"), U = n(() => [...new Set(N.map((e) => e.category).filter(Boolean))].sort(), [N]), W = n(() => N.filter((e) => {
25
+ let t = F === "" || e.name.toLowerCase().includes(F.toLowerCase()) || e.assetTag.toLowerCase().includes(F.toLowerCase()) || e.serialNumber.toLowerCase().includes(F.toLowerCase()), n = L === "all" || e.category === L, r = z === "all" || e.status === z;
26
26
  return t && n && r;
27
27
  }), [
28
- I,
28
+ N,
29
+ F,
29
30
  L,
30
- z,
31
- V
32
- ]), J = (e) => {
33
- K((t) => t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
34
- };
35
- return /* @__PURE__ */ M("div", {
31
+ z
32
+ ]), G = N.filter((e) => e.status === "active").length;
33
+ return /* @__PURE__ */ O("div", {
36
34
  className: "space-y-6 p-6",
37
35
  children: [
38
- /* @__PURE__ */ M("div", {
36
+ /* @__PURE__ */ O("div", {
39
37
  className: "flex items-center justify-between",
40
- children: [/* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("h1", {
38
+ children: [/* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("h1", {
41
39
  className: "text-2xl font-bold",
42
- children: /* @__PURE__ */ j(b, { children: t(F, "assethandler.assets.list.title", "Asset Inventory") })
43
- }), /* @__PURE__ */ M("p", {
40
+ children: /* @__PURE__ */ D(_, { children: t(j, "assethandler.assets.list.title", "Asset Inventory") })
41
+ }), /* @__PURE__ */ O("p", {
44
42
  className: "text-sm text-text-secondary",
45
43
  children: [
46
- I.length,
47
- " total assets · $",
48
- I.reduce((e, t) => e + t.currentValue, 0).toLocaleString(),
49
- " portfolio value"
44
+ N.length,
45
+ " ",
46
+ t(j, "assethandler.assets.list.subtitle.totalAssets", "total assets"),
47
+ " ",
48
+ "· ",
49
+ G,
50
+ " ",
51
+ t(j, "assethandler.assets.list.subtitle.active", "active")
50
52
  ]
51
- })] }), /* @__PURE__ */ j(p, {
52
- primary: {
53
- label: t(F, "assethandler.assets.list.actions.addAsset", "Add Asset"),
54
- onSelect: () => {},
55
- icon: /* @__PURE__ */ j(s, { className: "h-4 w-4" })
56
- },
57
- actions: [{
58
- label: t(F, "assethandler.assets.list.actions.export", "Export"),
59
- onSelect: () => {},
60
- icon: /* @__PURE__ */ j(i, { className: "h-4 w-4" })
61
- }]
53
+ })] }), /* @__PURE__ */ O(d, {
54
+ size: "sm",
55
+ onClick: () => M("/assets/asset-create"),
56
+ children: [/* @__PURE__ */ D(o, { className: "mr-2 h-4 w-4" }), t(j, "assethandler.assets.list.actions.addAsset", "Add Asset")]
62
57
  })]
63
58
  }),
64
- /* @__PURE__ */ j(C, { children: t(F, "assethandler.assets.list.purpose", "The single source of truth for every asset you own or manage. Search, filter and group by category, status or condition to find any item fast, review its value and assignment, then drill in to update, check it in/out or schedule maintenance.") }),
65
- /* @__PURE__ */ M(y, {
59
+ /* @__PURE__ */ D(b, { children: t(j, "assethandler.assets.list.purpose", "The single source of truth for every asset you own or manage. Search, filter and group by category, status or condition to find any item fast, review its assignment, then drill in to update, check it in/out or schedule maintenance.") }),
60
+ /* @__PURE__ */ O(g, {
66
61
  className: "flex flex-wrap items-center justify-between gap-4",
67
- children: [/* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
62
+ children: [/* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("p", {
68
63
  className: "text-sm text-text-secondary",
69
- children: t(F, "assethandler.assets.list.summary.label", "Total portfolio value")
70
- }), /* @__PURE__ */ M("p", {
64
+ children: t(j, "assethandler.assets.list.summary.tracked", "Assets tracked")
65
+ }), /* @__PURE__ */ D("p", {
71
66
  className: "text-3xl font-bold tabular-nums",
72
- children: ["$", I.reduce((e, t) => e + t.currentValue, 0).toLocaleString()]
73
- })] }), /* @__PURE__ */ M("div", {
67
+ children: N.length
68
+ })] }), /* @__PURE__ */ O("div", {
74
69
  className: "text-right",
75
- children: [/* @__PURE__ */ j("p", {
70
+ children: [/* @__PURE__ */ D("p", {
76
71
  className: "text-sm text-text-secondary",
77
- children: t(F, "assethandler.assets.list.summary.tracked", "Assets tracked")
78
- }), /* @__PURE__ */ j("p", {
72
+ children: t(j, "assethandler.assets.list.summary.categories", "Categories")
73
+ }), /* @__PURE__ */ D("p", {
79
74
  className: "text-3xl font-bold tabular-nums",
80
- children: I.length
75
+ children: U.length
81
76
  })]
82
77
  })]
83
78
  }),
84
- /* @__PURE__ */ j(m, { children: /* @__PURE__ */ M(h, {
79
+ /* @__PURE__ */ D(f, { children: /* @__PURE__ */ D(p, {
85
80
  className: "pt-4",
86
- children: [/* @__PURE__ */ M("div", {
81
+ children: /* @__PURE__ */ O("div", {
87
82
  className: "flex flex-col md:flex-row gap-3",
88
83
  children: [
89
- /* @__PURE__ */ M("div", {
84
+ /* @__PURE__ */ O("div", {
90
85
  className: "relative flex-1",
91
- children: [/* @__PURE__ */ j(c, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ j(S, {
92
- placeholder: t(F, "assethandler.assets.list.search.placeholder", "Search by name, asset tag, serial number..."),
93
- value: L,
94
- onChange: (e) => R(e.target.value),
86
+ children: [/* @__PURE__ */ D(s, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D(y, {
87
+ placeholder: t(j, "assethandler.assets.list.search.placeholder", "Search by name, asset tag, serial number..."),
88
+ value: F,
89
+ onChange: (e) => I(e.target.value),
95
90
  className: "pl-9"
96
91
  })]
97
92
  }),
98
- /* @__PURE__ */ M(w, {
99
- value: z,
100
- onValueChange: B,
101
- children: [/* @__PURE__ */ j(D, {
93
+ /* @__PURE__ */ O(x, {
94
+ value: L,
95
+ onValueChange: R,
96
+ children: [/* @__PURE__ */ D(w, {
102
97
  className: "w-[180px]",
103
- children: /* @__PURE__ */ j(O, { placeholder: t(F, "assethandler.assets.list.filters.category.placeholder", "Category") })
104
- }), /* @__PURE__ */ M(T, { children: [
105
- /* @__PURE__ */ j(E, {
106
- value: "all",
107
- children: t(F, "assethandler.assets.list.filters.category.all", "All Categories")
108
- }),
109
- /* @__PURE__ */ j(E, {
110
- value: "electronics",
111
- children: "Electronics"
112
- }),
113
- /* @__PURE__ */ j(E, {
114
- value: "it_hardware",
115
- children: "IT Hardware"
116
- }),
117
- /* @__PURE__ */ j(E, {
118
- value: "furniture",
119
- children: "Furniture"
120
- }),
121
- /* @__PURE__ */ j(E, {
122
- value: "vehicles",
123
- children: "Vehicles"
124
- }),
125
- /* @__PURE__ */ j(E, {
126
- value: "equipment",
127
- children: "Equipment"
128
- }),
129
- /* @__PURE__ */ j(E, {
130
- value: "software",
131
- children: "Software"
132
- }),
133
- /* @__PURE__ */ j(E, {
134
- value: "networking",
135
- children: "Networking"
136
- }),
137
- /* @__PURE__ */ j(E, {
138
- value: "servers",
139
- children: "Servers"
140
- })
141
- ] })]
98
+ children: /* @__PURE__ */ D(T, { placeholder: t(j, "assethandler.assets.list.filters.category.placeholder", "Category") })
99
+ }), /* @__PURE__ */ O(S, { children: [/* @__PURE__ */ D(C, {
100
+ value: "all",
101
+ children: t(j, "assethandler.assets.list.filters.category.all", "All Categories")
102
+ }), U.map((e) => /* @__PURE__ */ D(C, {
103
+ value: e,
104
+ className: "capitalize",
105
+ children: e.replace(/_/g, " ")
106
+ }, e))] })]
142
107
  }),
143
- /* @__PURE__ */ M(w, {
144
- value: V,
145
- onValueChange: H,
146
- children: [/* @__PURE__ */ j(D, {
108
+ /* @__PURE__ */ O(x, {
109
+ value: z,
110
+ onValueChange: B,
111
+ children: [/* @__PURE__ */ D(w, {
147
112
  className: "w-[160px]",
148
- children: /* @__PURE__ */ j(O, { placeholder: t(F, "assethandler.assets.list.filters.status.placeholder", "Status") })
149
- }), /* @__PURE__ */ M(T, { children: [
150
- /* @__PURE__ */ j(E, {
113
+ children: /* @__PURE__ */ D(T, { placeholder: t(j, "assethandler.assets.list.filters.status.placeholder", "Status") })
114
+ }), /* @__PURE__ */ O(S, { children: [
115
+ /* @__PURE__ */ D(C, {
151
116
  value: "all",
152
- children: t(F, "assethandler.assets.list.filters.status.all", "All Statuses")
117
+ children: t(j, "assethandler.assets.list.filters.status.all", "All Statuses")
153
118
  }),
154
- /* @__PURE__ */ j(E, {
119
+ /* @__PURE__ */ D(C, {
155
120
  value: "active",
156
- children: t(F, "assethandler.assets.list.filters.status.active", "Active")
121
+ children: t(j, "assethandler.assets.list.filters.status.active", "Active")
157
122
  }),
158
- /* @__PURE__ */ j(E, {
123
+ /* @__PURE__ */ D(C, {
159
124
  value: "inactive",
160
- children: t(F, "assethandler.assets.list.filters.status.inactive", "Inactive")
161
- }),
162
- /* @__PURE__ */ j(E, {
163
- value: "under_maintenance",
164
- children: t(F, "assethandler.assets.list.filters.status.underMaintenance", "Under Maintenance")
125
+ children: t(j, "assethandler.assets.list.filters.status.inactive", "Inactive")
165
126
  }),
166
- /* @__PURE__ */ j(E, {
167
- value: "disposed",
168
- children: t(F, "assethandler.assets.list.filters.status.disposed", "Disposed")
127
+ /* @__PURE__ */ D(C, {
128
+ value: "maintenance",
129
+ children: t(j, "assethandler.assets.list.filters.status.maintenance", "Maintenance")
169
130
  }),
170
- /* @__PURE__ */ j(E, {
171
- value: "reserved",
172
- children: t(F, "assethandler.assets.list.filters.status.reserved", "Reserved")
131
+ /* @__PURE__ */ D(C, {
132
+ value: "retired",
133
+ children: t(j, "assethandler.assets.list.filters.status.retired", "Retired")
173
134
  }),
174
- /* @__PURE__ */ j(E, {
175
- value: "in_transit",
176
- children: t(F, "assethandler.assets.list.filters.status.inTransit", "In Transit")
135
+ /* @__PURE__ */ D(C, {
136
+ value: "disposed",
137
+ children: t(j, "assethandler.assets.list.filters.status.disposed", "Disposed")
177
138
  })
178
139
  ] })]
179
140
  }),
180
- /* @__PURE__ */ M("div", {
141
+ /* @__PURE__ */ O("div", {
181
142
  className: "flex gap-1 border rounded-md p-0.5",
182
143
  children: [
183
- /* @__PURE__ */ j(f, {
184
- variant: U === "table" ? "default" : "ghost",
144
+ /* @__PURE__ */ D(d, {
145
+ variant: V === "table" ? "default" : "ghost",
185
146
  size: "icon",
186
147
  className: "h-8 w-8",
187
- onClick: () => W("table"),
188
- children: /* @__PURE__ */ j(l, { className: "h-4 w-4" })
148
+ onClick: () => H("table"),
149
+ children: /* @__PURE__ */ D(c, { className: "h-4 w-4" })
189
150
  }),
190
- /* @__PURE__ */ j(f, {
191
- variant: U === "grid" ? "default" : "ghost",
151
+ /* @__PURE__ */ D(d, {
152
+ variant: V === "grid" ? "default" : "ghost",
192
153
  size: "icon",
193
154
  className: "h-8 w-8",
194
- onClick: () => W("grid"),
195
- children: /* @__PURE__ */ j(a, { className: "h-4 w-4" })
155
+ onClick: () => H("grid"),
156
+ children: /* @__PURE__ */ D(i, { className: "h-4 w-4" })
196
157
  }),
197
- /* @__PURE__ */ j(f, {
198
- variant: U === "list" ? "default" : "ghost",
158
+ /* @__PURE__ */ D(d, {
159
+ variant: V === "list" ? "default" : "ghost",
199
160
  size: "icon",
200
161
  className: "h-8 w-8",
201
- onClick: () => W("list"),
202
- children: /* @__PURE__ */ j(o, { className: "h-4 w-4" })
162
+ onClick: () => H("list"),
163
+ children: /* @__PURE__ */ D(a, { className: "h-4 w-4" })
203
164
  })
204
165
  ]
205
166
  })
206
167
  ]
207
- }), G.length > 0 && /* @__PURE__ */ M("div", {
208
- className: "flex items-center gap-3 mt-3 pt-3 border-t",
209
- children: [
210
- /* @__PURE__ */ M("span", {
211
- className: "text-sm text-text-secondary",
212
- children: [
213
- G.length,
214
- " ",
215
- t(F, "assethandler.assets.list.bulk.selected", "selected")
216
- ]
217
- }),
218
- /* @__PURE__ */ j(f, {
219
- variant: "outline",
220
- size: "sm",
221
- onClick: () => K([]),
222
- children: t(F, "assethandler.assets.list.bulk.clear", "Clear")
223
- }),
224
- /* @__PURE__ */ M(f, {
225
- variant: "destructive",
226
- size: "sm",
227
- children: [/* @__PURE__ */ j(u, { className: "mr-2 h-3 w-3" }), t(F, "assethandler.assets.list.bulk.deleteSelected", "Delete Selected")]
228
- })
229
- ]
230
- })]
168
+ })
231
169
  }) }),
232
- /* @__PURE__ */ M("div", {
170
+ /* @__PURE__ */ O("div", {
233
171
  className: "text-sm text-text-secondary",
234
172
  children: [
235
- t(F, "assethandler.assets.list.results.showing", "Showing"),
173
+ t(j, "assethandler.assets.list.results.showing", "Showing"),
236
174
  " ",
237
- q.length,
175
+ W.length,
238
176
  " ",
239
- t(F, "assethandler.assets.list.results.of", "of"),
177
+ t(j, "assethandler.assets.list.results.of", "of"),
240
178
  " ",
241
- I.length,
179
+ N.length,
242
180
  " ",
243
- t(F, "assethandler.assets.list.results.assets", "assets")
181
+ t(j, "assethandler.assets.list.results.assets", "assets")
244
182
  ]
245
183
  }),
246
- U === "table" && /* @__PURE__ */ j(m, { children: /* @__PURE__ */ j(h, {
184
+ !P && N.length === 0 ? /* @__PURE__ */ D("div", {
185
+ className: "space-y-2",
186
+ children: Array.from({ length: 6 }).map((e, t) => /* @__PURE__ */ D("div", { className: "h-10 rounded-md bg-bg-sunken motion-safe:animate-vc-shimmer" }, t))
187
+ }) : null,
188
+ V === "table" && W.length > 0 && /* @__PURE__ */ D(f, { children: /* @__PURE__ */ D(p, {
247
189
  className: "p-0",
248
- children: /* @__PURE__ */ j("div", {
190
+ children: /* @__PURE__ */ D("div", {
249
191
  className: "overflow-x-auto",
250
- children: /* @__PURE__ */ M("table", {
192
+ children: /* @__PURE__ */ O("table", {
251
193
  className: "w-full text-sm",
252
- children: [/* @__PURE__ */ j("thead", { children: /* @__PURE__ */ M("tr", {
194
+ children: [/* @__PURE__ */ D("thead", { children: /* @__PURE__ */ O("tr", {
253
195
  className: "border-b bg-bg-sunken/50",
254
196
  children: [
255
- /* @__PURE__ */ j("th", {
256
- className: "p-3 w-10",
257
- children: /* @__PURE__ */ j(v, {
258
- checked: G.length === q.length && q.length > 0,
259
- onCheckedChange: () => {
260
- G.length === q.length ? K([]) : K(q.map((e) => e.id));
261
- }
262
- })
263
- }),
264
- /* @__PURE__ */ j("th", {
197
+ /* @__PURE__ */ D("th", {
265
198
  className: "text-left p-3 font-medium",
266
- children: t(F, "assethandler.assets.list.table.assetTag", "Asset Tag")
199
+ children: t(j, "assethandler.assets.list.table.assetTag", "Asset Tag")
267
200
  }),
268
- /* @__PURE__ */ j("th", {
201
+ /* @__PURE__ */ D("th", {
269
202
  className: "text-left p-3 font-medium",
270
- children: t(F, "assethandler.assets.list.table.name", "Name")
203
+ children: t(j, "assethandler.assets.list.table.name", "Name")
271
204
  }),
272
- /* @__PURE__ */ j("th", {
205
+ /* @__PURE__ */ D("th", {
273
206
  className: "text-left p-3 font-medium",
274
- children: t(F, "assethandler.assets.list.table.category", "Category")
207
+ children: t(j, "assethandler.assets.list.table.category", "Category")
275
208
  }),
276
- /* @__PURE__ */ j("th", {
209
+ /* @__PURE__ */ D("th", {
277
210
  className: "text-left p-3 font-medium",
278
- children: t(F, "assethandler.assets.list.table.status", "Status")
211
+ children: t(j, "assethandler.assets.list.table.status", "Status")
279
212
  }),
280
- /* @__PURE__ */ j("th", {
213
+ /* @__PURE__ */ D("th", {
281
214
  className: "text-left p-3 font-medium",
282
- children: t(F, "assethandler.assets.list.table.condition", "Condition")
215
+ children: t(j, "assethandler.assets.list.table.condition", "Condition")
283
216
  }),
284
- /* @__PURE__ */ j("th", {
217
+ /* @__PURE__ */ D("th", {
285
218
  className: "text-left p-3 font-medium",
286
- children: t(F, "assethandler.assets.list.table.location", "Location")
219
+ children: t(j, "assethandler.assets.list.table.location", "Location")
287
220
  }),
288
- /* @__PURE__ */ j("th", {
221
+ /* @__PURE__ */ D("th", {
289
222
  className: "text-left p-3 font-medium",
290
- children: t(F, "assethandler.assets.list.table.assignedTo", "Assigned To")
291
- }),
292
- /* @__PURE__ */ j("th", {
293
- className: "text-right p-3 font-medium",
294
- children: t(F, "assethandler.assets.list.table.value", "Value")
223
+ children: t(j, "assethandler.assets.list.table.assignedTo", "Assigned To")
295
224
  })
296
225
  ]
297
- }) }), /* @__PURE__ */ j("tbody", { children: q.map((e) => /* @__PURE__ */ M("tr", {
226
+ }) }), /* @__PURE__ */ D("tbody", { children: W.map((e) => /* @__PURE__ */ O("tr", {
298
227
  className: "border-b hover:bg-bg-sunken/50 cursor-pointer",
228
+ onClick: () => M(`/assets/${e.id}`),
299
229
  children: [
300
- /* @__PURE__ */ j("td", {
301
- className: "p-3",
302
- children: /* @__PURE__ */ j(v, {
303
- checked: G.includes(e.id),
304
- onCheckedChange: () => J(e.id)
305
- })
306
- }),
307
- /* @__PURE__ */ j("td", {
230
+ /* @__PURE__ */ D("td", {
308
231
  className: "p-3 font-mono text-xs",
309
232
  children: e.assetTag
310
233
  }),
311
- /* @__PURE__ */ j("td", {
234
+ /* @__PURE__ */ D("td", {
312
235
  className: "p-3",
313
- children: /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
236
+ children: /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("p", {
314
237
  className: "font-medium",
315
238
  children: e.name
316
- }), /* @__PURE__ */ j("p", {
239
+ }), /* @__PURE__ */ D("p", {
317
240
  className: "text-xs text-text-secondary",
318
241
  children: e.serialNumber
319
242
  })] })
320
243
  }),
321
- /* @__PURE__ */ j("td", {
244
+ /* @__PURE__ */ D("td", {
322
245
  className: "p-3 capitalize",
323
- children: e.category.replace("_", " ")
246
+ children: e.category.replace(/_/g, " ")
324
247
  }),
325
- /* @__PURE__ */ j("td", {
248
+ /* @__PURE__ */ D("td", {
326
249
  className: "p-3",
327
- children: /* @__PURE__ */ j(d, {
328
- variant: N[e.status] || "outline",
329
- children: e.status.replace("_", " ")
250
+ children: /* @__PURE__ */ D(u, {
251
+ variant: k[e.status] || "outline",
252
+ children: e.status.replace(/_/g, " ")
330
253
  })
331
254
  }),
332
- /* @__PURE__ */ j("td", {
255
+ /* @__PURE__ */ D("td", {
333
256
  className: "p-3",
334
- children: /* @__PURE__ */ j("span", {
335
- className: `inline-flex rounded-md px-2 py-0.5 text-xs font-medium ${P[e.condition] || ""}`,
257
+ children: /* @__PURE__ */ D("span", {
258
+ className: `inline-flex rounded-md px-2 py-0.5 text-xs font-medium ${A[e.condition] || ""}`,
336
259
  children: e.condition
337
260
  })
338
261
  }),
339
- /* @__PURE__ */ j("td", {
262
+ /* @__PURE__ */ D("td", {
340
263
  className: "p-3 text-xs max-w-[200px] truncate",
341
- children: e.location
264
+ children: e.location || "—"
342
265
  }),
343
- /* @__PURE__ */ j("td", {
266
+ /* @__PURE__ */ D("td", {
344
267
  className: "p-3 text-xs",
345
- children: e.assignedTo
346
- }),
347
- /* @__PURE__ */ M("td", {
348
- className: "p-3 text-right font-medium",
349
- children: ["$", e.currentValue.toLocaleString()]
268
+ children: e.assignedTo || "—"
350
269
  })
351
270
  ]
352
271
  }, e.id)) })]
353
272
  })
354
273
  })
355
274
  }) }),
356
- U === "grid" && /* @__PURE__ */ j("div", {
275
+ V === "grid" && W.length > 0 && /* @__PURE__ */ D("div", {
357
276
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-3",
358
- children: q.map((e) => /* @__PURE__ */ M(m, {
359
- className: "cursor-pointer hover:shadow-md transition-shadow",
360
- children: [/* @__PURE__ */ M(g, {
277
+ children: W.map((e) => /* @__PURE__ */ O(f, {
278
+ className: "cursor-pointer",
279
+ onClick: () => M(`/assets/${e.id}`),
280
+ children: [/* @__PURE__ */ O(m, {
361
281
  className: "pb-2",
362
- children: [/* @__PURE__ */ M("div", {
282
+ children: [/* @__PURE__ */ O("div", {
363
283
  className: "flex items-center justify-between",
364
- children: [/* @__PURE__ */ j(d, {
365
- variant: N[e.status] || "outline",
366
- children: e.status.replace("_", " ")
367
- }), /* @__PURE__ */ j("span", {
284
+ children: [/* @__PURE__ */ D(u, {
285
+ variant: k[e.status] || "outline",
286
+ children: e.status.replace(/_/g, " ")
287
+ }), /* @__PURE__ */ D("span", {
368
288
  className: "text-xs font-mono text-text-secondary",
369
289
  children: e.assetTag
370
290
  })]
371
- }), /* @__PURE__ */ j(_, {
291
+ }), /* @__PURE__ */ D(h, {
372
292
  className: "text-base mt-2",
373
293
  children: e.name
374
294
  })]
375
- }), /* @__PURE__ */ j(h, { children: /* @__PURE__ */ M("div", {
295
+ }), /* @__PURE__ */ D(p, { children: /* @__PURE__ */ O("div", {
376
296
  className: "space-y-2 text-sm",
377
297
  children: [
378
- /* @__PURE__ */ M("div", {
298
+ /* @__PURE__ */ O("div", {
379
299
  className: "flex justify-between",
380
- children: [/* @__PURE__ */ j("span", {
300
+ children: [/* @__PURE__ */ D("span", {
381
301
  className: "text-text-secondary",
382
- children: t(F, "assethandler.assets.list.grid.category", "Category")
383
- }), /* @__PURE__ */ j("span", {
302
+ children: t(j, "assethandler.assets.list.grid.category", "Category")
303
+ }), /* @__PURE__ */ D("span", {
384
304
  className: "capitalize",
385
- children: e.category.replace("_", " ")
305
+ children: e.category.replace(/_/g, " ")
386
306
  })]
387
307
  }),
388
- /* @__PURE__ */ M("div", {
308
+ /* @__PURE__ */ O("div", {
389
309
  className: "flex justify-between",
390
- children: [/* @__PURE__ */ j("span", {
310
+ children: [/* @__PURE__ */ D("span", {
391
311
  className: "text-text-secondary",
392
- children: t(F, "assethandler.assets.list.grid.condition", "Condition")
393
- }), /* @__PURE__ */ j("span", {
394
- className: `rounded-md px-2 py-0.5 text-xs font-medium ${P[e.condition] || ""}`,
312
+ children: t(j, "assethandler.assets.list.grid.condition", "Condition")
313
+ }), /* @__PURE__ */ D("span", {
314
+ className: `rounded-md px-2 py-0.5 text-xs font-medium ${A[e.condition] || ""}`,
395
315
  children: e.condition
396
316
  })]
397
317
  }),
398
- /* @__PURE__ */ M("div", {
318
+ /* @__PURE__ */ O("div", {
399
319
  className: "flex justify-between",
400
- children: [/* @__PURE__ */ j("span", {
320
+ children: [/* @__PURE__ */ D("span", {
401
321
  className: "text-text-secondary",
402
- children: t(F, "assethandler.assets.list.grid.department", "Department")
403
- }), /* @__PURE__ */ j("span", {
322
+ children: t(j, "assethandler.assets.list.grid.assignedTo", "Assigned To")
323
+ }), /* @__PURE__ */ D("span", {
404
324
  className: "text-xs",
405
- children: e.department
406
- })]
407
- }),
408
- /* @__PURE__ */ j(k, {}),
409
- /* @__PURE__ */ M("div", {
410
- className: "flex justify-between items-center",
411
- children: [/* @__PURE__ */ j("span", {
412
- className: "text-text-secondary",
413
- children: t(F, "assethandler.assets.list.grid.value", "Value")
414
- }), /* @__PURE__ */ M("span", {
415
- className: "font-bold text-lg",
416
- children: ["$", e.currentValue.toLocaleString()]
325
+ children: e.assignedTo || "—"
417
326
  })]
418
327
  })
419
328
  ]
420
329
  }) })]
421
330
  }, e.id))
422
331
  }),
423
- U === "list" && /* @__PURE__ */ j("div", {
332
+ V === "list" && W.length > 0 && /* @__PURE__ */ D("div", {
424
333
  className: "space-y-2",
425
- children: q.map((e) => /* @__PURE__ */ j(m, {
426
- className: "cursor-pointer hover:shadow-sm transition-shadow",
427
- children: /* @__PURE__ */ j(h, {
334
+ children: W.map((e) => /* @__PURE__ */ D(f, {
335
+ className: "cursor-pointer",
336
+ onClick: () => M(`/assets/${e.id}`),
337
+ children: /* @__PURE__ */ D(p, {
428
338
  className: "py-3 px-4",
429
- children: /* @__PURE__ */ M("div", {
339
+ children: /* @__PURE__ */ D("div", {
430
340
  className: "flex items-center gap-4",
431
- children: [/* @__PURE__ */ j(v, {
432
- checked: G.includes(e.id),
433
- onCheckedChange: () => J(e.id)
434
- }), /* @__PURE__ */ M("div", {
435
- className: "flex-1 min-w-0 grid grid-cols-6 gap-4 items-center",
341
+ children: /* @__PURE__ */ O("div", {
342
+ className: "flex-1 min-w-0 grid grid-cols-5 gap-4 items-center",
436
343
  children: [
437
- /* @__PURE__ */ M("div", {
344
+ /* @__PURE__ */ O("div", {
438
345
  className: "col-span-2",
439
- children: [/* @__PURE__ */ j("p", {
346
+ children: [/* @__PURE__ */ D("p", {
440
347
  className: "font-medium text-sm truncate",
441
348
  children: e.name
442
- }), /* @__PURE__ */ M("p", {
349
+ }), /* @__PURE__ */ O("p", {
443
350
  className: "text-xs text-text-secondary",
444
351
  children: [
445
352
  e.assetTag,
@@ -448,38 +355,39 @@ function F() {
448
355
  ]
449
356
  })]
450
357
  }),
451
- /* @__PURE__ */ j("div", {
358
+ /* @__PURE__ */ D("div", {
452
359
  className: "capitalize text-sm",
453
- children: e.category.replace("_", " ")
360
+ children: e.category.replace(/_/g, " ")
454
361
  }),
455
- /* @__PURE__ */ j("div", { children: /* @__PURE__ */ j(d, {
456
- variant: N[e.status] || "outline",
362
+ /* @__PURE__ */ D("div", { children: /* @__PURE__ */ D(u, {
363
+ variant: k[e.status] || "outline",
457
364
  className: "text-xs",
458
- children: e.status.replace("_", " ")
365
+ children: e.status.replace(/_/g, " ")
459
366
  }) }),
460
- /* @__PURE__ */ j("div", {
367
+ /* @__PURE__ */ D("div", {
461
368
  className: "text-sm text-text-secondary truncate",
462
- children: e.location
463
- }),
464
- /* @__PURE__ */ M("div", {
465
- className: "text-right font-medium",
466
- children: ["$", e.currentValue.toLocaleString()]
369
+ children: e.location || "—"
467
370
  })
468
371
  ]
469
- })]
372
+ })
470
373
  })
471
374
  })
472
375
  }, e.id))
473
376
  }),
474
- q.length === 0 && /* @__PURE__ */ j(x, {
475
- illustration: L || z !== "all" || V !== "all" ? "empty-search" : "empty-data",
476
- title: t(F, "assethandler.assets.list.empty.title", "No assets found"),
477
- description: t(F, "assethandler.assets.list.empty.description", "Try adjusting your filters or add a new asset to get started.")
377
+ P && W.length === 0 && /* @__PURE__ */ D(v, {
378
+ illustration: F || L !== "all" || z !== "all" ? "empty-search" : "empty-data",
379
+ title: t(j, "assethandler.assets.list.empty.title", "No assets found"),
380
+ description: t(j, "assethandler.assets.list.empty.description", "Try adjusting your filters or add a new asset to get started."),
381
+ action: /* @__PURE__ */ O(d, {
382
+ size: "sm",
383
+ onClick: () => M("/assets/asset-create"),
384
+ children: [/* @__PURE__ */ D(o, { className: "mr-2 h-4 w-4" }), t(j, "assethandler.assets.list.actions.addAsset", "Add Asset")]
385
+ })
478
386
  })
479
387
  ]
480
388
  });
481
389
  }
482
390
  //#endregion
483
- export { F as AssetsAssetListPage };
391
+ export { j as AssetsAssetListPage };
484
392
 
485
393
  //# sourceMappingURL=AssetsAssetListPage.js.map