@burdenoff/microfe-brainyrich 2026.828.1 → 2026.830.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.
- package/dist/brainyrich/BrainyRichRoot.d.ts.map +1 -1
- package/dist/brainyrich/BrainyRichRoot.js +59 -59
- package/dist/brainyrich/BrainyRichRoot.js.map +1 -1
- package/dist/brainyrich/components/viz.d.ts.map +1 -1
- package/dist/brainyrich/components/viz.js +149 -148
- package/dist/brainyrich/components/viz.js.map +1 -1
- package/dist/brainyrich/hooks/useTr.d.ts +17 -0
- package/dist/brainyrich/hooks/useTr.d.ts.map +1 -0
- package/dist/brainyrich/hooks/useTr.js +14 -0
- package/dist/brainyrich/hooks/useTr.js.map +1 -0
- package/dist/brainyrich/pages/AiAssistantPage.js +192 -192
- package/dist/brainyrich/pages/AiAssistantPage.js.map +1 -1
- package/dist/brainyrich/pages/AnalyticsPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/AnalyticsPage.js +253 -252
- package/dist/brainyrich/pages/AnalyticsPage.js.map +1 -1
- package/dist/brainyrich/pages/DashboardPage.js +115 -115
- package/dist/brainyrich/pages/DashboardPage.js.map +1 -1
- package/dist/brainyrich/pages/FamilyPage.js +59 -59
- package/dist/brainyrich/pages/FamilyPage.js.map +1 -1
- package/dist/brainyrich/pages/GoalsPage.js +285 -285
- package/dist/brainyrich/pages/GoalsPage.js.map +1 -1
- package/dist/brainyrich/pages/InvestmentsPage.js +18 -18
- package/dist/brainyrich/pages/InvestmentsPage.js.map +1 -1
- package/dist/brainyrich/pages/PortfoliosPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/PortfoliosPage.js +477 -471
- package/dist/brainyrich/pages/PortfoliosPage.js.map +1 -1
- package/dist/brainyrich/pages/ReportsPage.js +52 -52
- package/dist/brainyrich/pages/ReportsPage.js.map +1 -1
- package/dist/brainyrich/pages/RiskPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/RiskPage.js +272 -271
- package/dist/brainyrich/pages/RiskPage.js.map +1 -1
- package/dist/brainyrich/pages/TaxPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/TaxPage.js +198 -197
- package/dist/brainyrich/pages/TaxPage.js.map +1 -1
- package/dist/brainyrich/pages/_shared.d.ts.map +1 -1
- package/dist/brainyrich/pages/_shared.js +84 -82
- package/dist/brainyrich/pages/_shared.js.map +1 -1
- package/dist/brainyrich/types/bra.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import { CalendarClock as re, ChevronDown as ie, Download as ae, FileText as N,
|
|
|
8
8
|
import { useI18n as _e } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
9
9
|
import { useQuery as ve } from "@tanstack/react-query";
|
|
10
10
|
import { jsx as F, jsxs as I } from "react/jsx-runtime";
|
|
11
|
-
import { Badge as L, Button as R, Card as z, CardContent as B, CardDescription as V, CardHeader as H, CardTitle as U,
|
|
11
|
+
import { Badge as L, Button as R, Card as z, CardContent as B, CardDescription as V, CardHeader as H, CardTitle as U, DropdownMenu as ye, DropdownMenuContent as be, DropdownMenuItem as xe, DropdownMenuTrigger as Se, Input as Ce, Label as W, ResponsiveDialog as we, ResponsiveDialogClose as Te, ResponsiveDialogContent as Ee, ResponsiveDialogDescription as De, ResponsiveDialogFooter as Oe, ResponsiveDialogHeader as ke, ResponsiveDialogTitle as Ae, Select as je, SelectContent as Me, SelectItem as Ne, SelectTrigger as Pe, SelectValue as Fe, Skeleton as Ie, Table as G, TableBody as K, TableCell as q, TableHead as J, TableHeader as Y, TableRow as X, Tabs as Le, TabsList as Re, TabsTrigger as Z, Textarea as ze } from "@burdenoff/fe-libs/ui";
|
|
12
12
|
//#region src/brainyrich/pages/ReportsPage.tsx
|
|
13
13
|
var Be = {
|
|
14
14
|
EQUITY: "Equity",
|
|
@@ -272,7 +272,7 @@ function $e() {
|
|
|
272
272
|
return /* @__PURE__ */ I(ne, {
|
|
273
273
|
title: n("brainyrich.reports.title", "Reports & Statements"),
|
|
274
274
|
description: n("brainyrich.reports.description", "Generate statements directly from your live portfolio data — no fabricated schedules."),
|
|
275
|
-
actions: /* @__PURE__ */ I(
|
|
275
|
+
actions: /* @__PURE__ */ I(ye, { children: [/* @__PURE__ */ F(Se, {
|
|
276
276
|
asChild: !0,
|
|
277
277
|
children: /* @__PURE__ */ I(R, {
|
|
278
278
|
size: "sm",
|
|
@@ -290,15 +290,15 @@ function $e() {
|
|
|
290
290
|
})
|
|
291
291
|
]
|
|
292
292
|
})
|
|
293
|
-
}), /* @__PURE__ */ I(
|
|
293
|
+
}), /* @__PURE__ */ I(be, {
|
|
294
294
|
align: "end",
|
|
295
|
-
children: [/* @__PURE__ */ I(
|
|
295
|
+
children: [/* @__PURE__ */ I(xe, {
|
|
296
296
|
onSelect: le,
|
|
297
297
|
children: [/* @__PURE__ */ F(ae, {
|
|
298
298
|
className: "size-4",
|
|
299
299
|
"aria-hidden": "true"
|
|
300
300
|
}), n("brainyrich.reports.actions.downloadCsv", "Download CSV")]
|
|
301
|
-
}), /* @__PURE__ */ I(
|
|
301
|
+
}), /* @__PURE__ */ I(xe, {
|
|
302
302
|
onSelect: () => window.print(),
|
|
303
303
|
children: [/* @__PURE__ */ F(ue, {
|
|
304
304
|
className: "size-4",
|
|
@@ -424,7 +424,7 @@ function et({ households: e, translate: t }) {
|
|
|
424
424
|
children: [
|
|
425
425
|
/* @__PURE__ */ I(z, { children: [/* @__PURE__ */ I(H, {
|
|
426
426
|
className: "flex flex-row items-center justify-between gap-4",
|
|
427
|
-
children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F(U, { children: t("brainyrich.reports.scheduled.title", "Scheduled Client Reports") }), /* @__PURE__ */ F(V, { children: t("brainyrich.reports.scheduled.description", "Real recurring PDF report generation, regenerated on demand from a stored snapshot — no fabricated schedules.") })] }), /* @__PURE__ */ I(
|
|
427
|
+
children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F(U, { children: t("brainyrich.reports.scheduled.title", "Scheduled Client Reports") }), /* @__PURE__ */ F(V, { children: t("brainyrich.reports.scheduled.description", "Real recurring PDF report generation, regenerated on demand from a stored snapshot — no fabricated schedules.") })] }), /* @__PURE__ */ I(we, {
|
|
428
428
|
open: g,
|
|
429
429
|
onOpenChange: _,
|
|
430
430
|
children: [/* @__PURE__ */ I(R, {
|
|
@@ -434,8 +434,8 @@ function et({ households: e, translate: t }) {
|
|
|
434
434
|
className: "size-4",
|
|
435
435
|
"aria-hidden": "true"
|
|
436
436
|
}), t("brainyrich.reports.scheduled.new", "New schedule")]
|
|
437
|
-
}), /* @__PURE__ */ I(
|
|
438
|
-
/* @__PURE__ */ I(
|
|
437
|
+
}), /* @__PURE__ */ I(Ee, { children: [
|
|
438
|
+
/* @__PURE__ */ I(ke, { children: [/* @__PURE__ */ F(Ae, { children: t("brainyrich.reports.scheduled.newTitle", "New scheduled report") }), /* @__PURE__ */ F(De, { children: t("brainyrich.reports.scheduled.newDescription", "Recurring reports render the same real path as an on-demand generation.") })] }),
|
|
439
439
|
/* @__PURE__ */ I("div", {
|
|
440
440
|
className: "space-y-4",
|
|
441
441
|
children: [
|
|
@@ -444,7 +444,7 @@ function et({ households: e, translate: t }) {
|
|
|
444
444
|
children: [/* @__PURE__ */ F(W, {
|
|
445
445
|
htmlFor: "schedule-name",
|
|
446
446
|
children: t("brainyrich.reports.scheduled.fields.name", "Name")
|
|
447
|
-
}), /* @__PURE__ */ F(
|
|
447
|
+
}), /* @__PURE__ */ F(Ce, {
|
|
448
448
|
id: "schedule-name",
|
|
449
449
|
value: v,
|
|
450
450
|
onChange: (e) => y(e.target.value),
|
|
@@ -459,15 +459,15 @@ function et({ households: e, translate: t }) {
|
|
|
459
459
|
children: [/* @__PURE__ */ F(Pe, { children: /* @__PURE__ */ F(Fe, {}) }), /* @__PURE__ */ I(Me, { children: [
|
|
460
460
|
/* @__PURE__ */ F(Ne, {
|
|
461
461
|
value: "WEEKLY",
|
|
462
|
-
children: "Weekly"
|
|
462
|
+
children: t("brainyrich.reports.scheduled.frequency.weekly", "Weekly")
|
|
463
463
|
}),
|
|
464
464
|
/* @__PURE__ */ F(Ne, {
|
|
465
465
|
value: "MONTHLY",
|
|
466
|
-
children: "Monthly"
|
|
466
|
+
children: t("brainyrich.reports.scheduled.frequency.monthly", "Monthly")
|
|
467
467
|
}),
|
|
468
468
|
/* @__PURE__ */ F(Ne, {
|
|
469
469
|
value: "QUARTERLY",
|
|
470
|
-
children: "Quarterly"
|
|
470
|
+
children: t("brainyrich.reports.scheduled.frequency.quarterly", "Quarterly")
|
|
471
471
|
})
|
|
472
472
|
] })]
|
|
473
473
|
})]
|
|
@@ -485,11 +485,11 @@ function et({ households: e, translate: t }) {
|
|
|
485
485
|
})
|
|
486
486
|
]
|
|
487
487
|
}),
|
|
488
|
-
/* @__PURE__ */ I(
|
|
488
|
+
/* @__PURE__ */ I(Oe, { children: [/* @__PURE__ */ F(Te, {
|
|
489
489
|
asChild: !0,
|
|
490
490
|
children: /* @__PURE__ */ F(R, {
|
|
491
491
|
variant: "secondary",
|
|
492
|
-
children: "Cancel"
|
|
492
|
+
children: t("brainyrich.common.cancel", "Cancel")
|
|
493
493
|
})
|
|
494
494
|
}), /* @__PURE__ */ F(R, {
|
|
495
495
|
onClick: () => {
|
|
@@ -511,14 +511,14 @@ function et({ households: e, translate: t }) {
|
|
|
511
511
|
}),
|
|
512
512
|
title: t("brainyrich.reports.scheduled.empty", "No scheduled reports yet")
|
|
513
513
|
}) : /* @__PURE__ */ I(G, { children: [/* @__PURE__ */ F(Y, { children: /* @__PURE__ */ I(X, { children: [
|
|
514
|
-
/* @__PURE__ */ F(J, { children: "Name" }),
|
|
515
|
-
/* @__PURE__ */ F(J, { children: "Frequency" }),
|
|
516
|
-
/* @__PURE__ */ F(J, { children: "Status" }),
|
|
517
|
-
/* @__PURE__ */ F(J, { children: "Next run" }),
|
|
518
|
-
/* @__PURE__ */ F(J, { children: "Last run" }),
|
|
514
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.scheduled.columns.name", "Name") }),
|
|
515
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.scheduled.columns.frequency", "Frequency") }),
|
|
516
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.scheduled.columns.status", "Status") }),
|
|
517
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.scheduled.columns.nextRun", "Next run") }),
|
|
518
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.scheduled.columns.lastRun", "Last run") }),
|
|
519
519
|
/* @__PURE__ */ F(J, {
|
|
520
520
|
className: "text-right",
|
|
521
|
-
children: "Actions"
|
|
521
|
+
children: t("brainyrich.reports.scheduled.columns.actions", "Actions")
|
|
522
522
|
})
|
|
523
523
|
] }) }), /* @__PURE__ */ F(K, { children: n.data.map((e) => /* @__PURE__ */ I(X, { children: [
|
|
524
524
|
/* @__PURE__ */ F(q, {
|
|
@@ -568,12 +568,12 @@ function et({ households: e, translate: t }) {
|
|
|
568
568
|
}),
|
|
569
569
|
title: t("brainyrich.reports.runs.empty", "No report runs yet")
|
|
570
570
|
}) : /* @__PURE__ */ I(G, { children: [/* @__PURE__ */ F(Y, { children: /* @__PURE__ */ I(X, { children: [
|
|
571
|
-
/* @__PURE__ */ F(J, { children: "Period" }),
|
|
572
|
-
/* @__PURE__ */ F(J, { children: "Status" }),
|
|
573
|
-
/* @__PURE__ */ F(J, { children: "Generated" }),
|
|
571
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.runs.columns.period", "Period") }),
|
|
572
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.runs.columns.status", "Status") }),
|
|
573
|
+
/* @__PURE__ */ F(J, { children: t("brainyrich.reports.runs.columns.generated", "Generated") }),
|
|
574
574
|
/* @__PURE__ */ F(J, {
|
|
575
575
|
className: "text-right",
|
|
576
|
-
children: "Actions"
|
|
576
|
+
children: t("brainyrich.reports.runs.columns.actions", "Actions")
|
|
577
577
|
})
|
|
578
578
|
] }) }), /* @__PURE__ */ F(K, { children: r.data.map((e) => /* @__PURE__ */ I(X, { children: [
|
|
579
579
|
/* @__PURE__ */ I(q, { children: [
|
|
@@ -614,8 +614,8 @@ function et({ households: e, translate: t }) {
|
|
|
614
614
|
]
|
|
615
615
|
});
|
|
616
616
|
}
|
|
617
|
-
function tt({ branding: e, isSaving:
|
|
618
|
-
let
|
|
617
|
+
function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
618
|
+
let { t: i } = _e(), a = (e, n, r) => t(i, e, n, r), [o, s] = M(() => e?.firmName ?? ""), [c, l] = M(() => e?.primaryColor ?? ""), [u, d] = M(() => e?.contactEmail ?? ""), [f, ee] = M(() => e?.disclaimer ?? "");
|
|
619
619
|
return /* @__PURE__ */ I("div", {
|
|
620
620
|
className: "grid gap-4 md:grid-cols-2",
|
|
621
621
|
children: [
|
|
@@ -623,60 +623,60 @@ function tt({ branding: e, isSaving: t, onSave: n }) {
|
|
|
623
623
|
className: "space-y-1.5",
|
|
624
624
|
children: [/* @__PURE__ */ F(W, {
|
|
625
625
|
htmlFor: "branding-firm",
|
|
626
|
-
children: "Firm name"
|
|
627
|
-
}), /* @__PURE__ */ F(
|
|
626
|
+
children: a("brainyrich.reports.branding.firmName", "Firm name")
|
|
627
|
+
}), /* @__PURE__ */ F(Ce, {
|
|
628
628
|
id: "branding-firm",
|
|
629
|
-
value:
|
|
630
|
-
onChange: (e) =>
|
|
629
|
+
value: o,
|
|
630
|
+
onChange: (e) => s(e.target.value)
|
|
631
631
|
})]
|
|
632
632
|
}),
|
|
633
633
|
/* @__PURE__ */ I("div", {
|
|
634
634
|
className: "space-y-1.5",
|
|
635
635
|
children: [/* @__PURE__ */ F(W, {
|
|
636
636
|
htmlFor: "branding-color",
|
|
637
|
-
children: "Primary color (hex)"
|
|
638
|
-
}), /* @__PURE__ */ F(
|
|
637
|
+
children: a("brainyrich.reports.branding.primaryColor", "Primary color (hex)")
|
|
638
|
+
}), /* @__PURE__ */ F(Ce, {
|
|
639
639
|
id: "branding-color",
|
|
640
|
-
value:
|
|
641
|
-
onChange: (e) =>
|
|
642
|
-
placeholder: "
|
|
640
|
+
value: c,
|
|
641
|
+
onChange: (e) => l(e.target.value),
|
|
642
|
+
placeholder: a("brainyrich.reports.branding.primaryColorPlaceholder", "Primary brand color")
|
|
643
643
|
})]
|
|
644
644
|
}),
|
|
645
645
|
/* @__PURE__ */ I("div", {
|
|
646
646
|
className: "space-y-1.5",
|
|
647
647
|
children: [/* @__PURE__ */ F(W, {
|
|
648
648
|
htmlFor: "branding-email",
|
|
649
|
-
children: "Contact email"
|
|
650
|
-
}), /* @__PURE__ */ F(
|
|
649
|
+
children: a("brainyrich.reports.branding.contactEmail", "Contact email")
|
|
650
|
+
}), /* @__PURE__ */ F(Ce, {
|
|
651
651
|
id: "branding-email",
|
|
652
652
|
type: "email",
|
|
653
|
-
value:
|
|
654
|
-
onChange: (e) =>
|
|
653
|
+
value: u,
|
|
654
|
+
onChange: (e) => d(e.target.value)
|
|
655
655
|
})]
|
|
656
656
|
}),
|
|
657
657
|
/* @__PURE__ */ I("div", {
|
|
658
658
|
className: "space-y-1.5 md:col-span-2",
|
|
659
659
|
children: [/* @__PURE__ */ F(W, {
|
|
660
660
|
htmlFor: "branding-disclaimer",
|
|
661
|
-
children: "Disclaimer"
|
|
661
|
+
children: a("brainyrich.reports.branding.disclaimer", "Disclaimer")
|
|
662
662
|
}), /* @__PURE__ */ F(ze, {
|
|
663
663
|
id: "branding-disclaimer",
|
|
664
|
-
value:
|
|
665
|
-
onChange: (e) =>
|
|
664
|
+
value: f,
|
|
665
|
+
onChange: (e) => ee(e.target.value),
|
|
666
666
|
rows: 3
|
|
667
667
|
})]
|
|
668
668
|
}),
|
|
669
669
|
/* @__PURE__ */ F("div", {
|
|
670
670
|
className: "md:col-span-2",
|
|
671
671
|
children: /* @__PURE__ */ F(R, {
|
|
672
|
-
disabled:
|
|
673
|
-
onClick: () =>
|
|
674
|
-
firmName:
|
|
675
|
-
primaryColor:
|
|
676
|
-
contactEmail:
|
|
677
|
-
disclaimer:
|
|
672
|
+
disabled: n,
|
|
673
|
+
onClick: () => r({
|
|
674
|
+
firmName: o || void 0,
|
|
675
|
+
primaryColor: c || void 0,
|
|
676
|
+
contactEmail: u || void 0,
|
|
677
|
+
disclaimer: f || void 0
|
|
678
678
|
}),
|
|
679
|
-
children:
|
|
679
|
+
children: n ? "Saving…" : "Save branding"
|
|
680
680
|
})
|
|
681
681
|
})
|
|
682
682
|
]
|
|
@@ -1067,7 +1067,7 @@ function at({ householdsQuery: e, households: t, activeHousehold: n, onSelect: r
|
|
|
1067
1067
|
children: [/* @__PURE__ */ F("span", {
|
|
1068
1068
|
className: "text-sm text-text-secondary",
|
|
1069
1069
|
children: l("brainyrich.reports.statement.for", "Statement for")
|
|
1070
|
-
}), /* @__PURE__ */ I(
|
|
1070
|
+
}), /* @__PURE__ */ I(ye, { children: [/* @__PURE__ */ F(Se, {
|
|
1071
1071
|
asChild: !0,
|
|
1072
1072
|
children: /* @__PURE__ */ I(R, {
|
|
1073
1073
|
variant: "outline",
|
|
@@ -1084,10 +1084,10 @@ function at({ householdsQuery: e, households: t, activeHousehold: n, onSelect: r
|
|
|
1084
1084
|
})
|
|
1085
1085
|
]
|
|
1086
1086
|
})
|
|
1087
|
-
}), /* @__PURE__ */ F(
|
|
1087
|
+
}), /* @__PURE__ */ F(be, {
|
|
1088
1088
|
align: "start",
|
|
1089
1089
|
className: "max-h-72 overflow-y-auto",
|
|
1090
|
-
children: t.map((e) => /* @__PURE__ */ F(
|
|
1090
|
+
children: t.map((e) => /* @__PURE__ */ F(xe, {
|
|
1091
1091
|
onSelect: () => r(e.id),
|
|
1092
1092
|
children: e.name
|
|
1093
1093
|
}, e.id))
|