@burdenoff/microfe-brainyrich 2026.509.101

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 (114) hide show
  1. package/README.md +12 -0
  2. package/dist/brainyrich/BrainyRichRoot.d.ts +5 -0
  3. package/dist/brainyrich/BrainyRichRoot.d.ts.map +1 -0
  4. package/dist/brainyrich/BrainyRichRoot.js +161 -0
  5. package/dist/brainyrich/BrainyRichRoot.js.map +1 -0
  6. package/dist/brainyrich/BrainyRichRoutes.d.ts +2 -0
  7. package/dist/brainyrich/BrainyRichRoutes.d.ts.map +1 -0
  8. package/dist/brainyrich/BrainyRichRoutes.js +95 -0
  9. package/dist/brainyrich/BrainyRichRoutes.js.map +1 -0
  10. package/dist/brainyrich/index.d.ts +5 -0
  11. package/dist/brainyrich/index.d.ts.map +1 -0
  12. package/dist/brainyrich/index.js +3 -0
  13. package/dist/brainyrich/pages/AccountsPage.d.ts +2 -0
  14. package/dist/brainyrich/pages/AccountsPage.d.ts.map +1 -0
  15. package/dist/brainyrich/pages/AccountsPage.js +184 -0
  16. package/dist/brainyrich/pages/AccountsPage.js.map +1 -0
  17. package/dist/brainyrich/pages/AdvisorsPage.d.ts +2 -0
  18. package/dist/brainyrich/pages/AdvisorsPage.d.ts.map +1 -0
  19. package/dist/brainyrich/pages/AdvisorsPage.js +375 -0
  20. package/dist/brainyrich/pages/AdvisorsPage.js.map +1 -0
  21. package/dist/brainyrich/pages/AiAssistantPage.d.ts +2 -0
  22. package/dist/brainyrich/pages/AiAssistantPage.d.ts.map +1 -0
  23. package/dist/brainyrich/pages/AiAssistantPage.js +389 -0
  24. package/dist/brainyrich/pages/AiAssistantPage.js.map +1 -0
  25. package/dist/brainyrich/pages/AnalyticsPage.d.ts +2 -0
  26. package/dist/brainyrich/pages/AnalyticsPage.d.ts.map +1 -0
  27. package/dist/brainyrich/pages/AnalyticsPage.js +316 -0
  28. package/dist/brainyrich/pages/AnalyticsPage.js.map +1 -0
  29. package/dist/brainyrich/pages/AssistantPage.d.ts +2 -0
  30. package/dist/brainyrich/pages/AssistantPage.d.ts.map +1 -0
  31. package/dist/brainyrich/pages/AssistantPage.js +332 -0
  32. package/dist/brainyrich/pages/AssistantPage.js.map +1 -0
  33. package/dist/brainyrich/pages/DashboardPage.d.ts +2 -0
  34. package/dist/brainyrich/pages/DashboardPage.d.ts.map +1 -0
  35. package/dist/brainyrich/pages/DashboardPage.js +258 -0
  36. package/dist/brainyrich/pages/DashboardPage.js.map +1 -0
  37. package/dist/brainyrich/pages/EstatePage.d.ts +2 -0
  38. package/dist/brainyrich/pages/EstatePage.d.ts.map +1 -0
  39. package/dist/brainyrich/pages/EstatePage.js +269 -0
  40. package/dist/brainyrich/pages/EstatePage.js.map +1 -0
  41. package/dist/brainyrich/pages/FamilyPage.d.ts +2 -0
  42. package/dist/brainyrich/pages/FamilyPage.d.ts.map +1 -0
  43. package/dist/brainyrich/pages/FamilyPage.js +358 -0
  44. package/dist/brainyrich/pages/FamilyPage.js.map +1 -0
  45. package/dist/brainyrich/pages/GoalsPage.d.ts +2 -0
  46. package/dist/brainyrich/pages/GoalsPage.d.ts.map +1 -0
  47. package/dist/brainyrich/pages/GoalsPage.js +160 -0
  48. package/dist/brainyrich/pages/GoalsPage.js.map +1 -0
  49. package/dist/brainyrich/pages/InsurancePage.d.ts +2 -0
  50. package/dist/brainyrich/pages/InsurancePage.d.ts.map +1 -0
  51. package/dist/brainyrich/pages/InsurancePage.js +181 -0
  52. package/dist/brainyrich/pages/InsurancePage.js.map +1 -0
  53. package/dist/brainyrich/pages/InvestmentsPage.d.ts +2 -0
  54. package/dist/brainyrich/pages/InvestmentsPage.d.ts.map +1 -0
  55. package/dist/brainyrich/pages/InvestmentsPage.js +330 -0
  56. package/dist/brainyrich/pages/InvestmentsPage.js.map +1 -0
  57. package/dist/brainyrich/pages/MarketplacePage.d.ts +2 -0
  58. package/dist/brainyrich/pages/MarketplacePage.d.ts.map +1 -0
  59. package/dist/brainyrich/pages/MarketplacePage.js +450 -0
  60. package/dist/brainyrich/pages/MarketplacePage.js.map +1 -0
  61. package/dist/brainyrich/pages/PortfoliosPage.d.ts +2 -0
  62. package/dist/brainyrich/pages/PortfoliosPage.d.ts.map +1 -0
  63. package/dist/brainyrich/pages/PortfoliosPage.js +175 -0
  64. package/dist/brainyrich/pages/PortfoliosPage.js.map +1 -0
  65. package/dist/brainyrich/pages/ReportsPage.d.ts +2 -0
  66. package/dist/brainyrich/pages/ReportsPage.d.ts.map +1 -0
  67. package/dist/brainyrich/pages/ReportsPage.js +261 -0
  68. package/dist/brainyrich/pages/ReportsPage.js.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/RiskPage.js +222 -0
  72. package/dist/brainyrich/pages/RiskPage.js.map +1 -0
  73. package/dist/brainyrich/pages/TaxPage.d.ts +2 -0
  74. package/dist/brainyrich/pages/TaxPage.d.ts.map +1 -0
  75. package/dist/brainyrich/pages/TaxPage.js +246 -0
  76. package/dist/brainyrich/pages/TaxPage.js.map +1 -0
  77. package/dist/brainyrich/pages/_shared.d.ts +21 -0
  78. package/dist/brainyrich/pages/_shared.d.ts.map +1 -0
  79. package/dist/brainyrich/pages/_shared.js +63 -0
  80. package/dist/brainyrich/pages/_shared.js.map +1 -0
  81. package/dist/brainyrich/providers/BrainyRichProvider.d.ts +6 -0
  82. package/dist/brainyrich/providers/BrainyRichProvider.d.ts.map +1 -0
  83. package/dist/brainyrich/providers/BrainyRichProvider.js +27 -0
  84. package/dist/brainyrich/providers/BrainyRichProvider.js.map +1 -0
  85. package/dist/brainyrich/store/brainyrichStore.d.ts +19 -0
  86. package/dist/brainyrich/store/brainyrichStore.d.ts.map +1 -0
  87. package/dist/brainyrich/store/brainyrichStore.js +272 -0
  88. package/dist/brainyrich/store/brainyrichStore.js.map +1 -0
  89. package/dist/brainyrich/types/index.d.ts +116 -0
  90. package/dist/brainyrich/types/index.d.ts.map +1 -0
  91. package/dist/brainyrich/utils/cn.d.ts +4 -0
  92. package/dist/brainyrich/utils/cn.d.ts.map +1 -0
  93. package/dist/brainyrich/utils/i18n.d.ts +6 -0
  94. package/dist/brainyrich/utils/i18n.d.ts.map +1 -0
  95. package/dist/brainyrich/utils/i18n.js +15 -0
  96. package/dist/brainyrich/utils/i18n.js.map +1 -0
  97. package/dist/brainyrich/utils/navigation.d.ts +2 -0
  98. package/dist/brainyrich/utils/navigation.d.ts.map +1 -0
  99. package/dist/brainyrich/utils/navigation.js +8 -0
  100. package/dist/brainyrich/utils/navigation.js.map +1 -0
  101. package/dist/dev/main.d.ts +2 -0
  102. package/dist/dev/main.d.ts.map +1 -0
  103. package/dist/generated/global-operations.d.ts +2 -0
  104. package/dist/generated/global-operations.d.ts.map +1 -0
  105. package/dist/generated/global-types.d.ts +18199 -0
  106. package/dist/generated/global-types.d.ts.map +1 -0
  107. package/dist/generated/wspace-operations.d.ts +2 -0
  108. package/dist/generated/wspace-operations.d.ts.map +1 -0
  109. package/dist/generated/wspace-types.d.ts +43046 -0
  110. package/dist/generated/wspace-types.d.ts.map +1 -0
  111. package/dist/index.d.ts +2 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +5 -0
  114. package/package.json +107 -0
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # microfe-brainyrich
2
+
3
+ Part of the [Burdenoff](https://burdenoff.com) platform by
4
+ [AlgoShred](https://github.com/algoshred).
5
+
6
+ ## Getting Started
7
+
8
+ See `AGENTS.md` for development commands and architecture details.
9
+
10
+ ## License
11
+
12
+ Proprietary — Copyright Burdenoff Consultancy Services Pvt. Ltd.
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { BrainyRichRootProps } from './types';
3
+
4
+ export declare const BrainyRichRoot: FC<BrainyRichRootProps>;
5
+ //# sourceMappingURL=BrainyRichRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainyRichRoot.d.ts","sourceRoot":"","sources":["../../src/brainyrich/BrainyRichRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAuBhC,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK5D,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAmKlD,CAAC"}
@@ -0,0 +1,161 @@
1
+ import { BrainyRichProvider as e } from "./providers/BrainyRichProvider.js";
2
+ import { tWithFallback as t } from "./utils/i18n.js";
3
+ import { BrainyRichRoutes as n } from "./BrainyRichRoutes.js";
4
+ import { joinPath as r } from "./utils/navigation.js";
5
+ import { useEffect as i } from "react";
6
+ import { BarChart3 as a, Bot as o, Briefcase as s, Calculator as c, FileBarChart as l, FileText as u, Landmark as d, LayoutDashboard as f, MessageSquare as p, Shield as m, ShieldAlert as h, Store as g, Target as _, TrendingUp as v, Users as y, UsersRound as b } from "lucide-react";
7
+ import { useI18n as x } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { jsx as S } from "react/jsx-runtime";
9
+ import { FeatureFlagProvider as C } from "@burdenoff/fe-libs/shared/feature-flags";
10
+ //#region src/brainyrich/BrainyRichRoot.tsx
11
+ var w = (w) => {
12
+ let { registerNavItems: T, registerFooterItems: E, basePath: D = "/" } = w, { t: O } = x(), k = (e, n) => t(O, e, n);
13
+ return i(() => {
14
+ if (T) return T({
15
+ id: "brainyrich",
16
+ label: k("brainyrich.nav.root", "BrainyRich"),
17
+ path: D,
18
+ icon: /* @__PURE__ */ S(f, { size: 20 }),
19
+ order: 80,
20
+ group: "products",
21
+ children: [
22
+ {
23
+ id: "brainyrich-dashboard",
24
+ label: k("brainyrich.nav.dashboard", "Dashboard"),
25
+ path: D,
26
+ icon: /* @__PURE__ */ S(f, { size: 16 }),
27
+ order: 0
28
+ },
29
+ {
30
+ id: "brainyrich-portfolios",
31
+ label: k("brainyrich.nav.portfolios", "Portfolios"),
32
+ path: r(D, "portfolios"),
33
+ icon: /* @__PURE__ */ S(s, { size: 16 }),
34
+ order: 10
35
+ },
36
+ {
37
+ id: "brainyrich-investments",
38
+ label: k("brainyrich.nav.investments", "Investments"),
39
+ path: r(D, "investments"),
40
+ icon: /* @__PURE__ */ S(v, { size: 16 }),
41
+ order: 11
42
+ },
43
+ {
44
+ id: "brainyrich-goals",
45
+ label: k("brainyrich.nav.goals", "Goals"),
46
+ path: r(D, "goals"),
47
+ icon: /* @__PURE__ */ S(_, { size: 16 }),
48
+ order: 12
49
+ },
50
+ {
51
+ id: "brainyrich-accounts",
52
+ label: k("brainyrich.nav.accounts", "Accounts"),
53
+ path: r(D, "accounts"),
54
+ icon: /* @__PURE__ */ S(d, { size: 16 }),
55
+ order: 13
56
+ },
57
+ {
58
+ id: "brainyrich-advisors",
59
+ label: k("brainyrich.nav.advisors", "Advisors"),
60
+ path: r(D, "advisors"),
61
+ icon: /* @__PURE__ */ S(y, { size: 16 }),
62
+ order: 20
63
+ },
64
+ {
65
+ id: "brainyrich-analytics",
66
+ label: k("brainyrich.nav.analytics", "Analytics"),
67
+ path: r(D, "analytics"),
68
+ icon: /* @__PURE__ */ S(a, { size: 16 }),
69
+ order: 21
70
+ },
71
+ {
72
+ id: "brainyrich-risk",
73
+ label: k("brainyrich.nav.risk", "Risk"),
74
+ path: r(D, "risk"),
75
+ icon: /* @__PURE__ */ S(h, { size: 16 }),
76
+ order: 22
77
+ },
78
+ {
79
+ id: "brainyrich-tax",
80
+ label: k("brainyrich.nav.tax", "Tax"),
81
+ path: r(D, "tax"),
82
+ icon: /* @__PURE__ */ S(c, { size: 16 }),
83
+ order: 30
84
+ },
85
+ {
86
+ id: "brainyrich-insurance",
87
+ label: k("brainyrich.nav.insurance", "Insurance"),
88
+ path: r(D, "insurance"),
89
+ icon: /* @__PURE__ */ S(m, { size: 16 }),
90
+ order: 31
91
+ },
92
+ {
93
+ id: "brainyrich-estate",
94
+ label: k("brainyrich.nav.estate", "Estate"),
95
+ path: r(D, "estate"),
96
+ icon: /* @__PURE__ */ S(u, { size: 16 }),
97
+ order: 32
98
+ },
99
+ {
100
+ id: "brainyrich-family",
101
+ label: k("brainyrich.nav.family", "Family"),
102
+ path: r(D, "family"),
103
+ icon: /* @__PURE__ */ S(b, { size: 16 }),
104
+ order: 40
105
+ },
106
+ {
107
+ id: "brainyrich-marketplace",
108
+ label: k("brainyrich.nav.marketplace", "Marketplace"),
109
+ path: r(D, "marketplace"),
110
+ icon: /* @__PURE__ */ S(g, { size: 16 }),
111
+ order: 41
112
+ },
113
+ {
114
+ id: "brainyrich-reports",
115
+ label: k("brainyrich.nav.reports", "Reports"),
116
+ path: r(D, "reports"),
117
+ icon: /* @__PURE__ */ S(l, { size: 16 }),
118
+ order: 42
119
+ },
120
+ {
121
+ id: "brainyrich-ai-assistant",
122
+ label: k("brainyrich.nav.aiAssistant", "AI Assistant"),
123
+ path: r(D, "ai-assistant"),
124
+ icon: /* @__PURE__ */ S(o, { size: 16 }),
125
+ order: 50
126
+ },
127
+ {
128
+ id: "brainyrich-assistant",
129
+ label: k("brainyrich.nav.assistant", "Assistant"),
130
+ path: r(D, "assistant"),
131
+ icon: /* @__PURE__ */ S(p, { size: 16 }),
132
+ order: 51
133
+ }
134
+ ]
135
+ });
136
+ }, [
137
+ T,
138
+ D,
139
+ O
140
+ ]), i(() => {
141
+ if (E) return E([{
142
+ id: "brainyrich-status",
143
+ label: k("brainyrich.footer.ready", "BrainyRich Ready"),
144
+ type: "status",
145
+ section: "left",
146
+ order: 10
147
+ }]);
148
+ }, [E, O]), /* @__PURE__ */ S(C, {
149
+ workspaceId: null,
150
+ gateway: "global",
151
+ defaultEnabled: !0,
152
+ children: /* @__PURE__ */ S(e, {
153
+ ...w,
154
+ children: /* @__PURE__ */ S(n, {})
155
+ })
156
+ });
157
+ };
158
+ //#endregion
159
+ export { w as BrainyRichRoot };
160
+
161
+ //# sourceMappingURL=BrainyRichRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainyRichRoot.js","names":[],"sources":["../../src/brainyrich/BrainyRichRoot.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useEffect } from 'react';\nimport {\n LayoutDashboard,\n Briefcase,\n TrendingUp,\n Target,\n Landmark,\n Users,\n BarChart3,\n ShieldAlert,\n Calculator,\n Shield,\n FileText,\n UsersRound,\n Store,\n FileBarChart,\n Bot,\n MessageSquare,\n} from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { BrainyRichProvider } from './providers/BrainyRichProvider';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport type { NavItem, BrainyRichRootProps } from './types';\nimport { tWithFallback } from './utils/i18n';\nimport { BrainyRichRoutes } from './BrainyRichRoutes';\nimport { joinPath } from './utils/navigation';\n\nexport const BrainyRichRoot: FC<BrainyRichRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t } = useI18n();\n const translate = (key: string, fallback: string) => tWithFallback(t, key, fallback);\n\n useEffect(() => {\n if (!registerNavItems) return;\n const navItem: NavItem = {\n id: 'brainyrich',\n label: translate('brainyrich.nav.root', 'BrainyRich'),\n path: basePath,\n icon: <LayoutDashboard size={20} />,\n order: 80,\n group: 'products',\n children: [\n // Overview\n {\n id: 'brainyrich-dashboard',\n label: translate('brainyrich.nav.dashboard', 'Dashboard'),\n path: basePath,\n icon: <LayoutDashboard size={16} />,\n order: 0,\n },\n\n // Wealth Management\n {\n id: 'brainyrich-portfolios',\n label: translate('brainyrich.nav.portfolios', 'Portfolios'),\n path: joinPath(basePath, 'portfolios'),\n icon: <Briefcase size={16} />,\n order: 10,\n },\n {\n id: 'brainyrich-investments',\n label: translate('brainyrich.nav.investments', 'Investments'),\n path: joinPath(basePath, 'investments'),\n icon: <TrendingUp size={16} />,\n order: 11,\n },\n {\n id: 'brainyrich-goals',\n label: translate('brainyrich.nav.goals', 'Goals'),\n path: joinPath(basePath, 'goals'),\n icon: <Target size={16} />,\n order: 12,\n },\n {\n id: 'brainyrich-accounts',\n label: translate('brainyrich.nav.accounts', 'Accounts'),\n path: joinPath(basePath, 'accounts'),\n icon: <Landmark size={16} />,\n order: 13,\n },\n\n // Advisory & Insights\n {\n id: 'brainyrich-advisors',\n label: translate('brainyrich.nav.advisors', 'Advisors'),\n path: joinPath(basePath, 'advisors'),\n icon: <Users size={16} />,\n order: 20,\n },\n {\n id: 'brainyrich-analytics',\n label: translate('brainyrich.nav.analytics', 'Analytics'),\n path: joinPath(basePath, 'analytics'),\n icon: <BarChart3 size={16} />,\n order: 21,\n },\n {\n id: 'brainyrich-risk',\n label: translate('brainyrich.nav.risk', 'Risk'),\n path: joinPath(basePath, 'risk'),\n icon: <ShieldAlert size={16} />,\n order: 22,\n },\n\n // Tax, Insurance & Estate\n {\n id: 'brainyrich-tax',\n label: translate('brainyrich.nav.tax', 'Tax'),\n path: joinPath(basePath, 'tax'),\n icon: <Calculator size={16} />,\n order: 30,\n },\n {\n id: 'brainyrich-insurance',\n label: translate('brainyrich.nav.insurance', 'Insurance'),\n path: joinPath(basePath, 'insurance'),\n icon: <Shield size={16} />,\n order: 31,\n },\n {\n id: 'brainyrich-estate',\n label: translate('brainyrich.nav.estate', 'Estate'),\n path: joinPath(basePath, 'estate'),\n icon: <FileText size={16} />,\n order: 32,\n },\n\n // Family & Marketplace\n {\n id: 'brainyrich-family',\n label: translate('brainyrich.nav.family', 'Family'),\n path: joinPath(basePath, 'family'),\n icon: <UsersRound size={16} />,\n order: 40,\n },\n {\n id: 'brainyrich-marketplace',\n label: translate('brainyrich.nav.marketplace', 'Marketplace'),\n path: joinPath(basePath, 'marketplace'),\n icon: <Store size={16} />,\n order: 41,\n },\n {\n id: 'brainyrich-reports',\n label: translate('brainyrich.nav.reports', 'Reports'),\n path: joinPath(basePath, 'reports'),\n icon: <FileBarChart size={16} />,\n order: 42,\n },\n\n // AI Assistants\n {\n id: 'brainyrich-ai-assistant',\n label: translate('brainyrich.nav.aiAssistant', 'AI Assistant'),\n path: joinPath(basePath, 'ai-assistant'),\n icon: <Bot size={16} />,\n order: 50,\n },\n {\n id: 'brainyrich-assistant',\n label: translate('brainyrich.nav.assistant', 'Assistant'),\n path: joinPath(basePath, 'assistant'),\n icon: <MessageSquare size={16} />,\n order: 51,\n },\n ],\n };\n return registerNavItems(navItem);\n }, [registerNavItems, basePath, t]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'brainyrich-status',\n label: translate('brainyrich.footer.ready', 'BrainyRich Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <BrainyRichProvider {...props}>\n <BrainyRichRoutes />\n </BrainyRichProvider>\n </FeatureFlagProvider>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function BrainyRichRoutes(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=BrainyRichRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainyRichRoutes.d.ts","sourceRoot":"","sources":["../../src/brainyrich/BrainyRichRoutes.tsx"],"names":[],"mappings":"AAqDA,wBAAgB,gBAAgB,4CAwB/B"}
@@ -0,0 +1,95 @@
1
+ import { DashboardPage as e } from "./pages/DashboardPage.js";
2
+ import { Suspense as t, lazy as n } from "react";
3
+ import { Loader2 as r } from "lucide-react";
4
+ import { Navigate as i, Route as a, Routes as o } from "react-router-dom";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/brainyrich/BrainyRichRoutes.tsx
7
+ var l = n(() => import("./pages/AdvisorsPage.js").then((e) => ({ default: e.AdvisorsPage }))), u = n(() => import("./pages/AiAssistantPage.js").then((e) => ({ default: e.AiAssistantPage }))), d = n(() => import("./pages/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), f = n(() => import("./pages/AssistantPage.js").then((e) => ({ default: e.AssistantPage }))), p = n(() => import("./pages/AccountsPage.js").then((e) => ({ default: e.AccountsPage }))), m = n(() => import("./pages/EstatePage.js").then((e) => ({ default: e.EstatePage }))), h = n(() => import("./pages/FamilyPage.js").then((e) => ({ default: e.FamilyPage }))), g = n(() => import("./pages/GoalsPage.js").then((e) => ({ default: e.GoalsPage }))), _ = n(() => import("./pages/InsurancePage.js").then((e) => ({ default: e.InsurancePage }))), v = n(() => import("./pages/InvestmentsPage.js").then((e) => ({ default: e.InvestmentsPage }))), y = n(() => import("./pages/MarketplacePage.js").then((e) => ({ default: e.MarketplacePage }))), b = n(() => import("./pages/PortfoliosPage.js").then((e) => ({ default: e.PortfoliosPage }))), x = n(() => import("./pages/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), S = n(() => import("./pages/RiskPage.js").then((e) => ({ default: e.RiskPage }))), C = n(() => import("./pages/TaxPage.js").then((e) => ({ default: e.TaxPage })));
8
+ function w() {
9
+ return /* @__PURE__ */ s("div", {
10
+ className: "flex min-h-[320px] items-center justify-center",
11
+ children: /* @__PURE__ */ s(r, { className: "h-8 w-8 animate-spin text-primary" })
12
+ });
13
+ }
14
+ function T() {
15
+ return /* @__PURE__ */ s(t, {
16
+ fallback: /* @__PURE__ */ s(w, {}),
17
+ children: /* @__PURE__ */ c(o, { children: [
18
+ /* @__PURE__ */ s(a, {
19
+ index: !0,
20
+ element: /* @__PURE__ */ s(e, {})
21
+ }),
22
+ /* @__PURE__ */ s(a, {
23
+ path: "advisors",
24
+ element: /* @__PURE__ */ s(l, {})
25
+ }),
26
+ /* @__PURE__ */ s(a, {
27
+ path: "ai-assistant",
28
+ element: /* @__PURE__ */ s(u, {})
29
+ }),
30
+ /* @__PURE__ */ s(a, {
31
+ path: "analytics",
32
+ element: /* @__PURE__ */ s(d, {})
33
+ }),
34
+ /* @__PURE__ */ s(a, {
35
+ path: "assistant",
36
+ element: /* @__PURE__ */ s(f, {})
37
+ }),
38
+ /* @__PURE__ */ s(a, {
39
+ path: "accounts",
40
+ element: /* @__PURE__ */ s(p, {})
41
+ }),
42
+ /* @__PURE__ */ s(a, {
43
+ path: "estate",
44
+ element: /* @__PURE__ */ s(m, {})
45
+ }),
46
+ /* @__PURE__ */ s(a, {
47
+ path: "family",
48
+ element: /* @__PURE__ */ s(h, {})
49
+ }),
50
+ /* @__PURE__ */ s(a, {
51
+ path: "goals",
52
+ element: /* @__PURE__ */ s(g, {})
53
+ }),
54
+ /* @__PURE__ */ s(a, {
55
+ path: "insurance",
56
+ element: /* @__PURE__ */ s(_, {})
57
+ }),
58
+ /* @__PURE__ */ s(a, {
59
+ path: "investments",
60
+ element: /* @__PURE__ */ s(v, {})
61
+ }),
62
+ /* @__PURE__ */ s(a, {
63
+ path: "marketplace",
64
+ element: /* @__PURE__ */ s(y, {})
65
+ }),
66
+ /* @__PURE__ */ s(a, {
67
+ path: "portfolios",
68
+ element: /* @__PURE__ */ s(b, {})
69
+ }),
70
+ /* @__PURE__ */ s(a, {
71
+ path: "reports",
72
+ element: /* @__PURE__ */ s(x, {})
73
+ }),
74
+ /* @__PURE__ */ s(a, {
75
+ path: "risk",
76
+ element: /* @__PURE__ */ s(S, {})
77
+ }),
78
+ /* @__PURE__ */ s(a, {
79
+ path: "tax",
80
+ element: /* @__PURE__ */ s(C, {})
81
+ }),
82
+ /* @__PURE__ */ s(a, {
83
+ path: "*",
84
+ element: /* @__PURE__ */ s(i, {
85
+ to: "",
86
+ replace: !0
87
+ })
88
+ })
89
+ ] })
90
+ });
91
+ }
92
+ //#endregion
93
+ export { T as BrainyRichRoutes };
94
+
95
+ //# sourceMappingURL=BrainyRichRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainyRichRoutes.js","names":[],"sources":["../../src/brainyrich/BrainyRichRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { DashboardPage as IndexPage } from './pages/DashboardPage';\n\nconst AdvisorsPage = lazy(() =>\n import('./pages/AdvisorsPage').then((m) => ({ default: m.AdvisorsPage }))\n);\nconst AiAssistantPage = lazy(() =>\n import('./pages/AiAssistantPage').then((m) => ({ default: m.AiAssistantPage }))\n);\nconst AnalyticsPage = lazy(() =>\n import('./pages/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\nconst AssistantPage = lazy(() =>\n import('./pages/AssistantPage').then((m) => ({ default: m.AssistantPage }))\n);\nconst AccountsPage = lazy(() =>\n import('./pages/AccountsPage').then((m) => ({ default: m.AccountsPage }))\n);\nconst EstatePage = lazy(() =>\n import('./pages/EstatePage').then((m) => ({ default: m.EstatePage }))\n);\nconst FamilyPage = lazy(() =>\n import('./pages/FamilyPage').then((m) => ({ default: m.FamilyPage }))\n);\nconst GoalsPage = lazy(() => import('./pages/GoalsPage').then((m) => ({ default: m.GoalsPage })));\nconst InsurancePage = lazy(() =>\n import('./pages/InsurancePage').then((m) => ({ default: m.InsurancePage }))\n);\nconst InvestmentsPage = lazy(() =>\n import('./pages/InvestmentsPage').then((m) => ({ default: m.InvestmentsPage }))\n);\nconst MarketplacePage = lazy(() =>\n import('./pages/MarketplacePage').then((m) => ({ default: m.MarketplacePage }))\n);\nconst PortfoliosPage = lazy(() =>\n import('./pages/PortfoliosPage').then((m) => ({ default: m.PortfoliosPage }))\n);\nconst ReportsPage = lazy(() =>\n import('./pages/ReportsPage').then((m) => ({ default: m.ReportsPage }))\n);\nconst RiskPage = lazy(() => import('./pages/RiskPage').then((m) => ({ default: m.RiskPage })));\nconst TaxPage = lazy(() => import('./pages/TaxPage').then((m) => ({ default: m.TaxPage })));\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n </div>\n );\n}\n\nexport function BrainyRichRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<IndexPage />} />\n <Route path=\"advisors\" element={<AdvisorsPage />} />\n <Route path=\"ai-assistant\" element={<AiAssistantPage />} />\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n <Route path=\"assistant\" element={<AssistantPage />} />\n <Route path=\"accounts\" element={<AccountsPage />} />\n <Route path=\"estate\" element={<EstatePage />} />\n <Route path=\"family\" element={<FamilyPage />} />\n <Route path=\"goals\" element={<GoalsPage />} />\n <Route path=\"insurance\" element={<InsurancePage />} />\n <Route path=\"investments\" element={<InvestmentsPage />} />\n <Route path=\"marketplace\" element={<MarketplacePage />} />\n <Route path=\"portfolios\" element={<PortfoliosPage />} />\n <Route path=\"reports\" element={<ReportsPage />} />\n <Route path=\"risk\" element={<RiskPage />} />\n <Route path=\"tax\" element={<TaxPage />} />\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { BrainyRichRoot } from './BrainyRichRoot';
2
+ export type { BrainyRichRootProps, NavItem, FooterItem } from './types';
3
+ export { useBrainyRich } from './providers/BrainyRichProvider';
4
+ export { useBrainyRichStore } from './store/brainyrichStore';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/brainyrich/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import "./providers/BrainyRichProvider.js";
2
+ import "./store/brainyrichStore.js";
3
+ import "./BrainyRichRoot.js";
@@ -0,0 +1,2 @@
1
+ export declare function AccountsPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AccountsPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountsPage.d.ts","sourceRoot":"","sources":["../../../src/brainyrich/pages/AccountsPage.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,YAAY,4CAyK3B"}
@@ -0,0 +1,184 @@
1
+ import { useBrainyRichStore as e } from "../store/brainyrichStore.js";
2
+ import { KpiGrid as t, SectionShell as n, formatMoney as r, statusBadgeVariant as i } from "./_shared.js";
3
+ import { Landmark as a, Link2 as o, Plus as s, RefreshCw as c } from "lucide-react";
4
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
+ import { Badge as d, Button as f, Card as p, CardContent as m, CardDescription as h, CardHeader as g, CardTitle as _, Table as v, TableBody as y, TableCell as b, TableHead as x, TableHeader as S, TableRow as C } from "@burdenoff/fe-libs/ui";
6
+ //#region src/brainyrich/pages/AccountsPage.tsx
7
+ function w() {
8
+ let { accounts: w } = e(), T = w.reduce((e, t) => e + t.balance, 0), E = w.filter((e) => e.status === "Connected").length;
9
+ return /* @__PURE__ */ u(n, {
10
+ title: "Account Management",
11
+ description: "Connect and manage all your financial accounts in one place",
12
+ actionLabel: "Link Account",
13
+ badges: [`${w.length} Accounts`],
14
+ children: [
15
+ /* @__PURE__ */ l(t, { items: [
16
+ {
17
+ label: "Total Balance",
18
+ value: r(T),
19
+ trend: "+2.3% this month"
20
+ },
21
+ {
22
+ label: "Connected",
23
+ value: `${E}/${w.length}`,
24
+ trend: "Active connections"
25
+ },
26
+ {
27
+ label: "Last Sync",
28
+ value: "2h ago",
29
+ trend: "Auto-sync enabled"
30
+ },
31
+ {
32
+ label: "Account Types",
33
+ value: String(new Set(w.map((e) => e.type)).size),
34
+ trend: "Diversified"
35
+ }
36
+ ] }),
37
+ /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ u(g, {
38
+ className: "flex flex-row items-center justify-between",
39
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ u(_, {
40
+ className: "flex items-center gap-2",
41
+ children: [/* @__PURE__ */ l(a, { className: "h-5 w-5" }), "Linked Accounts"]
42
+ }), /* @__PURE__ */ l(h, { children: "Your connected financial institutions" })] }), /* @__PURE__ */ u("div", {
43
+ className: "flex gap-2",
44
+ children: [/* @__PURE__ */ u(f, {
45
+ variant: "outline",
46
+ size: "sm",
47
+ children: [/* @__PURE__ */ l(c, { className: "mr-1 h-4 w-4" }), "Sync All"]
48
+ }), /* @__PURE__ */ u(f, {
49
+ size: "sm",
50
+ children: [/* @__PURE__ */ l(s, { className: "mr-1 h-4 w-4" }), "Link Account"]
51
+ })]
52
+ })]
53
+ }), /* @__PURE__ */ l(m, { children: /* @__PURE__ */ u(v, { children: [/* @__PURE__ */ l(S, { children: /* @__PURE__ */ u(C, { children: [
54
+ /* @__PURE__ */ l(x, { children: "Institution" }),
55
+ /* @__PURE__ */ l(x, { children: "Type" }),
56
+ /* @__PURE__ */ l(x, {
57
+ className: "text-right",
58
+ children: "Balance"
59
+ }),
60
+ /* @__PURE__ */ l(x, { children: "Status" }),
61
+ /* @__PURE__ */ l(x, {
62
+ className: "text-right",
63
+ children: "Actions"
64
+ })
65
+ ] }) }), /* @__PURE__ */ l(y, { children: w.map((e) => /* @__PURE__ */ u(C, { children: [
66
+ /* @__PURE__ */ l(b, { children: /* @__PURE__ */ u("div", {
67
+ className: "flex items-center gap-3",
68
+ children: [/* @__PURE__ */ l("div", {
69
+ className: "flex h-9 w-9 items-center justify-center rounded-full bg-blue-100 text-xs font-bold text-blue-600",
70
+ children: e.institution.slice(0, 2).toUpperCase()
71
+ }), /* @__PURE__ */ l("span", {
72
+ className: "font-medium",
73
+ children: e.institution
74
+ })]
75
+ }) }),
76
+ /* @__PURE__ */ l(b, { children: /* @__PURE__ */ l(d, {
77
+ variant: "outline",
78
+ children: e.type
79
+ }) }),
80
+ /* @__PURE__ */ l(b, {
81
+ className: "text-right font-semibold",
82
+ children: r(e.balance)
83
+ }),
84
+ /* @__PURE__ */ l(b, { children: /* @__PURE__ */ l(d, {
85
+ variant: i(e.status),
86
+ children: e.status
87
+ }) }),
88
+ /* @__PURE__ */ l(b, {
89
+ className: "text-right",
90
+ children: /* @__PURE__ */ u("div", {
91
+ className: "flex justify-end gap-1",
92
+ children: [/* @__PURE__ */ l(f, {
93
+ variant: "outline",
94
+ size: "sm",
95
+ children: /* @__PURE__ */ l(c, { className: "h-3 w-3" })
96
+ }), /* @__PURE__ */ l(f, {
97
+ variant: "outline",
98
+ size: "sm",
99
+ children: /* @__PURE__ */ l(o, { className: "h-3 w-3" })
100
+ })]
101
+ })
102
+ })
103
+ ] }, e.id)) })] }) })] }),
104
+ /* @__PURE__ */ u("div", {
105
+ className: "grid gap-4 md:grid-cols-2",
106
+ children: [/* @__PURE__ */ u(p, { children: [/* @__PURE__ */ u(g, { children: [/* @__PURE__ */ l(_, {
107
+ className: "text-base",
108
+ children: "Account Distribution"
109
+ }), /* @__PURE__ */ l(h, { children: "Balance allocation by account type" })] }), /* @__PURE__ */ l(m, {
110
+ className: "space-y-3",
111
+ children: w.map((e) => {
112
+ let t = Math.round(e.balance / T * 100);
113
+ return /* @__PURE__ */ u("div", {
114
+ className: "space-y-1",
115
+ children: [/* @__PURE__ */ u("div", {
116
+ className: "flex justify-between text-sm",
117
+ children: [/* @__PURE__ */ u("span", { children: [
118
+ e.institution,
119
+ " (",
120
+ e.type,
121
+ ")"
122
+ ] }), /* @__PURE__ */ u("span", {
123
+ className: "font-medium",
124
+ children: [t, "%"]
125
+ })]
126
+ }), /* @__PURE__ */ l("div", {
127
+ className: "h-2 rounded bg-muted overflow-hidden",
128
+ children: /* @__PURE__ */ l("div", {
129
+ className: "h-2 rounded bg-primary",
130
+ style: { width: `${t}%` }
131
+ })
132
+ })]
133
+ }, e.id);
134
+ })
135
+ })] }), /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ u(g, { children: [/* @__PURE__ */ l(_, {
136
+ className: "text-base",
137
+ children: "Recent Transactions"
138
+ }), /* @__PURE__ */ l(h, { children: "Latest activity across linked accounts" })] }), /* @__PURE__ */ l(m, {
139
+ className: "space-y-3",
140
+ children: [
141
+ {
142
+ desc: "SIP - Axis Bluechip Fund",
143
+ account: "HDFC Securities",
144
+ amount: -15e3,
145
+ date: "2026-06-01"
146
+ },
147
+ {
148
+ desc: "Salary Credit - Tech Corp",
149
+ account: "ICICI Bank",
150
+ amount: 185e3,
151
+ date: "2026-05-31"
152
+ },
153
+ {
154
+ desc: "EPF Monthly Contribution",
155
+ account: "EPF Trust",
156
+ amount: -12500,
157
+ date: "2026-05-28"
158
+ }
159
+ ].map((e, t) => /* @__PURE__ */ u("div", {
160
+ className: "flex items-center justify-between rounded-lg border p-3",
161
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
162
+ className: "text-sm font-medium",
163
+ children: e.desc
164
+ }), /* @__PURE__ */ u("p", {
165
+ className: "text-xs text-muted-foreground",
166
+ children: [
167
+ e.account,
168
+ " · ",
169
+ e.date
170
+ ]
171
+ })] }), /* @__PURE__ */ u("span", {
172
+ className: `text-sm font-semibold ${e.amount >= 0 ? "text-emerald-600" : "text-red-600"}`,
173
+ children: [e.amount >= 0 ? "+" : "", r(e.amount)]
174
+ })]
175
+ }, t))
176
+ })] })]
177
+ })
178
+ ]
179
+ });
180
+ }
181
+ //#endregion
182
+ export { w as AccountsPage };
183
+
184
+ //# sourceMappingURL=AccountsPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountsPage.js","names":[],"sources":["../../../src/brainyrich/pages/AccountsPage.tsx"],"sourcesContent":["import {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n CardDescription,\n Badge,\n Button,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@burdenoff/fe-libs/ui';\nimport { Landmark, RefreshCw, Plus, Link2 } from 'lucide-react';\nimport { useBrainyRichStore } from '../store/brainyrichStore';\nimport { SectionShell, KpiGrid, formatMoney, statusBadgeVariant } from './_shared';\n\nexport function AccountsPage() {\n const { accounts } = useBrainyRichStore();\n const totalBalance = accounts.reduce((s, a) => s + a.balance, 0);\n const connectedCount = accounts.filter((a) => a.status === 'Connected').length;\n\n return (\n <SectionShell\n title=\"Account Management\"\n description=\"Connect and manage all your financial accounts in one place\"\n actionLabel=\"Link Account\"\n badges={[`${accounts.length} Accounts`]}\n >\n <KpiGrid\n items={[\n { label: 'Total Balance', value: formatMoney(totalBalance), trend: '+2.3% this month' },\n {\n label: 'Connected',\n value: `${connectedCount}/${accounts.length}`,\n trend: 'Active connections',\n },\n { label: 'Last Sync', value: '2h ago', trend: 'Auto-sync enabled' },\n {\n label: 'Account Types',\n value: String(new Set(accounts.map((a) => a.type)).size),\n trend: 'Diversified',\n },\n ]}\n />\n\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between\">\n <div>\n <CardTitle className=\"flex items-center gap-2\">\n <Landmark className=\"h-5 w-5\" />\n Linked Accounts\n </CardTitle>\n <CardDescription>Your connected financial institutions</CardDescription>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <RefreshCw className=\"mr-1 h-4 w-4\" />\n Sync All\n </Button>\n <Button size=\"sm\">\n <Plus className=\"mr-1 h-4 w-4\" />\n Link Account\n </Button>\n </div>\n </CardHeader>\n <CardContent>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Institution</TableHead>\n <TableHead>Type</TableHead>\n <TableHead className=\"text-right\">Balance</TableHead>\n <TableHead>Status</TableHead>\n <TableHead className=\"text-right\">Actions</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {accounts.map((a) => (\n <TableRow key={a.id}>\n <TableCell>\n <div className=\"flex items-center gap-3\">\n <div className=\"flex h-9 w-9 items-center justify-center rounded-full bg-blue-100 text-xs font-bold text-blue-600\">\n {a.institution.slice(0, 2).toUpperCase()}\n </div>\n <span className=\"font-medium\">{a.institution}</span>\n </div>\n </TableCell>\n <TableCell>\n <Badge variant=\"outline\">{a.type}</Badge>\n </TableCell>\n <TableCell className=\"text-right font-semibold\">\n {formatMoney(a.balance)}\n </TableCell>\n <TableCell>\n <Badge variant={statusBadgeVariant(a.status)}>{a.status}</Badge>\n </TableCell>\n <TableCell className=\"text-right\">\n <div className=\"flex justify-end gap-1\">\n <Button variant=\"outline\" size=\"sm\">\n <RefreshCw className=\"h-3 w-3\" />\n </Button>\n <Button variant=\"outline\" size=\"sm\">\n <Link2 className=\"h-3 w-3\" />\n </Button>\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Account Distribution</CardTitle>\n <CardDescription>Balance allocation by account type</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {accounts.map((a) => {\n const pct = Math.round((a.balance / totalBalance) * 100);\n return (\n <div key={a.id} className=\"space-y-1\">\n <div className=\"flex justify-between text-sm\">\n <span>\n {a.institution} ({a.type})\n </span>\n <span className=\"font-medium\">{pct}%</span>\n </div>\n <div className=\"h-2 rounded bg-muted overflow-hidden\">\n <div className=\"h-2 rounded bg-primary\" style={{ width: `${pct}%` }} />\n </div>\n </div>\n );\n })}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Recent Transactions</CardTitle>\n <CardDescription>Latest activity across linked accounts</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n {\n desc: 'SIP - Axis Bluechip Fund',\n account: 'HDFC Securities',\n amount: -15000,\n date: '2026-06-01',\n },\n {\n desc: 'Salary Credit - Tech Corp',\n account: 'ICICI Bank',\n amount: 185000,\n date: '2026-05-31',\n },\n {\n desc: 'EPF Monthly Contribution',\n account: 'EPF Trust',\n amount: -12500,\n date: '2026-05-28',\n },\n ].map((tx, i) => (\n <div key={i} className=\"flex items-center justify-between rounded-lg border p-3\">\n <div>\n <p className=\"text-sm font-medium\">{tx.desc}</p>\n <p className=\"text-xs text-muted-foreground\">\n {tx.account} &middot; {tx.date}\n </p>\n </div>\n <span\n className={`text-sm font-semibold ${tx.amount >= 0 ? 'text-emerald-600' : 'text-red-600'}`}\n >\n {tx.amount >= 0 ? '+' : ''}\n {formatMoney(tx.amount)}\n </span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </SectionShell>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function AdvisorsPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AdvisorsPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvisorsPage.d.ts","sourceRoot":"","sources":["../../../src/brainyrich/pages/AdvisorsPage.tsx"],"names":[],"mappings":"AAoFA,wBAAgB,YAAY,4CAgR3B"}