@burdenoff/microfe-housingvista 2026.510.105

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 (984) hide show
  1. package/README.md +12 -0
  2. package/dist/_virtual/_rolldown/runtime.js +20 -0
  3. package/dist/generated/global-operations.d.ts +2 -0
  4. package/dist/generated/global-operations.d.ts.map +1 -0
  5. package/dist/generated/global-types.d.ts +20716 -0
  6. package/dist/generated/global-types.d.ts.map +1 -0
  7. package/dist/generated/wspace-operations.d.ts +2 -0
  8. package/dist/generated/wspace-operations.d.ts.map +1 -0
  9. package/dist/generated/wspace-types.d.ts +53363 -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/HousingVistaRoot.js +186 -0
  14. package/dist/housingvista/HousingVistaRoot.js.map +1 -0
  15. package/dist/housingvista/HousingVistaRoutes.d.ts +7 -0
  16. package/dist/housingvista/HousingVistaRoutes.d.ts.map +1 -0
  17. package/dist/housingvista/HousingVistaRoutes.js +118 -0
  18. package/dist/housingvista/HousingVistaRoutes.js.map +1 -0
  19. package/dist/housingvista/components/Breadcrumbs.d.ts +13 -0
  20. package/dist/housingvista/components/Breadcrumbs.d.ts.map +1 -0
  21. package/dist/housingvista/components/Breadcrumbs.js +31 -0
  22. package/dist/housingvista/components/Breadcrumbs.js.map +1 -0
  23. package/dist/housingvista/components/ChartCard.d.ts +12 -0
  24. package/dist/housingvista/components/ChartCard.d.ts.map +1 -0
  25. package/dist/housingvista/components/ChartCard.js +23 -0
  26. package/dist/housingvista/components/ChartCard.js.map +1 -0
  27. package/dist/housingvista/components/DataTable.d.ts +24 -0
  28. package/dist/housingvista/components/DataTable.d.ts.map +1 -0
  29. package/dist/housingvista/components/DataTable.js +126 -0
  30. package/dist/housingvista/components/DataTable.js.map +1 -0
  31. package/dist/housingvista/components/EmptyState.d.ts +12 -0
  32. package/dist/housingvista/components/EmptyState.d.ts.map +1 -0
  33. package/dist/housingvista/components/EmptyState.js +29 -0
  34. package/dist/housingvista/components/EmptyState.js.map +1 -0
  35. package/dist/housingvista/components/ErrorBoundary.d.ts +19 -0
  36. package/dist/housingvista/components/ErrorBoundary.d.ts.map +1 -0
  37. package/dist/housingvista/components/ErrorBoundary.js +52 -0
  38. package/dist/housingvista/components/ErrorBoundary.js.map +1 -0
  39. package/dist/housingvista/components/FilterBar.d.ts +13 -0
  40. package/dist/housingvista/components/FilterBar.d.ts.map +1 -0
  41. package/dist/housingvista/components/FilterBar.js +31 -0
  42. package/dist/housingvista/components/FilterBar.js.map +1 -0
  43. package/dist/housingvista/components/LoadingSkeleton.d.ts +10 -0
  44. package/dist/housingvista/components/LoadingSkeleton.d.ts.map +1 -0
  45. package/dist/housingvista/components/LoadingSkeleton.js +1 -0
  46. package/dist/housingvista/components/Modal.d.ts +14 -0
  47. package/dist/housingvista/components/Modal.d.ts.map +1 -0
  48. package/dist/housingvista/components/Modal.js +3 -0
  49. package/dist/housingvista/components/PageLayout.d.ts +12 -0
  50. package/dist/housingvista/components/PageLayout.d.ts.map +1 -0
  51. package/dist/housingvista/components/PageLayout.js +23 -0
  52. package/dist/housingvista/components/PageLayout.js.map +1 -0
  53. package/dist/housingvista/components/PropertyCard.d.ts +21 -0
  54. package/dist/housingvista/components/PropertyCard.d.ts.map +1 -0
  55. package/dist/housingvista/components/PropertyCard.js +115 -0
  56. package/dist/housingvista/components/PropertyCard.js.map +1 -0
  57. package/dist/housingvista/components/StatCard.d.ts +16 -0
  58. package/dist/housingvista/components/StatCard.d.ts.map +1 -0
  59. package/dist/housingvista/components/StatCard.js +53 -0
  60. package/dist/housingvista/components/StatCard.js.map +1 -0
  61. package/dist/housingvista/components/StatusBadge.d.ts +12 -0
  62. package/dist/housingvista/components/StatusBadge.d.ts.map +1 -0
  63. package/dist/housingvista/components/StatusBadge.js +25 -0
  64. package/dist/housingvista/components/StatusBadge.js.map +1 -0
  65. package/dist/housingvista/components/Toast.d.ts +21 -0
  66. package/dist/housingvista/components/Toast.d.ts.map +1 -0
  67. package/dist/housingvista/components/Toast.js +3 -0
  68. package/dist/housingvista/components/index.d.ts +17 -0
  69. package/dist/housingvista/components/index.d.ts.map +1 -0
  70. package/dist/housingvista/components/index.js +13 -0
  71. package/dist/housingvista/context/HousingVistaContext.d.ts +15 -0
  72. package/dist/housingvista/context/HousingVistaContext.d.ts.map +1 -0
  73. package/dist/housingvista/context/HousingVistaContext.js +28 -0
  74. package/dist/housingvista/context/HousingVistaContext.js.map +1 -0
  75. package/dist/housingvista/hooks/index.d.ts +103 -0
  76. package/dist/housingvista/hooks/index.d.ts.map +1 -0
  77. package/dist/housingvista/hooks/index.js +434 -0
  78. package/dist/housingvista/hooks/index.js.map +1 -0
  79. package/dist/housingvista/hooks/useToast.d.ts +13 -0
  80. package/dist/housingvista/hooks/useToast.d.ts.map +1 -0
  81. package/dist/housingvista/index.d.ts +9 -0
  82. package/dist/housingvista/index.d.ts.map +1 -0
  83. package/dist/housingvista/index.js +3 -0
  84. package/dist/housingvista/pages/HomePage.d.ts +7 -0
  85. package/dist/housingvista/pages/HomePage.d.ts.map +1 -0
  86. package/dist/housingvista/pages/HomePage.js +226 -0
  87. package/dist/housingvista/pages/HomePage.js.map +1 -0
  88. package/dist/housingvista/pages/amc/AMCManagementPage.d.ts +2 -0
  89. package/dist/housingvista/pages/amc/AMCManagementPage.d.ts.map +1 -0
  90. package/dist/housingvista/pages/amc/AMCManagementPage.js +248 -0
  91. package/dist/housingvista/pages/amc/AMCManagementPage.js.map +1 -0
  92. package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts +2 -0
  93. package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts.map +1 -0
  94. package/dist/housingvista/pages/analytics/AnalyticsPage.js +320 -0
  95. package/dist/housingvista/pages/analytics/AnalyticsPage.js.map +1 -0
  96. package/dist/housingvista/pages/assets/AssetManagementPage.d.ts +2 -0
  97. package/dist/housingvista/pages/assets/AssetManagementPage.d.ts.map +1 -0
  98. package/dist/housingvista/pages/assets/AssetManagementPage.js +273 -0
  99. package/dist/housingvista/pages/assets/AssetManagementPage.js.map +1 -0
  100. package/dist/housingvista/pages/chat/ChatPage.d.ts +2 -0
  101. package/dist/housingvista/pages/chat/ChatPage.d.ts.map +1 -0
  102. package/dist/housingvista/pages/chat/ChatPage.js +218 -0
  103. package/dist/housingvista/pages/chat/ChatPage.js.map +1 -0
  104. package/dist/housingvista/pages/finance/HomeLoansPage.d.ts +2 -0
  105. package/dist/housingvista/pages/finance/HomeLoansPage.d.ts.map +1 -0
  106. package/dist/housingvista/pages/finance/HomeLoansPage.js +306 -0
  107. package/dist/housingvista/pages/finance/HomeLoansPage.js.map +1 -0
  108. package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts +2 -0
  109. package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts.map +1 -0
  110. package/dist/housingvista/pages/investments/InvestmentDetailPage.js +473 -0
  111. package/dist/housingvista/pages/investments/InvestmentDetailPage.js.map +1 -0
  112. package/dist/housingvista/pages/investments/InvestmentsPage.d.ts +2 -0
  113. package/dist/housingvista/pages/investments/InvestmentsPage.d.ts.map +1 -0
  114. package/dist/housingvista/pages/investments/InvestmentsPage.js +268 -0
  115. package/dist/housingvista/pages/investments/InvestmentsPage.js.map +1 -0
  116. package/dist/housingvista/pages/legal/LegalPage.d.ts +2 -0
  117. package/dist/housingvista/pages/legal/LegalPage.d.ts.map +1 -0
  118. package/dist/housingvista/pages/legal/LegalPage.js +188 -0
  119. package/dist/housingvista/pages/legal/LegalPage.js.map +1 -0
  120. package/dist/housingvista/pages/market/AreaInsightsPage.d.ts +2 -0
  121. package/dist/housingvista/pages/market/AreaInsightsPage.d.ts.map +1 -0
  122. package/dist/housingvista/pages/market/AreaInsightsPage.js +278 -0
  123. package/dist/housingvista/pages/market/AreaInsightsPage.js.map +1 -0
  124. package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts +2 -0
  125. package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts.map +1 -0
  126. package/dist/housingvista/pages/market/MarketAnalyticsPage.js +296 -0
  127. package/dist/housingvista/pages/market/MarketAnalyticsPage.js.map +1 -0
  128. package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts +2 -0
  129. package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts.map +1 -0
  130. package/dist/housingvista/pages/marketplace/MarketplacePage.js +201 -0
  131. package/dist/housingvista/pages/marketplace/MarketplacePage.js.map +1 -0
  132. package/dist/housingvista/pages/notifications/NotificationsPage.d.ts +2 -0
  133. package/dist/housingvista/pages/notifications/NotificationsPage.d.ts.map +1 -0
  134. package/dist/housingvista/pages/notifications/NotificationsPage.js +139 -0
  135. package/dist/housingvista/pages/notifications/NotificationsPage.js.map +1 -0
  136. package/dist/housingvista/pages/properties/AddPropertyPage.d.ts +8 -0
  137. package/dist/housingvista/pages/properties/AddPropertyPage.d.ts.map +1 -0
  138. package/dist/housingvista/pages/properties/AddPropertyPage.js +751 -0
  139. package/dist/housingvista/pages/properties/AddPropertyPage.js.map +1 -0
  140. package/dist/housingvista/pages/properties/PropertiesPage.d.ts +7 -0
  141. package/dist/housingvista/pages/properties/PropertiesPage.d.ts.map +1 -0
  142. package/dist/housingvista/pages/properties/PropertiesPage.js +385 -0
  143. package/dist/housingvista/pages/properties/PropertiesPage.js.map +1 -0
  144. package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts +8 -0
  145. package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts.map +1 -0
  146. package/dist/housingvista/pages/properties/PropertyDetailPage.js +670 -0
  147. package/dist/housingvista/pages/properties/PropertyDetailPage.js.map +1 -0
  148. package/dist/housingvista/pages/rental/RentalManagementPage.d.ts +2 -0
  149. package/dist/housingvista/pages/rental/RentalManagementPage.d.ts.map +1 -0
  150. package/dist/housingvista/pages/rental/RentalManagementPage.js +296 -0
  151. package/dist/housingvista/pages/rental/RentalManagementPage.js.map +1 -0
  152. package/dist/housingvista/pages/settings/ProfilePage.d.ts +2 -0
  153. package/dist/housingvista/pages/settings/ProfilePage.d.ts.map +1 -0
  154. package/dist/housingvista/pages/settings/ProfilePage.js +172 -0
  155. package/dist/housingvista/pages/settings/ProfilePage.js.map +1 -0
  156. package/dist/housingvista/pages/settings/SettingsPage.d.ts +2 -0
  157. package/dist/housingvista/pages/settings/SettingsPage.d.ts.map +1 -0
  158. package/dist/housingvista/pages/settings/SettingsPage.js +195 -0
  159. package/dist/housingvista/pages/settings/SettingsPage.js.map +1 -0
  160. package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts +8 -0
  161. package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts.map +1 -0
  162. package/dist/housingvista/pages/transactions/TransactionDetailPage.js +586 -0
  163. package/dist/housingvista/pages/transactions/TransactionDetailPage.js.map +1 -0
  164. package/dist/housingvista/pages/transactions/TransactionsPage.d.ts +7 -0
  165. package/dist/housingvista/pages/transactions/TransactionsPage.d.ts.map +1 -0
  166. package/dist/housingvista/pages/transactions/TransactionsPage.js +224 -0
  167. package/dist/housingvista/pages/transactions/TransactionsPage.js.map +1 -0
  168. package/dist/housingvista/pages/verification/VerificationPage.d.ts +2 -0
  169. package/dist/housingvista/pages/verification/VerificationPage.d.ts.map +1 -0
  170. package/dist/housingvista/pages/verification/VerificationPage.js +136 -0
  171. package/dist/housingvista/pages/verification/VerificationPage.js.map +1 -0
  172. package/dist/housingvista/store/housingvistaStore.d.ts +72 -0
  173. package/dist/housingvista/store/housingvistaStore.d.ts.map +1 -0
  174. package/dist/housingvista/store/housingvistaStore.js +39 -0
  175. package/dist/housingvista/store/housingvistaStore.js.map +1 -0
  176. package/dist/housingvista/types/index.d.ts +1326 -0
  177. package/dist/housingvista/types/index.d.ts.map +1 -0
  178. package/dist/housingvista/utils/helpers.d.ts +12 -0
  179. package/dist/housingvista/utils/helpers.d.ts.map +1 -0
  180. package/dist/housingvista/utils/helpers.js +30 -0
  181. package/dist/housingvista/utils/helpers.js.map +1 -0
  182. package/dist/housingvista/utils/index.d.ts +2 -0
  183. package/dist/housingvista/utils/index.d.ts.map +1 -0
  184. package/dist/index.d.ts +6 -0
  185. package/dist/index.d.ts.map +1 -0
  186. package/dist/index.js +5 -0
  187. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  188. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  189. package/dist/node_modules/d3-array/src/ascending.js +8 -0
  190. package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
  191. package/dist/node_modules/d3-array/src/bisect.js +10 -0
  192. package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
  193. package/dist/node_modules/d3-array/src/bisector.js +43 -0
  194. package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
  195. package/dist/node_modules/d3-array/src/descending.js +8 -0
  196. package/dist/node_modules/d3-array/src/descending.js.map +1 -0
  197. package/dist/node_modules/d3-array/src/max.js +14 -0
  198. package/dist/node_modules/d3-array/src/max.js.map +1 -0
  199. package/dist/node_modules/d3-array/src/min.js +14 -0
  200. package/dist/node_modules/d3-array/src/min.js.map +1 -0
  201. package/dist/node_modules/d3-array/src/number.js +15 -0
  202. package/dist/node_modules/d3-array/src/number.js.map +1 -0
  203. package/dist/node_modules/d3-array/src/quantile.js +25 -0
  204. package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
  205. package/dist/node_modules/d3-array/src/quickselect.js +26 -0
  206. package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
  207. package/dist/node_modules/d3-array/src/range.js +10 -0
  208. package/dist/node_modules/d3-array/src/range.js.map +1 -0
  209. package/dist/node_modules/d3-array/src/sort.js +17 -0
  210. package/dist/node_modules/d3-array/src/sort.js.map +1 -0
  211. package/dist/node_modules/d3-array/src/ticks.js +34 -0
  212. package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
  213. package/dist/node_modules/d3-color/src/color.js +291 -0
  214. package/dist/node_modules/d3-color/src/color.js.map +1 -0
  215. package/dist/node_modules/d3-color/src/define.js +13 -0
  216. package/dist/node_modules/d3-color/src/define.js.map +1 -0
  217. package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
  218. package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
  219. package/dist/node_modules/d3-format/src/exponent.js +9 -0
  220. package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
  221. package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
  222. package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
  223. package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
  224. package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
  225. package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
  226. package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
  227. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
  228. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
  229. package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
  230. package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
  231. package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
  232. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
  233. package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
  234. package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
  235. package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
  236. package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
  237. package/dist/node_modules/d3-format/src/identity.js +8 -0
  238. package/dist/node_modules/d3-format/src/identity.js.map +1 -0
  239. package/dist/node_modules/d3-format/src/locale.js +86 -0
  240. package/dist/node_modules/d3-format/src/locale.js.map +1 -0
  241. package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
  242. package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
  243. package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
  244. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
  245. package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
  246. package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
  247. package/dist/node_modules/d3-interpolate/src/array.js +15 -0
  248. package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
  249. package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
  250. package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
  251. package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
  252. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
  253. package/dist/node_modules/d3-interpolate/src/color.js +25 -0
  254. package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
  255. package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
  256. package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
  257. package/dist/node_modules/d3-interpolate/src/date.js +11 -0
  258. package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
  259. package/dist/node_modules/d3-interpolate/src/number.js +10 -0
  260. package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
  261. package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
  262. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
  263. package/dist/node_modules/d3-interpolate/src/object.js +14 -0
  264. package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
  265. package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
  266. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
  267. package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
  268. package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
  269. package/dist/node_modules/d3-interpolate/src/round.js +10 -0
  270. package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
  271. package/dist/node_modules/d3-interpolate/src/string.js +28 -0
  272. package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
  273. package/dist/node_modules/d3-interpolate/src/value.js +18 -0
  274. package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
  275. package/dist/node_modules/d3-path/src/path.js +65 -0
  276. package/dist/node_modules/d3-path/src/path.js.map +1 -0
  277. package/dist/node_modules/d3-scale/src/band.js +52 -0
  278. package/dist/node_modules/d3-scale/src/band.js.map +1 -0
  279. package/dist/node_modules/d3-scale/src/constant.js +10 -0
  280. package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
  281. package/dist/node_modules/d3-scale/src/continuous.js +73 -0
  282. package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
  283. package/dist/node_modules/d3-scale/src/diverging.js +82 -0
  284. package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
  285. package/dist/node_modules/d3-scale/src/identity.js +20 -0
  286. package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
  287. package/dist/node_modules/d3-scale/src/init.js +29 -0
  288. package/dist/node_modules/d3-scale/src/init.js.map +1 -0
  289. package/dist/node_modules/d3-scale/src/linear.js +36 -0
  290. package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
  291. package/dist/node_modules/d3-scale/src/log.js +77 -0
  292. package/dist/node_modules/d3-scale/src/log.js.map +1 -0
  293. package/dist/node_modules/d3-scale/src/nice.js +10 -0
  294. package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
  295. package/dist/node_modules/d3-scale/src/number.js +8 -0
  296. package/dist/node_modules/d3-scale/src/number.js.map +1 -0
  297. package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
  298. package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
  299. package/dist/node_modules/d3-scale/src/pow.js +37 -0
  300. package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
  301. package/dist/node_modules/d3-scale/src/quantile.js +37 -0
  302. package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
  303. package/dist/node_modules/d3-scale/src/quantize.js +33 -0
  304. package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
  305. package/dist/node_modules/d3-scale/src/radial.js +39 -0
  306. package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
  307. package/dist/node_modules/d3-scale/src/sequential.js +67 -0
  308. package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
  309. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
  310. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
  311. package/dist/node_modules/d3-scale/src/symlog.js +30 -0
  312. package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
  313. package/dist/node_modules/d3-scale/src/threshold.js +25 -0
  314. package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
  315. package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
  316. package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
  317. package/dist/node_modules/d3-scale/src/time.js +47 -0
  318. package/dist/node_modules/d3-scale/src/time.js.map +1 -0
  319. package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
  320. package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
  321. package/dist/node_modules/d3-shape/src/area.js +55 -0
  322. package/dist/node_modules/d3-shape/src/area.js.map +1 -0
  323. package/dist/node_modules/d3-shape/src/array.js +8 -0
  324. package/dist/node_modules/d3-shape/src/array.js.map +1 -0
  325. package/dist/node_modules/d3-shape/src/constant.js +10 -0
  326. package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
  327. package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
  328. package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
  329. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
  330. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
  331. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
  332. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
  333. package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
  334. package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
  335. package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
  336. package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
  337. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
  338. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
  339. package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
  340. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
  341. package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
  342. package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
  343. package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
  344. package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
  345. package/dist/node_modules/d3-shape/src/line.js +30 -0
  346. package/dist/node_modules/d3-shape/src/line.js.map +1 -0
  347. package/dist/node_modules/d3-shape/src/math.js +8 -0
  348. package/dist/node_modules/d3-shape/src/math.js.map +1 -0
  349. package/dist/node_modules/d3-shape/src/noop.js +6 -0
  350. package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
  351. package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
  352. package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
  353. package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
  354. package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
  355. package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
  356. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
  357. package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
  358. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
  359. package/dist/node_modules/d3-shape/src/order/none.js +9 -0
  360. package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
  361. package/dist/node_modules/d3-shape/src/path.js +19 -0
  362. package/dist/node_modules/d3-shape/src/path.js.map +1 -0
  363. package/dist/node_modules/d3-shape/src/point.js +11 -0
  364. package/dist/node_modules/d3-shape/src/point.js.map +1 -0
  365. package/dist/node_modules/d3-shape/src/stack.js +34 -0
  366. package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
  367. package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
  368. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
  369. package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
  370. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
  371. package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
  372. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
  373. package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
  374. package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
  375. package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
  376. package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
  377. package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
  378. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
  379. package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
  380. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
  381. package/dist/node_modules/d3-shape/src/symbol.js +23 -0
  382. package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
  383. package/dist/node_modules/d3-time/src/day.js +21 -0
  384. package/dist/node_modules/d3-time/src/day.js.map +1 -0
  385. package/dist/node_modules/d3-time/src/duration.js +6 -0
  386. package/dist/node_modules/d3-time/src/duration.js.map +1 -0
  387. package/dist/node_modules/d3-time/src/hour.js +19 -0
  388. package/dist/node_modules/d3-time/src/hour.js.map +1 -0
  389. package/dist/node_modules/d3-time/src/interval.js +28 -0
  390. package/dist/node_modules/d3-time/src/interval.js.map +1 -0
  391. package/dist/node_modules/d3-time/src/millisecond.js +14 -0
  392. package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
  393. package/dist/node_modules/d3-time/src/minute.js +19 -0
  394. package/dist/node_modules/d3-time/src/minute.js.map +1 -0
  395. package/dist/node_modules/d3-time/src/month.js +18 -0
  396. package/dist/node_modules/d3-time/src/month.js.map +1 -0
  397. package/dist/node_modules/d3-time/src/second.js +13 -0
  398. package/dist/node_modules/d3-time/src/second.js.map +1 -0
  399. package/dist/node_modules/d3-time/src/ticks.js +125 -0
  400. package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
  401. package/dist/node_modules/d3-time/src/week.js +25 -0
  402. package/dist/node_modules/d3-time/src/week.js.map +1 -0
  403. package/dist/node_modules/d3-time/src/year.js +26 -0
  404. package/dist/node_modules/d3-time/src/year.js.map +1 -0
  405. package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
  406. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
  407. package/dist/node_modules/d3-time-format/src/locale.js +490 -0
  408. package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
  409. package/dist/node_modules/decimal.js-light/decimal.js +378 -0
  410. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
  411. package/dist/node_modules/eventemitter3/index.js +95 -0
  412. package/dist/node_modules/eventemitter3/index.js.map +1 -0
  413. package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
  414. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
  415. package/dist/node_modules/internmap/src/index.js +40 -0
  416. package/dist/node_modules/internmap/src/index.js.map +1 -0
  417. package/dist/node_modules/lodash/_DataView.js +12 -0
  418. package/dist/node_modules/lodash/_DataView.js.map +1 -0
  419. package/dist/node_modules/lodash/_Hash.js +23 -0
  420. package/dist/node_modules/lodash/_Hash.js.map +1 -0
  421. package/dist/node_modules/lodash/_ListCache.js +23 -0
  422. package/dist/node_modules/lodash/_ListCache.js.map +1 -0
  423. package/dist/node_modules/lodash/_Map.js +12 -0
  424. package/dist/node_modules/lodash/_Map.js.map +1 -0
  425. package/dist/node_modules/lodash/_MapCache.js +23 -0
  426. package/dist/node_modules/lodash/_MapCache.js.map +1 -0
  427. package/dist/node_modules/lodash/_Promise.js +12 -0
  428. package/dist/node_modules/lodash/_Promise.js.map +1 -0
  429. package/dist/node_modules/lodash/_Set.js +12 -0
  430. package/dist/node_modules/lodash/_Set.js.map +1 -0
  431. package/dist/node_modules/lodash/_SetCache.js +18 -0
  432. package/dist/node_modules/lodash/_SetCache.js.map +1 -0
  433. package/dist/node_modules/lodash/_Stack.js +20 -0
  434. package/dist/node_modules/lodash/_Stack.js.map +1 -0
  435. package/dist/node_modules/lodash/_Symbol.js +11 -0
  436. package/dist/node_modules/lodash/_Symbol.js.map +1 -0
  437. package/dist/node_modules/lodash/_Uint8Array.js +11 -0
  438. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
  439. package/dist/node_modules/lodash/_WeakMap.js +12 -0
  440. package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
  441. package/dist/node_modules/lodash/_apply.js +19 -0
  442. package/dist/node_modules/lodash/_apply.js.map +1 -0
  443. package/dist/node_modules/lodash/_arrayEvery.js +14 -0
  444. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
  445. package/dist/node_modules/lodash/_arrayFilter.js +17 -0
  446. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
  447. package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
  448. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
  449. package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
  450. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
  451. package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
  452. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
  453. package/dist/node_modules/lodash/_arrayMap.js +14 -0
  454. package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
  455. package/dist/node_modules/lodash/_arrayPush.js +14 -0
  456. package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
  457. package/dist/node_modules/lodash/_arraySome.js +14 -0
  458. package/dist/node_modules/lodash/_arraySome.js.map +1 -0
  459. package/dist/node_modules/lodash/_asciiToArray.js +13 -0
  460. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
  461. package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
  462. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
  463. package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
  464. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
  465. package/dist/node_modules/lodash/_baseEach.js +13 -0
  466. package/dist/node_modules/lodash/_baseEach.js.map +1 -0
  467. package/dist/node_modules/lodash/_baseEvery.js +18 -0
  468. package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
  469. package/dist/node_modules/lodash/_baseExtremum.js +19 -0
  470. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
  471. package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
  472. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
  473. package/dist/node_modules/lodash/_baseFlatten.js +21 -0
  474. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
  475. package/dist/node_modules/lodash/_baseFor.js +11 -0
  476. package/dist/node_modules/lodash/_baseFor.js.map +1 -0
  477. package/dist/node_modules/lodash/_baseForOwn.js +16 -0
  478. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
  479. package/dist/node_modules/lodash/_baseGet.js +18 -0
  480. package/dist/node_modules/lodash/_baseGet.js.map +1 -0
  481. package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
  482. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
  483. package/dist/node_modules/lodash/_baseGetTag.js +17 -0
  484. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
  485. package/dist/node_modules/lodash/_baseGt.js +13 -0
  486. package/dist/node_modules/lodash/_baseGt.js.map +1 -0
  487. package/dist/node_modules/lodash/_baseHasIn.js +13 -0
  488. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
  489. package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
  490. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
  491. package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
  492. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
  493. package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
  494. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
  495. package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
  496. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
  497. package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
  498. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
  499. package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
  500. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
  501. package/dist/node_modules/lodash/_baseIsNative.js +18 -0
  502. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
  503. package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
  504. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
  505. package/dist/node_modules/lodash/_baseIteratee.js +19 -0
  506. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
  507. package/dist/node_modules/lodash/_baseKeys.js +19 -0
  508. package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
  509. package/dist/node_modules/lodash/_baseLt.js +13 -0
  510. package/dist/node_modules/lodash/_baseLt.js.map +1 -0
  511. package/dist/node_modules/lodash/_baseMap.js +19 -0
  512. package/dist/node_modules/lodash/_baseMap.js.map +1 -0
  513. package/dist/node_modules/lodash/_baseMatches.js +20 -0
  514. package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
  515. package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
  516. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
  517. package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
  518. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
  519. package/dist/node_modules/lodash/_baseProperty.js +15 -0
  520. package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
  521. package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
  522. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
  523. package/dist/node_modules/lodash/_baseRange.js +15 -0
  524. package/dist/node_modules/lodash/_baseRange.js.map +1 -0
  525. package/dist/node_modules/lodash/_baseRest.js +17 -0
  526. package/dist/node_modules/lodash/_baseRest.js.map +1 -0
  527. package/dist/node_modules/lodash/_baseSetToString.js +21 -0
  528. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
  529. package/dist/node_modules/lodash/_baseSlice.js +16 -0
  530. package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
  531. package/dist/node_modules/lodash/_baseSome.js +18 -0
  532. package/dist/node_modules/lodash/_baseSome.js.map +1 -0
  533. package/dist/node_modules/lodash/_baseSortBy.js +15 -0
  534. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
  535. package/dist/node_modules/lodash/_baseTimes.js +14 -0
  536. package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
  537. package/dist/node_modules/lodash/_baseToString.js +22 -0
  538. package/dist/node_modules/lodash/_baseToString.js.map +1 -0
  539. package/dist/node_modules/lodash/_baseTrim.js +15 -0
  540. package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
  541. package/dist/node_modules/lodash/_baseUnary.js +15 -0
  542. package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
  543. package/dist/node_modules/lodash/_baseUniq.js +34 -0
  544. package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
  545. package/dist/node_modules/lodash/_cacheHas.js +13 -0
  546. package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
  547. package/dist/node_modules/lodash/_castPath.js +18 -0
  548. package/dist/node_modules/lodash/_castPath.js.map +1 -0
  549. package/dist/node_modules/lodash/_castSlice.js +16 -0
  550. package/dist/node_modules/lodash/_castSlice.js.map +1 -0
  551. package/dist/node_modules/lodash/_compareAscending.js +20 -0
  552. package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
  553. package/dist/node_modules/lodash/_compareMultiple.js +19 -0
  554. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
  555. package/dist/node_modules/lodash/_coreJsData.js +11 -0
  556. package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
  557. package/dist/node_modules/lodash/_createBaseEach.js +20 -0
  558. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
  559. package/dist/node_modules/lodash/_createBaseFor.js +19 -0
  560. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
  561. package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
  562. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
  563. package/dist/node_modules/lodash/_createFind.js +27 -0
  564. package/dist/node_modules/lodash/_createFind.js.map +1 -0
  565. package/dist/node_modules/lodash/_createRange.js +19 -0
  566. package/dist/node_modules/lodash/_createRange.js.map +1 -0
  567. package/dist/node_modules/lodash/_createSet.js +16 -0
  568. package/dist/node_modules/lodash/_createSet.js.map +1 -0
  569. package/dist/node_modules/lodash/_defineProperty.js +17 -0
  570. package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
  571. package/dist/node_modules/lodash/_equalArrays.js +42 -0
  572. package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
  573. package/dist/node_modules/lodash/_equalByTag.js +42 -0
  574. package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
  575. package/dist/node_modules/lodash/_equalObjects.js +39 -0
  576. package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
  577. package/dist/node_modules/lodash/_freeGlobal.js +10 -0
  578. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
  579. package/dist/node_modules/lodash/_getAllKeys.js +17 -0
  580. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
  581. package/dist/node_modules/lodash/_getMapData.js +16 -0
  582. package/dist/node_modules/lodash/_getMapData.js.map +1 -0
  583. package/dist/node_modules/lodash/_getMatchData.js +24 -0
  584. package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
  585. package/dist/node_modules/lodash/_getNative.js +17 -0
  586. package/dist/node_modules/lodash/_getNative.js.map +1 -0
  587. package/dist/node_modules/lodash/_getPrototype.js +11 -0
  588. package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
  589. package/dist/node_modules/lodash/_getRawTag.js +21 -0
  590. package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
  591. package/dist/node_modules/lodash/_getSymbols.js +17 -0
  592. package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
  593. package/dist/node_modules/lodash/_getTag.js +28 -0
  594. package/dist/node_modules/lodash/_getTag.js.map +1 -0
  595. package/dist/node_modules/lodash/_getValue.js +13 -0
  596. package/dist/node_modules/lodash/_getValue.js.map +1 -0
  597. package/dist/node_modules/lodash/_hasPath.js +26 -0
  598. package/dist/node_modules/lodash/_hasPath.js.map +1 -0
  599. package/dist/node_modules/lodash/_hasUnicode.js +14 -0
  600. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
  601. package/dist/node_modules/lodash/_hashClear.js +15 -0
  602. package/dist/node_modules/lodash/_hashClear.js.map +1 -0
  603. package/dist/node_modules/lodash/_hashDelete.js +14 -0
  604. package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
  605. package/dist/node_modules/lodash/_hashGet.js +20 -0
  606. package/dist/node_modules/lodash/_hashGet.js.map +1 -0
  607. package/dist/node_modules/lodash/_hashHas.js +16 -0
  608. package/dist/node_modules/lodash/_hashHas.js.map +1 -0
  609. package/dist/node_modules/lodash/_hashSet.js +16 -0
  610. package/dist/node_modules/lodash/_hashSet.js.map +1 -0
  611. package/dist/node_modules/lodash/_isFlattenable.js +17 -0
  612. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
  613. package/dist/node_modules/lodash/_isIndex.js +15 -0
  614. package/dist/node_modules/lodash/_isIndex.js.map +1 -0
  615. package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
  616. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
  617. package/dist/node_modules/lodash/_isKey.js +18 -0
  618. package/dist/node_modules/lodash/_isKey.js.map +1 -0
  619. package/dist/node_modules/lodash/_isKeyable.js +14 -0
  620. package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
  621. package/dist/node_modules/lodash/_isMasked.js +18 -0
  622. package/dist/node_modules/lodash/_isMasked.js.map +1 -0
  623. package/dist/node_modules/lodash/_isPrototype.js +15 -0
  624. package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
  625. package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
  626. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
  627. package/dist/node_modules/lodash/_listCacheClear.js +13 -0
  628. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
  629. package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
  630. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
  631. package/dist/node_modules/lodash/_listCacheGet.js +16 -0
  632. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
  633. package/dist/node_modules/lodash/_listCacheHas.js +15 -0
  634. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
  635. package/dist/node_modules/lodash/_listCacheSet.js +16 -0
  636. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
  637. package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
  638. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
  639. package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
  640. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  641. package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
  642. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
  643. package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
  644. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
  645. package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
  646. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
  647. package/dist/node_modules/lodash/_mapToArray.js +16 -0
  648. package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
  649. package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
  650. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
  651. package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
  652. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
  653. package/dist/node_modules/lodash/_nativeCreate.js +11 -0
  654. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
  655. package/dist/node_modules/lodash/_nativeKeys.js +11 -0
  656. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
  657. package/dist/node_modules/lodash/_nodeUtil.js +16 -0
  658. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
  659. package/dist/node_modules/lodash/_objectToString.js +14 -0
  660. package/dist/node_modules/lodash/_objectToString.js.map +1 -0
  661. package/dist/node_modules/lodash/_overArg.js +15 -0
  662. package/dist/node_modules/lodash/_overArg.js.map +1 -0
  663. package/dist/node_modules/lodash/_overRest.js +20 -0
  664. package/dist/node_modules/lodash/_overRest.js.map +1 -0
  665. package/dist/node_modules/lodash/_root.js +12 -0
  666. package/dist/node_modules/lodash/_root.js.map +1 -0
  667. package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
  668. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
  669. package/dist/node_modules/lodash/_setCacheHas.js +13 -0
  670. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
  671. package/dist/node_modules/lodash/_setToArray.js +16 -0
  672. package/dist/node_modules/lodash/_setToArray.js.map +1 -0
  673. package/dist/node_modules/lodash/_setToString.js +13 -0
  674. package/dist/node_modules/lodash/_setToString.js.map +1 -0
  675. package/dist/node_modules/lodash/_shortOut.js +21 -0
  676. package/dist/node_modules/lodash/_shortOut.js.map +1 -0
  677. package/dist/node_modules/lodash/_stackClear.js +15 -0
  678. package/dist/node_modules/lodash/_stackClear.js.map +1 -0
  679. package/dist/node_modules/lodash/_stackDelete.js +14 -0
  680. package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
  681. package/dist/node_modules/lodash/_stackGet.js +13 -0
  682. package/dist/node_modules/lodash/_stackGet.js.map +1 -0
  683. package/dist/node_modules/lodash/_stackHas.js +13 -0
  684. package/dist/node_modules/lodash/_stackHas.js.map +1 -0
  685. package/dist/node_modules/lodash/_stackSet.js +23 -0
  686. package/dist/node_modules/lodash/_stackSet.js.map +1 -0
  687. package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
  688. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
  689. package/dist/node_modules/lodash/_stringToArray.js +17 -0
  690. package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
  691. package/dist/node_modules/lodash/_stringToPath.js +17 -0
  692. package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
  693. package/dist/node_modules/lodash/_toKey.js +17 -0
  694. package/dist/node_modules/lodash/_toKey.js.map +1 -0
  695. package/dist/node_modules/lodash/_toSource.js +22 -0
  696. package/dist/node_modules/lodash/_toSource.js.map +1 -0
  697. package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
  698. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  699. package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
  700. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
  701. package/dist/node_modules/lodash/constant.js +15 -0
  702. package/dist/node_modules/lodash/constant.js.map +1 -0
  703. package/dist/node_modules/lodash/debounce.js +57 -0
  704. package/dist/node_modules/lodash/debounce.js.map +1 -0
  705. package/dist/node_modules/lodash/eq.js +13 -0
  706. package/dist/node_modules/lodash/eq.js.map +1 -0
  707. package/dist/node_modules/lodash/every.js +20 -0
  708. package/dist/node_modules/lodash/every.js.map +1 -0
  709. package/dist/node_modules/lodash/find.js +12 -0
  710. package/dist/node_modules/lodash/find.js.map +1 -0
  711. package/dist/node_modules/lodash/findIndex.js +20 -0
  712. package/dist/node_modules/lodash/findIndex.js.map +1 -0
  713. package/dist/node_modules/lodash/flatMap.js +16 -0
  714. package/dist/node_modules/lodash/flatMap.js.map +1 -0
  715. package/dist/node_modules/lodash/get.js +16 -0
  716. package/dist/node_modules/lodash/get.js.map +1 -0
  717. package/dist/node_modules/lodash/hasIn.js +16 -0
  718. package/dist/node_modules/lodash/hasIn.js.map +1 -0
  719. package/dist/node_modules/lodash/identity.js +13 -0
  720. package/dist/node_modules/lodash/identity.js.map +1 -0
  721. package/dist/node_modules/lodash/isArguments.js +17 -0
  722. package/dist/node_modules/lodash/isArguments.js.map +1 -0
  723. package/dist/node_modules/lodash/isArray.js +10 -0
  724. package/dist/node_modules/lodash/isArray.js.map +1 -0
  725. package/dist/node_modules/lodash/isArrayLike.js +16 -0
  726. package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
  727. package/dist/node_modules/lodash/isBoolean.js +16 -0
  728. package/dist/node_modules/lodash/isBoolean.js.map +1 -0
  729. package/dist/node_modules/lodash/isBuffer.js +13 -0
  730. package/dist/node_modules/lodash/isBuffer.js.map +1 -0
  731. package/dist/node_modules/lodash/isEqual.js +15 -0
  732. package/dist/node_modules/lodash/isEqual.js.map +1 -0
  733. package/dist/node_modules/lodash/isFunction.js +18 -0
  734. package/dist/node_modules/lodash/isFunction.js.map +1 -0
  735. package/dist/node_modules/lodash/isLength.js +14 -0
  736. package/dist/node_modules/lodash/isLength.js.map +1 -0
  737. package/dist/node_modules/lodash/isNaN.js +15 -0
  738. package/dist/node_modules/lodash/isNaN.js.map +1 -0
  739. package/dist/node_modules/lodash/isNil.js +13 -0
  740. package/dist/node_modules/lodash/isNil.js.map +1 -0
  741. package/dist/node_modules/lodash/isNumber.js +16 -0
  742. package/dist/node_modules/lodash/isNumber.js.map +1 -0
  743. package/dist/node_modules/lodash/isObject.js +14 -0
  744. package/dist/node_modules/lodash/isObject.js.map +1 -0
  745. package/dist/node_modules/lodash/isObjectLike.js +13 -0
  746. package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
  747. package/dist/node_modules/lodash/isPlainObject.js +21 -0
  748. package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
  749. package/dist/node_modules/lodash/isString.js +17 -0
  750. package/dist/node_modules/lodash/isString.js.map +1 -0
  751. package/dist/node_modules/lodash/isSymbol.js +16 -0
  752. package/dist/node_modules/lodash/isSymbol.js.map +1 -0
  753. package/dist/node_modules/lodash/isTypedArray.js +14 -0
  754. package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
  755. package/dist/node_modules/lodash/keys.js +17 -0
  756. package/dist/node_modules/lodash/keys.js.map +1 -0
  757. package/dist/node_modules/lodash/last.js +14 -0
  758. package/dist/node_modules/lodash/last.js.map +1 -0
  759. package/dist/node_modules/lodash/map.js +18 -0
  760. package/dist/node_modules/lodash/map.js.map +1 -0
  761. package/dist/node_modules/lodash/mapValues.js +20 -0
  762. package/dist/node_modules/lodash/mapValues.js.map +1 -0
  763. package/dist/node_modules/lodash/max.js +17 -0
  764. package/dist/node_modules/lodash/max.js.map +1 -0
  765. package/dist/node_modules/lodash/memoize.js +22 -0
  766. package/dist/node_modules/lodash/memoize.js.map +1 -0
  767. package/dist/node_modules/lodash/min.js +17 -0
  768. package/dist/node_modules/lodash/min.js.map +1 -0
  769. package/dist/node_modules/lodash/noop.js +11 -0
  770. package/dist/node_modules/lodash/noop.js.map +1 -0
  771. package/dist/node_modules/lodash/now.js +14 -0
  772. package/dist/node_modules/lodash/now.js.map +1 -0
  773. package/dist/node_modules/lodash/property.js +18 -0
  774. package/dist/node_modules/lodash/property.js.map +1 -0
  775. package/dist/node_modules/lodash/range.js +11 -0
  776. package/dist/node_modules/lodash/range.js.map +1 -0
  777. package/dist/node_modules/lodash/some.js +20 -0
  778. package/dist/node_modules/lodash/some.js.map +1 -0
  779. package/dist/node_modules/lodash/sortBy.js +19 -0
  780. package/dist/node_modules/lodash/sortBy.js.map +1 -0
  781. package/dist/node_modules/lodash/stubArray.js +13 -0
  782. package/dist/node_modules/lodash/stubArray.js.map +1 -0
  783. package/dist/node_modules/lodash/stubFalse.js +13 -0
  784. package/dist/node_modules/lodash/stubFalse.js.map +1 -0
  785. package/dist/node_modules/lodash/throttle.js +22 -0
  786. package/dist/node_modules/lodash/throttle.js.map +1 -0
  787. package/dist/node_modules/lodash/toFinite.js +15 -0
  788. package/dist/node_modules/lodash/toFinite.js.map +1 -0
  789. package/dist/node_modules/lodash/toInteger.js +16 -0
  790. package/dist/node_modules/lodash/toInteger.js.map +1 -0
  791. package/dist/node_modules/lodash/toNumber.js +26 -0
  792. package/dist/node_modules/lodash/toNumber.js.map +1 -0
  793. package/dist/node_modules/lodash/toString.js +15 -0
  794. package/dist/node_modules/lodash/toString.js.map +1 -0
  795. package/dist/node_modules/lodash/uniqBy.js +16 -0
  796. package/dist/node_modules/lodash/uniqBy.js.map +1 -0
  797. package/dist/node_modules/lodash/upperFirst.js +11 -0
  798. package/dist/node_modules/lodash/upperFirst.js.map +1 -0
  799. package/dist/node_modules/object-assign/index.js +41 -0
  800. package/dist/node_modules/object-assign/index.js.map +1 -0
  801. package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
  802. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  803. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
  804. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  805. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
  806. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  807. package/dist/node_modules/prop-types/index.js +16 -0
  808. package/dist/node_modules/prop-types/index.js.map +1 -0
  809. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  810. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  811. package/dist/node_modules/prop-types/lib/has.js +10 -0
  812. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  813. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
  814. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  815. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
  816. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  817. package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
  818. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  819. package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
  820. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  821. package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
  822. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  823. package/dist/node_modules/react-is/index.js +12 -0
  824. package/dist/node_modules/react-is/index.js.map +1 -0
  825. package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
  826. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
  827. package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
  828. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
  829. package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
  830. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
  831. package/dist/node_modules/react-smooth/es6/easing.js +152 -0
  832. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
  833. package/dist/node_modules/react-smooth/es6/index.js +9 -0
  834. package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
  835. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
  836. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
  837. package/dist/node_modules/react-smooth/es6/util.js +92 -0
  838. package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
  839. package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
  840. package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
  841. package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
  842. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
  843. package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
  844. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
  845. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
  846. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
  847. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +305 -0
  848. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -0
  849. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
  850. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
  851. package/dist/node_modules/recharts/es6/cartesian/Line.js +473 -0
  852. package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -0
  853. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
  854. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
  855. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
  856. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
  857. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
  858. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
  859. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
  860. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
  861. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
  862. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
  863. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
  864. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
  865. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
  866. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
  867. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
  868. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
  869. package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
  870. package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
  871. package/dist/node_modules/recharts/es6/chart/LineChart.js +22 -0
  872. package/dist/node_modules/recharts/es6/chart/LineChart.js.map +1 -0
  873. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
  874. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
  875. package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
  876. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
  877. package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
  878. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
  879. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
  880. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
  881. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
  882. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
  883. package/dist/node_modules/recharts/es6/component/Label.js +353 -0
  884. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
  885. package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
  886. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
  887. package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
  888. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
  889. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
  890. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
  891. package/dist/node_modules/recharts/es6/component/Text.js +225 -0
  892. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
  893. package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
  894. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
  895. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
  896. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
  897. package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
  898. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
  899. package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
  900. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
  901. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +57 -0
  902. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
  903. package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
  904. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
  905. package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
  906. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
  907. package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
  908. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
  909. package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
  910. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
  911. package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
  912. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
  913. package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
  914. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
  915. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
  916. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
  917. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
  918. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
  919. package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
  920. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
  921. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
  922. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
  923. package/dist/node_modules/recharts/es6/util/ChartUtils.js +562 -0
  924. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
  925. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
  926. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
  927. package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
  928. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
  929. package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
  930. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
  931. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
  932. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
  933. package/dist/node_modules/recharts/es6/util/Events.js +7 -0
  934. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
  935. package/dist/node_modules/recharts/es6/util/Global.js +21 -0
  936. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
  937. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
  938. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
  939. package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
  940. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
  941. package/dist/node_modules/recharts/es6/util/PolarUtils.js +116 -0
  942. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
  943. package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
  944. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
  945. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
  946. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
  947. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
  948. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
  949. package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
  950. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
  951. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
  952. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
  953. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
  954. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
  955. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
  956. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
  957. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
  958. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
  959. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
  960. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
  961. package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
  962. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
  963. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
  964. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
  965. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
  966. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
  967. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
  968. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
  969. package/dist/node_modules/recharts/es6/util/types.js +43 -0
  970. package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
  971. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
  972. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
  973. package/dist/node_modules/recharts-scale/es6/index.js +1 -0
  974. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
  975. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
  976. package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
  977. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
  978. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
  979. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  980. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
  981. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
  982. package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
  983. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
  984. package/package.json +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyDetailPage.js","names":[],"sources":["../../../../src/housingvista/pages/properties/PropertyDetailPage.tsx"],"sourcesContent":["/**\n * HousingVista Property Detail Page\n * Full property detail view with image gallery, specs, amenities, documents, owner info.\n * Migrated from legacy housingvista-frontend property-detail.tsx\n * @module housingvista\n */\n\nimport { useState, useMemo } from 'react';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport {\n ArrowLeft,\n MapPin,\n Bed,\n Bath,\n Square,\n Car,\n Heart,\n Share2,\n Phone,\n Mail,\n CheckCircle,\n Calendar,\n DollarSign,\n TrendingUp,\n Shield,\n Eye,\n Star,\n ChevronLeft,\n ChevronRight,\n MessageCircle,\n FileText,\n Building,\n} from 'lucide-react';\nimport { Breadcrumbs, StatusBadge, EmptyState, PropertyCard } from '../../components';\nimport type { BreadcrumbItem } from '../../components';\nimport { useProperties } from '../../hooks';\nimport { cn, formatCurrency, formatNumber, formatDate } from '../../utils/helpers';\nimport type { Property } from '../../types';\n\n// ---- Status badge variant map ----\nconst statusVariantMap: Record<string, 'success' | 'warning' | 'error' | 'info' | 'default' | 'muted'> = {\n for_sale: 'success',\n for_rent: 'info',\n sold: 'muted',\n rented: 'muted',\n under_contract: 'warning',\n off_market: 'error',\n};\n\n// ---- Tab definitions ----\ntype TabId = 'details' | 'amenities' | 'location' | 'documents';\nconst tabs: { id: TabId; label: string }[] = [\n { id: 'details', label: 'Details' },\n { id: 'amenities', label: 'Amenities' },\n { id: 'location', label: 'Location' },\n { id: 'documents', label: 'Documents' },\n];\n\nexport const PropertyDetailPage = () => {\n const { id } = useParams<{ id: string }>();\n const navigate = useNavigate();\n const { data: properties, loading } = useProperties();\n\n const property = useMemo(() => properties.find((p) => p.id === id) ?? null, [properties, id]);\n const similarProperties = useMemo(() => properties.filter((p) => p.id !== id).slice(0, 3), [properties, id]);\n\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n const [isFavorited, setIsFavorited] = useState(false);\n const [activeTab, setActiveTab] = useState<TabId>('details');\n\n // ---- Loading ----\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-12\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-muted-foreground border-t-foreground\" />\n </div>\n );\n }\n\n // ---- Not Found ----\n if (!property) {\n return (\n <div className=\"p-6\">\n <EmptyState\n icon={<Building className=\"h-12 w-12\" />}\n title=\"Property Not Found\"\n description=\"The property you're looking for doesn't exist or has been removed.\"\n action={\n <button\n onClick={() => navigate('../')}\n className=\"inline-flex items-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background\"\n >\n <ArrowLeft className=\"h-4 w-4\" />\n Back to Properties\n </button>\n }\n />\n </div>\n );\n }\n\n const breadcrumbs: BreadcrumbItem[] = [{ label: 'Properties', href: '../' }, { label: property.title }];\n\n const formatPrice = (price: Property['price']) => {\n const amount = formatCurrency(price.amount, price.currency);\n if (price.type === 'rent' && price.period) return `${amount}/${price.period.replace('ly', '')}`;\n return amount;\n };\n\n const nextImage = () => setCurrentImageIndex((prev) => (prev === property.images.length - 1 ? 0 : prev + 1));\n const prevImage = () => setCurrentImageIndex((prev) => (prev === 0 ? property.images.length - 1 : prev - 1));\n\n const handleShare = () => {\n if (navigator.share) {\n navigator.share({ title: property.title, text: property.description, url: window.location.href });\n } else {\n navigator.clipboard.writeText(window.location.href);\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n {/* Breadcrumbs + Back */}\n <Breadcrumbs items={breadcrumbs} />\n\n {/* Header */}\n <div className=\"flex flex-wrap items-center gap-3\">\n <button\n onClick={() => navigate('../')}\n className=\"inline-flex items-center gap-2 rounded-md border border-border px-3 py-1.5 text-sm text-foreground transition-colors hover:bg-muted\"\n >\n <ArrowLeft className=\"h-4 w-4\" />\n Back\n </button>\n <StatusBadge\n label={property.status.replace('_', ' ')}\n variant={statusVariantMap[property.status] ?? 'default'}\n dot\n />\n {property.verificationStatus === 'verified' && <StatusBadge label=\"Verified\" variant=\"success\" dot />}\n {property.price.negotiable && <StatusBadge label=\"Negotiable\" variant=\"info\" />}\n </div>\n\n {/* Image Gallery */}\n {property.images.length > 0 && (\n <div className=\"relative overflow-hidden rounded-xl border border-border\">\n <img\n src={property.images[currentImageIndex]?.url}\n alt={property.images[currentImageIndex]?.title ?? property.title}\n className=\"h-80 w-full object-cover sm:h-96\"\n />\n {property.images.length > 1 && (\n <>\n <button\n onClick={prevImage}\n className=\"absolute left-4 top-1/2 -translate-y-1/2 rounded-full bg-black/50 p-2 text-white transition-colors hover:bg-black/70\"\n >\n <ChevronLeft className=\"h-5 w-5\" />\n </button>\n <button\n onClick={nextImage}\n className=\"absolute right-4 top-1/2 -translate-y-1/2 rounded-full bg-black/50 p-2 text-white transition-colors hover:bg-black/70\"\n >\n <ChevronRight className=\"h-5 w-5\" />\n </button>\n <div className=\"absolute bottom-4 left-1/2 flex -translate-x-1/2 gap-2\">\n {property.images.map((_, index) => (\n <button\n key={index}\n className={cn('h-2 w-2 rounded-full', index === currentImageIndex ? 'bg-white' : 'bg-white/50')}\n onClick={() => setCurrentImageIndex(index)}\n />\n ))}\n </div>\n </>\n )}\n {/* Overlay actions */}\n <div className=\"absolute right-4 top-4 flex gap-2\">\n <button\n onClick={() => setIsFavorited(!isFavorited)}\n className=\"rounded-full bg-card/80 p-2 backdrop-blur-sm transition-colors hover:bg-card\"\n >\n <Heart className={cn('h-5 w-5', isFavorited ? 'fill-red-500 text-red-500' : 'text-muted-foreground')} />\n </button>\n <button\n onClick={handleShare}\n className=\"rounded-full bg-card/80 p-2 backdrop-blur-sm transition-colors hover:bg-card\"\n >\n <Share2 className=\"h-5 w-5 text-muted-foreground\" />\n </button>\n </div>\n <div className=\"absolute bottom-4 right-4\">\n <span className=\"rounded-md bg-black/60 px-2 py-1 text-xs font-medium text-white\">\n {currentImageIndex + 1} / {property.images.length}\n </span>\n </div>\n </div>\n )}\n\n {/* Main Content Grid */}\n <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-3\">\n {/* Left: Main content */}\n <div className=\"space-y-6 lg:col-span-2\">\n {/* Title + Price + Key Specs */}\n <div className=\"rounded-lg border border-border bg-card p-6\">\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold text-foreground\">{property.title}</h1>\n <div className=\"mt-2 flex items-center text-muted-foreground\">\n <MapPin className=\"mr-1.5 h-4 w-4 shrink-0\" />\n <span className=\"text-sm\">\n {property.location.address}, {property.location.neighborhood}, {property.location.city}\n </span>\n </div>\n </div>\n <div className=\"text-right\">\n <div className=\"text-2xl font-bold text-foreground\">{formatPrice(property.price)}</div>\n {property.price.pricePerSqft && (\n <div className=\"text-sm text-muted-foreground\">\n {formatCurrency(property.price.pricePerSqft)}/sqft\n </div>\n )}\n </div>\n </div>\n\n {/* Key Specs */}\n <div className=\"mt-6 grid grid-cols-2 gap-4 border-t border-border pt-6 sm:grid-cols-4\">\n {property.specifications.bedrooms != null && (\n <div className=\"flex items-center gap-2 text-sm text-foreground\">\n <Bed className=\"h-5 w-5 text-muted-foreground\" />\n <span>\n {property.specifications.bedrooms} Bed{property.specifications.bedrooms > 1 ? 's' : ''}\n </span>\n </div>\n )}\n {property.specifications.bathrooms != null && (\n <div className=\"flex items-center gap-2 text-sm text-foreground\">\n <Bath className=\"h-5 w-5 text-muted-foreground\" />\n <span>\n {property.specifications.bathrooms} Bath{property.specifications.bathrooms > 1 ? 's' : ''}\n </span>\n </div>\n )}\n <div className=\"flex items-center gap-2 text-sm text-foreground\">\n <Square className=\"h-5 w-5 text-muted-foreground\" />\n <span>{formatNumber(property.specifications.totalArea)} sqft</span>\n </div>\n {property.specifications.parking != null && property.specifications.parking > 0 && (\n <div className=\"flex items-center gap-2 text-sm text-foreground\">\n <Car className=\"h-5 w-5 text-muted-foreground\" />\n <span>{property.specifications.parking} Parking</span>\n </div>\n )}\n </div>\n\n {/* Description */}\n <div className=\"mt-6 border-t border-border pt-6\">\n <h3 className=\"mb-3 text-base font-semibold text-foreground\">Description</h3>\n <p className=\"text-sm leading-relaxed text-muted-foreground\">{property.description}</p>\n </div>\n </div>\n\n {/* Tabbed Content */}\n <div className=\"rounded-lg border border-border bg-card\">\n <div className=\"border-b border-border\">\n <nav className=\"flex space-x-6 overflow-x-auto px-6\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n onClick={() => setActiveTab(tab.id)}\n className={cn(\n 'whitespace-nowrap border-b-2 py-3 text-sm font-medium transition-colors',\n activeTab === tab.id\n ? 'border-foreground text-foreground'\n : 'border-transparent text-muted-foreground hover:text-foreground'\n )}\n >\n {tab.label}\n </button>\n ))}\n </nav>\n </div>\n\n <div className=\"p-6\">\n {/* Details Tab */}\n {activeTab === 'details' && (\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2\">\n <div>\n <h4 className=\"mb-3 text-sm font-semibold text-foreground\">Property Information</h4>\n <dl className=\"space-y-2 text-sm\">\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Property Type</dt>\n <dd className=\"font-medium capitalize text-foreground\">{property.type}</dd>\n </div>\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Category</dt>\n <dd className=\"font-medium capitalize text-foreground\">{property.category}</dd>\n </div>\n {property.specifications.ageOfProperty != null && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Age of Property</dt>\n <dd className=\"font-medium text-foreground\">{property.specifications.ageOfProperty} years</dd>\n </div>\n )}\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Furnishing</dt>\n <dd className=\"font-medium capitalize text-foreground\">\n {property.specifications.furnishingStatus?.replace('_', ' ')}\n </dd>\n </div>\n {property.specifications.facing && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Facing</dt>\n <dd className=\"font-medium text-foreground\">{property.specifications.facing}</dd>\n </div>\n )}\n {property.specifications.floors != null && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Floor</dt>\n <dd className=\"font-medium text-foreground\">\n {property.specifications.floors} of {property.specifications.totalFloors}\n </dd>\n </div>\n )}\n </dl>\n </div>\n <div>\n <h4 className=\"mb-3 text-sm font-semibold text-foreground\">Area Details</h4>\n <dl className=\"space-y-2 text-sm\">\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Total Area</dt>\n <dd className=\"font-medium text-foreground\">\n {formatNumber(property.specifications.totalArea)} sqft\n </dd>\n </div>\n {property.specifications.carpetArea && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Carpet Area</dt>\n <dd className=\"font-medium text-foreground\">\n {formatNumber(property.specifications.carpetArea)} sqft\n </dd>\n </div>\n )}\n {property.specifications.builtUpArea && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Built-up Area</dt>\n <dd className=\"font-medium text-foreground\">\n {formatNumber(property.specifications.builtUpArea)} sqft\n </dd>\n </div>\n )}\n {property.price.pricePerSqft && (\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Price per sqft</dt>\n <dd className=\"font-medium text-foreground\">{formatCurrency(property.price.pricePerSqft)}</dd>\n </div>\n )}\n </dl>\n </div>\n </div>\n )}\n\n {/* Amenities Tab */}\n {activeTab === 'amenities' && (\n <div>\n {property.amenities.length > 0 ? (\n <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3\">\n {property.amenities.map((amenity) => (\n <div key={amenity.id} className=\"flex items-center gap-2 rounded-lg bg-muted/50 p-3\">\n <CheckCircle className=\"h-4 w-4 text-emerald-600 dark:text-emerald-400\" />\n <span className=\"text-sm text-foreground\">{amenity.name}</span>\n </div>\n ))}\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">No amenities listed for this property.</p>\n )}\n\n {/* Features */}\n {property.features.length > 0 && (\n <div className=\"mt-6 border-t border-border pt-6\">\n <h4 className=\"mb-3 text-sm font-semibold text-foreground\">Additional Features</h4>\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-2\">\n {property.features.map((feature) => (\n <div key={feature.id} className=\"flex items-center gap-2 text-sm text-foreground\">\n <CheckCircle className=\"h-3.5 w-3.5 text-emerald-600 dark:text-emerald-400\" />\n <span>{feature.name}</span>\n <span className=\"text-xs text-muted-foreground\">({feature.category})</span>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )}\n\n {/* Location Tab */}\n {activeTab === 'location' && (\n <div className=\"space-y-4\">\n <div>\n <div className=\"mb-1 text-xs text-muted-foreground\">Full Address</div>\n <div className=\"text-sm font-medium text-foreground\">{property.location.address}</div>\n </div>\n <div className=\"grid grid-cols-1 gap-4 text-sm sm:grid-cols-3\">\n <div>\n <div className=\"mb-1 text-xs text-muted-foreground\">Neighborhood</div>\n <div className=\"font-medium text-foreground\">{property.location.neighborhood}</div>\n </div>\n <div>\n <div className=\"mb-1 text-xs text-muted-foreground\">City, State</div>\n <div className=\"font-medium text-foreground\">\n {property.location.city}, {property.location.state}\n </div>\n </div>\n <div>\n <div className=\"mb-1 text-xs text-muted-foreground\">PIN / ZIP</div>\n <div className=\"font-medium text-foreground\">{property.location.pincode}</div>\n </div>\n </div>\n\n {/* Landmarks */}\n {property.location.landmarks.length > 0 && (\n <div className=\"border-t border-border pt-4\">\n <h4 className=\"mb-2 text-xs font-medium text-muted-foreground\">Nearby Landmarks</h4>\n <div className=\"flex flex-wrap gap-2\">\n {property.location.landmarks.map((landmark) => (\n <span key={landmark} className=\"rounded-full bg-muted px-3 py-1 text-xs text-foreground\">\n {landmark}\n </span>\n ))}\n </div>\n </div>\n )}\n\n {/* Map Placeholder */}\n <div className=\"flex h-64 items-center justify-center rounded-lg bg-muted\">\n <div className=\"text-center text-muted-foreground\">\n <MapPin className=\"mx-auto mb-2 h-8 w-8\" />\n <p className=\"text-sm\">Interactive map will be displayed here</p>\n <p className=\"text-xs\">\n Lat: {property.location.coordinates.latitude}, Lng: {property.location.coordinates.longitude}\n </p>\n </div>\n </div>\n </div>\n )}\n\n {/* Documents Tab */}\n {activeTab === 'documents' && (\n <div>\n {property.documents.length > 0 ? (\n <div className=\"space-y-3\">\n {property.documents.map((doc) => (\n <div\n key={doc.id}\n className=\"flex items-center justify-between rounded-lg border border-border p-3\"\n >\n <div className=\"flex items-center gap-3\">\n <FileText className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium text-foreground\">{doc.name}</p>\n <p className=\"text-xs text-muted-foreground\">\n Uploaded {formatDate(doc.uploadedAt.toISOString())}\n </p>\n </div>\n </div>\n <StatusBadge\n label={doc.verificationStatus}\n variant={\n doc.verificationStatus === 'verified'\n ? 'success'\n : doc.verificationStatus === 'pending'\n ? 'warning'\n : 'error'\n }\n />\n </div>\n ))}\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">No documents available for this property.</p>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Right Sidebar */}\n <div className=\"space-y-6\">\n {/* Contact Owner */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"mb-4 text-base font-semibold text-foreground\">Contact Owner</h3>\n <div className=\"mb-4 flex items-center gap-3\">\n <div className=\"flex h-10 w-10 items-center justify-center rounded-full bg-muted text-sm font-semibold text-foreground\">\n {property.owner.name\n .split(' ')\n .map((n) => n[0])\n .join('')}\n </div>\n <div>\n <div className=\"flex items-center gap-1.5 text-sm font-medium text-foreground\">\n {property.owner.name}\n {property.owner.verified && <CheckCircle className=\"h-3.5 w-3.5 text-emerald-600\" />}\n </div>\n <div className=\"text-xs text-muted-foreground\">Property Owner</div>\n </div>\n </div>\n <div className=\"space-y-2\">\n <button className=\"flex w-full items-center justify-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90\">\n <Phone className=\"h-4 w-4\" />\n Call Owner\n </button>\n <button className=\"flex w-full items-center justify-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <Mail className=\"h-4 w-4\" />\n Send Message\n </button>\n <button className=\"flex w-full items-center justify-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <MessageCircle className=\"h-4 w-4\" />\n Start Chat\n </button>\n </div>\n </div>\n\n {/* Quick Actions */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"mb-4 text-base font-semibold text-foreground\">Quick Actions</h3>\n <div className=\"space-y-2\">\n <button className=\"flex w-full items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <Calendar className=\"h-4 w-4\" />\n Schedule Viewing\n </button>\n <button className=\"flex w-full items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <DollarSign className=\"h-4 w-4\" />\n Make Offer\n </button>\n <button className=\"flex w-full items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <TrendingUp className=\"h-4 w-4\" />\n Investment Analysis\n </button>\n <button className=\"flex w-full items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <Shield className=\"h-4 w-4\" />\n Request Inspection\n </button>\n </div>\n </div>\n\n {/* Property Stats */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"mb-4 text-base font-semibold text-foreground\">Property Stats</h3>\n <div className=\"space-y-3\">\n <div className=\"flex items-center justify-between text-sm\">\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Eye className=\"h-4 w-4\" /> Views\n </div>\n <span className=\"font-medium text-foreground\">1,234</span>\n </div>\n <div className=\"flex items-center justify-between text-sm\">\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Heart className=\"h-4 w-4\" /> Favorites\n </div>\n <span className=\"font-medium text-foreground\">89</span>\n </div>\n <div className=\"flex items-center justify-between text-sm\">\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Calendar className=\"h-4 w-4\" /> Listed\n </div>\n <span className=\"font-medium text-foreground\">{formatDate(property.createdAt.toISOString())}</span>\n </div>\n <div className=\"flex items-center justify-between text-sm\">\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Star className=\"h-4 w-4\" /> Rating\n </div>\n <span className=\"font-medium text-foreground\">4.8/5</span>\n </div>\n </div>\n </div>\n\n {/* Similar Properties */}\n {similarProperties.length > 0 && (\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"mb-4 text-base font-semibold text-foreground\">Similar Properties</h3>\n <div className=\"space-y-3\">\n {similarProperties.map((sp) => (\n <button\n key={sp.id}\n onClick={() => navigate(`../${sp.id}`)}\n className=\"flex w-full items-start gap-3 rounded-lg border border-border p-3 text-left transition-colors hover:bg-muted/50\"\n >\n {sp.images[0] && (\n <img src={sp.images[0].url} alt={sp.title} className=\"h-14 w-14 rounded object-cover\" />\n )}\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-sm font-medium text-foreground\">{sp.title}</div>\n <div className=\"text-sm font-semibold text-foreground\">{formatCurrency(sp.price.amount)}</div>\n <div className=\"truncate text-xs text-muted-foreground\">\n {sp.location.neighborhood}, {sp.location.city}\n </div>\n </div>\n </button>\n ))}\n </div>\n <button\n onClick={() => navigate('../')}\n className=\"mt-3 w-full rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\"\n >\n View All Properties\n </button>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function RentalManagementPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=RentalManagementPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RentalManagementPage.d.ts","sourceRoot":"","sources":["../../../../src/housingvista/pages/rental/RentalManagementPage.tsx"],"names":[],"mappings":"AAoDA,wBAAgB,oBAAoB,4CAmOnC"}
@@ -0,0 +1,296 @@
1
+ import { formatCurrency as e, formatDate as t } from "../../utils/helpers.js";
2
+ import { PageLayout as n } from "../../components/PageLayout.js";
3
+ import { StatCard as r } from "../../components/StatCard.js";
4
+ import { DataTable as i } from "../../components/DataTable.js";
5
+ import { StatusBadge as a } from "../../components/StatusBadge.js";
6
+ import { EmptyState as o } from "../../components/EmptyState.js";
7
+ import { FilterBar as s } from "../../components/FilterBar.js";
8
+ import "../../components/index.js";
9
+ import { useRentalUnits as c } from "../../hooks/index.js";
10
+ import { useMemo as l, useState as u } from "react";
11
+ import { AlertCircle as d, Bell as f, Calendar as p, CheckCircle as m, Clock as h, DollarSign as g, FileText as _, Home as v, Plus as y, TrendingUp as b, Users as x } from "lucide-react";
12
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
13
+ //#region src/housingvista/pages/rental/RentalManagementPage.tsx
14
+ function w(e) {
15
+ switch (e) {
16
+ case "occupied": return "success";
17
+ case "vacant": return "warning";
18
+ case "notice_period": return "info";
19
+ case "maintenance": return "error";
20
+ default: return "muted";
21
+ }
22
+ }
23
+ function T(e) {
24
+ switch (e) {
25
+ case "paid": return "success";
26
+ case "pending": return "warning";
27
+ case "overdue": return "error";
28
+ default: return "muted";
29
+ }
30
+ }
31
+ function E() {
32
+ let { data: E } = c(), [D, O] = u(""), k = l(() => {
33
+ if (!D) return E;
34
+ let e = D.toLowerCase();
35
+ return E.filter((t) => t.propertyTitle.toLowerCase().includes(e) || t.tenantName.toLowerCase().includes(e) || t.unitNumber.toLowerCase().includes(e));
36
+ }, [E, D]), A = l(() => ({
37
+ totalUnits: E.length,
38
+ occupied: E.filter((e) => e.status === "occupied").length,
39
+ vacant: E.filter((e) => e.status === "vacant").length,
40
+ monthlyIncome: E.filter((e) => e.status === "occupied" || e.status === "notice_period").reduce((e, t) => e + t.monthlyRent, 0)
41
+ }), [E]), j = l(() => {
42
+ let e = E.filter((e) => e.paymentStatus === "paid").length;
43
+ return {
44
+ paid: e,
45
+ pending: E.filter((e) => e.paymentStatus === "pending").length,
46
+ overdue: E.filter((e) => e.paymentStatus === "overdue").length,
47
+ collectionRate: E.length > 0 ? e / E.length * 100 : 0
48
+ };
49
+ }, [E]);
50
+ return /* @__PURE__ */ C(n, {
51
+ title: "Rental Management",
52
+ description: "Comprehensive property and tenant management dashboard",
53
+ actions: /* @__PURE__ */ C("div", {
54
+ className: "flex items-center gap-2",
55
+ children: [/* @__PURE__ */ C("button", {
56
+ className: "inline-flex items-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90",
57
+ children: [/* @__PURE__ */ S(y, { className: "h-4 w-4" }), "Add Tenant"]
58
+ }), /* @__PURE__ */ C("button", {
59
+ className: "inline-flex items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted",
60
+ children: [/* @__PURE__ */ S(_, { className: "h-4 w-4" }), "Generate Agreement"]
61
+ })]
62
+ }),
63
+ children: [
64
+ /* @__PURE__ */ C("div", {
65
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
66
+ children: [
67
+ /* @__PURE__ */ S(r, {
68
+ label: "Total Units",
69
+ value: A.totalUnits,
70
+ icon: /* @__PURE__ */ S(v, { className: "h-4 w-4" })
71
+ }),
72
+ /* @__PURE__ */ S(r, {
73
+ label: "Occupied",
74
+ value: A.occupied,
75
+ icon: /* @__PURE__ */ S(x, { className: "h-4 w-4" }),
76
+ trend: "up",
77
+ change: 5
78
+ }),
79
+ /* @__PURE__ */ S(r, {
80
+ label: "Vacant",
81
+ value: A.vacant,
82
+ icon: /* @__PURE__ */ S(v, { className: "h-4 w-4" }),
83
+ trend: A.vacant > 0 ? "down" : "stable",
84
+ change: A.vacant > 0 ? -10 : 0
85
+ }),
86
+ /* @__PURE__ */ S(r, {
87
+ label: "Monthly Income",
88
+ value: A.monthlyIncome,
89
+ prefix: "$",
90
+ icon: /* @__PURE__ */ S(g, { className: "h-4 w-4" }),
91
+ trend: "up",
92
+ change: 8
93
+ })
94
+ ]
95
+ }),
96
+ /* @__PURE__ */ C("div", {
97
+ className: "rounded-lg border border-border bg-card p-5 shadow-sm",
98
+ children: [/* @__PURE__ */ S("h3", {
99
+ className: "mb-4 text-lg font-semibold text-foreground",
100
+ children: "Rent Collection"
101
+ }), /* @__PURE__ */ C("div", {
102
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
103
+ children: [
104
+ /* @__PURE__ */ C("div", {
105
+ className: "flex items-center gap-3 rounded-lg bg-emerald-50 p-4 dark:bg-emerald-900/20",
106
+ children: [/* @__PURE__ */ S(m, { className: "h-5 w-5 text-emerald-600 dark:text-emerald-400" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
107
+ className: "text-sm text-muted-foreground",
108
+ children: "Paid"
109
+ }), /* @__PURE__ */ S("p", {
110
+ className: "text-xl font-bold text-emerald-600 dark:text-emerald-400",
111
+ children: j.paid
112
+ })] })]
113
+ }),
114
+ /* @__PURE__ */ C("div", {
115
+ className: "flex items-center gap-3 rounded-lg bg-amber-50 p-4 dark:bg-amber-900/20",
116
+ children: [/* @__PURE__ */ S(h, { className: "h-5 w-5 text-amber-600 dark:text-amber-400" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
117
+ className: "text-sm text-muted-foreground",
118
+ children: "Pending"
119
+ }), /* @__PURE__ */ S("p", {
120
+ className: "text-xl font-bold text-amber-600 dark:text-amber-400",
121
+ children: j.pending
122
+ })] })]
123
+ }),
124
+ /* @__PURE__ */ C("div", {
125
+ className: "flex items-center gap-3 rounded-lg bg-red-50 p-4 dark:bg-red-900/20",
126
+ children: [/* @__PURE__ */ S(d, { className: "h-5 w-5 text-red-600 dark:text-red-400" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
127
+ className: "text-sm text-muted-foreground",
128
+ children: "Overdue"
129
+ }), /* @__PURE__ */ S("p", {
130
+ className: "text-xl font-bold text-red-600 dark:text-red-400",
131
+ children: j.overdue
132
+ })] })]
133
+ }),
134
+ /* @__PURE__ */ C("div", {
135
+ className: "flex items-center gap-3 rounded-lg bg-blue-50 p-4 dark:bg-blue-900/20",
136
+ children: [/* @__PURE__ */ S(b, { className: "h-5 w-5 text-blue-600 dark:text-blue-400" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
137
+ className: "text-sm text-muted-foreground",
138
+ children: "Collection Rate"
139
+ }), /* @__PURE__ */ C("p", {
140
+ className: "text-xl font-bold text-blue-600 dark:text-blue-400",
141
+ children: [j.collectionRate.toFixed(0), "%"]
142
+ })] })]
143
+ })
144
+ ]
145
+ })]
146
+ }),
147
+ /* @__PURE__ */ C("div", {
148
+ className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
149
+ children: [
150
+ /* @__PURE__ */ C("button", {
151
+ className: "flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted",
152
+ children: [/* @__PURE__ */ S(f, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
153
+ className: "text-sm font-medium text-foreground",
154
+ children: "Send Reminders"
155
+ }), /* @__PURE__ */ C("p", {
156
+ className: "text-xs text-muted-foreground",
157
+ children: [j.pending + j.overdue, " pending"]
158
+ })] })]
159
+ }),
160
+ /* @__PURE__ */ C("button", {
161
+ className: "flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted",
162
+ children: [/* @__PURE__ */ S(g, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
163
+ className: "text-sm font-medium text-foreground",
164
+ children: "Collect Rent"
165
+ }), /* @__PURE__ */ C("p", {
166
+ className: "text-xs text-muted-foreground",
167
+ children: [j.overdue, " overdue"]
168
+ })] })]
169
+ }),
170
+ /* @__PURE__ */ C("button", {
171
+ className: "flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted",
172
+ children: [/* @__PURE__ */ S(_, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
173
+ className: "text-sm font-medium text-foreground",
174
+ children: "Generate Report"
175
+ }), /* @__PURE__ */ S("p", {
176
+ className: "text-xs text-muted-foreground",
177
+ children: "Monthly"
178
+ })] })]
179
+ }),
180
+ /* @__PURE__ */ C("button", {
181
+ className: "flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted",
182
+ children: [/* @__PURE__ */ S(p, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
183
+ className: "text-sm font-medium text-foreground",
184
+ children: "Schedule Visit"
185
+ }), /* @__PURE__ */ S("p", {
186
+ className: "text-xs text-muted-foreground",
187
+ children: "Property"
188
+ })] })]
189
+ })
190
+ ]
191
+ }),
192
+ /* @__PURE__ */ C("div", { children: [
193
+ /* @__PURE__ */ S("h2", {
194
+ className: "mb-4 text-lg font-semibold text-foreground",
195
+ children: "Tenant Directory"
196
+ }),
197
+ /* @__PURE__ */ S(s, {
198
+ searchValue: D,
199
+ onSearchChange: O,
200
+ searchPlaceholder: "Search units, tenants..."
201
+ }),
202
+ /* @__PURE__ */ S("div", {
203
+ className: "mt-4",
204
+ children: k.length > 0 ? /* @__PURE__ */ S(i, {
205
+ columns: [
206
+ {
207
+ key: "unitNumber",
208
+ header: "Unit",
209
+ render: (e) => /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("div", {
210
+ className: "font-medium text-foreground",
211
+ children: e.propertyTitle
212
+ }), /* @__PURE__ */ C("div", {
213
+ className: "text-xs text-muted-foreground",
214
+ children: ["Unit ", e.unitNumber]
215
+ })] })
216
+ },
217
+ {
218
+ key: "tenantName",
219
+ header: "Tenant",
220
+ render: (e) => e.tenantName ? /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("div", {
221
+ className: "font-medium text-foreground",
222
+ children: e.tenantName
223
+ }), /* @__PURE__ */ S("div", {
224
+ className: "text-xs text-muted-foreground",
225
+ children: e.tenantEmail
226
+ })] }) : /* @__PURE__ */ S("span", {
227
+ className: "text-muted-foreground",
228
+ children: "-"
229
+ })
230
+ },
231
+ {
232
+ key: "leaseStart",
233
+ header: "Lease Start",
234
+ render: (e) => e.leaseStart ? /* @__PURE__ */ S("span", {
235
+ className: "text-sm text-foreground",
236
+ children: t(e.leaseStart)
237
+ }) : /* @__PURE__ */ S("span", {
238
+ className: "text-muted-foreground",
239
+ children: "-"
240
+ })
241
+ },
242
+ {
243
+ key: "leaseEnd",
244
+ header: "Lease End",
245
+ render: (e) => e.leaseEnd ? /* @__PURE__ */ S("span", {
246
+ className: "text-sm text-foreground",
247
+ children: t(e.leaseEnd)
248
+ }) : /* @__PURE__ */ S("span", {
249
+ className: "text-muted-foreground",
250
+ children: "-"
251
+ })
252
+ },
253
+ {
254
+ key: "monthlyRent",
255
+ header: "Rent",
256
+ render: (t) => /* @__PURE__ */ S("span", {
257
+ className: "font-medium text-foreground",
258
+ children: e(t.monthlyRent)
259
+ })
260
+ },
261
+ {
262
+ key: "status",
263
+ header: "Status",
264
+ render: (e) => /* @__PURE__ */ C("div", {
265
+ className: "flex flex-col gap-1",
266
+ children: [/* @__PURE__ */ S(a, {
267
+ label: e.status.replace("_", " "),
268
+ variant: w(e.status)
269
+ }), /* @__PURE__ */ S(a, {
270
+ label: e.paymentStatus,
271
+ variant: T(e.paymentStatus)
272
+ })]
273
+ })
274
+ }
275
+ ],
276
+ data: k,
277
+ keyField: "id",
278
+ pageSize: 10
279
+ }) : /* @__PURE__ */ S(o, {
280
+ icon: /* @__PURE__ */ S(x, { className: "h-12 w-12" }),
281
+ title: "No rental units found",
282
+ description: "Try adjusting your search criteria or add a new tenant.",
283
+ action: /* @__PURE__ */ C("button", {
284
+ className: "inline-flex items-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90",
285
+ children: [/* @__PURE__ */ S(y, { className: "h-4 w-4" }), "Add Tenant"]
286
+ })
287
+ })
288
+ })
289
+ ] })
290
+ ]
291
+ });
292
+ }
293
+ //#endregion
294
+ export { E as RentalManagementPage };
295
+
296
+ //# sourceMappingURL=RentalManagementPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RentalManagementPage.js","names":[],"sources":["../../../../src/housingvista/pages/rental/RentalManagementPage.tsx"],"sourcesContent":["import { useState, useMemo } from 'react';\nimport {\n Home,\n Users,\n DollarSign,\n TrendingUp,\n Plus,\n FileText,\n Calendar,\n Bell,\n CheckCircle,\n AlertCircle,\n Clock,\n} from 'lucide-react';\nimport { PageLayout } from '../../components';\nimport { StatCard } from '../../components';\nimport { DataTable, type Column } from '../../components';\nimport { StatusBadge } from '../../components';\nimport { FilterBar } from '../../components';\nimport { EmptyState } from '../../components';\nimport { useRentalUnits } from '../../hooks';\nimport { cn, formatCurrency, formatDate } from '../../utils/helpers';\nimport type { RentalUnit } from '../../types';\n\nfunction getStatusVariant(status: RentalUnit['status']): 'success' | 'warning' | 'error' | 'info' | 'muted' {\n switch (status) {\n case 'occupied':\n return 'success';\n case 'vacant':\n return 'warning';\n case 'notice_period':\n return 'info';\n case 'maintenance':\n return 'error';\n default:\n return 'muted';\n }\n}\n\nfunction getPaymentVariant(status: RentalUnit['paymentStatus']): 'success' | 'warning' | 'error' | 'muted' {\n switch (status) {\n case 'paid':\n return 'success';\n case 'pending':\n return 'warning';\n case 'overdue':\n return 'error';\n default:\n return 'muted';\n }\n}\n\nexport function RentalManagementPage() {\n const { data: rentalUnits } = useRentalUnits();\n const [search, setSearch] = useState('');\n\n const filtered = useMemo(() => {\n if (!search) return rentalUnits;\n const q = search.toLowerCase();\n return rentalUnits.filter(\n (u) =>\n u.propertyTitle.toLowerCase().includes(q) ||\n u.tenantName.toLowerCase().includes(q) ||\n u.unitNumber.toLowerCase().includes(q)\n );\n }, [rentalUnits, search]);\n\n const stats = useMemo(() => {\n const totalUnits = rentalUnits.length;\n const occupied = rentalUnits.filter((u) => u.status === 'occupied').length;\n const vacant = rentalUnits.filter((u) => u.status === 'vacant').length;\n const monthlyIncome = rentalUnits\n .filter((u) => u.status === 'occupied' || u.status === 'notice_period')\n .reduce((sum, u) => sum + u.monthlyRent, 0);\n return { totalUnits, occupied, vacant, monthlyIncome };\n }, [rentalUnits]);\n\n const rentCollectionStats = useMemo(() => {\n const paid = rentalUnits.filter((u) => u.paymentStatus === 'paid').length;\n const pending = rentalUnits.filter((u) => u.paymentStatus === 'pending').length;\n const overdue = rentalUnits.filter((u) => u.paymentStatus === 'overdue').length;\n const collectionRate = rentalUnits.length > 0 ? (paid / rentalUnits.length) * 100 : 0;\n return { paid, pending, overdue, collectionRate };\n }, [rentalUnits]);\n\n const tenantColumns: Column<RentalUnit>[] = [\n {\n key: 'unitNumber',\n header: 'Unit',\n render: (item) => (\n <div>\n <div className=\"font-medium text-foreground\">{item.propertyTitle}</div>\n <div className=\"text-xs text-muted-foreground\">Unit {item.unitNumber}</div>\n </div>\n ),\n },\n {\n key: 'tenantName',\n header: 'Tenant',\n render: (item) =>\n item.tenantName ? (\n <div>\n <div className=\"font-medium text-foreground\">{item.tenantName}</div>\n <div className=\"text-xs text-muted-foreground\">{item.tenantEmail}</div>\n </div>\n ) : (\n <span className=\"text-muted-foreground\">-</span>\n ),\n },\n {\n key: 'leaseStart',\n header: 'Lease Start',\n render: (item) =>\n item.leaseStart ? (\n <span className=\"text-sm text-foreground\">{formatDate(item.leaseStart)}</span>\n ) : (\n <span className=\"text-muted-foreground\">-</span>\n ),\n },\n {\n key: 'leaseEnd',\n header: 'Lease End',\n render: (item) =>\n item.leaseEnd ? (\n <span className=\"text-sm text-foreground\">{formatDate(item.leaseEnd)}</span>\n ) : (\n <span className=\"text-muted-foreground\">-</span>\n ),\n },\n {\n key: 'monthlyRent',\n header: 'Rent',\n render: (item) => <span className=\"font-medium text-foreground\">{formatCurrency(item.monthlyRent)}</span>,\n },\n {\n key: 'status',\n header: 'Status',\n render: (item) => (\n <div className=\"flex flex-col gap-1\">\n <StatusBadge label={item.status.replace('_', ' ')} variant={getStatusVariant(item.status)} />\n <StatusBadge label={item.paymentStatus} variant={getPaymentVariant(item.paymentStatus)} />\n </div>\n ),\n },\n ];\n\n return (\n <PageLayout\n title=\"Rental Management\"\n description=\"Comprehensive property and tenant management dashboard\"\n actions={\n <div className=\"flex items-center gap-2\">\n <button className=\"inline-flex items-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90\">\n <Plus className=\"h-4 w-4\" />\n Add Tenant\n </button>\n <button className=\"inline-flex items-center gap-2 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted\">\n <FileText className=\"h-4 w-4\" />\n Generate Agreement\n </button>\n </div>\n }\n >\n {/* Stats Row */}\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n <StatCard label=\"Total Units\" value={stats.totalUnits} icon={<Home className=\"h-4 w-4\" />} />\n <StatCard label=\"Occupied\" value={stats.occupied} icon={<Users className=\"h-4 w-4\" />} trend=\"up\" change={5} />\n <StatCard\n label=\"Vacant\"\n value={stats.vacant}\n icon={<Home className=\"h-4 w-4\" />}\n trend={stats.vacant > 0 ? 'down' : 'stable'}\n change={stats.vacant > 0 ? -10 : 0}\n />\n <StatCard\n label=\"Monthly Income\"\n value={stats.monthlyIncome}\n prefix=\"$\"\n icon={<DollarSign className=\"h-4 w-4\" />}\n trend=\"up\"\n change={8}\n />\n </div>\n\n {/* Rent Collection Section */}\n <div className=\"rounded-lg border border-border bg-card p-5 shadow-sm\">\n <h3 className=\"mb-4 text-lg font-semibold text-foreground\">Rent Collection</h3>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n <div className=\"flex items-center gap-3 rounded-lg bg-emerald-50 p-4 dark:bg-emerald-900/20\">\n <CheckCircle className=\"h-5 w-5 text-emerald-600 dark:text-emerald-400\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Paid</p>\n <p className=\"text-xl font-bold text-emerald-600 dark:text-emerald-400\">{rentCollectionStats.paid}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3 rounded-lg bg-amber-50 p-4 dark:bg-amber-900/20\">\n <Clock className=\"h-5 w-5 text-amber-600 dark:text-amber-400\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Pending</p>\n <p className=\"text-xl font-bold text-amber-600 dark:text-amber-400\">{rentCollectionStats.pending}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3 rounded-lg bg-red-50 p-4 dark:bg-red-900/20\">\n <AlertCircle className=\"h-5 w-5 text-red-600 dark:text-red-400\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Overdue</p>\n <p className=\"text-xl font-bold text-red-600 dark:text-red-400\">{rentCollectionStats.overdue}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3 rounded-lg bg-blue-50 p-4 dark:bg-blue-900/20\">\n <TrendingUp className=\"h-5 w-5 text-blue-600 dark:text-blue-400\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Collection Rate</p>\n <p className=\"text-xl font-bold text-blue-600 dark:text-blue-400\">\n {rentCollectionStats.collectionRate.toFixed(0)}%\n </p>\n </div>\n </div>\n </div>\n </div>\n\n {/* Quick Actions */}\n <div className=\"grid grid-cols-2 gap-3 sm:grid-cols-4\">\n <button className=\"flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted\">\n <Bell className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium text-foreground\">Send Reminders</p>\n <p className=\"text-xs text-muted-foreground\">\n {rentCollectionStats.pending + rentCollectionStats.overdue} pending\n </p>\n </div>\n </button>\n <button className=\"flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted\">\n <DollarSign className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium text-foreground\">Collect Rent</p>\n <p className=\"text-xs text-muted-foreground\">{rentCollectionStats.overdue} overdue</p>\n </div>\n </button>\n <button className=\"flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted\">\n <FileText className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium text-foreground\">Generate Report</p>\n <p className=\"text-xs text-muted-foreground\">Monthly</p>\n </div>\n </button>\n <button className=\"flex flex-col items-center gap-2 rounded-lg border border-border bg-card p-4 text-center transition-colors hover:bg-muted\">\n <Calendar className=\"h-5 w-5 text-muted-foreground\" />\n <div>\n <p className=\"text-sm font-medium text-foreground\">Schedule Visit</p>\n <p className=\"text-xs text-muted-foreground\">Property</p>\n </div>\n </button>\n </div>\n\n {/* Tenant List */}\n <div>\n <h2 className=\"mb-4 text-lg font-semibold text-foreground\">Tenant Directory</h2>\n <FilterBar searchValue={search} onSearchChange={setSearch} searchPlaceholder=\"Search units, tenants...\" />\n <div className=\"mt-4\">\n {filtered.length > 0 ? (\n <DataTable columns={tenantColumns} data={filtered} keyField=\"id\" pageSize={10} />\n ) : (\n <EmptyState\n icon={<Users className=\"h-12 w-12\" />}\n title=\"No rental units found\"\n description=\"Try adjusting your search criteria or add a new tenant.\"\n action={\n <button className=\"inline-flex items-center gap-2 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90\">\n <Plus className=\"h-4 w-4\" />\n Add Tenant\n </button>\n }\n />\n )}\n </div>\n </div>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ProfilePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ProfilePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfilePage.d.ts","sourceRoot":"","sources":["../../../../src/housingvista/pages/settings/ProfilePage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,WAAW,4CA0N1B"}
@@ -0,0 +1,172 @@
1
+ import { cn as e } from "../../utils/helpers.js";
2
+ import { PageLayout as t } from "../../components/PageLayout.js";
3
+ import "../../components/index.js";
4
+ import { useState as n } from "react";
5
+ import { Camera as r, Edit as i, Mail as a, Phone as o, Save as s, User as c, X as l } from "lucide-react";
6
+ import { useNavigate as u } from "react-router-dom";
7
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
+ //#region src/housingvista/pages/settings/ProfilePage.tsx
9
+ function p() {
10
+ u();
11
+ let [p, m] = n(!1), h = {
12
+ firstName: "John",
13
+ lastName: "Doe",
14
+ email: "john.doe@example.com",
15
+ phone: "+1-555-0101",
16
+ avatar: "https://i.pravatar.cc/150?u=1",
17
+ role: "Property Owner"
18
+ }, [g, _] = n({
19
+ firstName: h.firstName,
20
+ lastName: h.lastName,
21
+ email: h.email,
22
+ phone: h.phone
23
+ }), [v, y] = n({ ...g }), b = (e, t) => {
24
+ _((n) => ({
25
+ ...n,
26
+ [e]: t
27
+ }));
28
+ }, x = () => {
29
+ y({ ...g }), m(!1), alert("Profile updated successfully!");
30
+ }, S = () => {
31
+ _({ ...v }), m(!1);
32
+ }, C = `${g.firstName.charAt(0)}${g.lastName.charAt(0)}`.toUpperCase();
33
+ return /* @__PURE__ */ f(t, {
34
+ title: "My Profile",
35
+ description: "View and manage your personal information",
36
+ actions: p ? /* @__PURE__ */ f("div", {
37
+ className: "flex items-center gap-2",
38
+ children: [/* @__PURE__ */ f("button", {
39
+ onClick: S,
40
+ className: "inline-flex items-center gap-1.5 rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-muted",
41
+ children: [/* @__PURE__ */ d(l, { className: "h-3.5 w-3.5" }), "Cancel"]
42
+ }), /* @__PURE__ */ f("button", {
43
+ onClick: x,
44
+ className: "inline-flex items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background transition-colors hover:bg-foreground/90",
45
+ children: [/* @__PURE__ */ d(s, { className: "h-3.5 w-3.5" }), "Save Changes"]
46
+ })]
47
+ }) : /* @__PURE__ */ f("button", {
48
+ onClick: () => m(!0),
49
+ className: "inline-flex items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background transition-colors hover:bg-foreground/90",
50
+ children: [/* @__PURE__ */ d(i, { className: "h-3.5 w-3.5" }), "Edit Profile"]
51
+ }),
52
+ children: [/* @__PURE__ */ d("div", {
53
+ className: "rounded-lg border border-border bg-card p-6",
54
+ children: /* @__PURE__ */ f("div", {
55
+ className: "flex flex-col items-center gap-4 sm:flex-row sm:items-start",
56
+ children: [/* @__PURE__ */ f("div", {
57
+ className: "relative",
58
+ children: [/* @__PURE__ */ d("div", {
59
+ className: "flex h-24 w-24 items-center justify-center overflow-hidden rounded-full bg-muted text-2xl font-bold text-foreground",
60
+ children: h.avatar ? /* @__PURE__ */ d("img", {
61
+ src: h.avatar,
62
+ alt: `${g.firstName} ${g.lastName}`,
63
+ className: "h-full w-full object-cover"
64
+ }) : C
65
+ }), p && /* @__PURE__ */ d("button", {
66
+ onClick: () => alert("Photo upload would open here"),
67
+ className: "absolute -bottom-1 -right-1 flex h-8 w-8 items-center justify-center rounded-full border-2 border-card bg-foreground text-background transition-colors hover:bg-foreground/90",
68
+ children: /* @__PURE__ */ d(r, { className: "h-3.5 w-3.5" })
69
+ })]
70
+ }), /* @__PURE__ */ f("div", {
71
+ className: "flex-1 text-center sm:text-left",
72
+ children: [
73
+ /* @__PURE__ */ f("h2", {
74
+ className: "text-xl font-semibold text-foreground",
75
+ children: [
76
+ g.firstName,
77
+ " ",
78
+ g.lastName
79
+ ]
80
+ }),
81
+ /* @__PURE__ */ f("div", {
82
+ className: "mt-1 flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-3",
83
+ children: [/* @__PURE__ */ f("span", {
84
+ className: "flex items-center justify-center gap-1 text-sm text-muted-foreground sm:justify-start",
85
+ children: [/* @__PURE__ */ d(a, { className: "h-3.5 w-3.5" }), g.email]
86
+ }), /* @__PURE__ */ f("span", {
87
+ className: "flex items-center justify-center gap-1 text-sm text-muted-foreground sm:justify-start",
88
+ children: [/* @__PURE__ */ d(o, { className: "h-3.5 w-3.5" }), g.phone]
89
+ })]
90
+ }),
91
+ /* @__PURE__ */ d("div", {
92
+ className: "mt-2",
93
+ children: /* @__PURE__ */ f("span", {
94
+ className: "inline-flex items-center gap-1 rounded-full bg-muted px-2.5 py-0.5 text-xs font-medium text-foreground",
95
+ children: [/* @__PURE__ */ d(c, { className: "h-3 w-3" }), h.role]
96
+ })
97
+ })
98
+ ]
99
+ })]
100
+ })
101
+ }), /* @__PURE__ */ f("div", {
102
+ className: "rounded-lg border border-border bg-card p-6",
103
+ children: [
104
+ /* @__PURE__ */ d("h3", {
105
+ className: "mb-4 text-base font-semibold text-foreground",
106
+ children: "Personal Information"
107
+ }),
108
+ /* @__PURE__ */ f("div", {
109
+ className: "grid gap-5 sm:grid-cols-2",
110
+ children: [
111
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
112
+ className: "mb-1.5 block text-sm font-medium text-foreground",
113
+ children: "First Name"
114
+ }), /* @__PURE__ */ d("input", {
115
+ type: "text",
116
+ value: g.firstName,
117
+ onChange: (e) => b("firstName", e.target.value),
118
+ disabled: !p,
119
+ className: e("h-10 w-full rounded-md border px-3 text-sm text-foreground transition-colors", p ? "border-border bg-background focus:outline-none focus:ring-2 focus:ring-ring" : "border-transparent bg-muted/50 cursor-not-allowed")
120
+ })] }),
121
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
122
+ className: "mb-1.5 block text-sm font-medium text-foreground",
123
+ children: "Last Name"
124
+ }), /* @__PURE__ */ d("input", {
125
+ type: "text",
126
+ value: g.lastName,
127
+ onChange: (e) => b("lastName", e.target.value),
128
+ disabled: !p,
129
+ className: e("h-10 w-full rounded-md border px-3 text-sm text-foreground transition-colors", p ? "border-border bg-background focus:outline-none focus:ring-2 focus:ring-ring" : "border-transparent bg-muted/50 cursor-not-allowed")
130
+ })] }),
131
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
132
+ className: "mb-1.5 block text-sm font-medium text-foreground",
133
+ children: "Email"
134
+ }), /* @__PURE__ */ d("input", {
135
+ type: "email",
136
+ value: g.email,
137
+ onChange: (e) => b("email", e.target.value),
138
+ disabled: !p,
139
+ className: e("h-10 w-full rounded-md border px-3 text-sm text-foreground transition-colors", p ? "border-border bg-background focus:outline-none focus:ring-2 focus:ring-ring" : "border-transparent bg-muted/50 cursor-not-allowed")
140
+ })] }),
141
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
142
+ className: "mb-1.5 block text-sm font-medium text-foreground",
143
+ children: "Phone"
144
+ }), /* @__PURE__ */ d("input", {
145
+ type: "tel",
146
+ value: g.phone,
147
+ onChange: (e) => b("phone", e.target.value),
148
+ disabled: !p,
149
+ className: e("h-10 w-full rounded-md border px-3 text-sm text-foreground transition-colors", p ? "border-border bg-background focus:outline-none focus:ring-2 focus:ring-ring" : "border-transparent bg-muted/50 cursor-not-allowed")
150
+ })] })
151
+ ]
152
+ }),
153
+ p && /* @__PURE__ */ f("div", {
154
+ className: "mt-6 flex items-center gap-3 border-t border-border pt-5",
155
+ children: [/* @__PURE__ */ f("button", {
156
+ onClick: x,
157
+ className: "inline-flex items-center gap-1.5 rounded-md bg-foreground px-4 py-2 text-sm font-medium text-background transition-colors hover:bg-foreground/90",
158
+ children: [/* @__PURE__ */ d(s, { className: "h-4 w-4" }), "Save Changes"]
159
+ }), /* @__PURE__ */ d("button", {
160
+ onClick: S,
161
+ className: "inline-flex items-center gap-1.5 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted",
162
+ children: "Cancel"
163
+ })]
164
+ })
165
+ ]
166
+ })]
167
+ });
168
+ }
169
+ //#endregion
170
+ export { p as ProfilePage };
171
+
172
+ //# sourceMappingURL=ProfilePage.js.map