@burdenoff/microfe-housingvista 2026.709.2 → 2026.709.3

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 (83) hide show
  1. package/dist/housingvista/HousingVistaRoutes.d.ts.map +1 -1
  2. package/dist/housingvista/HousingVistaRoutes.js +136 -37
  3. package/dist/housingvista/HousingVistaRoutes.js.map +1 -1
  4. package/dist/housingvista/hooks/useHousingVistaAnalytics.d.ts +1 -1
  5. package/dist/housingvista/hooks/useHousingVistaAnalytics.d.ts.map +1 -1
  6. package/dist/housingvista/hooks/useHousingVistaAnalytics.js +4 -4
  7. package/dist/housingvista/hooks/useHousingVistaAnalytics.js.map +1 -1
  8. package/dist/housingvista/pages/amc/AMCManagementPage.d.ts.map +1 -1
  9. package/dist/housingvista/pages/amc/AMCManagementPage.js +62 -60
  10. package/dist/housingvista/pages/amc/AMCManagementPage.js.map +1 -1
  11. package/dist/housingvista/pages/assets/AssetDetailPage.d.ts.map +1 -1
  12. package/dist/housingvista/pages/assets/AssetDetailPage.js +141 -138
  13. package/dist/housingvista/pages/assets/AssetDetailPage.js.map +1 -1
  14. package/dist/housingvista/pages/assets/AssetManagementPage.d.ts.map +1 -1
  15. package/dist/housingvista/pages/assets/AssetManagementPage.js +193 -191
  16. package/dist/housingvista/pages/assets/AssetManagementPage.js.map +1 -1
  17. package/dist/housingvista/pages/chat/ChatPage.d.ts.map +1 -1
  18. package/dist/housingvista/pages/chat/ChatPage.js +115 -113
  19. package/dist/housingvista/pages/chat/ChatPage.js.map +1 -1
  20. package/dist/housingvista/pages/finance/HomeLoanDetailPage.d.ts.map +1 -1
  21. package/dist/housingvista/pages/finance/HomeLoanDetailPage.js +152 -149
  22. package/dist/housingvista/pages/finance/HomeLoanDetailPage.js.map +1 -1
  23. package/dist/housingvista/pages/finance/HomeLoansPage.d.ts.map +1 -1
  24. package/dist/housingvista/pages/finance/HomeLoansPage.js +141 -139
  25. package/dist/housingvista/pages/finance/HomeLoansPage.js.map +1 -1
  26. package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts.map +1 -1
  27. package/dist/housingvista/pages/investments/InvestmentDetailPage.js +290 -287
  28. package/dist/housingvista/pages/investments/InvestmentDetailPage.js.map +1 -1
  29. package/dist/housingvista/pages/investments/InvestmentsPage.d.ts.map +1 -1
  30. package/dist/housingvista/pages/investments/InvestmentsPage.js +64 -62
  31. package/dist/housingvista/pages/investments/InvestmentsPage.js.map +1 -1
  32. package/dist/housingvista/pages/legal/LegalPage.d.ts.map +1 -1
  33. package/dist/housingvista/pages/legal/LegalPage.js +95 -93
  34. package/dist/housingvista/pages/legal/LegalPage.js.map +1 -1
  35. package/dist/housingvista/pages/legal/LegalServiceDetailPage.d.ts.map +1 -1
  36. package/dist/housingvista/pages/legal/LegalServiceDetailPage.js +129 -126
  37. package/dist/housingvista/pages/legal/LegalServiceDetailPage.js.map +1 -1
  38. package/dist/housingvista/pages/market/AreaInsightsPage.d.ts.map +1 -1
  39. package/dist/housingvista/pages/market/AreaInsightsPage.js +99 -97
  40. package/dist/housingvista/pages/market/AreaInsightsPage.js.map +1 -1
  41. package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts.map +1 -1
  42. package/dist/housingvista/pages/market/MarketAnalyticsPage.js +138 -136
  43. package/dist/housingvista/pages/market/MarketAnalyticsPage.js.map +1 -1
  44. package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts.map +1 -1
  45. package/dist/housingvista/pages/marketplace/MarketplacePage.js +99 -97
  46. package/dist/housingvista/pages/marketplace/MarketplacePage.js.map +1 -1
  47. package/dist/housingvista/pages/marketplace/ServiceDetailPage.d.ts.map +1 -1
  48. package/dist/housingvista/pages/marketplace/ServiceDetailPage.js +137 -134
  49. package/dist/housingvista/pages/marketplace/ServiceDetailPage.js.map +1 -1
  50. package/dist/housingvista/pages/offers/OffersPage.d.ts.map +1 -1
  51. package/dist/housingvista/pages/offers/OffersPage.js +94 -92
  52. package/dist/housingvista/pages/offers/OffersPage.js.map +1 -1
  53. package/dist/housingvista/pages/properties/AddPropertyPage.d.ts.map +1 -1
  54. package/dist/housingvista/pages/properties/AddPropertyPage.js +280 -279
  55. package/dist/housingvista/pages/properties/AddPropertyPage.js.map +1 -1
  56. package/dist/housingvista/pages/rental/RentalManagementPage.d.ts.map +1 -1
  57. package/dist/housingvista/pages/rental/RentalManagementPage.js +153 -151
  58. package/dist/housingvista/pages/rental/RentalManagementPage.js.map +1 -1
  59. package/dist/housingvista/pages/settings/ProfilePage.d.ts.map +1 -1
  60. package/dist/housingvista/pages/settings/ProfilePage.js +52 -50
  61. package/dist/housingvista/pages/settings/ProfilePage.js.map +1 -1
  62. package/dist/housingvista/pages/settings/SettingsPage.d.ts.map +1 -1
  63. package/dist/housingvista/pages/settings/SettingsPage.js +54 -52
  64. package/dist/housingvista/pages/settings/SettingsPage.js.map +1 -1
  65. package/dist/housingvista/pages/shortlist/ShortlistPage.d.ts.map +1 -1
  66. package/dist/housingvista/pages/shortlist/ShortlistPage.js +43 -41
  67. package/dist/housingvista/pages/shortlist/ShortlistPage.js.map +1 -1
  68. package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts.map +1 -1
  69. package/dist/housingvista/pages/transactions/TransactionDetailPage.js +211 -208
  70. package/dist/housingvista/pages/transactions/TransactionDetailPage.js.map +1 -1
  71. package/dist/housingvista/pages/transactions/TransactionsPage.d.ts.map +1 -1
  72. package/dist/housingvista/pages/transactions/TransactionsPage.js +85 -83
  73. package/dist/housingvista/pages/transactions/TransactionsPage.js.map +1 -1
  74. package/dist/housingvista/pages/verification/VerificationDetailPage.d.ts.map +1 -1
  75. package/dist/housingvista/pages/verification/VerificationDetailPage.js +25 -22
  76. package/dist/housingvista/pages/verification/VerificationDetailPage.js.map +1 -1
  77. package/dist/housingvista/pages/verification/VerificationPage.d.ts.map +1 -1
  78. package/dist/housingvista/pages/verification/VerificationPage.js +123 -121
  79. package/dist/housingvista/pages/verification/VerificationPage.js.map +1 -1
  80. package/dist/housingvista/pages/viewings/ViewingsPage.d.ts.map +1 -1
  81. package/dist/housingvista/pages/viewings/ViewingsPage.js +128 -126
  82. package/dist/housingvista/pages/viewings/ViewingsPage.js.map +1 -1
  83. package/package.json +1 -1
@@ -6,22 +6,23 @@ import { StatusBadge as a } from "../../components/StatusBadge.js";
6
6
  import { EmptyState as o } from "../../components/EmptyState.js";
7
7
  import { ChartCard as ee } from "../../components/ChartCard.js";
8
8
  import { FilterBar as te } from "../../components/FilterBar.js";
9
+ import { useTrackPageView as s } from "../../hooks/useHousingVistaAnalytics.js";
9
10
  import { useAssets as ne, useCreateAsset as re } from "../../hooks/index.js";
10
- import { notify as s } from "../../lib/toast.js";
11
+ import { notify as c } from "../../lib/toast.js";
11
12
  import "../../components/index.js";
12
13
  import { useServerPagination as ie } from "../../hooks/useServerPagination.js";
13
- import { Tooltip as c } from "../../../node_modules/recharts/es6/component/Tooltip.js";
14
- import { ResponsiveContainer as ae } from "../../../node_modules/recharts/es6/component/ResponsiveContainer.js";
15
- import { Cell as oe } from "../../../node_modules/recharts/es6/component/Cell.js";
16
- import { Pie as se } from "../../../node_modules/recharts/es6/polar/Pie.js";
17
- import { PieChart as ce } from "../../../node_modules/recharts/es6/chart/PieChart.js";
18
- import { useEffect as le, useMemo as l, useState as u } from "react";
19
- import { ArrowDownRight as d, ArrowUpRight as f, BarChart3 as ue, Building as p, DollarSign as de, Download as fe, Eye as pe, ImageOff as m, MapPin as h, Percent as me, Plus as g, Target as he, TrendingUp as ge } from "lucide-react";
14
+ import { Tooltip as ae } from "../../../node_modules/recharts/es6/component/Tooltip.js";
15
+ import { ResponsiveContainer as oe } from "../../../node_modules/recharts/es6/component/ResponsiveContainer.js";
16
+ import { Cell as se } from "../../../node_modules/recharts/es6/component/Cell.js";
17
+ import { Pie as ce } from "../../../node_modules/recharts/es6/polar/Pie.js";
18
+ import { PieChart as le } from "../../../node_modules/recharts/es6/chart/PieChart.js";
19
+ import { useEffect as ue, useMemo as l, useState as u } from "react";
20
+ import { ArrowDownRight as d, ArrowUpRight as f, BarChart3 as de, Building as p, DollarSign as fe, Download as pe, Eye as m, ImageOff as h, MapPin as g, Percent as me, Plus as _, Target as he, TrendingUp as ge } from "lucide-react";
20
21
  import { useNavigate as _e } from "react-router-dom";
21
- import { jsx as _, jsxs as v } from "react/jsx-runtime";
22
- import { Button as y, EmphasisPanel as ve, NextSteps as ye, ResponsiveDialog as be, ResponsiveDialogContent as xe, ResponsiveDialogDescription as Se, ResponsiveDialogFooter as Ce, ResponsiveDialogHeader as we, ResponsiveDialogTitle as Te } from "@burdenoff/fe-libs/ui";
22
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
23
+ import { Button as b, EmphasisPanel as ve, NextSteps as ye, ResponsiveDialog as be, ResponsiveDialogContent as xe, ResponsiveDialogDescription as Se, ResponsiveDialogFooter as Ce, ResponsiveDialogHeader as we, ResponsiveDialogTitle as Te } from "@burdenoff/fe-libs/ui";
23
24
  //#region src/housingvista/pages/assets/AssetManagementPage.tsx
24
- var b = "h-10 w-full rounded-md border border-border-subtle bg-bg-surface px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]", x = [
25
+ var x = "h-10 w-full rounded-md border border-border-subtle bg-bg-surface px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]", S = [
25
26
  "var(--color-chart-1)",
26
27
  "var(--color-chart-2)",
27
28
  "var(--color-chart-3)",
@@ -34,16 +35,16 @@ var b = "h-10 w-full rounded-md border border-border-subtle bg-bg-surface px-3 t
34
35
  fontSize: 12,
35
36
  boxShadow: "0 8px 24px rgb(0 0 0 / 0.12)"
36
37
  };
37
- function S({ src: t, alt: n, className: r }) {
38
- return t ? /* @__PURE__ */ _("img", {
38
+ function C({ src: t, alt: n, className: r }) {
39
+ return t ? /* @__PURE__ */ v("img", {
39
40
  src: t,
40
41
  alt: n,
41
42
  className: e("object-cover", r)
42
- }) : /* @__PURE__ */ _("div", {
43
+ }) : /* @__PURE__ */ v("div", {
43
44
  className: e("flex items-center justify-center bg-gradient-to-br from-bg-sunken to-bg-sunken/50", r),
44
45
  "aria-label": `${n} — no image`,
45
46
  role: "img",
46
- children: /* @__PURE__ */ _(m, { className: "h-8 w-8 text-text-secondary/40" })
47
+ children: /* @__PURE__ */ v(h, { className: "h-8 w-8 text-text-secondary/40" })
47
48
  });
48
49
  }
49
50
  var De = [
@@ -118,7 +119,7 @@ var De = [
118
119
  label: "Sold"
119
120
  }
120
121
  ];
121
- function C(e) {
122
+ function w(e) {
122
123
  switch (e) {
123
124
  case "active": return "success";
124
125
  case "under_renovation": return "warning";
@@ -127,47 +128,48 @@ function C(e) {
127
128
  default: return "muted";
128
129
  }
129
130
  }
130
- function w() {
131
- let m = _e(), w = ie(10), [T, Ae] = u(""), [je, Me] = u("");
132
- le(() => {
133
- let e = setTimeout(() => Me(T), 300);
131
+ function T() {
132
+ s("housingvista.asset.viewed");
133
+ let h = _e(), T = ie(10), [E, Ae] = u(""), [je, Me] = u("");
134
+ ue(() => {
135
+ let e = setTimeout(() => Me(E), 300);
134
136
  return () => clearTimeout(e);
135
- }, [T]);
136
- let { data: E, loading: Ne } = ne({
137
+ }, [E]);
138
+ let { data: D, loading: Ne } = ne({
137
139
  filter: { search: je.trim() || void 0 },
138
- pagination: w.pagination
139
- }), { createAsset: D, loading: O } = re(), Pe = (e) => {
140
- Ae(e), w.setPage(1);
141
- }, [Fe, k] = u(!1), [A, j] = u(""), [M, N] = u("residential"), [P, F] = u("apartment"), [I, L] = u(""), [R, z] = u(""), [B, V] = u(""), [H, U] = u(""), [W, G] = u(""), [K, q] = u(""), [J, Y] = u("active"), X = () => {
140
+ pagination: T.pagination
141
+ }), { createAsset: Pe, loading: O } = re(), Fe = (e) => {
142
+ Ae(e), T.setPage(1);
143
+ }, [Ie, k] = u(!1), [A, j] = u(""), [M, N] = u("residential"), [P, F] = u("apartment"), [I, L] = u(""), [R, z] = u(""), [B, V] = u(""), [H, U] = u(""), [W, G] = u(""), [K, q] = u(""), [J, Y] = u("active"), X = () => {
142
144
  j(""), N("residential"), F("apartment"), L(""), z(""), V(""), U(""), G(""), q(""), Y("active");
143
145
  }, Z = () => {
144
146
  X(), k(!0);
145
- }, Ie = async (e) => {
147
+ }, Le = async (e) => {
146
148
  if (e.preventDefault(), !A.trim()) {
147
- s.warning("Enter an asset title");
149
+ c.warning("Enter an asset title");
148
150
  return;
149
151
  }
150
152
  if (!I.trim()) {
151
- s.warning("Enter a location");
153
+ c.warning("Enter a location");
152
154
  return;
153
155
  }
154
156
  let t = Number(R), n = Number(B);
155
157
  if (!Number.isFinite(t) || t <= 0) {
156
- s.warning("Enter a valid current value");
158
+ c.warning("Enter a valid current value");
157
159
  return;
158
160
  }
159
161
  if (!Number.isFinite(n) || n <= 0) {
160
- s.warning("Enter a valid purchase price");
162
+ c.warning("Enter a valid purchase price");
161
163
  return;
162
164
  }
163
165
  let r = W.trim() ? Number(W) : void 0;
164
166
  if (r !== void 0 && !Number.isFinite(r)) {
165
- s.warning("Enter a valid rental yield");
167
+ c.warning("Enter a valid rental yield");
166
168
  return;
167
169
  }
168
170
  let i = n > 0 ? (t - n) / n * 100 : 0;
169
171
  try {
170
- await D({
172
+ await Pe({
171
173
  title: A.trim(),
172
174
  type: M,
173
175
  category: P,
@@ -179,13 +181,13 @@ function w() {
179
181
  rentalYield: r,
180
182
  status: J,
181
183
  imageUrl: K.trim() || void 0
182
- }), s.success("Asset added", `${A.trim()} was added to your portfolio.`), k(!1), X();
184
+ }), c.success("Asset added", `${A.trim()} was added to your portfolio.`), k(!1), X();
183
185
  } catch (e) {
184
- s.error("Could not add asset", e.message);
186
+ c.error("Could not add asset", e.message);
185
187
  }
186
- }, Le = () => {
187
- if (E.length === 0) {
188
- s.warning("Nothing to export", "There are no assets to export yet.");
188
+ }, Re = () => {
189
+ if (D.length === 0) {
190
+ c.warning("Nothing to export", "There are no assets to export yet.");
189
191
  return;
190
192
  }
191
193
  let e = (e) => `"${e.replace(/"/g, "\"\"")}"`, t = [
@@ -198,7 +200,7 @@ function w() {
198
200
  "Appreciation %",
199
201
  "Rental Yield %",
200
202
  "Status"
201
- ], n = E.map((t) => [
203
+ ], n = D.map((t) => [
202
204
  t.title,
203
205
  t.type,
204
206
  t.category,
@@ -209,77 +211,77 @@ function w() {
209
211
  t.rentalYield == null ? "" : String(t.rentalYield),
210
212
  t.status
211
213
  ].map((t) => e(String(t))).join(",")), r = [t.map(e).join(","), ...n].join("\n"), i = new Blob([r], { type: "text/csv;charset=utf-8;" }), a = URL.createObjectURL(i), o = document.createElement("a");
212
- o.href = a, o.download = `housingvista-assets-${(/* @__PURE__ */ new Date()).toISOString().slice(0, 10)}.csv`, document.body.appendChild(o), o.click(), document.body.removeChild(o), URL.revokeObjectURL(a), s.success("Export ready", `${E.length} assets exported to CSV.`);
214
+ o.href = a, o.download = `housingvista-assets-${(/* @__PURE__ */ new Date()).toISOString().slice(0, 10)}.csv`, document.body.appendChild(o), o.click(), document.body.removeChild(o), URL.revokeObjectURL(a), c.success("Export ready", `${D.length} assets exported to CSV.`);
213
215
  }, Q = l(() => {
214
- let e = E.reduce((e, t) => e + t.currentValue, 0), t = E.filter((e) => e.rentalYield).reduce((e, t) => e + t.currentValue * (t.rentalYield || 0) / 100 / 12, 0), n = E.length > 0 ? E.reduce((e, t) => e + t.appreciationPercent, 0) / E.length : 0, r = E.reduce((e, t) => e + t.purchasePrice, 0);
216
+ let e = D.reduce((e, t) => e + t.currentValue, 0), t = D.filter((e) => e.rentalYield).reduce((e, t) => e + t.currentValue * (t.rentalYield || 0) / 100 / 12, 0), n = D.length > 0 ? D.reduce((e, t) => e + t.appreciationPercent, 0) / D.length : 0, r = D.reduce((e, t) => e + t.purchasePrice, 0);
215
217
  return {
216
218
  totalValue: e,
217
219
  totalMonthlyIncome: t,
218
220
  avgAppreciation: n,
219
221
  totalROI: r > 0 ? (e - r) / r * 100 : 0
220
222
  };
221
- }, [E]), $ = l(() => {
223
+ }, [D]), $ = l(() => {
222
224
  let e = /* @__PURE__ */ new Map();
223
- for (let t of E) e.set(t.type, (e.get(t.type) ?? 0) + t.currentValue);
225
+ for (let t of D) e.set(t.type, (e.get(t.type) ?? 0) + t.currentValue);
224
226
  let t = Array.from(e.entries()).filter(([, e]) => e > 0).map(([e, t], n) => ({
225
227
  type: e,
226
228
  label: e.charAt(0).toUpperCase() + e.slice(1).replace("_", " "),
227
229
  value: t,
228
- color: x[n % x.length]
230
+ color: S[n % S.length]
229
231
  })).sort((e, t) => t.value - e.value);
230
232
  return {
231
233
  rows: t,
232
234
  total: t.reduce((e, t) => e + t.value, 0)
233
235
  };
234
- }, [E]);
235
- return /* @__PURE__ */ v(n, {
236
+ }, [D]);
237
+ return /* @__PURE__ */ y(n, {
236
238
  title: "Asset Management",
237
239
  description: "Monitor and manage your property portfolio performance",
238
240
  purpose: "See how every property you own is performing as an investment — current value, appreciation, rental yield, and overall ROI in one portfolio view. Use it to decide what to hold, renovate, or sell.",
239
- actions: /* @__PURE__ */ v("div", {
241
+ actions: /* @__PURE__ */ y("div", {
240
242
  className: "flex items-center gap-2",
241
- children: [/* @__PURE__ */ v("button", {
242
- onClick: Le,
243
+ children: [/* @__PURE__ */ y("button", {
244
+ onClick: Re,
243
245
  className: "inline-flex items-center gap-2 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
244
- children: [/* @__PURE__ */ _(fe, { className: "h-4 w-4" }), "Export"]
245
- }), /* @__PURE__ */ v("button", {
246
+ children: [/* @__PURE__ */ v(pe, { className: "h-4 w-4" }), "Export"]
247
+ }), /* @__PURE__ */ y("button", {
246
248
  onClick: Z,
247
249
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg-hover",
248
- children: [/* @__PURE__ */ _(g, { className: "h-4 w-4" }), "Add Asset"]
250
+ children: [/* @__PURE__ */ v(_, { className: "h-4 w-4" }), "Add Asset"]
249
251
  })]
250
252
  }),
251
253
  children: [
252
- /* @__PURE__ */ _(ve, {
254
+ /* @__PURE__ */ v(ve, {
253
255
  className: "p-4",
254
- children: /* @__PURE__ */ v("div", {
256
+ children: /* @__PURE__ */ y("div", {
255
257
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
256
258
  children: [
257
- /* @__PURE__ */ _(r, {
259
+ /* @__PURE__ */ v(r, {
258
260
  label: "Total Value",
259
261
  value: Q.totalValue,
260
262
  prefix: "$",
261
- icon: /* @__PURE__ */ _(de, { className: "h-4 w-4" })
263
+ icon: /* @__PURE__ */ v(fe, { className: "h-4 w-4" })
262
264
  }),
263
- /* @__PURE__ */ _(r, {
265
+ /* @__PURE__ */ v(r, {
264
266
  label: "Monthly Income",
265
267
  value: Math.round(Q.totalMonthlyIncome),
266
268
  prefix: "$",
267
- icon: /* @__PURE__ */ _(ge, { className: "h-4 w-4" })
269
+ icon: /* @__PURE__ */ v(ge, { className: "h-4 w-4" })
268
270
  }),
269
- /* @__PURE__ */ _(r, {
271
+ /* @__PURE__ */ v(r, {
270
272
  label: "Avg. Appreciation",
271
273
  value: `${Q.avgAppreciation.toFixed(1)}%`,
272
- icon: /* @__PURE__ */ _(ue, { className: "h-4 w-4" })
274
+ icon: /* @__PURE__ */ v(de, { className: "h-4 w-4" })
273
275
  }),
274
- /* @__PURE__ */ _(r, {
276
+ /* @__PURE__ */ v(r, {
275
277
  label: "Overall ROI",
276
278
  value: `${Q.totalROI.toFixed(1)}%`,
277
- icon: /* @__PURE__ */ _(p, { className: "h-4 w-4" })
279
+ icon: /* @__PURE__ */ v(p, { className: "h-4 w-4" })
278
280
  })
279
281
  ]
280
282
  })
281
283
  }),
282
- /* @__PURE__ */ _(ye, {
284
+ /* @__PURE__ */ v(ye, {
283
285
  storageKey: "housingvista-assets",
284
286
  steps: [
285
287
  {
@@ -287,15 +289,15 @@ function w() {
287
289
  label: "Open an asset to see full performance",
288
290
  description: "Drill into value history, yield, and ROI for any property.",
289
291
  onClick: () => {
290
- let e = E[0];
291
- e && m(`../assets/${e.id}`);
292
+ let e = D[0];
293
+ e && h(`../assets/${e.id}`);
292
294
  }
293
295
  },
294
296
  {
295
297
  id: "compare-market",
296
298
  label: "Compare against market trends",
297
299
  description: "Check market analytics to benchmark your portfolio.",
298
- onClick: () => m("../market-analytics")
300
+ onClick: () => h("../market-analytics")
299
301
  },
300
302
  {
301
303
  id: "add-asset",
@@ -305,86 +307,86 @@ function w() {
305
307
  }
306
308
  ]
307
309
  }),
308
- E.length > 0 && /* @__PURE__ */ v("div", {
310
+ D.length > 0 && /* @__PURE__ */ y("div", {
309
311
  className: "grid grid-cols-1 gap-6 xl:grid-cols-3",
310
- children: [/* @__PURE__ */ _("div", {
312
+ children: [/* @__PURE__ */ v("div", {
311
313
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2 xl:col-span-2",
312
- children: E.map((n) => {
314
+ children: D.map((n) => {
313
315
  let r = n.currentValue - n.purchasePrice, i = r >= 0, o = n.purchasePrice > 0 ? r / n.purchasePrice * 100 : 0;
314
- return /* @__PURE__ */ v("button", {
316
+ return /* @__PURE__ */ y("button", {
315
317
  type: "button",
316
- onClick: () => m(`../assets/${n.id}`),
318
+ onClick: () => h(`../assets/${n.id}`),
317
319
  className: "group overflow-hidden rounded-card border border-border-seam bg-bg-surface text-left shadow-elevation-1 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-elevation-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
318
- children: [/* @__PURE__ */ v("div", {
320
+ children: [/* @__PURE__ */ y("div", {
319
321
  className: "relative aspect-[16/9] overflow-hidden",
320
322
  children: [
321
- /* @__PURE__ */ _(S, {
323
+ /* @__PURE__ */ v(C, {
322
324
  src: n.imageUrl,
323
325
  alt: n.title,
324
326
  className: "h-full w-full"
325
327
  }),
326
- /* @__PURE__ */ _("div", {
328
+ /* @__PURE__ */ v("div", {
327
329
  className: "absolute left-3 top-3",
328
- children: /* @__PURE__ */ _(a, {
330
+ children: /* @__PURE__ */ v(a, {
329
331
  label: n.status.replace("_", " "),
330
- variant: C(n.status),
332
+ variant: w(n.status),
331
333
  dot: !0
332
334
  })
333
335
  }),
334
- /* @__PURE__ */ v("div", {
336
+ /* @__PURE__ */ y("div", {
335
337
  className: e("absolute right-3 top-3 inline-flex items-center gap-0.5 rounded-full px-2 py-0.5 text-xs font-semibold backdrop-blur-sm", i ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"),
336
338
  children: [
337
- _(i ? f : d, { className: "h-3 w-3" }),
339
+ v(i ? f : d, { className: "h-3 w-3" }),
338
340
  n.appreciationPercent,
339
341
  "%"
340
342
  ]
341
343
  })
342
344
  ]
343
- }), /* @__PURE__ */ v("div", {
345
+ }), /* @__PURE__ */ y("div", {
344
346
  className: "p-4",
345
347
  children: [
346
- /* @__PURE__ */ _("h3", {
348
+ /* @__PURE__ */ v("h3", {
347
349
  className: "truncate font-medium text-text-primary",
348
350
  children: n.title
349
351
  }),
350
- /* @__PURE__ */ v("p", {
352
+ /* @__PURE__ */ y("p", {
351
353
  className: "mt-0.5 flex items-center gap-1 text-xs text-text-secondary",
352
- children: [/* @__PURE__ */ _(h, { className: "h-3 w-3 shrink-0" }), /* @__PURE__ */ _("span", {
354
+ children: [/* @__PURE__ */ v(g, { className: "h-3 w-3 shrink-0" }), /* @__PURE__ */ v("span", {
353
355
  className: "truncate",
354
356
  children: n.location
355
357
  })]
356
358
  }),
357
- /* @__PURE__ */ v("div", {
359
+ /* @__PURE__ */ y("div", {
358
360
  className: "mt-3 flex items-end justify-between",
359
- children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
361
+ children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
360
362
  className: "text-xs text-text-secondary",
361
363
  children: "Current Value"
362
- }), /* @__PURE__ */ _("p", {
364
+ }), /* @__PURE__ */ v("p", {
363
365
  className: "text-lg font-bold text-text-primary",
364
366
  children: t(n.currentValue)
365
- })] }), /* @__PURE__ */ _("span", {
367
+ })] }), /* @__PURE__ */ v("span", {
366
368
  className: "rounded-md bg-bg-sunken px-2 py-1 text-xs font-medium capitalize text-text-secondary",
367
369
  children: n.category
368
370
  })]
369
371
  }),
370
- /* @__PURE__ */ v("div", {
372
+ /* @__PURE__ */ y("div", {
371
373
  className: "mt-3 grid grid-cols-2 gap-3 border-t border-border-subtle pt-3 text-xs",
372
- children: [/* @__PURE__ */ v("div", {
374
+ children: [/* @__PURE__ */ y("div", {
373
375
  className: "flex items-center gap-1.5 text-text-secondary",
374
376
  children: [
375
- /* @__PURE__ */ _(me, { className: "h-3.5 w-3.5" }),
376
- /* @__PURE__ */ _("span", { children: "Yield" }),
377
- /* @__PURE__ */ _("span", {
377
+ /* @__PURE__ */ v(me, { className: "h-3.5 w-3.5" }),
378
+ /* @__PURE__ */ v("span", { children: "Yield" }),
379
+ /* @__PURE__ */ v("span", {
378
380
  className: "ml-auto font-semibold text-text-primary",
379
381
  children: n.rentalYield == null ? "—" : `${n.rentalYield}%`
380
382
  })
381
383
  ]
382
- }), /* @__PURE__ */ v("div", {
384
+ }), /* @__PURE__ */ y("div", {
383
385
  className: "flex items-center gap-1.5 text-text-secondary",
384
386
  children: [
385
- /* @__PURE__ */ _(he, { className: "h-3.5 w-3.5" }),
386
- /* @__PURE__ */ _("span", { children: "ROI" }),
387
- /* @__PURE__ */ v("span", {
387
+ /* @__PURE__ */ v(he, { className: "h-3.5 w-3.5" }),
388
+ /* @__PURE__ */ v("span", { children: "ROI" }),
389
+ /* @__PURE__ */ y("span", {
388
390
  className: e("ml-auto font-semibold", o >= 0 ? "text-status-success-text" : "text-status-error-text"),
389
391
  children: [o.toFixed(1), "%"]
390
392
  })
@@ -395,17 +397,17 @@ function w() {
395
397
  })]
396
398
  }, n.id);
397
399
  })
398
- }), $.rows.length > 0 && /* @__PURE__ */ _("aside", {
400
+ }), $.rows.length > 0 && /* @__PURE__ */ v("aside", {
399
401
  className: "xl:col-span-1",
400
- children: /* @__PURE__ */ v(ee, {
402
+ children: /* @__PURE__ */ y(ee, {
401
403
  title: "Portfolio by Type",
402
404
  description: "Current value split across property types",
403
- children: [/* @__PURE__ */ v("div", {
405
+ children: [/* @__PURE__ */ y("div", {
404
406
  className: "relative h-52 w-full",
405
- children: [/* @__PURE__ */ _(ae, {
407
+ children: [/* @__PURE__ */ v(oe, {
406
408
  width: "100%",
407
409
  height: "100%",
408
- children: /* @__PURE__ */ v(ce, { children: [/* @__PURE__ */ _(se, {
410
+ children: /* @__PURE__ */ y(le, { children: [/* @__PURE__ */ v(ce, {
409
411
  data: $.rows,
410
412
  dataKey: "value",
411
413
  nameKey: "label",
@@ -414,35 +416,35 @@ function w() {
414
416
  paddingAngle: 2,
415
417
  stroke: "var(--color-bg-surface)",
416
418
  strokeWidth: 2,
417
- children: $.rows.map((e) => /* @__PURE__ */ _(oe, { fill: e.color }, e.type))
418
- }), /* @__PURE__ */ _(c, {
419
+ children: $.rows.map((e) => /* @__PURE__ */ v(se, { fill: e.color }, e.type))
420
+ }), /* @__PURE__ */ v(ae, {
419
421
  contentStyle: Ee,
420
422
  formatter: (e, n, r) => [t(e), r?.payload?.label]
421
423
  })] })
422
- }), /* @__PURE__ */ v("div", {
424
+ }), /* @__PURE__ */ y("div", {
423
425
  className: "pointer-events-none absolute inset-0 flex flex-col items-center justify-center",
424
- children: [/* @__PURE__ */ _("span", {
426
+ children: [/* @__PURE__ */ v("span", {
425
427
  className: "text-xs text-text-secondary",
426
428
  children: "Total value"
427
- }), /* @__PURE__ */ _("span", {
429
+ }), /* @__PURE__ */ v("span", {
428
430
  className: "text-lg font-bold text-text-primary",
429
431
  children: t($.total)
430
432
  })]
431
433
  })]
432
- }), /* @__PURE__ */ _("ul", {
434
+ }), /* @__PURE__ */ v("ul", {
433
435
  className: "mt-4 space-y-2.5",
434
- children: $.rows.map((e) => /* @__PURE__ */ v("li", {
436
+ children: $.rows.map((e) => /* @__PURE__ */ y("li", {
435
437
  className: "flex items-center justify-between text-sm",
436
- children: [/* @__PURE__ */ v("span", {
438
+ children: [/* @__PURE__ */ y("span", {
437
439
  className: "flex items-center gap-2",
438
- children: [/* @__PURE__ */ _("span", {
440
+ children: [/* @__PURE__ */ v("span", {
439
441
  className: "h-2.5 w-2.5 rounded-full",
440
442
  style: { background: e.color }
441
- }), /* @__PURE__ */ _("span", {
443
+ }), /* @__PURE__ */ v("span", {
442
444
  className: "text-text-primary",
443
445
  children: e.label
444
446
  })]
445
- }), /* @__PURE__ */ v("span", {
447
+ }), /* @__PURE__ */ y("span", {
446
448
  className: "font-medium text-text-secondary",
447
449
  children: [$.total > 0 ? Math.round(e.value / $.total * 100) : 0, "%"]
448
450
  })]
@@ -451,42 +453,42 @@ function w() {
451
453
  })
452
454
  })]
453
455
  }),
454
- /* @__PURE__ */ v("div", { children: [
455
- /* @__PURE__ */ _("h2", {
456
+ /* @__PURE__ */ y("div", { children: [
457
+ /* @__PURE__ */ v("h2", {
456
458
  className: "mb-4 text-lg font-semibold text-text-primary",
457
459
  children: "All Assets"
458
460
  }),
459
- /* @__PURE__ */ _(te, {
460
- searchValue: T,
461
- onSearchChange: Pe,
461
+ /* @__PURE__ */ v(te, {
462
+ searchValue: E,
463
+ onSearchChange: Fe,
462
464
  searchPlaceholder: "Search assets by name, location, or type..."
463
465
  }),
464
- /* @__PURE__ */ _("div", {
466
+ /* @__PURE__ */ v("div", {
465
467
  className: "mt-4",
466
- children: E.length > 0 ? /* @__PURE__ */ _(i, {
468
+ children: D.length > 0 ? /* @__PURE__ */ v(i, {
467
469
  columns: [
468
470
  {
469
471
  key: "title",
470
472
  header: "Property",
471
- render: (e) => /* @__PURE__ */ v("div", {
473
+ render: (e) => /* @__PURE__ */ y("div", {
472
474
  className: "flex items-center gap-3",
473
- children: [/* @__PURE__ */ _(S, {
475
+ children: [/* @__PURE__ */ v(C, {
474
476
  src: e.imageUrl,
475
477
  alt: e.title,
476
478
  className: "h-10 w-10 shrink-0 rounded-md"
477
- }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("div", {
479
+ }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("div", {
478
480
  className: "font-medium text-text-primary",
479
481
  children: e.title
480
- }), /* @__PURE__ */ v("div", {
482
+ }), /* @__PURE__ */ y("div", {
481
483
  className: "flex items-center gap-1 text-xs text-text-secondary",
482
- children: [/* @__PURE__ */ _(h, { className: "h-3 w-3" }), e.location]
484
+ children: [/* @__PURE__ */ v(g, { className: "h-3 w-3" }), e.location]
483
485
  })] })]
484
486
  })
485
487
  },
486
488
  {
487
489
  key: "type",
488
490
  header: "Type",
489
- render: (e) => /* @__PURE__ */ _("span", {
491
+ render: (e) => /* @__PURE__ */ v("span", {
490
492
  className: "text-sm capitalize text-text-primary",
491
493
  children: e.type
492
494
  })
@@ -494,7 +496,7 @@ function w() {
494
496
  {
495
497
  key: "purchasePrice",
496
498
  header: "Purchase Price",
497
- render: (e) => /* @__PURE__ */ _("span", {
499
+ render: (e) => /* @__PURE__ */ v("span", {
498
500
  className: "text-sm text-text-primary",
499
501
  children: t(e.purchasePrice)
500
502
  })
@@ -502,7 +504,7 @@ function w() {
502
504
  {
503
505
  key: "currentValue",
504
506
  header: "Current Value",
505
- render: (e) => /* @__PURE__ */ _("span", {
507
+ render: (e) => /* @__PURE__ */ v("span", {
506
508
  className: "text-sm font-medium text-text-primary",
507
509
  children: t(e.currentValue)
508
510
  })
@@ -512,12 +514,12 @@ function w() {
512
514
  header: "Change",
513
515
  render: (n) => {
514
516
  let r = n.currentValue - n.purchasePrice, i = r >= 0;
515
- return /* @__PURE__ */ v("div", {
517
+ return /* @__PURE__ */ y("div", {
516
518
  className: e("flex items-center gap-1 text-sm font-medium", i ? "text-status-success-text" : "text-status-error-text"),
517
519
  children: [
518
- _(i ? f : d, { className: "h-3 w-3" }),
520
+ v(i ? f : d, { className: "h-3 w-3" }),
519
521
  t(Math.abs(r)),
520
- /* @__PURE__ */ v("span", {
522
+ /* @__PURE__ */ y("span", {
521
523
  className: "text-xs",
522
524
  children: [
523
525
  "(",
@@ -532,115 +534,115 @@ function w() {
532
534
  {
533
535
  key: "status",
534
536
  header: "Status",
535
- render: (e) => /* @__PURE__ */ _(a, {
537
+ render: (e) => /* @__PURE__ */ v(a, {
536
538
  label: e.status.replace("_", " "),
537
- variant: C(e.status)
539
+ variant: w(e.status)
538
540
  })
539
541
  },
540
542
  {
541
543
  key: "actions",
542
544
  header: "",
543
545
  sortable: !1,
544
- render: (e) => /* @__PURE__ */ v("button", {
546
+ render: (e) => /* @__PURE__ */ y("button", {
545
547
  onClick: (t) => {
546
- t.stopPropagation(), m(`../assets/${e.id}`);
548
+ t.stopPropagation(), h(`../assets/${e.id}`);
547
549
  },
548
550
  className: "inline-flex items-center gap-1 rounded-md border border-border-subtle px-2 py-1 text-xs font-medium text-text-primary transition-colors hover:bg-bg-sunken",
549
- children: [/* @__PURE__ */ _(pe, { className: "h-3 w-3" }), "View"]
551
+ children: [/* @__PURE__ */ v(m, { className: "h-3 w-3" }), "View"]
550
552
  })
551
553
  }
552
554
  ],
553
- data: E,
555
+ data: D,
554
556
  keyField: "id",
555
- onRowClick: (e) => m(`../assets/${e.id}`),
557
+ onRowClick: (e) => h(`../assets/${e.id}`),
556
558
  pageSize: 10,
557
559
  serverPagination: {
558
- page: w.page,
559
- pageSize: w.pageSize,
560
- hasNextPage: E.length >= w.pageSize,
560
+ page: T.page,
561
+ pageSize: T.pageSize,
562
+ hasNextPage: D.length >= T.pageSize,
561
563
  loading: Ne,
562
- onPageChange: w.setPage,
563
- onPageSizeChange: w.setPageSize
564
+ onPageChange: T.setPage,
565
+ onPageSizeChange: T.setPageSize
564
566
  }
565
- }) : /* @__PURE__ */ _(o, {
567
+ }) : /* @__PURE__ */ v(o, {
566
568
  illustration: "empty-search",
567
- icon: /* @__PURE__ */ _(p, { className: "h-12 w-12" }),
569
+ icon: /* @__PURE__ */ v(p, { className: "h-12 w-12" }),
568
570
  title: "No assets found",
569
571
  description: "Try adjusting your search criteria or add a new asset.",
570
- action: /* @__PURE__ */ v("button", {
572
+ action: /* @__PURE__ */ y("button", {
571
573
  onClick: Z,
572
574
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg-hover",
573
- children: [/* @__PURE__ */ _(g, { className: "h-4 w-4" }), "Add Asset"]
575
+ children: [/* @__PURE__ */ v(_, { className: "h-4 w-4" }), "Add Asset"]
574
576
  })
575
577
  })
576
578
  })
577
579
  ] }),
578
- /* @__PURE__ */ _(be, {
579
- open: Fe,
580
+ /* @__PURE__ */ v(be, {
581
+ open: Ie,
580
582
  onOpenChange: k,
581
- children: /* @__PURE__ */ _(xe, {
583
+ children: /* @__PURE__ */ v(xe, {
582
584
  className: "sm:max-w-lg",
583
- children: /* @__PURE__ */ v("form", {
584
- onSubmit: Ie,
585
+ children: /* @__PURE__ */ y("form", {
586
+ onSubmit: Le,
585
587
  children: [
586
- /* @__PURE__ */ v(we, { children: [/* @__PURE__ */ _(Te, { children: "Add asset" }), /* @__PURE__ */ _(Se, { children: "Bring a property you own into your portfolio to track its value and performance." })] }),
587
- /* @__PURE__ */ v("div", {
588
+ /* @__PURE__ */ y(we, { children: [/* @__PURE__ */ v(Te, { children: "Add asset" }), /* @__PURE__ */ v(Se, { children: "Bring a property you own into your portfolio to track its value and performance." })] }),
589
+ /* @__PURE__ */ y("div", {
588
590
  className: "space-y-3 py-2",
589
591
  children: [
590
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
592
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
591
593
  className: "mb-1.5 block text-sm font-medium text-text-primary",
592
594
  children: "Title *"
593
- }), /* @__PURE__ */ _("input", {
595
+ }), /* @__PURE__ */ v("input", {
594
596
  type: "text",
595
597
  required: !0,
596
598
  placeholder: "e.g. Riverside Villa",
597
599
  value: A,
598
600
  onChange: (e) => j(e.target.value),
599
- className: b
601
+ className: x
600
602
  })] }),
601
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
603
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
602
604
  className: "mb-1.5 block text-sm font-medium text-text-primary",
603
605
  children: "Location *"
604
- }), /* @__PURE__ */ _("input", {
606
+ }), /* @__PURE__ */ v("input", {
605
607
  type: "text",
606
608
  required: !0,
607
609
  placeholder: "City, State",
608
610
  value: I,
609
611
  onChange: (e) => L(e.target.value),
610
- className: b
612
+ className: x
611
613
  })] }),
612
- /* @__PURE__ */ v("div", {
614
+ /* @__PURE__ */ y("div", {
613
615
  className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
614
- children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
616
+ children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
615
617
  className: "mb-1.5 block text-sm font-medium text-text-primary",
616
618
  children: "Type"
617
- }), /* @__PURE__ */ _("select", {
619
+ }), /* @__PURE__ */ v("select", {
618
620
  value: M,
619
621
  onChange: (e) => N(e.target.value),
620
- className: b,
621
- children: De.map((e) => /* @__PURE__ */ _("option", {
622
+ className: x,
623
+ children: De.map((e) => /* @__PURE__ */ v("option", {
622
624
  value: e.value,
623
625
  children: e.label
624
626
  }, e.value))
625
- })] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
627
+ })] }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
626
628
  className: "mb-1.5 block text-sm font-medium text-text-primary",
627
629
  children: "Category"
628
- }), /* @__PURE__ */ _("select", {
630
+ }), /* @__PURE__ */ v("select", {
629
631
  value: P,
630
632
  onChange: (e) => F(e.target.value),
631
- className: b,
632
- children: Oe.map((e) => /* @__PURE__ */ _("option", {
633
+ className: x,
634
+ children: Oe.map((e) => /* @__PURE__ */ v("option", {
633
635
  value: e.value,
634
636
  children: e.label
635
637
  }, e.value))
636
638
  })] })]
637
639
  }),
638
- /* @__PURE__ */ v("div", {
640
+ /* @__PURE__ */ y("div", {
639
641
  className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
640
- children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
642
+ children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
641
643
  className: "mb-1.5 block text-sm font-medium text-text-primary",
642
644
  children: "Purchase price (USD) *"
643
- }), /* @__PURE__ */ _("input", {
645
+ }), /* @__PURE__ */ v("input", {
644
646
  type: "number",
645
647
  required: !0,
646
648
  min: 1,
@@ -648,11 +650,11 @@ function w() {
648
650
  placeholder: "0",
649
651
  value: B,
650
652
  onChange: (e) => V(e.target.value),
651
- className: b
652
- })] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
653
+ className: x
654
+ })] }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
653
655
  className: "mb-1.5 block text-sm font-medium text-text-primary",
654
656
  children: "Current value (USD) *"
655
- }), /* @__PURE__ */ _("input", {
657
+ }), /* @__PURE__ */ v("input", {
656
658
  type: "number",
657
659
  required: !0,
658
660
  min: 1,
@@ -660,65 +662,65 @@ function w() {
660
662
  placeholder: "0",
661
663
  value: R,
662
664
  onChange: (e) => z(e.target.value),
663
- className: b
665
+ className: x
664
666
  })] })]
665
667
  }),
666
- /* @__PURE__ */ v("div", {
668
+ /* @__PURE__ */ y("div", {
667
669
  className: "grid grid-cols-1 gap-3 sm:grid-cols-3",
668
670
  children: [
669
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
671
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
670
672
  className: "mb-1.5 block text-sm font-medium text-text-primary",
671
673
  children: "Purchase date"
672
- }), /* @__PURE__ */ _("input", {
674
+ }), /* @__PURE__ */ v("input", {
673
675
  type: "date",
674
676
  value: H,
675
677
  onChange: (e) => U(e.target.value),
676
- className: b
678
+ className: x
677
679
  })] }),
678
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
680
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
679
681
  className: "mb-1.5 block text-sm font-medium text-text-primary",
680
682
  children: "Rental yield (%)"
681
- }), /* @__PURE__ */ _("input", {
683
+ }), /* @__PURE__ */ v("input", {
682
684
  type: "number",
683
685
  min: 0,
684
686
  step: "any",
685
687
  placeholder: "0",
686
688
  value: W,
687
689
  onChange: (e) => G(e.target.value),
688
- className: b
690
+ className: x
689
691
  })] }),
690
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
692
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
691
693
  className: "mb-1.5 block text-sm font-medium text-text-primary",
692
694
  children: "Status"
693
- }), /* @__PURE__ */ _("select", {
695
+ }), /* @__PURE__ */ v("select", {
694
696
  value: J,
695
697
  onChange: (e) => Y(e.target.value),
696
- className: b,
697
- children: ke.map((e) => /* @__PURE__ */ _("option", {
698
+ className: x,
699
+ children: ke.map((e) => /* @__PURE__ */ v("option", {
698
700
  value: e.value,
699
701
  children: e.label
700
702
  }, e.value))
701
703
  })] })
702
704
  ]
703
705
  }),
704
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
706
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
705
707
  className: "mb-1.5 block text-sm font-medium text-text-primary",
706
708
  children: "Image URL"
707
- }), /* @__PURE__ */ _("input", {
709
+ }), /* @__PURE__ */ v("input", {
708
710
  type: "url",
709
711
  placeholder: "https://…",
710
712
  value: K,
711
713
  onChange: (e) => q(e.target.value),
712
- className: b
714
+ className: x
713
715
  })] })
714
716
  ]
715
717
  }),
716
- /* @__PURE__ */ v(Ce, { children: [/* @__PURE__ */ _(y, {
718
+ /* @__PURE__ */ y(Ce, { children: [/* @__PURE__ */ v(b, {
717
719
  type: "button",
718
720
  variant: "outline",
719
721
  onClick: () => k(!1),
720
722
  children: "Cancel"
721
- }), /* @__PURE__ */ _(y, {
723
+ }), /* @__PURE__ */ v(b, {
722
724
  type: "submit",
723
725
  disabled: O || !A.trim() || !I.trim(),
724
726
  children: O ? "Adding…" : "Add asset"
@@ -731,6 +733,6 @@ function w() {
731
733
  });
732
734
  }
733
735
  //#endregion
734
- export { w as AssetManagementPage };
736
+ export { T as AssetManagementPage };
735
737
 
736
738
  //# sourceMappingURL=AssetManagementPage.js.map