@burdenoff/microfe-brainyrich 2026.706.4 → 2026.713.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 (112) hide show
  1. package/dist/brainyrich/BrainyRichRoot.d.ts +5 -0
  2. package/dist/brainyrich/BrainyRichRoot.d.ts.map +1 -0
  3. package/dist/brainyrich/BrainyRichRoutes.d.ts +2 -0
  4. package/dist/brainyrich/BrainyRichRoutes.d.ts.map +1 -0
  5. package/dist/brainyrich/BrainyRichRoutes.js +27 -15
  6. package/dist/brainyrich/BrainyRichRoutes.js.map +1 -1
  7. package/dist/brainyrich/components/ActorName.d.ts +26 -0
  8. package/dist/brainyrich/components/ActorName.d.ts.map +1 -0
  9. package/dist/brainyrich/components/ConfirmDialog.d.ts +20 -0
  10. package/dist/brainyrich/components/ConfirmDialog.d.ts.map +1 -0
  11. package/dist/brainyrich/components/LoadMore.d.ts +21 -0
  12. package/dist/brainyrich/components/LoadMore.d.ts.map +1 -0
  13. package/dist/brainyrich/components/index.d.ts +11 -0
  14. package/dist/brainyrich/components/index.d.ts.map +1 -0
  15. package/dist/brainyrich/components/notify.d.ts +33 -0
  16. package/dist/brainyrich/components/notify.d.ts.map +1 -0
  17. package/dist/brainyrich/components/pickers.d.ts +63 -0
  18. package/dist/brainyrich/components/pickers.d.ts.map +1 -0
  19. package/dist/brainyrich/components/reuse/CommentThread.d.ts +35 -0
  20. package/dist/brainyrich/components/reuse/CommentThread.d.ts.map +1 -0
  21. package/dist/brainyrich/components/reuse/DocumentsPanel.d.ts +33 -0
  22. package/dist/brainyrich/components/reuse/DocumentsPanel.d.ts.map +1 -0
  23. package/dist/brainyrich/components/reuse/TagField.d.ts +34 -0
  24. package/dist/brainyrich/components/reuse/TagField.d.ts.map +1 -0
  25. package/dist/brainyrich/components/reuse/transport.d.ts +20 -0
  26. package/dist/brainyrich/components/reuse/transport.d.ts.map +1 -0
  27. package/dist/brainyrich/components/viz.d.ts +129 -0
  28. package/dist/brainyrich/components/viz.d.ts.map +1 -0
  29. package/dist/brainyrich/components/viz.js.map +1 -1
  30. package/dist/brainyrich/hooks/useBrainyRichAnalytics.d.ts +17 -0
  31. package/dist/brainyrich/hooks/useBrainyRichAnalytics.d.ts.map +1 -0
  32. package/dist/brainyrich/hooks/useBrainyRichAnalytics.js +24 -0
  33. package/dist/brainyrich/hooks/useBrainyRichAnalytics.js.map +1 -0
  34. package/dist/brainyrich/hooks/useBrainyRichApi.d.ts +2125 -0
  35. package/dist/brainyrich/hooks/useBrainyRichApi.d.ts.map +1 -0
  36. package/dist/brainyrich/hooks/useBrainyRichApi.js +1 -1
  37. package/dist/brainyrich/hooks/useBrainyRichApi.js.map +1 -1
  38. package/dist/brainyrich/index.d.ts +6 -0
  39. package/dist/brainyrich/index.d.ts.map +1 -0
  40. package/dist/brainyrich/index.js +1 -0
  41. package/dist/brainyrich/pages/AccountsPage.d.ts +2 -0
  42. package/dist/brainyrich/pages/AccountsPage.d.ts.map +1 -0
  43. package/dist/brainyrich/pages/AccountsPage.js +608 -593
  44. package/dist/brainyrich/pages/AccountsPage.js.map +1 -1
  45. package/dist/brainyrich/pages/AiAssistantPage.d.ts +2 -0
  46. package/dist/brainyrich/pages/AiAssistantPage.d.ts.map +1 -0
  47. package/dist/brainyrich/pages/AnalyticsPage.d.ts +2 -0
  48. package/dist/brainyrich/pages/AnalyticsPage.d.ts.map +1 -0
  49. package/dist/brainyrich/pages/DashboardPage.d.ts +2 -0
  50. package/dist/brainyrich/pages/DashboardPage.d.ts.map +1 -0
  51. package/dist/brainyrich/pages/DashboardPage.js +264 -256
  52. package/dist/brainyrich/pages/DashboardPage.js.map +1 -1
  53. package/dist/brainyrich/pages/FamilyPage.d.ts +2 -0
  54. package/dist/brainyrich/pages/FamilyPage.d.ts.map +1 -0
  55. package/dist/brainyrich/pages/FamilyPage.js +467 -446
  56. package/dist/brainyrich/pages/FamilyPage.js.map +1 -1
  57. package/dist/brainyrich/pages/GoalsPage.d.ts +2 -0
  58. package/dist/brainyrich/pages/GoalsPage.d.ts.map +1 -0
  59. package/dist/brainyrich/pages/GoalsPage.js +553 -531
  60. package/dist/brainyrich/pages/GoalsPage.js.map +1 -1
  61. package/dist/brainyrich/pages/InvestmentsPage.d.ts +2 -0
  62. package/dist/brainyrich/pages/InvestmentsPage.d.ts.map +1 -0
  63. package/dist/brainyrich/pages/PortfoliosPage.d.ts +2 -0
  64. package/dist/brainyrich/pages/PortfoliosPage.d.ts.map +1 -0
  65. package/dist/brainyrich/pages/PortfoliosPage.js +378 -354
  66. package/dist/brainyrich/pages/PortfoliosPage.js.map +1 -1
  67. package/dist/brainyrich/pages/ReportsPage.d.ts +2 -0
  68. package/dist/brainyrich/pages/ReportsPage.d.ts.map +1 -0
  69. package/dist/brainyrich/pages/RiskPage.d.ts +2 -0
  70. package/dist/brainyrich/pages/RiskPage.d.ts.map +1 -0
  71. package/dist/brainyrich/pages/TaxPage.d.ts +2 -0
  72. package/dist/brainyrich/pages/TaxPage.d.ts.map +1 -0
  73. package/dist/brainyrich/pages/_shared.d.ts +77 -0
  74. package/dist/brainyrich/pages/_shared.d.ts.map +1 -0
  75. package/dist/brainyrich/providers/BrainyRichProvider.d.ts +6 -0
  76. package/dist/brainyrich/providers/BrainyRichProvider.d.ts.map +1 -0
  77. package/dist/brainyrich/services/createSandboxAssistantTransport.d.ts +24 -0
  78. package/dist/brainyrich/services/createSandboxAssistantTransport.d.ts.map +1 -0
  79. package/dist/brainyrich/services/createSandboxAssistantTransport.js +14 -0
  80. package/dist/brainyrich/services/createSandboxAssistantTransport.js.map +1 -0
  81. package/dist/brainyrich/types/bra.d.ts +394 -0
  82. package/dist/brainyrich/types/bra.d.ts.map +1 -0
  83. package/dist/brainyrich/types/index.d.ts +39 -0
  84. package/dist/brainyrich/types/index.d.ts.map +1 -0
  85. package/dist/brainyrich/utils/cn.d.ts +4 -0
  86. package/dist/brainyrich/utils/cn.d.ts.map +1 -0
  87. package/dist/brainyrich/utils/i18n.d.ts +6 -0
  88. package/dist/brainyrich/utils/i18n.d.ts.map +1 -0
  89. package/dist/brainyrich/utils/nativeControls.d.ts +12 -0
  90. package/dist/brainyrich/utils/nativeControls.d.ts.map +1 -0
  91. package/dist/brainyrich/utils/nativeControls.js +12 -0
  92. package/dist/brainyrich/utils/nativeControls.js.map +1 -0
  93. package/dist/brainyrich/utils/navigation.d.ts +2 -0
  94. package/dist/brainyrich/utils/navigation.d.ts.map +1 -0
  95. package/dist/brainyrich/utils/pageContext.d.ts +30 -0
  96. package/dist/brainyrich/utils/pageContext.d.ts.map +1 -0
  97. package/dist/brainyrich/utils/pageContext.js +46 -0
  98. package/dist/brainyrich/utils/pageContext.js.map +1 -0
  99. package/dist/dev/main.d.ts +2 -0
  100. package/dist/dev/main.d.ts.map +1 -0
  101. package/dist/generated/global-operations.d.ts +2 -0
  102. package/dist/generated/global-operations.d.ts.map +1 -0
  103. package/dist/generated/global-types.d.ts +18199 -0
  104. package/dist/generated/global-types.d.ts.map +1 -0
  105. package/dist/generated/wspace-operations.d.ts +2 -0
  106. package/dist/generated/wspace-operations.d.ts.map +1 -0
  107. package/dist/generated/wspace-types.d.ts +43046 -0
  108. package/dist/generated/wspace-types.d.ts.map +1 -0
  109. package/dist/index.d.ts +2 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +2 -1
  112. package/package.json +6 -2
@@ -6,39 +6,41 @@ import { ActorName as l } from "../components/ActorName.js";
6
6
  import { DonutChart as u, FadeIn as d, GlassCard as f, StatTile as p } from "../components/viz.js";
7
7
  import "../components/index.js";
8
8
  import { EmptyState as m, ErrorState as ne, LoadingState as re, SectionShell as ie, formatCompact as h, formatDate as g, formatMoney as _, statusBadgeVariant as v } from "./_shared.js";
9
+ import { hapticSuccess as y, showToast as b } from "../utils/nativeControls.js";
10
+ import { useTrackBrainyRichPageView as x } from "../hooks/useBrainyRichAnalytics.js";
9
11
  import { DocumentsPanel as ae } from "../components/reuse/DocumentsPanel.js";
10
- import { TagField as y } from "../components/reuse/TagField.js";
11
- import { CommentThread as b } from "../components/reuse/CommentThread.js";
12
- import { useMemo as oe, useState as x } from "react";
13
- import { Archive as S, Briefcase as C, Building2 as w, Eye as T, Mail as se, MoreHorizontal as ce, Pencil as le, Target as E, TrendingUp as D, UserCircle2 as ue, Users as O, Wallet as k } from "lucide-react";
14
- import { useI18n as de } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
15
- import { jsx as A, jsxs as j } from "react/jsx-runtime";
16
- import { Badge as M, Button as N, Card as P, CardContent as F, Dialog as I, DialogClose as L, DialogContent as fe, DialogDescription as R, DialogFooter as z, DialogHeader as B, DialogTitle as pe, DropdownMenu as me, DropdownMenuContent as he, DropdownMenuItem as V, DropdownMenuSeparator as ge, DropdownMenuTrigger as _e, Input as H, Label as U, Select as W, SelectContent as G, SelectItem as K, SelectTrigger as q, SelectValue as J, Separator as ve, Sheet as ye, SheetContent as be, SheetDescription as xe, SheetHeader as Se, SheetTitle as Ce, Table as we, TableBody as Te, TableCell as Y, TableHead as X, TableHeader as Ee, TableRow as De, Tabs as Oe, TabsContent as Z, TabsList as ke, TabsTrigger as Q, Textarea as Ae } from "@burdenoff/fe-libs/ui";
12
+ import { TagField as S } from "../components/reuse/TagField.js";
13
+ import { CommentThread as C } from "../components/reuse/CommentThread.js";
14
+ import { useMemo as oe, useState as w } from "react";
15
+ import { Archive as T, Briefcase as E, Building2 as se, Eye as ce, Mail as le, MoreHorizontal as ue, Pencil as de, Target as D, TrendingUp as O, UserCircle2 as fe, Users as k, Wallet as A } from "lucide-react";
16
+ import { useI18n as pe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
+ import { jsx as j, jsxs as M } from "react/jsx-runtime";
18
+ import { Badge as N, Button as P, Card as F, CardContent as I, Dialog as L, DialogClose as R, DialogContent as me, DialogDescription as z, DialogFooter as B, DialogHeader as V, DialogTitle as he, DropdownMenu as ge, DropdownMenuContent as _e, DropdownMenuItem as H, DropdownMenuSeparator as ve, DropdownMenuTrigger as ye, Input as U, Label as W, Select as G, SelectContent as K, SelectItem as q, SelectTrigger as J, SelectValue as Y, Separator as be, Sheet as xe, SheetContent as Se, SheetDescription as Ce, SheetHeader as we, SheetTitle as Te, Table as Ee, TableBody as De, TableCell as X, TableHead as Z, TableHeader as Oe, TableRow as ke, Tabs as Ae, TabsContent as Q, TabsList as je, TabsTrigger as $, Textarea as Me } from "@burdenoff/fe-libs/ui";
17
19
  //#region src/brainyrich/pages/FamilyPage.tsx
18
- var je = [
20
+ var Ne = [
19
21
  "PROSPECT",
20
22
  "ONBOARDING",
21
23
  "ACTIVE",
22
24
  "INACTIVE"
23
- ], Me = [
25
+ ], Pe = [
24
26
  "CONSERVATIVE",
25
27
  "MODERATE",
26
28
  "BALANCED",
27
29
  "GROWTH",
28
30
  "AGGRESSIVE"
29
- ], Ne = [
31
+ ], Fe = [
30
32
  "USD",
31
33
  "EUR",
32
34
  "GBP",
33
35
  "INR",
34
36
  "AED",
35
37
  "SGD"
36
- ], Pe = {
38
+ ], Ie = {
37
39
  ACTIVE: "brand",
38
40
  ONBOARDING: "info",
39
41
  PROSPECT: "warning",
40
42
  INACTIVE: "neutral"
41
- }, Fe = {
43
+ }, Le = {
42
44
  name: "",
43
45
  status: "PROSPECT",
44
46
  riskProfile: "BALANCED",
@@ -49,21 +51,23 @@ var je = [
49
51
  notes: "",
50
52
  tags: ""
51
53
  };
52
- function Ie(e) {
54
+ function Re(e) {
53
55
  return e.split(",").map((e) => e.trim()).filter(Boolean);
54
56
  }
55
- function Le(e) {
57
+ function ze(e) {
56
58
  let t = (e.holdings ?? []).reduce((e, t) => e + (Number.isFinite(t.marketValue) ? t.marketValue : 0), 0);
57
59
  return (Number.isFinite(e.cashBalance) ? e.cashBalance : 0) + t;
58
60
  }
59
- function Re() {
60
- let { t } = de(), i = (n, r, i) => e(t, n, r, i), { items: a, hasMore: s, loadMore: u, isLoading: f, isFetchingNextPage: h, isError: g, refetch: ae } = o(), y = r(), b = c(), C = n(), [w, E] = x(!1), [D, k] = x(null), [I, L] = x(Fe), [fe, R] = x(void 0), [z, B] = x(null), pe = (e, t) => L((n) => ({
61
+ function Be() {
62
+ let { t } = pe(), i = (n, r, i) => e(t, n, r, i);
63
+ x("brainyrich.family.viewed");
64
+ let { items: a, hasMore: s, loadMore: u, isLoading: f, isFetchingNextPage: h, isError: g, refetch: ae } = o(), S = r(), C = c(), E = n(), [se, D] = w(!1), [O, A] = w(null), [L, R] = w(Le), [me, z] = w(void 0), [B, V] = w(null), he = (e, t) => R((n) => ({
61
65
  ...n,
62
66
  [e]: t
63
- })), H = () => {
64
- k(null), L(Fe), E(!0);
65
- }, U = (e) => {
66
- k(e), L({
67
+ })), U = () => {
68
+ A(null), R(Le), D(!0);
69
+ }, W = (e) => {
70
+ A(e), R({
67
71
  name: e.name,
68
72
  status: e.status,
69
73
  riskProfile: e.riskProfile,
@@ -73,8 +77,8 @@ function Re() {
73
77
  primaryContactEmail: e.primaryContactEmail ?? "",
74
78
  notes: e.notes ?? "",
75
79
  tags: e.tags.join(", ")
76
- }), E(!0);
77
- }, W = oe(() => {
80
+ }), D(!0);
81
+ }, G = oe(() => {
78
82
  let e = a[0]?.currency ?? "USD", t = a.length, n = a.filter((e) => e.status === "ACTIVE").length, r = a.filter((e) => e.status === "PROSPECT").length, i = a.filter((e) => e.status === "ONBOARDING").length, o = a.reduce((e, t) => e + (Number.isFinite(t.aum) ? t.aum : 0), 0), s = /* @__PURE__ */ new Map();
79
83
  for (let e of a) {
80
84
  let t = e.advisorId?.trim() || "";
@@ -94,382 +98,392 @@ function Re() {
94
98
  advisors: c,
95
99
  advisorCount: c.filter((e) => e.advisorId).length,
96
100
  advisorMax: c.reduce((e, t) => Math.max(e, t.value), 0),
97
- statusMix: je.map((e) => ({
101
+ statusMix: Ne.map((e) => ({
98
102
  label: e.charAt(0) + e.slice(1).toLowerCase(),
99
103
  value: a.filter((t) => t.status === e).length,
100
- tone: Pe[e]
104
+ tone: Ie[e]
101
105
  })).filter((e) => e.value > 0)
102
106
  };
103
- }, [a]), G = y.isPending || b.isPending, K = I.name.trim().length > 0 && !G, q = () => {
104
- if (K) if (D) {
107
+ }, [a]), K = S.isPending || C.isPending, q = L.name.trim().length > 0 && !K, J = () => {
108
+ if (q) if (O) {
105
109
  let e = {
106
- name: I.name.trim(),
107
- status: I.status,
108
- riskProfile: I.riskProfile,
109
- currency: I.currency,
110
- primaryContactName: I.primaryContactName.trim() || null,
111
- primaryContactEmail: I.primaryContactEmail.trim() || null,
112
- notes: I.notes.trim() || null,
113
- tags: Ie(I.tags)
110
+ name: L.name.trim(),
111
+ status: L.status,
112
+ riskProfile: L.riskProfile,
113
+ currency: L.currency,
114
+ primaryContactName: L.primaryContactName.trim() || null,
115
+ primaryContactEmail: L.primaryContactEmail.trim() || null,
116
+ notes: L.notes.trim() || null,
117
+ tags: Re(L.tags)
114
118
  };
115
- b.mutate({
116
- id: D.id,
119
+ C.mutate({
120
+ id: O.id,
117
121
  input: e
118
- }, { onSuccess: () => E(!1) });
122
+ }, { onSuccess: () => {
123
+ y(), b(i("brainyrich.households.saved", "Household saved")), D(!1);
124
+ } });
119
125
  } else {
120
126
  let e = {
121
- name: I.name.trim(),
122
- status: I.status,
123
- riskProfile: I.riskProfile,
124
- currency: I.currency,
125
- primaryContactName: I.primaryContactName.trim() || null,
126
- primaryContactEmail: I.primaryContactEmail.trim() || null,
127
- notes: I.notes.trim() || null,
128
- tags: Ie(I.tags)
127
+ name: L.name.trim(),
128
+ status: L.status,
129
+ riskProfile: L.riskProfile,
130
+ currency: L.currency,
131
+ primaryContactName: L.primaryContactName.trim() || null,
132
+ primaryContactEmail: L.primaryContactEmail.trim() || null,
133
+ notes: L.notes.trim() || null,
134
+ tags: Re(L.tags)
129
135
  };
130
- I.advisorId.trim() && (e.advisorId = I.advisorId.trim()), y.mutate(e, { onSuccess: () => E(!1) });
136
+ L.advisorId.trim() && (e.advisorId = L.advisorId.trim()), S.mutate(e, { onSuccess: () => {
137
+ y(), b(i("brainyrich.households.created", "Household created")), D(!1);
138
+ } });
131
139
  }
132
- }, J = !f && !g && a.length > 0;
133
- return /* @__PURE__ */ j(ie, {
134
- title: i("brainyrich.households.title", "Households"),
135
- description: i("brainyrich.households.description", "Client households and family units under advisement"),
136
- badges: a.length ? [i("brainyrich.households.count", "{count} households", { count: a.length })] : [],
137
- actionLabel: i("brainyrich.households.new", "New household"),
138
- onAction: H,
139
- children: [
140
- J ? /* @__PURE__ */ A(ze, {
141
- firm: W,
142
- tr: i
143
- }) : /* @__PURE__ */ j("div", {
144
- className: "grid gap-4 md:grid-cols-2 xl:grid-cols-4",
145
- children: [
146
- /* @__PURE__ */ A(p, {
147
- label: i("brainyrich.households.kpi.aum", "Total AUM"),
148
- value: "—",
149
- glow: !0
150
- }),
151
- /* @__PURE__ */ A(p, {
152
- label: i("brainyrich.households.kpi.total", "Households"),
153
- value: "—"
154
- }),
155
- /* @__PURE__ */ A(p, {
156
- label: i("brainyrich.households.kpi.active", "Active"),
157
- value: "—"
140
+ }, Y = !f && !g && a.length > 0;
141
+ return /* @__PURE__ */ j("div", {
142
+ "data-tour": "brainyrich-page-households",
143
+ className: "contents",
144
+ children: /* @__PURE__ */ M(ie, {
145
+ title: i("brainyrich.households.title", "Households"),
146
+ description: i("brainyrich.households.description", "Client households and family units under advisement"),
147
+ badges: a.length ? [i("brainyrich.households.count", "{count} households", { count: a.length })] : [],
148
+ actionLabel: i("brainyrich.households.new", "New household"),
149
+ onAction: U,
150
+ children: [
151
+ Y ? /* @__PURE__ */ j(Ve, {
152
+ firm: G,
153
+ tr: i
154
+ }) : /* @__PURE__ */ M("div", {
155
+ className: "grid gap-4 md:grid-cols-2 xl:grid-cols-4",
156
+ children: [
157
+ /* @__PURE__ */ j(p, {
158
+ label: i("brainyrich.households.kpi.aum", "Total AUM"),
159
+ value: "—",
160
+ glow: !0
161
+ }),
162
+ /* @__PURE__ */ j(p, {
163
+ label: i("brainyrich.households.kpi.total", "Households"),
164
+ value: "—"
165
+ }),
166
+ /* @__PURE__ */ j(p, {
167
+ label: i("brainyrich.households.kpi.active", "Active"),
168
+ value: "—"
169
+ }),
170
+ /* @__PURE__ */ j(p, {
171
+ label: i("brainyrich.households.kpi.prospects", "Prospects"),
172
+ value: "—"
173
+ })
174
+ ]
175
+ }),
176
+ f ? /* @__PURE__ */ j(re, { rows: 5 }) : g ? /* @__PURE__ */ j(ne, {
177
+ title: i("brainyrich.households.error.title", "Could not load households"),
178
+ onRetry: () => ae()
179
+ }) : a.length === 0 ? /* @__PURE__ */ j(m, {
180
+ icon: /* @__PURE__ */ j(k, {
181
+ className: "size-6",
182
+ "aria-hidden": "true"
158
183
  }),
159
- /* @__PURE__ */ A(p, {
160
- label: i("brainyrich.households.kpi.prospects", "Prospects"),
161
- value: "—"
184
+ title: i("brainyrich.households.empty.title", "No households yet"),
185
+ description: i("brainyrich.households.empty.description", "Create your first client household to start organizing accounts, portfolios and goals."),
186
+ action: /* @__PURE__ */ j(P, {
187
+ size: "sm",
188
+ onClick: U,
189
+ children: i("brainyrich.households.new", "New household")
162
190
  })
163
- ]
164
- }),
165
- f ? /* @__PURE__ */ A(re, { rows: 5 }) : g ? /* @__PURE__ */ A(ne, {
166
- title: i("brainyrich.households.error.title", "Could not load households"),
167
- onRetry: () => ae()
168
- }) : a.length === 0 ? /* @__PURE__ */ A(m, {
169
- icon: /* @__PURE__ */ A(O, {
170
- className: "size-6",
171
- "aria-hidden": "true"
172
- }),
173
- title: i("brainyrich.households.empty.title", "No households yet"),
174
- description: i("brainyrich.households.empty.description", "Create your first client household to start organizing accounts, portfolios and goals."),
175
- action: /* @__PURE__ */ A(N, {
176
- size: "sm",
177
- onClick: H,
178
- children: i("brainyrich.households.new", "New household")
179
- })
180
- }) : /* @__PURE__ */ A(d, {
181
- as: "section",
182
- children: /* @__PURE__ */ A(P, {
183
- className: "overflow-hidden",
184
- children: /* @__PURE__ */ A(F, {
185
- className: "p-0",
186
- children: /* @__PURE__ */ A("div", {
187
- className: "overflow-x-auto",
188
- children: /* @__PURE__ */ j(we, { children: [/* @__PURE__ */ A(Ee, { children: /* @__PURE__ */ j(De, {
189
- className: "hover:bg-transparent",
190
- children: [
191
- /* @__PURE__ */ A(X, { children: i("brainyrich.households.col.name", "Household") }),
192
- /* @__PURE__ */ A(X, { children: i("brainyrich.households.col.status", "Status") }),
193
- /* @__PURE__ */ A(X, {
194
- className: "hidden md:table-cell",
195
- children: i("brainyrich.households.col.risk", "Risk profile")
196
- }),
197
- /* @__PURE__ */ A(X, {
198
- className: "hidden lg:table-cell",
199
- children: i("brainyrich.households.col.contact", "Primary contact")
200
- }),
201
- /* @__PURE__ */ A(X, {
202
- className: "hidden sm:table-cell",
203
- children: i("brainyrich.households.col.advisor", "Advisor")
204
- }),
205
- /* @__PURE__ */ A(X, {
206
- className: "text-right",
207
- children: i("brainyrich.households.col.aum", "AUM")
208
- }),
209
- /* @__PURE__ */ A(X, {
210
- className: "w-12 text-right",
211
- children: /* @__PURE__ */ A("span", {
212
- className: "sr-only",
213
- children: i("brainyrich.households.col.actions", "Actions")
214
- })
215
- })
216
- ]
217
- }) }), /* @__PURE__ */ A(Te, { children: a.map((e) => {
218
- let t = W.aum > 0 ? Math.min(100, e.aum / W.aum * 100) : 0;
219
- return /* @__PURE__ */ j(De, {
220
- className: "group cursor-pointer transition-colors",
221
- onClick: () => R(e.id),
191
+ }) : /* @__PURE__ */ j(d, {
192
+ as: "section",
193
+ children: /* @__PURE__ */ j(F, {
194
+ className: "overflow-hidden",
195
+ children: /* @__PURE__ */ j(I, {
196
+ className: "p-0",
197
+ children: /* @__PURE__ */ j("div", {
198
+ className: "overflow-x-auto",
199
+ children: /* @__PURE__ */ M(Ee, { children: [/* @__PURE__ */ j(Oe, { children: /* @__PURE__ */ M(ke, {
200
+ className: "hover:bg-transparent",
222
201
  children: [
223
- /* @__PURE__ */ j(Y, { children: [/* @__PURE__ */ A("span", {
224
- className: "font-medium text-text-primary transition-colors group-hover:text-[var(--color-action-primary-text)]",
225
- children: e.name
226
- }), e.tags.length > 0 ? /* @__PURE__ */ j("div", {
227
- className: "mt-1 flex flex-wrap gap-1",
228
- children: [e.tags.slice(0, 3).map((e) => /* @__PURE__ */ A(M, {
229
- variant: "outline",
230
- className: "text-xs",
231
- children: e
232
- }, e)), e.tags.length > 3 ? /* @__PURE__ */ j(M, {
233
- variant: "outline",
234
- className: "text-xs",
235
- children: ["+", e.tags.length - 3]
236
- }) : null]
237
- }) : null] }),
238
- /* @__PURE__ */ A(Y, { children: /* @__PURE__ */ A(M, {
239
- variant: v(e.status),
240
- children: e.status
241
- }) }),
242
- /* @__PURE__ */ A(Y, {
202
+ /* @__PURE__ */ j(Z, { children: i("brainyrich.households.col.name", "Household") }),
203
+ /* @__PURE__ */ j(Z, { children: i("brainyrich.households.col.status", "Status") }),
204
+ /* @__PURE__ */ j(Z, {
243
205
  className: "hidden md:table-cell",
244
- children: /* @__PURE__ */ A(M, {
245
- variant: "secondary",
246
- children: e.riskProfile
247
- })
206
+ children: i("brainyrich.households.col.risk", "Risk profile")
248
207
  }),
249
- /* @__PURE__ */ A(Y, {
208
+ /* @__PURE__ */ j(Z, {
250
209
  className: "hidden lg:table-cell",
251
- children: e.primaryContactName ? /* @__PURE__ */ j("div", {
252
- className: "space-y-0.5",
253
- children: [/* @__PURE__ */ A("p", {
254
- className: "text-sm text-text-primary",
255
- children: e.primaryContactName
256
- }), e.primaryContactEmail ? /* @__PURE__ */ j("p", {
257
- className: "flex items-center gap-1 text-xs text-text-secondary",
258
- children: [/* @__PURE__ */ A(se, {
259
- className: "size-3",
260
- "aria-hidden": "true"
261
- }), e.primaryContactEmail]
262
- }) : null]
263
- }) : /* @__PURE__ */ A("span", {
264
- className: "text-sm text-text-muted",
265
- children: "—"
266
- })
210
+ children: i("brainyrich.households.col.contact", "Primary contact")
267
211
  }),
268
- /* @__PURE__ */ A(Y, {
212
+ /* @__PURE__ */ j(Z, {
269
213
  className: "hidden sm:table-cell",
270
- children: e.advisorId ? /* @__PURE__ */ j("span", {
271
- className: "flex items-center gap-1.5 text-sm text-text-secondary",
272
- children: [/* @__PURE__ */ A(ue, {
273
- className: "size-3.5",
274
- "aria-hidden": "true"
275
- }), /* @__PURE__ */ A(l, { id: e.advisorId })]
276
- }) : /* @__PURE__ */ A("span", {
277
- className: "text-sm text-text-muted",
278
- children: i("brainyrich.common.unassigned", "Unassigned")
279
- })
214
+ children: i("brainyrich.households.col.advisor", "Advisor")
280
215
  }),
281
- /* @__PURE__ */ A(Y, {
216
+ /* @__PURE__ */ j(Z, {
282
217
  className: "text-right",
283
- children: /* @__PURE__ */ j("div", {
284
- className: "flex flex-col items-end gap-1",
285
- children: [/* @__PURE__ */ A("span", {
286
- className: "font-medium tabular-nums text-text-primary",
287
- children: _(e.aum, e.currency)
288
- }), /* @__PURE__ */ A("span", {
289
- className: "h-1 w-16 overflow-hidden rounded-full bg-bg-sunken",
290
- "aria-hidden": "true",
291
- children: /* @__PURE__ */ A("span", {
292
- className: "block h-full rounded-full bg-[var(--color-action-primary-bg)]",
293
- style: { width: `${t}%` }
294
- })
295
- })]
296
- })
218
+ children: i("brainyrich.households.col.aum", "AUM")
297
219
  }),
298
- /* @__PURE__ */ A(Y, {
299
- className: "text-right",
300
- onClick: (e) => e.stopPropagation(),
301
- children: /* @__PURE__ */ j(me, { children: [/* @__PURE__ */ A(_e, {
302
- asChild: !0,
303
- children: /* @__PURE__ */ A(N, {
304
- variant: "ghost",
305
- size: "icon",
306
- "aria-label": i("brainyrich.households.rowMenu", "Household actions"),
307
- children: /* @__PURE__ */ A(ce, {
308
- className: "size-4",
309
- "aria-hidden": "true"
310
- })
220
+ /* @__PURE__ */ j(Z, {
221
+ className: "w-12 text-right",
222
+ children: /* @__PURE__ */ j("span", {
223
+ className: "sr-only",
224
+ children: i("brainyrich.households.col.actions", "Actions")
225
+ })
226
+ })
227
+ ]
228
+ }) }), /* @__PURE__ */ j(De, { children: a.map((e) => {
229
+ let t = G.aum > 0 ? Math.min(100, e.aum / G.aum * 100) : 0;
230
+ return /* @__PURE__ */ M(ke, {
231
+ className: "group cursor-pointer transition-colors",
232
+ onClick: () => z(e.id),
233
+ children: [
234
+ /* @__PURE__ */ M(X, { children: [/* @__PURE__ */ j("span", {
235
+ className: "font-medium text-text-primary transition-colors group-hover:text-[var(--color-action-primary-text)]",
236
+ children: e.name
237
+ }), e.tags.length > 0 ? /* @__PURE__ */ M("div", {
238
+ className: "mt-1 flex flex-wrap gap-1",
239
+ children: [e.tags.slice(0, 3).map((e) => /* @__PURE__ */ j(N, {
240
+ variant: "outline",
241
+ className: "text-xs",
242
+ children: e
243
+ }, e)), e.tags.length > 3 ? /* @__PURE__ */ M(N, {
244
+ variant: "outline",
245
+ className: "text-xs",
246
+ children: ["+", e.tags.length - 3]
247
+ }) : null]
248
+ }) : null] }),
249
+ /* @__PURE__ */ j(X, { children: /* @__PURE__ */ j(N, {
250
+ variant: v(e.status),
251
+ children: e.status
252
+ }) }),
253
+ /* @__PURE__ */ j(X, {
254
+ className: "hidden md:table-cell",
255
+ children: /* @__PURE__ */ j(N, {
256
+ variant: "secondary",
257
+ children: e.riskProfile
311
258
  })
312
- }), /* @__PURE__ */ j(he, {
313
- align: "end",
314
- children: [
315
- /* @__PURE__ */ j(V, {
316
- onClick: () => R(e.id),
317
- children: [/* @__PURE__ */ A(T, {
318
- className: "size-4",
319
- "aria-hidden": "true"
320
- }), i("brainyrich.households.action.view", "View details")]
321
- }),
322
- /* @__PURE__ */ j(V, {
323
- onClick: () => U(e),
324
- children: [/* @__PURE__ */ A(le, {
325
- className: "size-4",
259
+ }),
260
+ /* @__PURE__ */ j(X, {
261
+ className: "hidden lg:table-cell",
262
+ children: e.primaryContactName ? /* @__PURE__ */ M("div", {
263
+ className: "space-y-0.5",
264
+ children: [/* @__PURE__ */ j("p", {
265
+ className: "text-sm text-text-primary",
266
+ children: e.primaryContactName
267
+ }), e.primaryContactEmail ? /* @__PURE__ */ M("p", {
268
+ className: "flex items-center gap-1 text-xs text-text-secondary",
269
+ children: [/* @__PURE__ */ j(le, {
270
+ className: "size-3",
326
271
  "aria-hidden": "true"
327
- }), i("brainyrich.households.action.edit", "Edit")]
328
- }),
329
- /* @__PURE__ */ A(ge, {}),
330
- /* @__PURE__ */ j(V, {
331
- className: "text-status-error-text focus:text-status-error-text",
332
- onClick: () => B(e),
333
- children: [/* @__PURE__ */ A(S, {
272
+ }), e.primaryContactEmail]
273
+ }) : null]
274
+ }) : /* @__PURE__ */ j("span", {
275
+ className: "text-sm text-text-muted",
276
+ children: "—"
277
+ })
278
+ }),
279
+ /* @__PURE__ */ j(X, {
280
+ className: "hidden sm:table-cell",
281
+ children: e.advisorId ? /* @__PURE__ */ M("span", {
282
+ className: "flex items-center gap-1.5 text-sm text-text-secondary",
283
+ children: [/* @__PURE__ */ j(fe, {
284
+ className: "size-3.5",
285
+ "aria-hidden": "true"
286
+ }), /* @__PURE__ */ j(l, { id: e.advisorId })]
287
+ }) : /* @__PURE__ */ j("span", {
288
+ className: "text-sm text-text-muted",
289
+ children: i("brainyrich.common.unassigned", "Unassigned")
290
+ })
291
+ }),
292
+ /* @__PURE__ */ j(X, {
293
+ className: "text-right",
294
+ children: /* @__PURE__ */ M("div", {
295
+ className: "flex flex-col items-end gap-1",
296
+ children: [/* @__PURE__ */ j("span", {
297
+ className: "font-medium tabular-nums text-text-primary",
298
+ children: _(e.aum, e.currency)
299
+ }), /* @__PURE__ */ j("span", {
300
+ className: "h-1 w-16 overflow-hidden rounded-full bg-bg-sunken",
301
+ "aria-hidden": "true",
302
+ children: /* @__PURE__ */ j("span", {
303
+ className: "block h-full rounded-full bg-[var(--color-action-primary-bg)]",
304
+ style: { width: `${t}%` }
305
+ })
306
+ })]
307
+ })
308
+ }),
309
+ /* @__PURE__ */ j(X, {
310
+ className: "text-right",
311
+ onClick: (e) => e.stopPropagation(),
312
+ children: /* @__PURE__ */ M(ge, { children: [/* @__PURE__ */ j(ye, {
313
+ asChild: !0,
314
+ children: /* @__PURE__ */ j(P, {
315
+ variant: "ghost",
316
+ size: "icon",
317
+ "aria-label": i("brainyrich.households.rowMenu", "Household actions"),
318
+ children: /* @__PURE__ */ j(ue, {
334
319
  className: "size-4",
335
320
  "aria-hidden": "true"
336
- }), i("brainyrich.households.action.archive", "Archive")]
321
+ })
337
322
  })
338
- ]
339
- })] })
340
- })
341
- ]
342
- }, e.id);
343
- }) })] })
323
+ }), /* @__PURE__ */ M(_e, {
324
+ align: "end",
325
+ children: [
326
+ /* @__PURE__ */ M(H, {
327
+ onClick: () => z(e.id),
328
+ children: [/* @__PURE__ */ j(ce, {
329
+ className: "size-4",
330
+ "aria-hidden": "true"
331
+ }), i("brainyrich.households.action.view", "View details")]
332
+ }),
333
+ /* @__PURE__ */ M(H, {
334
+ onClick: () => W(e),
335
+ children: [/* @__PURE__ */ j(de, {
336
+ className: "size-4",
337
+ "aria-hidden": "true"
338
+ }), i("brainyrich.households.action.edit", "Edit")]
339
+ }),
340
+ /* @__PURE__ */ j(ve, {}),
341
+ /* @__PURE__ */ M(H, {
342
+ className: "text-status-error-text focus:text-status-error-text",
343
+ onClick: () => V(e),
344
+ children: [/* @__PURE__ */ j(T, {
345
+ className: "size-4",
346
+ "aria-hidden": "true"
347
+ }), i("brainyrich.households.action.archive", "Archive")]
348
+ })
349
+ ]
350
+ })] })
351
+ })
352
+ ]
353
+ }, e.id);
354
+ }) })] })
355
+ })
344
356
  })
345
357
  })
358
+ }),
359
+ !f && !g && a.length > 0 ? /* @__PURE__ */ j(ee, {
360
+ hasMore: s,
361
+ onClick: u,
362
+ loading: h,
363
+ label: i("brainyrich.households.loadMore", "Load more households")
364
+ }) : null,
365
+ /* @__PURE__ */ j(He, {
366
+ open: se,
367
+ onOpenChange: D,
368
+ editing: O,
369
+ form: L,
370
+ setField: he,
371
+ onSubmit: J,
372
+ canSubmit: q,
373
+ submitting: K,
374
+ tr: i
375
+ }),
376
+ /* @__PURE__ */ j(Ue, {
377
+ householdId: me,
378
+ onClose: () => z(void 0),
379
+ onEdit: (e) => {
380
+ z(void 0), W(e);
381
+ },
382
+ tr: i
383
+ }),
384
+ /* @__PURE__ */ j(te, {
385
+ open: !!B,
386
+ onOpenChange: (e) => e ? void 0 : V(null),
387
+ title: i("brainyrich.households.archive.title", "Archive household?"),
388
+ description: i("brainyrich.households.archive.description", "Archiving “{name}” removes it from the active list. You can still access its records, but it will no longer appear here.", { name: B?.name ?? "" }),
389
+ confirmLabel: i("brainyrich.households.action.archive", "Archive"),
390
+ pendingLabel: i("brainyrich.households.archive.pending", "Archiving…"),
391
+ destructive: !0,
392
+ pending: E.isPending,
393
+ onConfirm: () => {
394
+ B && E.mutate(B.id, { onSuccess: () => {
395
+ y(), b(i("brainyrich.households.archived", "Household archived", { name: B.name })), V(null);
396
+ } });
397
+ }
346
398
  })
347
- }),
348
- !f && !g && a.length > 0 ? /* @__PURE__ */ A(ee, {
349
- hasMore: s,
350
- onClick: u,
351
- loading: h,
352
- label: i("brainyrich.households.loadMore", "Load more households")
353
- }) : null,
354
- /* @__PURE__ */ A(Be, {
355
- open: w,
356
- onOpenChange: E,
357
- editing: D,
358
- form: I,
359
- setField: pe,
360
- onSubmit: q,
361
- canSubmit: K,
362
- submitting: G,
363
- tr: i
364
- }),
365
- /* @__PURE__ */ A(Ve, {
366
- householdId: fe,
367
- onClose: () => R(void 0),
368
- onEdit: (e) => {
369
- R(void 0), U(e);
370
- },
371
- tr: i
372
- }),
373
- /* @__PURE__ */ A(te, {
374
- open: !!z,
375
- onOpenChange: (e) => e ? void 0 : B(null),
376
- title: i("brainyrich.households.archive.title", "Archive household?"),
377
- description: i("brainyrich.households.archive.description", "Archiving “{name}” removes it from the active list. You can still access its records, but it will no longer appear here.", { name: z?.name ?? "" }),
378
- confirmLabel: i("brainyrich.households.action.archive", "Archive"),
379
- pendingLabel: i("brainyrich.households.archive.pending", "Archiving…"),
380
- destructive: !0,
381
- pending: C.isPending,
382
- onConfirm: () => {
383
- z && C.mutate(z.id, { onSuccess: () => B(null) });
384
- }
385
- })
386
- ]
399
+ ]
400
+ })
387
401
  });
388
402
  }
389
- function ze({ firm: e, tr: t }) {
390
- return /* @__PURE__ */ j(d, {
403
+ function Ve({ firm: e, tr: t }) {
404
+ return /* @__PURE__ */ M(d, {
391
405
  as: "section",
392
406
  className: "space-y-4",
393
- children: [/* @__PURE__ */ j("div", {
407
+ children: [/* @__PURE__ */ M("div", {
394
408
  className: "grid gap-4 md:grid-cols-2 xl:grid-cols-4",
395
409
  children: [
396
- /* @__PURE__ */ A(p, {
410
+ /* @__PURE__ */ j(p, {
397
411
  label: t("brainyrich.households.kpi.aum", "Total AUM"),
398
412
  value: _(e.aum, e.currency),
399
413
  glow: !0,
400
- icon: /* @__PURE__ */ A(k, {
414
+ icon: /* @__PURE__ */ j(A, {
401
415
  className: "size-4",
402
416
  "aria-hidden": "true"
403
417
  })
404
418
  }),
405
- /* @__PURE__ */ A(p, {
419
+ /* @__PURE__ */ j(p, {
406
420
  label: t("brainyrich.households.kpi.total", "Households"),
407
421
  value: String(e.total),
408
- icon: /* @__PURE__ */ A(O, {
422
+ icon: /* @__PURE__ */ j(k, {
409
423
  className: "size-4",
410
424
  "aria-hidden": "true"
411
425
  })
412
426
  }),
413
- /* @__PURE__ */ A(p, {
427
+ /* @__PURE__ */ j(p, {
414
428
  label: t("brainyrich.households.kpi.active", "Active"),
415
429
  value: String(e.active),
416
- icon: /* @__PURE__ */ A(D, {
430
+ icon: /* @__PURE__ */ j(O, {
417
431
  className: "size-4",
418
432
  "aria-hidden": "true"
419
433
  })
420
434
  }),
421
- /* @__PURE__ */ A(p, {
435
+ /* @__PURE__ */ j(p, {
422
436
  label: t("brainyrich.households.kpi.prospects", "Prospects"),
423
437
  value: String(e.prospects),
424
- icon: /* @__PURE__ */ A(E, {
438
+ icon: /* @__PURE__ */ j(D, {
425
439
  className: "size-4",
426
440
  "aria-hidden": "true"
427
441
  })
428
442
  })
429
443
  ]
430
- }), /* @__PURE__ */ j("div", {
444
+ }), /* @__PURE__ */ M("div", {
431
445
  className: "grid gap-4 lg:grid-cols-3",
432
- children: [/* @__PURE__ */ j(f, {
446
+ children: [/* @__PURE__ */ M(f, {
433
447
  className: "lg:col-span-2",
434
- children: [/* @__PURE__ */ j("div", {
448
+ children: [/* @__PURE__ */ M("div", {
435
449
  className: "mb-4 flex items-center justify-between gap-2",
436
- children: [/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("h2", {
450
+ children: [/* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("h2", {
437
451
  className: "text-sm font-semibold text-text-primary",
438
452
  children: t("brainyrich.households.firm.byAdvisor", "AUM by advisor")
439
- }), /* @__PURE__ */ A("p", {
453
+ }), /* @__PURE__ */ j("p", {
440
454
  className: "text-xs text-text-secondary",
441
455
  children: t("brainyrich.households.firm.advisorCount", "{count} advisors", { count: e.advisorCount })
442
- })] }), /* @__PURE__ */ A(w, {
456
+ })] }), /* @__PURE__ */ j(se, {
443
457
  className: "size-4 text-text-secondary",
444
458
  "aria-hidden": "true"
445
459
  })]
446
- }), /* @__PURE__ */ A("ul", {
460
+ }), /* @__PURE__ */ j("ul", {
447
461
  className: "space-y-3.5",
448
462
  "aria-label": t("brainyrich.households.firm.byAdvisor", "AUM by advisor"),
449
463
  children: e.advisors.map((n) => {
450
464
  let r = e.advisorMax > 0 ? Math.max(2, n.value / e.advisorMax * 100) : 0;
451
- return /* @__PURE__ */ j("li", {
465
+ return /* @__PURE__ */ M("li", {
452
466
  className: "space-y-1.5",
453
- children: [/* @__PURE__ */ j("div", {
467
+ children: [/* @__PURE__ */ M("div", {
454
468
  className: "flex items-center justify-between gap-3 text-xs",
455
- children: [/* @__PURE__ */ j("span", {
469
+ children: [/* @__PURE__ */ M("span", {
456
470
  className: "flex items-center gap-1.5 truncate font-medium text-text-primary",
457
- children: [/* @__PURE__ */ A(ue, {
471
+ children: [/* @__PURE__ */ j(fe, {
458
472
  className: "size-3.5 shrink-0 text-text-secondary",
459
473
  "aria-hidden": "true"
460
- }), n.advisorId ? /* @__PURE__ */ A(l, { id: n.advisorId }) : t("brainyrich.common.unassigned", "Unassigned")]
461
- }), /* @__PURE__ */ A("span", {
474
+ }), n.advisorId ? /* @__PURE__ */ j(l, { id: n.advisorId }) : t("brainyrich.common.unassigned", "Unassigned")]
475
+ }), /* @__PURE__ */ j("span", {
462
476
  className: "shrink-0 tabular-nums text-text-secondary",
463
477
  children: h(n.value, e.currency)
464
478
  })]
465
- }), /* @__PURE__ */ A("div", {
479
+ }), /* @__PURE__ */ j("div", {
466
480
  className: "h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
467
481
  role: "progressbar",
468
482
  "aria-valuenow": Math.round(r),
469
483
  "aria-valuemin": 0,
470
484
  "aria-valuemax": 100,
471
485
  "aria-label": n.advisorId || "Unassigned",
472
- children: /* @__PURE__ */ A("div", {
486
+ children: /* @__PURE__ */ j("div", {
473
487
  className: "h-full rounded-full bg-[var(--color-action-primary-bg)] transition-[width] duration-500 ease-out",
474
488
  style: { width: `${r}%` }
475
489
  })
@@ -477,44 +491,44 @@ function ze({ firm: e, tr: t }) {
477
491
  }, n.advisorId || "unassigned");
478
492
  })
479
493
  })]
480
- }), /* @__PURE__ */ j(f, { children: [/* @__PURE__ */ A("div", {
494
+ }), /* @__PURE__ */ M(f, { children: [/* @__PURE__ */ j("div", {
481
495
  className: "mb-2 flex items-center justify-between gap-2",
482
- children: /* @__PURE__ */ A("h2", {
496
+ children: /* @__PURE__ */ j("h2", {
483
497
  className: "text-sm font-semibold text-text-primary",
484
498
  children: t("brainyrich.households.firm.bookMix", "Book by status")
485
499
  })
486
- }), e.statusMix.length > 0 ? /* @__PURE__ */ A(u, {
500
+ }), e.statusMix.length > 0 ? /* @__PURE__ */ j(u, {
487
501
  data: e.statusMix,
488
502
  centerValue: String(e.total),
489
503
  centerLabel: t("brainyrich.households.kpi.total", "Households"),
490
504
  legend: !0,
491
505
  height: 200,
492
506
  valueFormatter: (e) => String(e)
493
- }) : /* @__PURE__ */ A("p", {
507
+ }) : /* @__PURE__ */ j("p", {
494
508
  className: "text-sm text-text-secondary",
495
509
  children: t("brainyrich.households.firm.noMix", "No households to chart yet.")
496
510
  })] })]
497
511
  })]
498
512
  });
499
513
  }
500
- function Be({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubmit: a, canSubmit: o, submitting: s, tr: c }) {
501
- return /* @__PURE__ */ A(I, {
514
+ function He({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubmit: a, canSubmit: o, submitting: s, tr: c }) {
515
+ return /* @__PURE__ */ j(L, {
502
516
  open: e,
503
517
  onOpenChange: t,
504
- children: /* @__PURE__ */ j(fe, {
518
+ children: /* @__PURE__ */ M(me, {
505
519
  className: "max-h-[90vh] overflow-y-auto sm:max-w-lg",
506
- children: [/* @__PURE__ */ j(B, { children: [/* @__PURE__ */ A(pe, { children: n ? c("brainyrich.households.form.editTitle", "Edit household") : c("brainyrich.households.form.createTitle", "New household") }), /* @__PURE__ */ A(R, { children: c("brainyrich.households.form.subtitle", "A household groups a client family’s accounts, portfolios and goals.") })] }), /* @__PURE__ */ j("form", {
520
+ children: [/* @__PURE__ */ M(V, { children: [/* @__PURE__ */ j(he, { children: n ? c("brainyrich.households.form.editTitle", "Edit household") : c("brainyrich.households.form.createTitle", "New household") }), /* @__PURE__ */ j(z, { children: c("brainyrich.households.form.subtitle", "A household groups a client family’s accounts, portfolios and goals.") })] }), /* @__PURE__ */ M("form", {
507
521
  className: "space-y-4",
508
522
  onSubmit: (e) => {
509
523
  e.preventDefault(), a();
510
524
  },
511
525
  children: [
512
- /* @__PURE__ */ j("div", {
526
+ /* @__PURE__ */ M("div", {
513
527
  className: "space-y-2",
514
- children: [/* @__PURE__ */ j(U, {
528
+ children: [/* @__PURE__ */ M(W, {
515
529
  htmlFor: "hh-name",
516
530
  children: [c("brainyrich.households.form.name", "Name"), " *"]
517
- }), /* @__PURE__ */ A(H, {
531
+ }), /* @__PURE__ */ j(U, {
518
532
  id: "hh-name",
519
533
  value: r.name,
520
534
  onChange: (e) => i("name", e.target.value),
@@ -522,49 +536,49 @@ function Be({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubm
522
536
  required: !0
523
537
  })]
524
538
  }),
525
- /* @__PURE__ */ j("div", {
539
+ /* @__PURE__ */ M("div", {
526
540
  className: "grid gap-4 sm:grid-cols-2",
527
- children: [/* @__PURE__ */ j("div", {
541
+ children: [/* @__PURE__ */ M("div", {
528
542
  className: "space-y-2",
529
- children: [/* @__PURE__ */ A(U, { children: c("brainyrich.households.form.status", "Status") }), /* @__PURE__ */ j(W, {
543
+ children: [/* @__PURE__ */ j(W, { children: c("brainyrich.households.form.status", "Status") }), /* @__PURE__ */ M(G, {
530
544
  value: r.status,
531
545
  onValueChange: (e) => i("status", e),
532
- children: [/* @__PURE__ */ A(q, { children: /* @__PURE__ */ A(J, {}) }), /* @__PURE__ */ A(G, { children: je.map((e) => /* @__PURE__ */ A(K, {
546
+ children: [/* @__PURE__ */ j(J, { children: /* @__PURE__ */ j(Y, {}) }), /* @__PURE__ */ j(K, { children: Ne.map((e) => /* @__PURE__ */ j(q, {
533
547
  value: e,
534
548
  children: e
535
549
  }, e)) })]
536
550
  })]
537
- }), /* @__PURE__ */ j("div", {
551
+ }), /* @__PURE__ */ M("div", {
538
552
  className: "space-y-2",
539
- children: [/* @__PURE__ */ A(U, { children: c("brainyrich.households.form.risk", "Risk profile") }), /* @__PURE__ */ j(W, {
553
+ children: [/* @__PURE__ */ j(W, { children: c("brainyrich.households.form.risk", "Risk profile") }), /* @__PURE__ */ M(G, {
540
554
  value: r.riskProfile,
541
555
  onValueChange: (e) => i("riskProfile", e),
542
- children: [/* @__PURE__ */ A(q, { children: /* @__PURE__ */ A(J, {}) }), /* @__PURE__ */ A(G, { children: Me.map((e) => /* @__PURE__ */ A(K, {
556
+ children: [/* @__PURE__ */ j(J, { children: /* @__PURE__ */ j(Y, {}) }), /* @__PURE__ */ j(K, { children: Pe.map((e) => /* @__PURE__ */ j(q, {
543
557
  value: e,
544
558
  children: e
545
559
  }, e)) })]
546
560
  })]
547
561
  })]
548
562
  }),
549
- /* @__PURE__ */ j("div", {
563
+ /* @__PURE__ */ M("div", {
550
564
  className: "grid gap-4 sm:grid-cols-2",
551
- children: [/* @__PURE__ */ j("div", {
565
+ children: [/* @__PURE__ */ M("div", {
552
566
  className: "space-y-2",
553
- children: [/* @__PURE__ */ A(U, {
567
+ children: [/* @__PURE__ */ j(W, {
554
568
  htmlFor: "hh-contact-name",
555
569
  children: c("brainyrich.households.form.contactName", "Primary contact")
556
- }), /* @__PURE__ */ A(H, {
570
+ }), /* @__PURE__ */ j(U, {
557
571
  id: "hh-contact-name",
558
572
  value: r.primaryContactName,
559
573
  onChange: (e) => i("primaryContactName", e.target.value),
560
574
  placeholder: c("brainyrich.households.form.contactNamePh", "Full name")
561
575
  })]
562
- }), /* @__PURE__ */ j("div", {
576
+ }), /* @__PURE__ */ M("div", {
563
577
  className: "space-y-2",
564
- children: [/* @__PURE__ */ A(U, {
578
+ children: [/* @__PURE__ */ j(W, {
565
579
  htmlFor: "hh-contact-email",
566
580
  children: c("brainyrich.households.form.contactEmail", "Contact email")
567
- }), /* @__PURE__ */ A(H, {
581
+ }), /* @__PURE__ */ j(U, {
568
582
  id: "hh-contact-email",
569
583
  type: "email",
570
584
  value: r.primaryContactEmail,
@@ -573,24 +587,24 @@ function Be({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubm
573
587
  })]
574
588
  })]
575
589
  }),
576
- /* @__PURE__ */ j("div", {
590
+ /* @__PURE__ */ M("div", {
577
591
  className: "grid gap-4 sm:grid-cols-2",
578
- children: [/* @__PURE__ */ j("div", {
592
+ children: [/* @__PURE__ */ M("div", {
579
593
  className: "space-y-2",
580
- children: [/* @__PURE__ */ A(U, { children: c("brainyrich.households.form.currency", "Currency") }), /* @__PURE__ */ j(W, {
594
+ children: [/* @__PURE__ */ j(W, { children: c("brainyrich.households.form.currency", "Currency") }), /* @__PURE__ */ M(G, {
581
595
  value: r.currency,
582
596
  onValueChange: (e) => i("currency", e),
583
- children: [/* @__PURE__ */ A(q, { children: /* @__PURE__ */ A(J, {}) }), /* @__PURE__ */ A(G, { children: Ne.map((e) => /* @__PURE__ */ A(K, {
597
+ children: [/* @__PURE__ */ j(J, { children: /* @__PURE__ */ j(Y, {}) }), /* @__PURE__ */ j(K, { children: Fe.map((e) => /* @__PURE__ */ j(q, {
584
598
  value: e,
585
599
  children: e
586
600
  }, e)) })]
587
601
  })]
588
- }), n ? null : /* @__PURE__ */ j("div", {
602
+ }), n ? null : /* @__PURE__ */ M("div", {
589
603
  className: "space-y-2",
590
- children: [/* @__PURE__ */ A(U, {
604
+ children: [/* @__PURE__ */ j(W, {
591
605
  htmlFor: "hh-advisor",
592
606
  children: c("brainyrich.households.form.advisor", "Advisor ID")
593
- }), /* @__PURE__ */ A(H, {
607
+ }), /* @__PURE__ */ j(U, {
594
608
  id: "hh-advisor",
595
609
  value: r.advisorId,
596
610
  onChange: (e) => i("advisorId", e.target.value),
@@ -598,42 +612,42 @@ function Be({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubm
598
612
  })]
599
613
  })]
600
614
  }),
601
- n ? /* @__PURE__ */ A(y, {
615
+ n ? /* @__PURE__ */ j(S, {
602
616
  entityType: "brainyrich-household",
603
617
  entityId: n.id,
604
618
  label: c("brainyrich.households.form.tags", "Tags")
605
- }) : /* @__PURE__ */ j("div", {
619
+ }) : /* @__PURE__ */ M("div", {
606
620
  className: "space-y-2",
607
- children: [/* @__PURE__ */ A(U, {
621
+ children: [/* @__PURE__ */ j(W, {
608
622
  htmlFor: "hh-tags",
609
623
  children: c("brainyrich.households.form.tags", "Tags")
610
- }), /* @__PURE__ */ A(H, {
624
+ }), /* @__PURE__ */ j(U, {
611
625
  id: "hh-tags",
612
626
  value: r.tags,
613
627
  onChange: (e) => i("tags", e.target.value),
614
628
  placeholder: c("brainyrich.households.form.tagsPh", "Comma-separated")
615
629
  })]
616
630
  }),
617
- /* @__PURE__ */ j("div", {
631
+ /* @__PURE__ */ M("div", {
618
632
  className: "space-y-2",
619
- children: [/* @__PURE__ */ A(U, {
633
+ children: [/* @__PURE__ */ j(W, {
620
634
  htmlFor: "hh-notes",
621
635
  children: c("brainyrich.households.form.notes", "Notes")
622
- }), /* @__PURE__ */ A(Ae, {
636
+ }), /* @__PURE__ */ j(Me, {
623
637
  id: "hh-notes",
624
638
  value: r.notes,
625
639
  onChange: (e) => i("notes", e.target.value),
626
640
  rows: 3
627
641
  })]
628
642
  }),
629
- /* @__PURE__ */ j(z, { children: [/* @__PURE__ */ A(L, {
643
+ /* @__PURE__ */ M(B, { children: [/* @__PURE__ */ j(R, {
630
644
  asChild: !0,
631
- children: /* @__PURE__ */ A(N, {
645
+ children: /* @__PURE__ */ j(P, {
632
646
  type: "button",
633
647
  variant: "outline",
634
648
  children: c("brainyrich.common.cancel", "Cancel")
635
649
  })
636
- }), /* @__PURE__ */ A(N, {
650
+ }), /* @__PURE__ */ j(P, {
637
651
  type: "submit",
638
652
  disabled: !o,
639
653
  children: s ? c("brainyrich.common.saving", "Saving…") : n ? c("brainyrich.common.save", "Save changes") : c("brainyrich.households.form.create", "Create household")
@@ -643,86 +657,86 @@ function Be({ open: e, onOpenChange: t, editing: n, form: r, setField: i, onSubm
643
657
  })
644
658
  });
645
659
  }
646
- function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
647
- let { data: c, isLoading: ee, isError: te, refetch: d } = a(e), { data: p } = t(e ? { householdId: e } : {}), { data: ie } = s(e ? { householdId: e } : {}), { data: y } = i(e ? { householdId: e } : {}), x = !!e, S = oe(() => [...p].map((e) => ({
660
+ function Ue({ householdId: e, onClose: n, onEdit: r, tr: o }) {
661
+ let { data: c, isLoading: ee, isError: te, refetch: d } = a(e), { data: p } = t(e ? { householdId: e } : {}), { data: ie } = s(e ? { householdId: e } : {}), { data: y } = i(e ? { householdId: e } : {}), b = !!e, x = oe(() => [...p].map((e) => ({
648
662
  account: e,
649
- value: Le(e)
650
- })).sort((e, t) => t.value - e.value), [p]), w = S.reduce((e, t) => e + t.value, 0), T = S.filter((e) => e.value > 0).slice(0, 6).map((e) => ({
663
+ value: ze(e)
664
+ })).sort((e, t) => t.value - e.value), [p]), w = x.reduce((e, t) => e + t.value, 0), T = x.filter((e) => e.value > 0).slice(0, 6).map((e) => ({
651
665
  label: e.account.name,
652
666
  value: e.value
653
667
  }));
654
- return /* @__PURE__ */ A(ye, {
655
- open: x,
668
+ return /* @__PURE__ */ j(xe, {
669
+ open: b,
656
670
  onOpenChange: (e) => e ? void 0 : n(),
657
- children: /* @__PURE__ */ A(be, {
671
+ children: /* @__PURE__ */ j(Se, {
658
672
  className: "flex w-full flex-col gap-0 overflow-y-auto p-0 sm:max-w-xl",
659
- children: ee ? /* @__PURE__ */ A("div", {
673
+ children: ee ? /* @__PURE__ */ j("div", {
660
674
  className: "p-6",
661
- children: /* @__PURE__ */ A(re, { rows: 4 })
662
- }) : te ? /* @__PURE__ */ A("div", {
675
+ children: /* @__PURE__ */ j(re, { rows: 4 })
676
+ }) : te ? /* @__PURE__ */ j("div", {
663
677
  className: "p-6",
664
- children: /* @__PURE__ */ A(ne, {
678
+ children: /* @__PURE__ */ j(ne, {
665
679
  title: o("brainyrich.households.detail.error", "Could not load household"),
666
680
  onRetry: () => d()
667
681
  })
668
- }) : c ? /* @__PURE__ */ j("div", {
682
+ }) : c ? /* @__PURE__ */ M("div", {
669
683
  className: "space-y-5 p-6",
670
684
  children: [
671
- /* @__PURE__ */ j(Se, {
685
+ /* @__PURE__ */ M(we, {
672
686
  className: "space-y-2 p-0 text-left",
673
687
  children: [
674
- /* @__PURE__ */ A(Ce, {
688
+ /* @__PURE__ */ j(Te, {
675
689
  className: "text-xl",
676
690
  children: c.name
677
691
  }),
678
- /* @__PURE__ */ A(xe, {
692
+ /* @__PURE__ */ j(Ce, {
679
693
  className: "sr-only",
680
694
  children: o("brainyrich.households.detail.subtitle", "Household overview")
681
695
  }),
682
- /* @__PURE__ */ j("div", {
696
+ /* @__PURE__ */ M("div", {
683
697
  className: "flex flex-wrap items-center gap-2 pt-1",
684
- children: [/* @__PURE__ */ A(M, {
698
+ children: [/* @__PURE__ */ j(N, {
685
699
  variant: v(c.status),
686
700
  children: c.status
687
- }), /* @__PURE__ */ A(M, {
701
+ }), /* @__PURE__ */ j(N, {
688
702
  variant: "secondary",
689
703
  children: c.riskProfile
690
704
  })]
691
705
  })
692
706
  ]
693
707
  }),
694
- /* @__PURE__ */ A(f, {
708
+ /* @__PURE__ */ j(f, {
695
709
  glow: !0,
696
- children: /* @__PURE__ */ j("div", {
710
+ children: /* @__PURE__ */ M("div", {
697
711
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
698
- children: [/* @__PURE__ */ j("div", { children: [
699
- /* @__PURE__ */ A("p", {
712
+ children: [/* @__PURE__ */ M("div", { children: [
713
+ /* @__PURE__ */ j("p", {
700
714
  className: "text-xs uppercase tracking-wide text-text-secondary",
701
715
  children: o("brainyrich.households.detail.aum", "AUM")
702
716
  }),
703
- /* @__PURE__ */ A("p", {
717
+ /* @__PURE__ */ j("p", {
704
718
  className: "mt-1 text-3xl font-semibold tracking-tight text-text-primary",
705
719
  children: _(c.aum, c.currency)
706
720
  }),
707
- /* @__PURE__ */ A("p", {
721
+ /* @__PURE__ */ j("p", {
708
722
  className: "mt-1 text-xs text-text-secondary",
709
723
  children: c.currency
710
724
  })
711
- ] }), /* @__PURE__ */ j("div", {
725
+ ] }), /* @__PURE__ */ M("div", {
712
726
  className: "sm:text-right",
713
727
  children: [
714
- /* @__PURE__ */ A("p", {
728
+ /* @__PURE__ */ j("p", {
715
729
  className: "text-xs uppercase tracking-wide text-text-secondary",
716
730
  children: o("brainyrich.households.detail.contact", "Primary contact")
717
731
  }),
718
- /* @__PURE__ */ A("p", {
732
+ /* @__PURE__ */ j("p", {
719
733
  className: "mt-1 text-base font-medium text-text-primary",
720
734
  children: c.primaryContactName ?? "—"
721
735
  }),
722
- c.primaryContactEmail ? /* @__PURE__ */ j("a", {
736
+ c.primaryContactEmail ? /* @__PURE__ */ M("a", {
723
737
  href: `mailto:${c.primaryContactEmail}`,
724
738
  className: "mt-0.5 inline-flex items-center gap-1 text-xs text-text-secondary hover:text-[var(--color-action-primary-text)] sm:justify-end",
725
- children: [/* @__PURE__ */ A(se, {
739
+ children: [/* @__PURE__ */ j(le, {
726
740
  className: "size-3",
727
741
  "aria-hidden": "true"
728
742
  }), c.primaryContactEmail]
@@ -731,27 +745,27 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
731
745
  })]
732
746
  })
733
747
  }),
734
- /* @__PURE__ */ j("div", {
748
+ /* @__PURE__ */ M("div", {
735
749
  className: "grid grid-cols-3 gap-3",
736
750
  children: [
737
- /* @__PURE__ */ A($, {
738
- icon: /* @__PURE__ */ A(k, {
751
+ /* @__PURE__ */ j(We, {
752
+ icon: /* @__PURE__ */ j(A, {
739
753
  className: "size-4",
740
754
  "aria-hidden": "true"
741
755
  }),
742
756
  label: o("brainyrich.households.detail.accounts", "Accounts"),
743
757
  value: String(p.length)
744
758
  }),
745
- /* @__PURE__ */ A($, {
746
- icon: /* @__PURE__ */ A(C, {
759
+ /* @__PURE__ */ j(We, {
760
+ icon: /* @__PURE__ */ j(E, {
747
761
  className: "size-4",
748
762
  "aria-hidden": "true"
749
763
  }),
750
764
  label: o("brainyrich.households.detail.portfolios", "Portfolios"),
751
765
  value: String(ie.length)
752
766
  }),
753
- /* @__PURE__ */ A($, {
754
- icon: /* @__PURE__ */ A(E, {
767
+ /* @__PURE__ */ j(We, {
768
+ icon: /* @__PURE__ */ j(D, {
755
769
  className: "size-4",
756
770
  "aria-hidden": "true"
757
771
  }),
@@ -760,52 +774,52 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
760
774
  })
761
775
  ]
762
776
  }),
763
- c.tags.length > 0 ? /* @__PURE__ */ A("div", {
777
+ c.tags.length > 0 ? /* @__PURE__ */ j("div", {
764
778
  className: "flex flex-wrap gap-1",
765
- children: c.tags.map((e) => /* @__PURE__ */ A(M, {
779
+ children: c.tags.map((e) => /* @__PURE__ */ j(N, {
766
780
  variant: "outline",
767
781
  children: e
768
782
  }, e))
769
783
  }) : null,
770
- /* @__PURE__ */ j(Oe, {
784
+ /* @__PURE__ */ M(Ae, {
771
785
  defaultValue: "overview",
772
786
  className: "w-full",
773
787
  children: [
774
- /* @__PURE__ */ j(ke, {
788
+ /* @__PURE__ */ M(je, {
775
789
  className: "w-full justify-start overflow-x-auto",
776
790
  children: [
777
- /* @__PURE__ */ A(Q, {
791
+ /* @__PURE__ */ j($, {
778
792
  value: "overview",
779
793
  children: o("brainyrich.households.tab.overview", "Overview")
780
794
  }),
781
- /* @__PURE__ */ A(Q, {
795
+ /* @__PURE__ */ j($, {
782
796
  value: "accounts",
783
797
  children: o("brainyrich.households.detail.accounts", "Accounts")
784
798
  }),
785
- /* @__PURE__ */ A(Q, {
799
+ /* @__PURE__ */ j($, {
786
800
  value: "goals",
787
801
  children: o("brainyrich.households.detail.goals", "Goals")
788
802
  }),
789
- /* @__PURE__ */ A(Q, {
803
+ /* @__PURE__ */ j($, {
790
804
  value: "documents",
791
805
  children: o("brainyrich.households.detail.documents", "Documents")
792
806
  }),
793
- /* @__PURE__ */ A(Q, {
807
+ /* @__PURE__ */ j($, {
794
808
  value: "discussion",
795
809
  children: o("brainyrich.households.detail.discussion", "Discussion")
796
810
  })
797
811
  ]
798
812
  }),
799
- /* @__PURE__ */ j(Z, {
813
+ /* @__PURE__ */ M(Q, {
800
814
  value: "overview",
801
815
  className: "mt-4 space-y-4",
802
816
  children: [
803
- T.length > 0 ? /* @__PURE__ */ A(P, { children: /* @__PURE__ */ j(F, {
817
+ T.length > 0 ? /* @__PURE__ */ j(F, { children: /* @__PURE__ */ M(I, {
804
818
  className: "p-4",
805
- children: [/* @__PURE__ */ A("h3", {
819
+ children: [/* @__PURE__ */ j("h3", {
806
820
  className: "mb-3 text-sm font-medium text-text-primary",
807
821
  children: o("brainyrich.households.detail.allocation", "Where assets sit")
808
- }), /* @__PURE__ */ A(u, {
822
+ }), /* @__PURE__ */ j(u, {
809
823
  data: T,
810
824
  centerValue: h(w, c.currency),
811
825
  centerLabel: o("brainyrich.households.detail.invested", "Invested"),
@@ -813,85 +827,92 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
813
827
  valueFormatter: (e) => _(e, c.currency)
814
828
  })]
815
829
  }) }) : null,
816
- /* @__PURE__ */ A(P, { children: /* @__PURE__ */ j(F, {
830
+ /* @__PURE__ */ j(F, { children: /* @__PURE__ */ M(I, {
817
831
  className: "space-y-3 p-4 text-sm",
818
832
  children: [
819
- /* @__PURE__ */ j("div", {
833
+ /* @__PURE__ */ M("div", {
820
834
  className: "flex items-center justify-between gap-4",
821
- children: [/* @__PURE__ */ A("span", {
835
+ children: [/* @__PURE__ */ j("span", {
822
836
  className: "text-text-secondary",
823
837
  children: o("brainyrich.households.detail.advisor", "Advisor")
824
- }), /* @__PURE__ */ A("span", {
838
+ }), /* @__PURE__ */ j("span", {
825
839
  className: "text-right font-medium text-text-primary",
826
- children: c.advisorId ? /* @__PURE__ */ A(l, { id: c.advisorId }) : o("brainyrich.common.unassigned", "Unassigned")
840
+ children: c.advisorId ? /* @__PURE__ */ j(l, { id: c.advisorId }) : o("brainyrich.common.unassigned", "Unassigned")
827
841
  })]
828
842
  }),
829
- /* @__PURE__ */ A(ve, {}),
830
- /* @__PURE__ */ A(He, {
843
+ /* @__PURE__ */ j(be, {}),
844
+ /* @__PURE__ */ j(Ge, {
831
845
  label: o("brainyrich.households.detail.created", "Created"),
832
846
  value: g(c.createdAt)
833
847
  }),
834
- /* @__PURE__ */ A(He, {
848
+ /* @__PURE__ */ j(Ge, {
835
849
  label: o("brainyrich.households.detail.updated", "Last updated"),
836
850
  value: g(c.updatedAt)
837
851
  })
838
852
  ]
839
853
  }) }),
840
- c.notes ? /* @__PURE__ */ A(P, { children: /* @__PURE__ */ j(F, {
854
+ c.notes ? /* @__PURE__ */ j(F, { children: /* @__PURE__ */ M(I, {
841
855
  className: "space-y-1 p-4",
842
- children: [/* @__PURE__ */ A("p", {
856
+ children: [/* @__PURE__ */ j("p", {
843
857
  className: "text-xs font-medium uppercase tracking-wide text-text-secondary",
844
858
  children: o("brainyrich.households.detail.summary", "Summary")
845
- }), /* @__PURE__ */ A("p", {
859
+ }), /* @__PURE__ */ j("p", {
846
860
  className: "text-sm text-text-primary",
847
861
  children: c.notes
848
862
  })]
849
- }) }) : null
863
+ }) }) : null,
864
+ /* @__PURE__ */ j(F, { children: /* @__PURE__ */ j(I, {
865
+ className: "p-4",
866
+ children: /* @__PURE__ */ j(S, {
867
+ entityType: "brainyrich-household",
868
+ entityId: c.id
869
+ })
870
+ }) })
850
871
  ]
851
872
  }),
852
- /* @__PURE__ */ A(Z, {
873
+ /* @__PURE__ */ j(Q, {
853
874
  value: "accounts",
854
875
  className: "mt-4 space-y-2",
855
- children: S.length === 0 ? /* @__PURE__ */ A(m, {
856
- icon: /* @__PURE__ */ A(k, {
876
+ children: x.length === 0 ? /* @__PURE__ */ j(m, {
877
+ icon: /* @__PURE__ */ j(A, {
857
878
  className: "size-6",
858
879
  "aria-hidden": "true"
859
880
  }),
860
881
  title: o("brainyrich.households.detail.noAccounts", "No accounts linked")
861
- }) : S.map(({ account: e, value: t }) => /* @__PURE__ */ j("div", {
882
+ }) : x.map(({ account: e, value: t }) => /* @__PURE__ */ M("div", {
862
883
  className: "flex items-center justify-between gap-3 rounded-lg border border-border-subtle bg-bg-surface p-3 transition-colors hover:border-[var(--color-action-primary-border)]",
863
- children: [/* @__PURE__ */ j("div", {
884
+ children: [/* @__PURE__ */ M("div", {
864
885
  className: "min-w-0",
865
- children: [/* @__PURE__ */ A("p", {
886
+ children: [/* @__PURE__ */ j("p", {
866
887
  className: "truncate text-sm font-medium text-text-primary",
867
888
  children: e.name
868
- }), /* @__PURE__ */ j("p", {
889
+ }), /* @__PURE__ */ M("p", {
869
890
  className: "text-xs text-text-secondary",
870
891
  children: [e.institution ?? e.type, e.accountMask ? ` ·••${e.accountMask}` : ""]
871
892
  })]
872
- }), /* @__PURE__ */ A("span", {
893
+ }), /* @__PURE__ */ j("span", {
873
894
  className: "shrink-0 text-sm font-semibold tabular-nums text-status-success-text",
874
895
  children: _(t, e.currency)
875
896
  })]
876
897
  }, e.id))
877
898
  }),
878
- /* @__PURE__ */ A(Z, {
899
+ /* @__PURE__ */ j(Q, {
879
900
  value: "goals",
880
901
  className: "mt-4 space-y-2",
881
- children: y.length === 0 ? /* @__PURE__ */ A(m, {
882
- icon: /* @__PURE__ */ A(E, {
902
+ children: y.length === 0 ? /* @__PURE__ */ j(m, {
903
+ icon: /* @__PURE__ */ j(D, {
883
904
  className: "size-6",
884
905
  "aria-hidden": "true"
885
906
  }),
886
907
  title: o("brainyrich.households.detail.noGoals", "No goals set")
887
- }) : y.map((e) => /* @__PURE__ */ j("div", {
908
+ }) : y.map((e) => /* @__PURE__ */ M("div", {
888
909
  className: "flex items-center justify-between gap-3 rounded-lg border border-border-subtle bg-bg-surface p-3",
889
- children: [/* @__PURE__ */ j("div", {
910
+ children: [/* @__PURE__ */ M("div", {
890
911
  className: "min-w-0",
891
- children: [/* @__PURE__ */ A("p", {
912
+ children: [/* @__PURE__ */ j("p", {
892
913
  className: "truncate text-sm font-medium text-text-primary",
893
914
  children: e.name
894
- }), /* @__PURE__ */ j("p", {
915
+ }), /* @__PURE__ */ M("p", {
895
916
  className: "text-xs text-text-secondary",
896
917
  children: [
897
918
  o("brainyrich.households.detail.goalTarget", "Target"),
@@ -901,26 +922,26 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
901
922
  g(e.targetDate)
902
923
  ]
903
924
  })]
904
- }), /* @__PURE__ */ A(M, {
925
+ }), /* @__PURE__ */ j(N, {
905
926
  variant: v(e.projection),
906
927
  className: "shrink-0",
907
928
  children: e.projection.replace(/_/g, " ")
908
929
  })]
909
930
  }, e.id))
910
931
  }),
911
- /* @__PURE__ */ A(Z, {
932
+ /* @__PURE__ */ j(Q, {
912
933
  value: "documents",
913
934
  className: "mt-4",
914
- children: /* @__PURE__ */ A(ae, {
935
+ children: /* @__PURE__ */ j(ae, {
915
936
  entityType: "brainyrich-household",
916
937
  entityId: c.id,
917
938
  heading: o("brainyrich.households.detail.documents", "Documents")
918
939
  })
919
940
  }),
920
- /* @__PURE__ */ A(Z, {
941
+ /* @__PURE__ */ j(Q, {
921
942
  value: "discussion",
922
943
  className: "mt-4",
923
- children: /* @__PURE__ */ A(b, {
944
+ children: /* @__PURE__ */ j(C, {
924
945
  entityType: "brainyrich-household",
925
946
  entityId: c.id,
926
947
  heading: o("brainyrich.households.detail.discussion", "Discussion")
@@ -928,20 +949,20 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
928
949
  })
929
950
  ]
930
951
  }),
931
- /* @__PURE__ */ j(N, {
952
+ /* @__PURE__ */ M(P, {
932
953
  variant: "outline",
933
954
  className: "w-full",
934
955
  onClick: () => r(c),
935
- children: [/* @__PURE__ */ A(le, {
956
+ children: [/* @__PURE__ */ j(de, {
936
957
  className: "size-4",
937
958
  "aria-hidden": "true"
938
959
  }), o("brainyrich.households.action.edit", "Edit")]
939
960
  })
940
961
  ]
941
- }) : /* @__PURE__ */ A("div", {
962
+ }) : /* @__PURE__ */ j("div", {
942
963
  className: "p-6",
943
- children: /* @__PURE__ */ A(m, {
944
- icon: /* @__PURE__ */ A(O, {
964
+ children: /* @__PURE__ */ j(m, {
965
+ icon: /* @__PURE__ */ j(k, {
945
966
  className: "size-6",
946
967
  "aria-hidden": "true"
947
968
  }),
@@ -951,38 +972,38 @@ function Ve({ householdId: e, onClose: n, onEdit: r, tr: o }) {
951
972
  })
952
973
  });
953
974
  }
954
- function $({ icon: e, label: t, value: n }) {
955
- return /* @__PURE__ */ j("div", {
975
+ function We({ icon: e, label: t, value: n }) {
976
+ return /* @__PURE__ */ M("div", {
956
977
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3 text-center transition-shadow motion-safe:hover:shadow-[var(--shadow-pop-hover,var(--shadow-elevation-2))]",
957
978
  children: [
958
- /* @__PURE__ */ A("div", {
979
+ /* @__PURE__ */ j("div", {
959
980
  className: "mx-auto mb-1 flex size-8 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
960
981
  children: e
961
982
  }),
962
- /* @__PURE__ */ A("p", {
983
+ /* @__PURE__ */ j("p", {
963
984
  className: "text-lg font-semibold text-text-primary",
964
985
  children: n
965
986
  }),
966
- /* @__PURE__ */ A("p", {
987
+ /* @__PURE__ */ j("p", {
967
988
  className: "text-xs text-text-secondary",
968
989
  children: t
969
990
  })
970
991
  ]
971
992
  });
972
993
  }
973
- function He({ label: e, value: t }) {
974
- return /* @__PURE__ */ j("div", {
994
+ function Ge({ label: e, value: t }) {
995
+ return /* @__PURE__ */ M("div", {
975
996
  className: "flex items-center justify-between gap-4",
976
- children: [/* @__PURE__ */ A("span", {
997
+ children: [/* @__PURE__ */ j("span", {
977
998
  className: "text-text-secondary",
978
999
  children: e
979
- }), /* @__PURE__ */ A("span", {
1000
+ }), /* @__PURE__ */ j("span", {
980
1001
  className: "text-right font-medium text-text-primary",
981
1002
  children: t
982
1003
  })]
983
1004
  });
984
1005
  }
985
1006
  //#endregion
986
- export { Re as FamilyPage };
1007
+ export { Be as FamilyPage };
987
1008
 
988
1009
  //# sourceMappingURL=FamilyPage.js.map