@burdenoff/microfe-housingvista 2026.703.13 → 2026.709.2

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 (163) hide show
  1. package/dist/generated/global-operations.d.ts +2 -0
  2. package/dist/generated/global-operations.d.ts.map +1 -0
  3. package/dist/generated/global-types.d.ts +23527 -0
  4. package/dist/generated/global-types.d.ts.map +1 -0
  5. package/dist/generated/wspace-operations.d.ts +267 -0
  6. package/dist/generated/wspace-operations.d.ts.map +1 -0
  7. package/dist/generated/wspace-operations.js +67 -0
  8. package/dist/generated/wspace-operations.js.map +1 -0
  9. package/dist/generated/wspace-types.d.ts +57868 -0
  10. package/dist/generated/wspace-types.d.ts.map +1 -0
  11. package/dist/housingvista/HousingVistaRoot.d.ts +5 -0
  12. package/dist/housingvista/HousingVistaRoot.d.ts.map +1 -0
  13. package/dist/housingvista/HousingVistaRoutes.d.ts +7 -0
  14. package/dist/housingvista/HousingVistaRoutes.d.ts.map +1 -0
  15. package/dist/housingvista/components/Breadcrumbs.d.ts +13 -0
  16. package/dist/housingvista/components/Breadcrumbs.d.ts.map +1 -0
  17. package/dist/housingvista/components/ChartCard.d.ts +12 -0
  18. package/dist/housingvista/components/ChartCard.d.ts.map +1 -0
  19. package/dist/housingvista/components/ContactOwnerDialog.d.ts +33 -0
  20. package/dist/housingvista/components/ContactOwnerDialog.d.ts.map +1 -0
  21. package/dist/housingvista/components/DataTable.d.ts +42 -0
  22. package/dist/housingvista/components/DataTable.d.ts.map +1 -0
  23. package/dist/housingvista/components/EmptyState.d.ts +19 -0
  24. package/dist/housingvista/components/EmptyState.d.ts.map +1 -0
  25. package/dist/housingvista/components/ErrorBoundary.d.ts +19 -0
  26. package/dist/housingvista/components/ErrorBoundary.d.ts.map +1 -0
  27. package/dist/housingvista/components/FileUploader.d.ts +16 -0
  28. package/dist/housingvista/components/FileUploader.d.ts.map +1 -0
  29. package/dist/housingvista/components/FilterBar.d.ts +13 -0
  30. package/dist/housingvista/components/FilterBar.d.ts.map +1 -0
  31. package/dist/housingvista/components/LoadingSkeleton.d.ts +10 -0
  32. package/dist/housingvista/components/LoadingSkeleton.d.ts.map +1 -0
  33. package/dist/housingvista/components/PageLayout.d.ts +18 -0
  34. package/dist/housingvista/components/PageLayout.d.ts.map +1 -0
  35. package/dist/housingvista/components/PropertyCard.d.ts +26 -0
  36. package/dist/housingvista/components/PropertyCard.d.ts.map +1 -0
  37. package/dist/housingvista/components/ReviewsSection.d.ts +12 -0
  38. package/dist/housingvista/components/ReviewsSection.d.ts.map +1 -0
  39. package/dist/housingvista/components/StatCard.d.ts +18 -0
  40. package/dist/housingvista/components/StatCard.d.ts.map +1 -0
  41. package/dist/housingvista/components/StatusBadge.d.ts +12 -0
  42. package/dist/housingvista/components/StatusBadge.d.ts.map +1 -0
  43. package/dist/housingvista/components/index.d.ts +17 -0
  44. package/dist/housingvista/components/index.d.ts.map +1 -0
  45. package/dist/housingvista/context/HousingVistaContext.d.ts +15 -0
  46. package/dist/housingvista/context/HousingVistaContext.d.ts.map +1 -0
  47. package/dist/housingvista/hooks/index.d.ts +804 -0
  48. package/dist/housingvista/hooks/index.d.ts.map +1 -0
  49. package/dist/housingvista/hooks/index.js +1 -0
  50. package/dist/housingvista/hooks/index.js.map +1 -1
  51. package/dist/housingvista/hooks/messages.d.ts +65 -0
  52. package/dist/housingvista/hooks/messages.d.ts.map +1 -0
  53. package/dist/housingvista/hooks/platform.d.ts +140 -0
  54. package/dist/housingvista/hooks/platform.d.ts.map +1 -0
  55. package/dist/housingvista/hooks/useHousingVistaAnalytics.d.ts +16 -0
  56. package/dist/housingvista/hooks/useHousingVistaAnalytics.d.ts.map +1 -0
  57. package/dist/housingvista/hooks/useHousingVistaAnalytics.js +57 -0
  58. package/dist/housingvista/hooks/useHousingVistaAnalytics.js.map +1 -0
  59. package/dist/housingvista/hooks/useServerPagination.d.ts +12 -0
  60. package/dist/housingvista/hooks/useServerPagination.d.ts.map +1 -0
  61. package/dist/housingvista/index.d.ts +13 -0
  62. package/dist/housingvista/index.d.ts.map +1 -0
  63. package/dist/housingvista/index.js +2 -0
  64. package/dist/housingvista/lib/toast.d.ts +11 -0
  65. package/dist/housingvista/lib/toast.d.ts.map +1 -0
  66. package/dist/housingvista/pages/HomePage.d.ts +7 -0
  67. package/dist/housingvista/pages/HomePage.d.ts.map +1 -0
  68. package/dist/housingvista/pages/HomePage.js +135 -132
  69. package/dist/housingvista/pages/HomePage.js.map +1 -1
  70. package/dist/housingvista/pages/amc/AMCManagementPage.d.ts +2 -0
  71. package/dist/housingvista/pages/amc/AMCManagementPage.d.ts.map +1 -0
  72. package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts +2 -0
  73. package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts.map +1 -0
  74. package/dist/housingvista/pages/analytics/AnalyticsPage.js +136 -134
  75. package/dist/housingvista/pages/analytics/AnalyticsPage.js.map +1 -1
  76. package/dist/housingvista/pages/assets/AssetDetailPage.d.ts +9 -0
  77. package/dist/housingvista/pages/assets/AssetDetailPage.d.ts.map +1 -0
  78. package/dist/housingvista/pages/assets/AssetManagementPage.d.ts +2 -0
  79. package/dist/housingvista/pages/assets/AssetManagementPage.d.ts.map +1 -0
  80. package/dist/housingvista/pages/assets/AssetManagementPage.js.map +1 -1
  81. package/dist/housingvista/pages/chat/ChatPage.d.ts +14 -0
  82. package/dist/housingvista/pages/chat/ChatPage.d.ts.map +1 -0
  83. package/dist/housingvista/pages/finance/HomeLoanDetailPage.d.ts +11 -0
  84. package/dist/housingvista/pages/finance/HomeLoanDetailPage.d.ts.map +1 -0
  85. package/dist/housingvista/pages/finance/HomeLoansPage.d.ts +2 -0
  86. package/dist/housingvista/pages/finance/HomeLoansPage.d.ts.map +1 -0
  87. package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts +2 -0
  88. package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts.map +1 -0
  89. package/dist/housingvista/pages/investments/InvestmentsPage.d.ts +2 -0
  90. package/dist/housingvista/pages/investments/InvestmentsPage.d.ts.map +1 -0
  91. package/dist/housingvista/pages/investments/InvestmentsPage.js.map +1 -1
  92. package/dist/housingvista/pages/legal/LegalPage.d.ts +2 -0
  93. package/dist/housingvista/pages/legal/LegalPage.d.ts.map +1 -0
  94. package/dist/housingvista/pages/legal/LegalServiceDetailPage.d.ts +12 -0
  95. package/dist/housingvista/pages/legal/LegalServiceDetailPage.d.ts.map +1 -0
  96. package/dist/housingvista/pages/market/AreaInsightsPage.d.ts +2 -0
  97. package/dist/housingvista/pages/market/AreaInsightsPage.d.ts.map +1 -0
  98. package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts +2 -0
  99. package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts.map +1 -0
  100. package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts +2 -0
  101. package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts.map +1 -0
  102. package/dist/housingvista/pages/marketplace/ServiceDetailPage.d.ts +12 -0
  103. package/dist/housingvista/pages/marketplace/ServiceDetailPage.d.ts.map +1 -0
  104. package/dist/housingvista/pages/offers/OffersPage.d.ts +10 -0
  105. package/dist/housingvista/pages/offers/OffersPage.d.ts.map +1 -0
  106. package/dist/housingvista/pages/properties/AddPropertyPage.d.ts +8 -0
  107. package/dist/housingvista/pages/properties/AddPropertyPage.d.ts.map +1 -0
  108. package/dist/housingvista/pages/properties/AddPropertyPage.js +279 -278
  109. package/dist/housingvista/pages/properties/AddPropertyPage.js.map +1 -1
  110. package/dist/housingvista/pages/properties/PropertiesPage.d.ts +7 -0
  111. package/dist/housingvista/pages/properties/PropertiesPage.d.ts.map +1 -0
  112. package/dist/housingvista/pages/properties/PropertiesPage.js +93 -86
  113. package/dist/housingvista/pages/properties/PropertiesPage.js.map +1 -1
  114. package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts +9 -0
  115. package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts.map +1 -0
  116. package/dist/housingvista/pages/properties/PropertyDetailPage.js +514 -511
  117. package/dist/housingvista/pages/properties/PropertyDetailPage.js.map +1 -1
  118. package/dist/housingvista/pages/rental/RentalManagementPage.d.ts +2 -0
  119. package/dist/housingvista/pages/rental/RentalManagementPage.d.ts.map +1 -0
  120. package/dist/housingvista/pages/settings/ProfilePage.d.ts +2 -0
  121. package/dist/housingvista/pages/settings/ProfilePage.d.ts.map +1 -0
  122. package/dist/housingvista/pages/settings/SettingsPage.d.ts +2 -0
  123. package/dist/housingvista/pages/settings/SettingsPage.d.ts.map +1 -0
  124. package/dist/housingvista/pages/shortlist/ShortlistPage.d.ts +8 -0
  125. package/dist/housingvista/pages/shortlist/ShortlistPage.d.ts.map +1 -0
  126. package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts +8 -0
  127. package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts.map +1 -0
  128. package/dist/housingvista/pages/transactions/TransactionsPage.d.ts +7 -0
  129. package/dist/housingvista/pages/transactions/TransactionsPage.d.ts.map +1 -0
  130. package/dist/housingvista/pages/transactions/milestones.d.ts +35 -0
  131. package/dist/housingvista/pages/transactions/milestones.d.ts.map +1 -0
  132. package/dist/housingvista/pages/verification/VerificationDetailPage.d.ts +10 -0
  133. package/dist/housingvista/pages/verification/VerificationDetailPage.d.ts.map +1 -0
  134. package/dist/housingvista/pages/verification/VerificationPage.d.ts +2 -0
  135. package/dist/housingvista/pages/verification/VerificationPage.d.ts.map +1 -0
  136. package/dist/housingvista/pages/viewings/ViewingsPage.d.ts +9 -0
  137. package/dist/housingvista/pages/viewings/ViewingsPage.d.ts.map +1 -0
  138. package/dist/housingvista/services/assistantApi.d.ts +90 -0
  139. package/dist/housingvista/services/assistantApi.d.ts.map +1 -0
  140. package/dist/housingvista/services/assistantApi.js +222 -0
  141. package/dist/housingvista/services/assistantApi.js.map +1 -0
  142. package/dist/housingvista/services/createSandboxAssistantTransport.d.ts +42 -0
  143. package/dist/housingvista/services/createSandboxAssistantTransport.d.ts.map +1 -0
  144. package/dist/housingvista/services/createSandboxAssistantTransport.js +120 -0
  145. package/dist/housingvista/services/createSandboxAssistantTransport.js.map +1 -0
  146. package/dist/housingvista/store/housingvistaStore.d.ts +72 -0
  147. package/dist/housingvista/store/housingvistaStore.d.ts.map +1 -0
  148. package/dist/housingvista/types/assistant.d.ts +16 -0
  149. package/dist/housingvista/types/assistant.d.ts.map +1 -0
  150. package/dist/housingvista/types/index.d.ts +1328 -0
  151. package/dist/housingvista/types/index.d.ts.map +1 -0
  152. package/dist/housingvista/utils/helpers.d.ts +25 -0
  153. package/dist/housingvista/utils/helpers.d.ts.map +1 -0
  154. package/dist/housingvista/utils/index.d.ts +2 -0
  155. package/dist/housingvista/utils/index.d.ts.map +1 -0
  156. package/dist/housingvista/utils/pageContext.d.ts +25 -0
  157. package/dist/housingvista/utils/pageContext.d.ts.map +1 -0
  158. package/dist/housingvista/utils/pageContext.js +77 -0
  159. package/dist/housingvista/utils/pageContext.js.map +1 -0
  160. package/dist/index.d.ts +6 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +5 -3
  163. package/package.json +6 -2
@@ -0,0 +1,16 @@
1
+ import { HousingVistaWorkspacePayload } from '@burdenoff/fe-libs/shared/events';
2
+
3
+ type EventName = 'housingvista.dashboard.viewed' | 'housingvista.property.create_clicked' | 'housingvista.property.created' | 'housingvista.property.updated' | 'housingvista.property.deleted' | 'housingvista.property.viewed' | 'housingvista.shortlist.property_added' | 'housingvista.transaction.create_clicked' | 'housingvista.transaction.created' | 'housingvista.transaction.updated' | 'housingvista.transaction.viewed' | 'housingvista.investment.create_clicked' | 'housingvista.investment.created' | 'housingvista.investment.viewed' | 'housingvista.offer.create_clicked' | 'housingvista.offer.created' | 'housingvista.offer.viewed' | 'housingvista.viewing.schedule_clicked' | 'housingvista.viewing.scheduled' | 'housingvista.chat.conversation_opened' | 'housingvista.chat.message_sent' | 'housingvista.analytics.viewed' | 'housingvista.rental.viewed' | 'housingvista.asset.create_clicked' | 'housingvista.asset.created' | 'housingvista.asset.updated' | 'housingvista.asset.viewed' | 'housingvista.amc.purchased' | 'housingvista.amc.viewed' | 'housingvista.marketplace.viewed' | 'housingvista.marketplace.service_contact_clicked' | 'housingvista.verification.submit_clicked' | 'housingvista.verification.submitted' | 'housingvista.verification.viewed' | 'housingvista.legal.viewed' | 'housingvista.legal.service_contact_clicked' | 'housingvista.home_loan.apply_clicked' | 'housingvista.home_loan.viewed' | 'housingvista.market_analytics.viewed' | 'housingvista.market_analytics.area_viewed' | 'housingvista.search.performed' | 'housingvista.export.requested';
4
+ export declare function useHousingVistaAnalytics(): {
5
+ emit: (name: EventName, payload?: HousingVistaWorkspacePayload) => void;
6
+ emitResource: (name: EventName, id?: string) => void;
7
+ emitSearch: (category?: string) => void;
8
+ emitExport: (entityType?: string) => void;
9
+ trackPageView: (name: EventName, id?: string) => void;
10
+ };
11
+ /**
12
+ * Emit a page-view event once on mount.
13
+ */
14
+ export declare function useTrackPageView(name: EventName, id?: string): void;
15
+ export {};
16
+ //# sourceMappingURL=useHousingVistaAnalytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHousingVistaAnalytics.d.ts","sourceRoot":"","sources":["../../../src/housingvista/hooks/useHousingVistaAnalytics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,4BAA4B,EAI7B,MAAM,kCAAkC,CAAC;AAE1C,KAAK,SAAS,GACV,+BAA+B,GAC/B,sCAAsC,GACtC,+BAA+B,GAC/B,+BAA+B,GAC/B,+BAA+B,GAC/B,8BAA8B,GAC9B,uCAAuC,GACvC,yCAAyC,GACzC,kCAAkC,GAClC,kCAAkC,GAClC,iCAAiC,GACjC,wCAAwC,GACxC,iCAAiC,GACjC,gCAAgC,GAChC,mCAAmC,GACnC,4BAA4B,GAC5B,2BAA2B,GAC3B,uCAAuC,GACvC,gCAAgC,GAChC,uCAAuC,GACvC,gCAAgC,GAChC,+BAA+B,GAC/B,4BAA4B,GAC5B,mCAAmC,GACnC,4BAA4B,GAC5B,4BAA4B,GAC5B,2BAA2B,GAC3B,4BAA4B,GAC5B,yBAAyB,GACzB,iCAAiC,GACjC,kDAAkD,GAClD,0CAA0C,GAC1C,qCAAqC,GACrC,kCAAkC,GAClC,2BAA2B,GAC3B,4CAA4C,GAC5C,sCAAsC,GACtC,+BAA+B,GAC/B,sCAAsC,GACtC,2CAA2C,GAC3C,+BAA+B,GAC/B,+BAA+B,CAAC;AAkBpC,wBAAgB,wBAAwB;iBAK7B,SAAS,YAAW,4BAA4B;yBAOhD,SAAS,OAAO,MAAM;4BAOjB,MAAM;8BAOJ,MAAM;0BAOb,SAAS,OAAO,MAAM;EAOhC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,QAM5D"}
@@ -0,0 +1,57 @@
1
+ import { useCallback as e, useEffect as t } from "react";
2
+ import { useEventBus as n } from "@burdenoff/fe-libs/shared/events";
3
+ //#region src/housingvista/hooks/useHousingVistaAnalytics.ts
4
+ function r() {
5
+ try {
6
+ let e = localStorage.getItem("burdenoff-active-context-workspace");
7
+ if (e) return e;
8
+ let t = sessionStorage.getItem("bf-active-profile");
9
+ if (!t) return;
10
+ let n = localStorage.getItem(`bf-p-${t}-context`);
11
+ return n ? JSON.parse(n).workspaceId : void 0;
12
+ } catch {
13
+ return;
14
+ }
15
+ }
16
+ function i() {
17
+ let t = n(), i = r(), a = e((e, n = {}) => {
18
+ t.emit(e, {
19
+ workspaceId: i,
20
+ ...n
21
+ });
22
+ }, [t, i]), o = e((e, n) => {
23
+ t.emit(e, {
24
+ workspaceId: i,
25
+ id: n
26
+ });
27
+ }, [t, i]);
28
+ return {
29
+ emit: a,
30
+ emitResource: o,
31
+ emitSearch: e((e) => {
32
+ t.emit("housingvista.search.performed", {
33
+ workspaceId: i,
34
+ category: e
35
+ });
36
+ }, [t, i]),
37
+ emitExport: e((e) => {
38
+ t.emit("housingvista.export.requested", {
39
+ workspaceId: i,
40
+ entityType: e
41
+ });
42
+ }, [t, i]),
43
+ trackPageView: e((e, t) => {
44
+ o(e, t);
45
+ }, [o])
46
+ };
47
+ }
48
+ function a(e, n) {
49
+ let { trackPageView: r } = i();
50
+ t(() => {
51
+ r(e, n);
52
+ }, [e, n]);
53
+ }
54
+ //#endregion
55
+ export { i as useHousingVistaAnalytics, a as useTrackPageView };
56
+
57
+ //# sourceMappingURL=useHousingVistaAnalytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHousingVistaAnalytics.js","names":[],"sources":["../../../src/housingvista/hooks/useHousingVistaAnalytics.ts"],"sourcesContent":["/**\n * HousingVista analytics helpers.\n *\n * Emits events on the shared shell event bus. The app shell's RybbitSink\n * forwards allow-listed fact events to Rybbit Cloud for product analytics.\n */\n\nimport { useCallback, useEffect } from 'react';\nimport { useEventBus } from '@burdenoff/fe-libs/shared/events';\nimport type {\n HousingVistaWorkspacePayload,\n HousingVistaResourcePayload,\n HousingVistaSearchPayload,\n HousingVistaExportPayload,\n} from '@burdenoff/fe-libs/shared/events';\n\ntype EventName =\n | 'housingvista.dashboard.viewed'\n | 'housingvista.property.create_clicked'\n | 'housingvista.property.created'\n | 'housingvista.property.updated'\n | 'housingvista.property.deleted'\n | 'housingvista.property.viewed'\n | 'housingvista.shortlist.property_added'\n | 'housingvista.transaction.create_clicked'\n | 'housingvista.transaction.created'\n | 'housingvista.transaction.updated'\n | 'housingvista.transaction.viewed'\n | 'housingvista.investment.create_clicked'\n | 'housingvista.investment.created'\n | 'housingvista.investment.viewed'\n | 'housingvista.offer.create_clicked'\n | 'housingvista.offer.created'\n | 'housingvista.offer.viewed'\n | 'housingvista.viewing.schedule_clicked'\n | 'housingvista.viewing.scheduled'\n | 'housingvista.chat.conversation_opened'\n | 'housingvista.chat.message_sent'\n | 'housingvista.analytics.viewed'\n | 'housingvista.rental.viewed'\n | 'housingvista.asset.create_clicked'\n | 'housingvista.asset.created'\n | 'housingvista.asset.updated'\n | 'housingvista.asset.viewed'\n | 'housingvista.amc.purchased'\n | 'housingvista.amc.viewed'\n | 'housingvista.marketplace.viewed'\n | 'housingvista.marketplace.service_contact_clicked'\n | 'housingvista.verification.submit_clicked'\n | 'housingvista.verification.submitted'\n | 'housingvista.verification.viewed'\n | 'housingvista.legal.viewed'\n | 'housingvista.legal.service_contact_clicked'\n | 'housingvista.home_loan.apply_clicked'\n | 'housingvista.home_loan.viewed'\n | 'housingvista.market_analytics.viewed'\n | 'housingvista.market_analytics.area_viewed'\n | 'housingvista.search.performed'\n | 'housingvista.export.requested';\n\nfunction useWorkspaceId(): string | undefined {\n try {\n const activeContextValue = localStorage.getItem('burdenoff-active-context-workspace');\n if (activeContextValue) return activeContextValue;\n\n const activeProfileId = sessionStorage.getItem('bf-active-profile');\n if (!activeProfileId) return undefined;\n const raw = localStorage.getItem(`bf-p-${activeProfileId}-context`);\n if (!raw) return undefined;\n const context = JSON.parse(raw) as { workspaceId?: string };\n return context.workspaceId;\n } catch {\n return undefined;\n }\n}\n\nexport function useHousingVistaAnalytics() {\n const bus = useEventBus();\n const workspaceId = useWorkspaceId();\n\n const emit = useCallback(\n (name: EventName, payload: HousingVistaWorkspacePayload = {}) => {\n bus.emit(name, { workspaceId, ...payload });\n },\n [bus, workspaceId]\n );\n\n const emitResource = useCallback(\n (name: EventName, id?: string) => {\n bus.emit(name, { workspaceId, id } as HousingVistaResourcePayload);\n },\n [bus, workspaceId]\n );\n\n const emitSearch = useCallback(\n (category?: string) => {\n bus.emit('housingvista.search.performed', { workspaceId, category } as HousingVistaSearchPayload);\n },\n [bus, workspaceId]\n );\n\n const emitExport = useCallback(\n (entityType?: string) => {\n bus.emit('housingvista.export.requested', { workspaceId, entityType } as HousingVistaExportPayload);\n },\n [bus, workspaceId]\n );\n\n const trackPageView = useCallback(\n (name: EventName, id?: string) => {\n emitResource(name, id);\n },\n [emitResource]\n );\n\n return { emit, emitResource, emitSearch, emitExport, trackPageView };\n}\n\n/**\n * Emit a page-view event once on mount.\n */\nexport function useTrackPageView(name: EventName, id?: string) {\n const { trackPageView } = useHousingVistaAnalytics();\n useEffect(() => {\n trackPageView(name, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name, id]);\n}\n"],"mappings":";;;AA4DA,SAAS,IAAqC;AAC5C,KAAI;EACF,IAAM,IAAqB,aAAa,QAAQ,qCAAqC;AACrF,MAAI,EAAoB,QAAO;EAE/B,IAAM,IAAkB,eAAe,QAAQ,oBAAoB;AACnE,MAAI,CAAC,EAAiB;EACtB,IAAM,IAAM,aAAa,QAAQ,QAAQ,EAAgB,UAAU;AAGnE,SAFK,IACW,KAAK,MAAM,EAAI,CAChB,cAFL;SAGJ;AACN;;;AAIJ,SAAgB,IAA2B;CACzC,IAAM,IAAM,GAAa,EACnB,IAAc,GAAgB,EAE9B,IAAO,GACV,GAAiB,IAAwC,EAAE,KAAK;AAC/D,IAAI,KAAK,GAAM;GAAE;GAAa,GAAG;GAAS,CAAC;IAE7C,CAAC,GAAK,EAAY,CACnB,EAEK,IAAe,GAClB,GAAiB,MAAgB;AAChC,IAAI,KAAK,GAAM;GAAE;GAAa;GAAI,CAAgC;IAEpE,CAAC,GAAK,EAAY,CACnB;AAuBD,QAAO;EAAE;EAAM;EAAc,YArBV,GAChB,MAAsB;AACrB,KAAI,KAAK,iCAAiC;IAAE;IAAa;IAAU,CAA8B;KAEnG,CAAC,GAAK,EAAY,CACnB;EAgBwC,YAdtB,GAChB,MAAwB;AACvB,KAAI,KAAK,iCAAiC;IAAE;IAAa;IAAY,CAA8B;KAErG,CAAC,GAAK,EAAY,CACnB;EASoD,eAP/B,GACnB,GAAiB,MAAgB;AAChC,KAAa,GAAM,EAAG;KAExB,CAAC,EAAa,CACf;EAEmE;;AAMtE,SAAgB,EAAiB,GAAiB,GAAa;CAC7D,IAAM,EAAE,qBAAkB,GAA0B;AACpD,SAAgB;AACd,IAAc,GAAM,EAAG;IAEtB,CAAC,GAAM,EAAG,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface ServerPaginationState {
2
+ page: number;
3
+ pageSize: number;
4
+ pagination: {
5
+ limit: number;
6
+ offset: number;
7
+ };
8
+ setPage: (page: number) => void;
9
+ setPageSize: (pageSize: number) => void;
10
+ }
11
+ export declare function useServerPagination(initialPageSize?: number): ServerPaginationState;
12
+ //# sourceMappingURL=useServerPagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useServerPagination.d.ts","sourceRoot":"","sources":["../../../src/housingvista/hooks/useServerPagination.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,mBAAmB,CAAC,eAAe,SAAK,GAAG,qBAAqB,CAuB/E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * HousingVista Microfrontend - Module Entry Point
3
+ * @module @burdenoff/microfe-housingvista
4
+ */
5
+ export { HousingVistaRoot } from './HousingVistaRoot';
6
+ export type { HousingVistaRootProps, NavItem, FooterItem } from './types';
7
+ export type { AssistantMode, AssistantArtifact } from './types/assistant';
8
+ export { useHousingVista } from './context/HousingVistaContext';
9
+ export { useSandboxAssistantTransport } from './services/createSandboxAssistantTransport';
10
+ export type { AssistantTransport } from './services/createSandboxAssistantTransport';
11
+ export { useHousingVistaAnalytics } from './hooks/useHousingVistaAnalytics';
12
+ export { useHousingVistaStore } from './store/housingvistaStore';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/housingvista/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import "./context/HousingVistaContext.js";
2
+ import "./hooks/useHousingVistaAnalytics.js";
2
3
  import "./HousingVistaRoot.js";
4
+ import "./services/createSandboxAssistantTransport.js";
3
5
  import "./store/housingvistaStore.js";
@@ -0,0 +1,11 @@
1
+ import { toast } from 'sonner';
2
+
3
+ export declare const notify: {
4
+ success(message: string, description?: string): void;
5
+ info(message: string, description?: string): void;
6
+ warning(message: string, description?: string): void;
7
+ error(message: string, description?: string): void;
8
+ dismiss(id?: string | number): void;
9
+ };
10
+ export { toast };
11
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/housingvista/lib/toast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,eAAO,MAAM,MAAM;qBACA,MAAM,gBAAgB,MAAM,GAAG,IAAI;kBAGtC,MAAM,gBAAgB,MAAM,GAAG,IAAI;qBAGhC,MAAM,gBAAgB,MAAM,GAAG,IAAI;mBAGrC,MAAM,gBAAgB,MAAM,GAAG,IAAI;iBAGrC,MAAM,GAAG,MAAM,GAAG,IAAI;CAGpC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * HousingVista Dashboard / Home Page
3
+ * Migrated from legacy housingvista-frontend dashboard.tsx
4
+ * @module housingvista
5
+ */
6
+ export declare const HomePage: () => import("react").JSX.Element;
7
+ //# sourceMappingURL=HomePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomePage.d.ts","sourceRoot":"","sources":["../../../src/housingvista/pages/HomePage.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAyDH,eAAO,MAAM,QAAQ,mCA4RpB,CAAC"}
@@ -1,25 +1,26 @@
1
1
  import { cn as e, getRelativeTime as t } from "../utils/helpers.js";
2
2
  import { StatCard as n } from "../components/StatCard.js";
3
3
  import { PropertyCard as r } from "../components/PropertyCard.js";
4
- import { useDashboardStats as i, useProperties as a, useRecentActivities as o } from "../hooks/index.js";
4
+ import { useTrackPageView as i } from "../hooks/useHousingVistaAnalytics.js";
5
+ import { useDashboardStats as a, useProperties as o, useRecentActivities as s } from "../hooks/index.js";
5
6
  import "../components/index.js";
6
- import { useMemo as s } from "react";
7
- import { ArrowRight as c, BarChart3 as l, Building as u, Clock as d, DollarSign as f, Eye as p, FileText as m, Home as h, Plus as g, TrendingUp as _, Zap as v } from "lucide-react";
8
- import { useNavigate as y } from "react-router-dom";
9
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
10
- import { useI18n as S } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
11
- import { AuroraBackground as C, Button as w, EmphasisPanel as T, GlassCard as E, GradientText as D, IllustratedEmptyState as O, NextSteps as k, PagePurpose as A } from "@burdenoff/fe-libs/ui";
7
+ import { useMemo as c } from "react";
8
+ import { ArrowRight as l, BarChart3 as u, Building as d, Clock as f, DollarSign as p, Eye as m, FileText as h, Home as g, Plus as _, TrendingUp as v, Zap as y } from "lucide-react";
9
+ import { useNavigate as b } from "react-router-dom";
10
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
11
+ import { useI18n as C } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
12
+ import { AuroraBackground as w, Button as T, EmphasisPanel as E, GlassCard as D, GradientText as O, IllustratedEmptyState as k, NextSteps as A, PagePurpose as j } from "@burdenoff/fe-libs/ui";
12
13
  //#region src/housingvista/pages/HomePage.tsx
13
- var j = {
14
- property_listed: h,
15
- transaction_update: m,
16
- payment_received: f,
17
- maintenance_request: u,
18
- viewing_scheduled: p,
19
- document_uploaded: m,
20
- offer_received: _,
21
- lease_signed: m
22
- }, M = {
14
+ var M = {
15
+ property_listed: g,
16
+ transaction_update: h,
17
+ payment_received: p,
18
+ maintenance_request: d,
19
+ viewing_scheduled: m,
20
+ document_uploaded: h,
21
+ offer_received: v,
22
+ lease_signed: h
23
+ }, N = {
23
24
  property_listed: "text-accent-purple",
24
25
  transaction_update: "text-status-info-text",
25
26
  payment_received: "text-status-success-text",
@@ -28,170 +29,172 @@ var j = {
28
29
  document_uploaded: "text-status-info-text",
29
30
  offer_received: "text-status-success-text",
30
31
  lease_signed: "text-accent-teal"
31
- }, N = () => {
32
- let h = y(), { t: N } = S(), { data: P } = i(), { data: F } = o(), { data: I } = a(), L = (e, t) => {
33
- let n = N(e);
32
+ }, P = () => {
33
+ let g = b(), { t: P } = C();
34
+ i("housingvista.dashboard.viewed");
35
+ let { data: F } = a(), { data: I } = s(), { data: L } = o(), R = (e, t) => {
36
+ let n = P(e);
34
37
  return n === e ? t : n;
35
- }, R = [
38
+ }, z = [
36
39
  {
37
- title: L("housingvista.home.quickActions.addProperty.title", "Add Property"),
38
- description: L("housingvista.home.quickActions.addProperty.description", "List a new property"),
39
- icon: g,
40
+ title: R("housingvista.home.quickActions.addProperty.title", "Add Property"),
41
+ description: R("housingvista.home.quickActions.addProperty.description", "List a new property"),
42
+ icon: _,
40
43
  path: "properties/new"
41
44
  },
42
45
  {
43
- title: L("housingvista.home.quickActions.viewAnalytics.title", "View Analytics"),
44
- description: L("housingvista.home.quickActions.viewAnalytics.description", "Check performance metrics"),
45
- icon: l,
46
+ title: R("housingvista.home.quickActions.viewAnalytics.title", "View Analytics"),
47
+ description: R("housingvista.home.quickActions.viewAnalytics.description", "Check performance metrics"),
48
+ icon: u,
46
49
  path: "analytics"
47
50
  },
48
51
  {
49
- title: L("housingvista.home.quickActions.manageTransactions.title", "Manage Transactions"),
50
- description: L("housingvista.home.quickActions.manageTransactions.description", "Handle ongoing deals"),
51
- icon: m,
52
+ title: R("housingvista.home.quickActions.manageTransactions.title", "Manage Transactions"),
53
+ description: R("housingvista.home.quickActions.manageTransactions.description", "Handle ongoing deals"),
54
+ icon: h,
52
55
  path: "transactions"
53
56
  },
54
57
  {
55
- title: L("housingvista.home.quickActions.browseProperties.title", "Browse Properties"),
56
- description: L("housingvista.home.quickActions.browseProperties.description", "Explore listings"),
57
- icon: u,
58
+ title: R("housingvista.home.quickActions.browseProperties.title", "Browse Properties"),
59
+ description: R("housingvista.home.quickActions.browseProperties.description", "Explore listings"),
60
+ icon: d,
58
61
  path: "properties"
59
62
  }
60
- ], z = s(() => I.slice(0, 6), [I]);
61
- return /* @__PURE__ */ x("div", {
63
+ ], B = c(() => L.slice(0, 6), [L]);
64
+ return /* @__PURE__ */ S("div", {
62
65
  className: "space-y-6 p-6",
63
66
  children: [
64
- /* @__PURE__ */ x("div", {
67
+ /* @__PURE__ */ S("div", {
65
68
  className: "relative overflow-hidden rounded-card border border-border-seam bg-gloss-card p-6 shadow-pop",
66
- children: [/* @__PURE__ */ b(C, { intensity: "subtle" }), /* @__PURE__ */ x("div", {
69
+ children: [/* @__PURE__ */ x(w, { intensity: "subtle" }), /* @__PURE__ */ S("div", {
67
70
  className: "relative flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",
68
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h1", {
71
+ children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h1", {
69
72
  className: "text-3xl font-bold text-text-primary",
70
- children: /* @__PURE__ */ b(D, { children: L("housingvista.home.header.title", "Welcome back!") })
71
- }), /* @__PURE__ */ b("p", {
73
+ children: /* @__PURE__ */ x(O, { children: R("housingvista.home.header.title", "Welcome back!") })
74
+ }), /* @__PURE__ */ x("p", {
72
75
  className: "mt-1 text-text-secondary",
73
- children: L("housingvista.home.header.description", "Here's what's happening with your real estate portfolio today.")
74
- })] }), /* @__PURE__ */ x(w, {
75
- onClick: () => h("properties/new"),
76
+ children: R("housingvista.home.header.description", "Here's what's happening with your real estate portfolio today.")
77
+ })] }), /* @__PURE__ */ S(T, {
78
+ onClick: () => g("properties/new"),
76
79
  className: "gap-2 self-start lg:self-auto",
77
- children: [/* @__PURE__ */ b(g, { className: "h-4 w-4" }), L("housingvista.home.header.quickAdd", "Quick Add")]
80
+ children: [/* @__PURE__ */ x(_, { className: "h-4 w-4" }), R("housingvista.home.header.quickAdd", "Quick Add")]
78
81
  })]
79
82
  })]
80
83
  }),
81
- /* @__PURE__ */ b(A, {
84
+ /* @__PURE__ */ x(j, {
82
85
  className: "max-w-3xl",
83
- children: L("housingvista.home.purpose", "Your real-estate command center. See your portfolio at a glance, jump to the things you do most, and pick up where you left off — from listing a property to tracking deals and analytics.")
86
+ children: R("housingvista.home.purpose", "Your real-estate command center. See your portfolio at a glance, jump to the things you do most, and pick up where you left off — from listing a property to tracking deals and analytics.")
84
87
  }),
85
- /* @__PURE__ */ b(k, {
88
+ /* @__PURE__ */ x(A, {
86
89
  storageKey: "housingvista-home",
87
90
  steps: [
88
91
  {
89
92
  id: "add-property",
90
- label: L("housingvista.home.nextSteps.addProperty", "List your first property"),
91
- description: L("housingvista.home.nextSteps.addPropertyDesc", "Create a market-ready listing in a few guided steps."),
92
- onClick: () => h("properties/new")
93
+ label: R("housingvista.home.nextSteps.addProperty", "List your first property"),
94
+ description: R("housingvista.home.nextSteps.addPropertyDesc", "Create a market-ready listing in a few guided steps."),
95
+ onClick: () => g("properties/new")
93
96
  },
94
97
  {
95
98
  id: "browse",
96
- label: L("housingvista.home.nextSteps.browse", "Browse properties"),
97
- description: L("housingvista.home.nextSteps.browseDesc", "Explore listings and open one for full details."),
98
- onClick: () => h("properties")
99
+ label: R("housingvista.home.nextSteps.browse", "Browse properties"),
100
+ description: R("housingvista.home.nextSteps.browseDesc", "Explore listings and open one for full details."),
101
+ onClick: () => g("properties")
99
102
  },
100
103
  {
101
104
  id: "analytics",
102
- label: L("housingvista.home.nextSteps.analytics", "Review your analytics"),
103
- description: L("housingvista.home.nextSteps.analyticsDesc", "Check portfolio performance and market insights."),
104
- onClick: () => h("analytics")
105
+ label: R("housingvista.home.nextSteps.analytics", "Review your analytics"),
106
+ description: R("housingvista.home.nextSteps.analyticsDesc", "Check portfolio performance and market insights."),
107
+ onClick: () => g("analytics")
105
108
  }
106
109
  ]
107
110
  }),
108
- /* @__PURE__ */ x("div", {
111
+ /* @__PURE__ */ S("div", {
109
112
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
110
113
  children: [
111
- /* @__PURE__ */ b(n, {
112
- label: L("housingvista.home.stats.totalProperties", "Total Properties"),
113
- value: P.totalProperties,
114
- icon: /* @__PURE__ */ b(u, { className: "h-5 w-5" }),
114
+ /* @__PURE__ */ x(n, {
115
+ label: R("housingvista.home.stats.totalProperties", "Total Properties"),
116
+ value: F.totalProperties,
117
+ icon: /* @__PURE__ */ x(d, { className: "h-5 w-5" }),
115
118
  featured: !0
116
119
  }),
117
- /* @__PURE__ */ b(n, {
118
- label: L("housingvista.home.stats.activeListings", "Active Listings"),
119
- value: P.activeTransactions,
120
- icon: /* @__PURE__ */ b(_, { className: "h-5 w-5" })
120
+ /* @__PURE__ */ x(n, {
121
+ label: R("housingvista.home.stats.activeListings", "Active Listings"),
122
+ value: F.activeTransactions,
123
+ icon: /* @__PURE__ */ x(v, { className: "h-5 w-5" })
121
124
  }),
122
- /* @__PURE__ */ b(n, {
123
- label: L("housingvista.home.stats.upcomingViewings", "Upcoming Viewings"),
124
- value: P.upcomingViewings,
125
- icon: /* @__PURE__ */ b(p, { className: "h-5 w-5" })
125
+ /* @__PURE__ */ x(n, {
126
+ label: R("housingvista.home.stats.upcomingViewings", "Upcoming Viewings"),
127
+ value: F.upcomingViewings,
128
+ icon: /* @__PURE__ */ x(m, { className: "h-5 w-5" })
126
129
  }),
127
- /* @__PURE__ */ b(n, {
128
- label: L("housingvista.home.stats.monthlyRevenue", "Monthly Revenue"),
129
- value: P.monthlyRevenue,
130
+ /* @__PURE__ */ x(n, {
131
+ label: R("housingvista.home.stats.monthlyRevenue", "Monthly Revenue"),
132
+ value: F.monthlyRevenue,
130
133
  prefix: "$",
131
- icon: /* @__PURE__ */ b(f, { className: "h-5 w-5" })
134
+ icon: /* @__PURE__ */ x(p, { className: "h-5 w-5" })
132
135
  })
133
136
  ]
134
137
  }),
135
- /* @__PURE__ */ x("div", {
138
+ /* @__PURE__ */ S("div", {
136
139
  className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
137
- children: [/* @__PURE__ */ b("div", {
140
+ children: [/* @__PURE__ */ x("div", {
138
141
  className: "lg:col-span-2",
139
- children: /* @__PURE__ */ x(T, {
142
+ children: /* @__PURE__ */ S(E, {
140
143
  className: "p-0",
141
- children: [/* @__PURE__ */ x("div", {
144
+ children: [/* @__PURE__ */ S("div", {
142
145
  className: "flex items-center gap-2 border-b border-border-seam px-5 py-4",
143
- children: [/* @__PURE__ */ b(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ b("h2", {
146
+ children: [/* @__PURE__ */ x(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ x("h2", {
144
147
  className: "text-base font-semibold text-text-primary",
145
- children: L("housingvista.home.recentActivity.title", "Recent Activity")
148
+ children: R("housingvista.home.recentActivity.title", "Recent Activity")
146
149
  })]
147
- }), /* @__PURE__ */ b("div", {
150
+ }), /* @__PURE__ */ x("div", {
148
151
  className: "p-5",
149
- children: F.length === 0 ? /* @__PURE__ */ x("div", {
152
+ children: I.length === 0 ? /* @__PURE__ */ S("div", {
150
153
  className: "flex flex-col items-center gap-2 py-8 text-center",
151
154
  children: [
152
- /* @__PURE__ */ b("div", {
155
+ /* @__PURE__ */ x("div", {
153
156
  className: "rounded-full bg-bg-sunken p-3",
154
- children: /* @__PURE__ */ b(d, { className: "h-6 w-6 text-text-secondary" })
157
+ children: /* @__PURE__ */ x(f, { className: "h-6 w-6 text-text-secondary" })
155
158
  }),
156
- /* @__PURE__ */ b("p", {
159
+ /* @__PURE__ */ x("p", {
157
160
  className: "text-sm font-medium text-text-primary",
158
161
  children: "No activity yet"
159
162
  }),
160
- /* @__PURE__ */ b("p", {
163
+ /* @__PURE__ */ x("p", {
161
164
  className: "max-w-xs text-xs text-text-secondary",
162
165
  children: "As you list properties, book viewings, and close deals, your latest updates appear here."
163
166
  })
164
167
  ]
165
- }) : /* @__PURE__ */ x("ol", {
168
+ }) : /* @__PURE__ */ S("ol", {
166
169
  className: "relative space-y-5",
167
- children: [/* @__PURE__ */ b("span", {
170
+ children: [/* @__PURE__ */ x("span", {
168
171
  "aria-hidden": !0,
169
172
  className: "absolute bottom-2 left-[18px] top-2 w-px bg-border-seam"
170
- }), F.slice(0, 6).map((n) => {
171
- let r = j[n.type] ?? p;
172
- return /* @__PURE__ */ x("li", {
173
+ }), I.slice(0, 6).map((n) => {
174
+ let r = M[n.type] ?? m;
175
+ return /* @__PURE__ */ S("li", {
173
176
  className: "relative flex items-start gap-4",
174
- children: [/* @__PURE__ */ b("span", {
175
- className: e("relative z-10 flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-border-seam bg-bg-surface shadow-elevation-1", M[n.type] ?? "text-text-secondary"),
176
- children: /* @__PURE__ */ b(r, { className: "h-4 w-4" })
177
- }), /* @__PURE__ */ x("div", {
177
+ children: [/* @__PURE__ */ x("span", {
178
+ className: e("relative z-10 flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-border-seam bg-bg-surface shadow-elevation-1", N[n.type] ?? "text-text-secondary"),
179
+ children: /* @__PURE__ */ x(r, { className: "h-4 w-4" })
180
+ }), /* @__PURE__ */ S("div", {
178
181
  className: "min-w-0 flex-1 pt-0.5",
179
182
  children: [
180
- /* @__PURE__ */ x("div", {
183
+ /* @__PURE__ */ S("div", {
181
184
  className: "flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",
182
- children: [/* @__PURE__ */ b("p", {
185
+ children: [/* @__PURE__ */ x("p", {
183
186
  className: "text-sm font-medium text-text-primary",
184
187
  children: n.title
185
- }), /* @__PURE__ */ b("p", {
188
+ }), /* @__PURE__ */ x("p", {
186
189
  className: "shrink-0 text-xs text-text-secondary",
187
190
  children: t(n.timestamp)
188
191
  })]
189
192
  }),
190
- /* @__PURE__ */ b("p", {
193
+ /* @__PURE__ */ x("p", {
191
194
  className: "mt-0.5 text-xs text-text-secondary",
192
195
  children: n.description
193
196
  }),
194
- n.actorName && /* @__PURE__ */ b("p", {
197
+ n.actorName && /* @__PURE__ */ x("p", {
195
198
  className: "mt-0.5 text-xs text-text-secondary",
196
199
  children: n.actorName
197
200
  })
@@ -202,40 +205,40 @@ var j = {
202
205
  })
203
206
  })]
204
207
  })
205
- }), /* @__PURE__ */ b("div", {
208
+ }), /* @__PURE__ */ x("div", {
206
209
  className: "lg:col-span-1",
207
- children: /* @__PURE__ */ x(E, {
210
+ children: /* @__PURE__ */ S(D, {
208
211
  treatment: "plain",
209
212
  className: "h-full border-border-seam",
210
- children: [/* @__PURE__ */ x("div", {
213
+ children: [/* @__PURE__ */ S("div", {
211
214
  className: "flex items-center gap-2 border-b border-border-seam px-5 py-4",
212
- children: [/* @__PURE__ */ b(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ b("h2", {
215
+ children: [/* @__PURE__ */ x(y, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ x("h2", {
213
216
  className: "text-base font-semibold text-text-primary",
214
- children: L("housingvista.home.quickActions.title", "Quick Actions")
217
+ children: R("housingvista.home.quickActions.title", "Quick Actions")
215
218
  })]
216
- }), /* @__PURE__ */ b("div", {
219
+ }), /* @__PURE__ */ x("div", {
217
220
  className: "space-y-2 p-4",
218
- children: R.map((t, n) => {
221
+ children: z.map((t, n) => {
219
222
  let r = t.icon;
220
- return /* @__PURE__ */ x("button", {
221
- onClick: () => h(t.path),
223
+ return /* @__PURE__ */ S("button", {
224
+ onClick: () => g(t.path),
222
225
  className: "group/action flex min-h-[44px] w-full items-center gap-3 rounded-lg border border-border-seam p-3 text-left transition-colors hover:bg-bg-sunken/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
223
226
  children: [
224
- /* @__PURE__ */ b("div", {
227
+ /* @__PURE__ */ x("div", {
225
228
  className: e("rounded-lg bg-bg-sunken p-2", n % 2 == 0 ? "text-accent-teal" : "text-accent-blue"),
226
- children: /* @__PURE__ */ b(r, { className: "h-5 w-5" })
229
+ children: /* @__PURE__ */ x(r, { className: "h-5 w-5" })
227
230
  }),
228
- /* @__PURE__ */ x("div", {
231
+ /* @__PURE__ */ S("div", {
229
232
  className: "min-w-0 flex-1",
230
- children: [/* @__PURE__ */ b("div", {
233
+ children: [/* @__PURE__ */ x("div", {
231
234
  className: "text-sm font-medium text-text-primary",
232
235
  children: t.title
233
- }), /* @__PURE__ */ b("div", {
236
+ }), /* @__PURE__ */ x("div", {
234
237
  className: "text-xs text-text-secondary",
235
238
  children: t.description
236
239
  })]
237
240
  }),
238
- /* @__PURE__ */ b(c, { className: "h-4 w-4 shrink-0 text-text-secondary opacity-0 transition-opacity group-hover/action:opacity-100" })
241
+ /* @__PURE__ */ x(l, { className: "h-4 w-4 shrink-0 text-text-secondary opacity-0 transition-opacity group-hover/action:opacity-100" })
239
242
  ]
240
243
  }, t.title);
241
244
  })
@@ -243,34 +246,34 @@ var j = {
243
246
  })
244
247
  })]
245
248
  }),
246
- /* @__PURE__ */ x(E, {
249
+ /* @__PURE__ */ S(D, {
247
250
  treatment: "plain",
248
251
  className: "border-border-seam",
249
- children: [/* @__PURE__ */ x("div", {
252
+ children: [/* @__PURE__ */ S("div", {
250
253
  className: "flex items-center justify-between border-b border-border-seam px-5 py-4",
251
- children: [/* @__PURE__ */ b("h2", {
254
+ children: [/* @__PURE__ */ x("h2", {
252
255
  className: "text-base font-semibold text-text-primary",
253
- children: L("housingvista.home.recentProperties.title", "Recent Properties")
254
- }), /* @__PURE__ */ x("button", {
255
- onClick: () => h("properties"),
256
+ children: R("housingvista.home.recentProperties.title", "Recent Properties")
257
+ }), /* @__PURE__ */ S("button", {
258
+ onClick: () => g("properties"),
256
259
  className: "inline-flex min-h-[44px] items-center gap-1 text-sm font-medium text-text-secondary transition-colors hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)] rounded-md px-1",
257
- children: [L("housingvista.home.recentProperties.viewAll", "View All"), /* @__PURE__ */ b(c, { className: "h-4 w-4" })]
260
+ children: [R("housingvista.home.recentProperties.viewAll", "View All"), /* @__PURE__ */ x(l, { className: "h-4 w-4" })]
258
261
  })]
259
- }), z.length === 0 ? /* @__PURE__ */ b("div", {
262
+ }), B.length === 0 ? /* @__PURE__ */ x("div", {
260
263
  className: "p-4",
261
- children: /* @__PURE__ */ b(O, {
264
+ children: /* @__PURE__ */ x(k, {
262
265
  illustration: "empty-data",
263
- title: L("housingvista.home.recentProperties.empty.title", "No properties yet"),
264
- description: L("housingvista.home.recentProperties.empty.description", "List your first property to see it appear here."),
265
- action: /* @__PURE__ */ x(w, {
266
- onClick: () => h("properties/new"),
266
+ title: R("housingvista.home.recentProperties.empty.title", "No properties yet"),
267
+ description: R("housingvista.home.recentProperties.empty.description", "List your first property to see it appear here."),
268
+ action: /* @__PURE__ */ S(T, {
269
+ onClick: () => g("properties/new"),
267
270
  className: "gap-2",
268
- children: [/* @__PURE__ */ b(g, { className: "h-4 w-4" }), L("housingvista.home.header.quickAdd", "Quick Add")]
271
+ children: [/* @__PURE__ */ x(_, { className: "h-4 w-4" }), R("housingvista.home.header.quickAdd", "Quick Add")]
269
272
  })
270
273
  })
271
- }) : /* @__PURE__ */ b("div", {
274
+ }) : /* @__PURE__ */ x("div", {
272
275
  className: "grid grid-cols-1 gap-4 p-4 sm:grid-cols-2 lg:grid-cols-3",
273
- children: z.map((e) => /* @__PURE__ */ b(r, {
276
+ children: B.map((e) => /* @__PURE__ */ x(r, {
274
277
  id: e.id,
275
278
  title: e.title,
276
279
  price: e.price.amount,
@@ -284,7 +287,7 @@ var j = {
284
287
  imageUrl: e.images[0]?.url,
285
288
  status: e.status.replace("_", " "),
286
289
  type: e.category,
287
- onClick: () => h(`properties/${e.id}`)
290
+ onClick: () => g(`properties/${e.id}`)
288
291
  }, e.id))
289
292
  })]
290
293
  })
@@ -292,6 +295,6 @@ var j = {
292
295
  });
293
296
  };
294
297
  //#endregion
295
- export { N as HomePage };
298
+ export { P as HomePage };
296
299
 
297
300
  //# sourceMappingURL=HomePage.js.map