@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.
- package/README.md +12 -0
- package/dist/_virtual/_rolldown/runtime.js +20 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/housingvista/HousingVistaRoot.d.ts +5 -0
- package/dist/housingvista/HousingVistaRoot.d.ts.map +1 -0
- package/dist/housingvista/HousingVistaRoot.js +186 -0
- package/dist/housingvista/HousingVistaRoot.js.map +1 -0
- package/dist/housingvista/HousingVistaRoutes.d.ts +7 -0
- package/dist/housingvista/HousingVistaRoutes.d.ts.map +1 -0
- package/dist/housingvista/HousingVistaRoutes.js +118 -0
- package/dist/housingvista/HousingVistaRoutes.js.map +1 -0
- package/dist/housingvista/components/Breadcrumbs.d.ts +13 -0
- package/dist/housingvista/components/Breadcrumbs.d.ts.map +1 -0
- package/dist/housingvista/components/Breadcrumbs.js +31 -0
- package/dist/housingvista/components/Breadcrumbs.js.map +1 -0
- package/dist/housingvista/components/ChartCard.d.ts +12 -0
- package/dist/housingvista/components/ChartCard.d.ts.map +1 -0
- package/dist/housingvista/components/ChartCard.js +23 -0
- package/dist/housingvista/components/ChartCard.js.map +1 -0
- package/dist/housingvista/components/DataTable.d.ts +24 -0
- package/dist/housingvista/components/DataTable.d.ts.map +1 -0
- package/dist/housingvista/components/DataTable.js +126 -0
- package/dist/housingvista/components/DataTable.js.map +1 -0
- package/dist/housingvista/components/EmptyState.d.ts +12 -0
- package/dist/housingvista/components/EmptyState.d.ts.map +1 -0
- package/dist/housingvista/components/EmptyState.js +29 -0
- package/dist/housingvista/components/EmptyState.js.map +1 -0
- package/dist/housingvista/components/ErrorBoundary.d.ts +19 -0
- package/dist/housingvista/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/housingvista/components/ErrorBoundary.js +52 -0
- package/dist/housingvista/components/ErrorBoundary.js.map +1 -0
- package/dist/housingvista/components/FilterBar.d.ts +13 -0
- package/dist/housingvista/components/FilterBar.d.ts.map +1 -0
- package/dist/housingvista/components/FilterBar.js +31 -0
- package/dist/housingvista/components/FilterBar.js.map +1 -0
- package/dist/housingvista/components/LoadingSkeleton.d.ts +10 -0
- package/dist/housingvista/components/LoadingSkeleton.d.ts.map +1 -0
- package/dist/housingvista/components/LoadingSkeleton.js +1 -0
- package/dist/housingvista/components/Modal.d.ts +14 -0
- package/dist/housingvista/components/Modal.d.ts.map +1 -0
- package/dist/housingvista/components/Modal.js +3 -0
- package/dist/housingvista/components/PageLayout.d.ts +12 -0
- package/dist/housingvista/components/PageLayout.d.ts.map +1 -0
- package/dist/housingvista/components/PageLayout.js +23 -0
- package/dist/housingvista/components/PageLayout.js.map +1 -0
- package/dist/housingvista/components/PropertyCard.d.ts +21 -0
- package/dist/housingvista/components/PropertyCard.d.ts.map +1 -0
- package/dist/housingvista/components/PropertyCard.js +115 -0
- package/dist/housingvista/components/PropertyCard.js.map +1 -0
- package/dist/housingvista/components/StatCard.d.ts +16 -0
- package/dist/housingvista/components/StatCard.d.ts.map +1 -0
- package/dist/housingvista/components/StatCard.js +53 -0
- package/dist/housingvista/components/StatCard.js.map +1 -0
- package/dist/housingvista/components/StatusBadge.d.ts +12 -0
- package/dist/housingvista/components/StatusBadge.d.ts.map +1 -0
- package/dist/housingvista/components/StatusBadge.js +25 -0
- package/dist/housingvista/components/StatusBadge.js.map +1 -0
- package/dist/housingvista/components/Toast.d.ts +21 -0
- package/dist/housingvista/components/Toast.d.ts.map +1 -0
- package/dist/housingvista/components/Toast.js +3 -0
- package/dist/housingvista/components/index.d.ts +17 -0
- package/dist/housingvista/components/index.d.ts.map +1 -0
- package/dist/housingvista/components/index.js +13 -0
- package/dist/housingvista/context/HousingVistaContext.d.ts +15 -0
- package/dist/housingvista/context/HousingVistaContext.d.ts.map +1 -0
- package/dist/housingvista/context/HousingVistaContext.js +28 -0
- package/dist/housingvista/context/HousingVistaContext.js.map +1 -0
- package/dist/housingvista/hooks/index.d.ts +103 -0
- package/dist/housingvista/hooks/index.d.ts.map +1 -0
- package/dist/housingvista/hooks/index.js +434 -0
- package/dist/housingvista/hooks/index.js.map +1 -0
- package/dist/housingvista/hooks/useToast.d.ts +13 -0
- package/dist/housingvista/hooks/useToast.d.ts.map +1 -0
- package/dist/housingvista/index.d.ts +9 -0
- package/dist/housingvista/index.d.ts.map +1 -0
- package/dist/housingvista/index.js +3 -0
- package/dist/housingvista/pages/HomePage.d.ts +7 -0
- package/dist/housingvista/pages/HomePage.d.ts.map +1 -0
- package/dist/housingvista/pages/HomePage.js +226 -0
- package/dist/housingvista/pages/HomePage.js.map +1 -0
- package/dist/housingvista/pages/amc/AMCManagementPage.d.ts +2 -0
- package/dist/housingvista/pages/amc/AMCManagementPage.d.ts.map +1 -0
- package/dist/housingvista/pages/amc/AMCManagementPage.js +248 -0
- package/dist/housingvista/pages/amc/AMCManagementPage.js.map +1 -0
- package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts +2 -0
- package/dist/housingvista/pages/analytics/AnalyticsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/analytics/AnalyticsPage.js +320 -0
- package/dist/housingvista/pages/analytics/AnalyticsPage.js.map +1 -0
- package/dist/housingvista/pages/assets/AssetManagementPage.d.ts +2 -0
- package/dist/housingvista/pages/assets/AssetManagementPage.d.ts.map +1 -0
- package/dist/housingvista/pages/assets/AssetManagementPage.js +273 -0
- package/dist/housingvista/pages/assets/AssetManagementPage.js.map +1 -0
- package/dist/housingvista/pages/chat/ChatPage.d.ts +2 -0
- package/dist/housingvista/pages/chat/ChatPage.d.ts.map +1 -0
- package/dist/housingvista/pages/chat/ChatPage.js +218 -0
- package/dist/housingvista/pages/chat/ChatPage.js.map +1 -0
- package/dist/housingvista/pages/finance/HomeLoansPage.d.ts +2 -0
- package/dist/housingvista/pages/finance/HomeLoansPage.d.ts.map +1 -0
- package/dist/housingvista/pages/finance/HomeLoansPage.js +306 -0
- package/dist/housingvista/pages/finance/HomeLoansPage.js.map +1 -0
- package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts +2 -0
- package/dist/housingvista/pages/investments/InvestmentDetailPage.d.ts.map +1 -0
- package/dist/housingvista/pages/investments/InvestmentDetailPage.js +473 -0
- package/dist/housingvista/pages/investments/InvestmentDetailPage.js.map +1 -0
- package/dist/housingvista/pages/investments/InvestmentsPage.d.ts +2 -0
- package/dist/housingvista/pages/investments/InvestmentsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/investments/InvestmentsPage.js +268 -0
- package/dist/housingvista/pages/investments/InvestmentsPage.js.map +1 -0
- package/dist/housingvista/pages/legal/LegalPage.d.ts +2 -0
- package/dist/housingvista/pages/legal/LegalPage.d.ts.map +1 -0
- package/dist/housingvista/pages/legal/LegalPage.js +188 -0
- package/dist/housingvista/pages/legal/LegalPage.js.map +1 -0
- package/dist/housingvista/pages/market/AreaInsightsPage.d.ts +2 -0
- package/dist/housingvista/pages/market/AreaInsightsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/market/AreaInsightsPage.js +278 -0
- package/dist/housingvista/pages/market/AreaInsightsPage.js.map +1 -0
- package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts +2 -0
- package/dist/housingvista/pages/market/MarketAnalyticsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/market/MarketAnalyticsPage.js +296 -0
- package/dist/housingvista/pages/market/MarketAnalyticsPage.js.map +1 -0
- package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts +2 -0
- package/dist/housingvista/pages/marketplace/MarketplacePage.d.ts.map +1 -0
- package/dist/housingvista/pages/marketplace/MarketplacePage.js +201 -0
- package/dist/housingvista/pages/marketplace/MarketplacePage.js.map +1 -0
- package/dist/housingvista/pages/notifications/NotificationsPage.d.ts +2 -0
- package/dist/housingvista/pages/notifications/NotificationsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/notifications/NotificationsPage.js +139 -0
- package/dist/housingvista/pages/notifications/NotificationsPage.js.map +1 -0
- package/dist/housingvista/pages/properties/AddPropertyPage.d.ts +8 -0
- package/dist/housingvista/pages/properties/AddPropertyPage.d.ts.map +1 -0
- package/dist/housingvista/pages/properties/AddPropertyPage.js +751 -0
- package/dist/housingvista/pages/properties/AddPropertyPage.js.map +1 -0
- package/dist/housingvista/pages/properties/PropertiesPage.d.ts +7 -0
- package/dist/housingvista/pages/properties/PropertiesPage.d.ts.map +1 -0
- package/dist/housingvista/pages/properties/PropertiesPage.js +385 -0
- package/dist/housingvista/pages/properties/PropertiesPage.js.map +1 -0
- package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts +8 -0
- package/dist/housingvista/pages/properties/PropertyDetailPage.d.ts.map +1 -0
- package/dist/housingvista/pages/properties/PropertyDetailPage.js +670 -0
- package/dist/housingvista/pages/properties/PropertyDetailPage.js.map +1 -0
- package/dist/housingvista/pages/rental/RentalManagementPage.d.ts +2 -0
- package/dist/housingvista/pages/rental/RentalManagementPage.d.ts.map +1 -0
- package/dist/housingvista/pages/rental/RentalManagementPage.js +296 -0
- package/dist/housingvista/pages/rental/RentalManagementPage.js.map +1 -0
- package/dist/housingvista/pages/settings/ProfilePage.d.ts +2 -0
- package/dist/housingvista/pages/settings/ProfilePage.d.ts.map +1 -0
- package/dist/housingvista/pages/settings/ProfilePage.js +172 -0
- package/dist/housingvista/pages/settings/ProfilePage.js.map +1 -0
- package/dist/housingvista/pages/settings/SettingsPage.d.ts +2 -0
- package/dist/housingvista/pages/settings/SettingsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/settings/SettingsPage.js +195 -0
- package/dist/housingvista/pages/settings/SettingsPage.js.map +1 -0
- package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts +8 -0
- package/dist/housingvista/pages/transactions/TransactionDetailPage.d.ts.map +1 -0
- package/dist/housingvista/pages/transactions/TransactionDetailPage.js +586 -0
- package/dist/housingvista/pages/transactions/TransactionDetailPage.js.map +1 -0
- package/dist/housingvista/pages/transactions/TransactionsPage.d.ts +7 -0
- package/dist/housingvista/pages/transactions/TransactionsPage.d.ts.map +1 -0
- package/dist/housingvista/pages/transactions/TransactionsPage.js +224 -0
- package/dist/housingvista/pages/transactions/TransactionsPage.js.map +1 -0
- package/dist/housingvista/pages/verification/VerificationPage.d.ts +2 -0
- package/dist/housingvista/pages/verification/VerificationPage.d.ts.map +1 -0
- package/dist/housingvista/pages/verification/VerificationPage.js +136 -0
- package/dist/housingvista/pages/verification/VerificationPage.js.map +1 -0
- package/dist/housingvista/store/housingvistaStore.d.ts +72 -0
- package/dist/housingvista/store/housingvistaStore.d.ts.map +1 -0
- package/dist/housingvista/store/housingvistaStore.js +39 -0
- package/dist/housingvista/store/housingvistaStore.js.map +1 -0
- package/dist/housingvista/types/index.d.ts +1326 -0
- package/dist/housingvista/types/index.d.ts.map +1 -0
- package/dist/housingvista/utils/helpers.d.ts +12 -0
- package/dist/housingvista/utils/helpers.d.ts.map +1 -0
- package/dist/housingvista/utils/helpers.js +30 -0
- package/dist/housingvista/utils/helpers.js.map +1 -0
- package/dist/housingvista/utils/index.d.ts +2 -0
- package/dist/housingvista/utils/index.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/d3-array/src/ascending.js +8 -0
- package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisect.js +10 -0
- package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisector.js +43 -0
- package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
- package/dist/node_modules/d3-array/src/descending.js +8 -0
- package/dist/node_modules/d3-array/src/descending.js.map +1 -0
- package/dist/node_modules/d3-array/src/max.js +14 -0
- package/dist/node_modules/d3-array/src/max.js.map +1 -0
- package/dist/node_modules/d3-array/src/min.js +14 -0
- package/dist/node_modules/d3-array/src/min.js.map +1 -0
- package/dist/node_modules/d3-array/src/number.js +15 -0
- package/dist/node_modules/d3-array/src/number.js.map +1 -0
- package/dist/node_modules/d3-array/src/quantile.js +25 -0
- package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-array/src/quickselect.js +26 -0
- package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
- package/dist/node_modules/d3-array/src/range.js +10 -0
- package/dist/node_modules/d3-array/src/range.js.map +1 -0
- package/dist/node_modules/d3-array/src/sort.js +17 -0
- package/dist/node_modules/d3-array/src/sort.js.map +1 -0
- package/dist/node_modules/d3-array/src/ticks.js +34 -0
- package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-color/src/color.js +291 -0
- package/dist/node_modules/d3-color/src/color.js.map +1 -0
- package/dist/node_modules/d3-color/src/define.js +13 -0
- package/dist/node_modules/d3-color/src/define.js.map +1 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-format/src/exponent.js +9 -0
- package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
- package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
- package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
- package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
- package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
- package/dist/node_modules/d3-format/src/identity.js +8 -0
- package/dist/node_modules/d3-format/src/identity.js.map +1 -0
- package/dist/node_modules/d3-format/src/locale.js +86 -0
- package/dist/node_modules/d3-format/src/locale.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
- package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/array.js +15 -0
- package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
- package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/color.js +25 -0
- package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
- package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/date.js +11 -0
- package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/number.js +10 -0
- package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/object.js +14 -0
- package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/round.js +10 -0
- package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/string.js +28 -0
- package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/value.js +18 -0
- package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
- package/dist/node_modules/d3-path/src/path.js +65 -0
- package/dist/node_modules/d3-path/src/path.js.map +1 -0
- package/dist/node_modules/d3-scale/src/band.js +52 -0
- package/dist/node_modules/d3-scale/src/band.js.map +1 -0
- package/dist/node_modules/d3-scale/src/constant.js +10 -0
- package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
- package/dist/node_modules/d3-scale/src/continuous.js +73 -0
- package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
- package/dist/node_modules/d3-scale/src/diverging.js +82 -0
- package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
- package/dist/node_modules/d3-scale/src/identity.js +20 -0
- package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
- package/dist/node_modules/d3-scale/src/init.js +29 -0
- package/dist/node_modules/d3-scale/src/init.js.map +1 -0
- package/dist/node_modules/d3-scale/src/linear.js +36 -0
- package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
- package/dist/node_modules/d3-scale/src/log.js +77 -0
- package/dist/node_modules/d3-scale/src/log.js.map +1 -0
- package/dist/node_modules/d3-scale/src/nice.js +10 -0
- package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
- package/dist/node_modules/d3-scale/src/number.js +8 -0
- package/dist/node_modules/d3-scale/src/number.js.map +1 -0
- package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
- package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
- package/dist/node_modules/d3-scale/src/pow.js +37 -0
- package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantile.js +37 -0
- package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantize.js +33 -0
- package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
- package/dist/node_modules/d3-scale/src/radial.js +39 -0
- package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequential.js +67 -0
- package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/symlog.js +30 -0
- package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
- package/dist/node_modules/d3-scale/src/threshold.js +25 -0
- package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
- package/dist/node_modules/d3-scale/src/time.js +47 -0
- package/dist/node_modules/d3-scale/src/time.js.map +1 -0
- package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
- package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
- package/dist/node_modules/d3-shape/src/area.js +55 -0
- package/dist/node_modules/d3-shape/src/area.js.map +1 -0
- package/dist/node_modules/d3-shape/src/array.js +8 -0
- package/dist/node_modules/d3-shape/src/array.js.map +1 -0
- package/dist/node_modules/d3-shape/src/constant.js +10 -0
- package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
- package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
- package/dist/node_modules/d3-shape/src/line.js +30 -0
- package/dist/node_modules/d3-shape/src/line.js.map +1 -0
- package/dist/node_modules/d3-shape/src/math.js +8 -0
- package/dist/node_modules/d3-shape/src/math.js.map +1 -0
- package/dist/node_modules/d3-shape/src/noop.js +6 -0
- package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
- package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/order/none.js +9 -0
- package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/path.js +19 -0
- package/dist/node_modules/d3-shape/src/path.js.map +1 -0
- package/dist/node_modules/d3-shape/src/point.js +11 -0
- package/dist/node_modules/d3-shape/src/point.js.map +1 -0
- package/dist/node_modules/d3-shape/src/stack.js +34 -0
- package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol.js +23 -0
- package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
- package/dist/node_modules/d3-time/src/day.js +21 -0
- package/dist/node_modules/d3-time/src/day.js.map +1 -0
- package/dist/node_modules/d3-time/src/duration.js +6 -0
- package/dist/node_modules/d3-time/src/duration.js.map +1 -0
- package/dist/node_modules/d3-time/src/hour.js +19 -0
- package/dist/node_modules/d3-time/src/hour.js.map +1 -0
- package/dist/node_modules/d3-time/src/interval.js +28 -0
- package/dist/node_modules/d3-time/src/interval.js.map +1 -0
- package/dist/node_modules/d3-time/src/millisecond.js +14 -0
- package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
- package/dist/node_modules/d3-time/src/minute.js +19 -0
- package/dist/node_modules/d3-time/src/minute.js.map +1 -0
- package/dist/node_modules/d3-time/src/month.js +18 -0
- package/dist/node_modules/d3-time/src/month.js.map +1 -0
- package/dist/node_modules/d3-time/src/second.js +13 -0
- package/dist/node_modules/d3-time/src/second.js.map +1 -0
- package/dist/node_modules/d3-time/src/ticks.js +125 -0
- package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-time/src/week.js +25 -0
- package/dist/node_modules/d3-time/src/week.js.map +1 -0
- package/dist/node_modules/d3-time/src/year.js +26 -0
- package/dist/node_modules/d3-time/src/year.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/locale.js +490 -0
- package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
- package/dist/node_modules/decimal.js-light/decimal.js +378 -0
- package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
- package/dist/node_modules/eventemitter3/index.js +95 -0
- package/dist/node_modules/eventemitter3/index.js.map +1 -0
- package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
- package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
- package/dist/node_modules/internmap/src/index.js +40 -0
- package/dist/node_modules/internmap/src/index.js.map +1 -0
- package/dist/node_modules/lodash/_DataView.js +12 -0
- package/dist/node_modules/lodash/_DataView.js.map +1 -0
- package/dist/node_modules/lodash/_Hash.js +23 -0
- package/dist/node_modules/lodash/_Hash.js.map +1 -0
- package/dist/node_modules/lodash/_ListCache.js +23 -0
- package/dist/node_modules/lodash/_ListCache.js.map +1 -0
- package/dist/node_modules/lodash/_Map.js +12 -0
- package/dist/node_modules/lodash/_Map.js.map +1 -0
- package/dist/node_modules/lodash/_MapCache.js +23 -0
- package/dist/node_modules/lodash/_MapCache.js.map +1 -0
- package/dist/node_modules/lodash/_Promise.js +12 -0
- package/dist/node_modules/lodash/_Promise.js.map +1 -0
- package/dist/node_modules/lodash/_Set.js +12 -0
- package/dist/node_modules/lodash/_Set.js.map +1 -0
- package/dist/node_modules/lodash/_SetCache.js +18 -0
- package/dist/node_modules/lodash/_SetCache.js.map +1 -0
- package/dist/node_modules/lodash/_Stack.js +20 -0
- package/dist/node_modules/lodash/_Stack.js.map +1 -0
- package/dist/node_modules/lodash/_Symbol.js +11 -0
- package/dist/node_modules/lodash/_Symbol.js.map +1 -0
- package/dist/node_modules/lodash/_Uint8Array.js +11 -0
- package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
- package/dist/node_modules/lodash/_WeakMap.js +12 -0
- package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
- package/dist/node_modules/lodash/_apply.js +19 -0
- package/dist/node_modules/lodash/_apply.js.map +1 -0
- package/dist/node_modules/lodash/_arrayEvery.js +14 -0
- package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
- package/dist/node_modules/lodash/_arrayFilter.js +17 -0
- package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
- package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_arrayMap.js +14 -0
- package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
- package/dist/node_modules/lodash/_arrayPush.js +14 -0
- package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
- package/dist/node_modules/lodash/_arraySome.js +14 -0
- package/dist/node_modules/lodash/_arraySome.js.map +1 -0
- package/dist/node_modules/lodash/_asciiToArray.js +13 -0
- package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
- package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
- package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
- package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
- package/dist/node_modules/lodash/_baseEach.js +13 -0
- package/dist/node_modules/lodash/_baseEach.js.map +1 -0
- package/dist/node_modules/lodash/_baseEvery.js +18 -0
- package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
- package/dist/node_modules/lodash/_baseExtremum.js +19 -0
- package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
- package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
- package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
- package/dist/node_modules/lodash/_baseFlatten.js +21 -0
- package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
- package/dist/node_modules/lodash/_baseFor.js +11 -0
- package/dist/node_modules/lodash/_baseFor.js.map +1 -0
- package/dist/node_modules/lodash/_baseForOwn.js +16 -0
- package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
- package/dist/node_modules/lodash/_baseGet.js +18 -0
- package/dist/node_modules/lodash/_baseGet.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetTag.js +17 -0
- package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/dist/node_modules/lodash/_baseGt.js +13 -0
- package/dist/node_modules/lodash/_baseGt.js.map +1 -0
- package/dist/node_modules/lodash/_baseHasIn.js +13 -0
- package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
- package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
- package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
- package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
- package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
- package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
- package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNative.js +18 -0
- package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/_baseIteratee.js +19 -0
- package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
- package/dist/node_modules/lodash/_baseKeys.js +19 -0
- package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseLt.js +13 -0
- package/dist/node_modules/lodash/_baseLt.js.map +1 -0
- package/dist/node_modules/lodash/_baseMap.js +19 -0
- package/dist/node_modules/lodash/_baseMap.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatches.js +20 -0
- package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
- package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
- package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseProperty.js +15 -0
- package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseRange.js +15 -0
- package/dist/node_modules/lodash/_baseRange.js.map +1 -0
- package/dist/node_modules/lodash/_baseRest.js +17 -0
- package/dist/node_modules/lodash/_baseRest.js.map +1 -0
- package/dist/node_modules/lodash/_baseSetToString.js +21 -0
- package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseSlice.js +16 -0
- package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
- package/dist/node_modules/lodash/_baseSome.js +18 -0
- package/dist/node_modules/lodash/_baseSome.js.map +1 -0
- package/dist/node_modules/lodash/_baseSortBy.js +15 -0
- package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseTimes.js +14 -0
- package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
- package/dist/node_modules/lodash/_baseToString.js +22 -0
- package/dist/node_modules/lodash/_baseToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseTrim.js +15 -0
- package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
- package/dist/node_modules/lodash/_baseUnary.js +15 -0
- package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
- package/dist/node_modules/lodash/_baseUniq.js +34 -0
- package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
- package/dist/node_modules/lodash/_cacheHas.js +13 -0
- package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_castPath.js +18 -0
- package/dist/node_modules/lodash/_castPath.js.map +1 -0
- package/dist/node_modules/lodash/_castSlice.js +16 -0
- package/dist/node_modules/lodash/_castSlice.js.map +1 -0
- package/dist/node_modules/lodash/_compareAscending.js +20 -0
- package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
- package/dist/node_modules/lodash/_compareMultiple.js +19 -0
- package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
- package/dist/node_modules/lodash/_coreJsData.js +11 -0
- package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseEach.js +20 -0
- package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseFor.js +19 -0
- package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
- package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
- package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
- package/dist/node_modules/lodash/_createFind.js +27 -0
- package/dist/node_modules/lodash/_createFind.js.map +1 -0
- package/dist/node_modules/lodash/_createRange.js +19 -0
- package/dist/node_modules/lodash/_createRange.js.map +1 -0
- package/dist/node_modules/lodash/_createSet.js +16 -0
- package/dist/node_modules/lodash/_createSet.js.map +1 -0
- package/dist/node_modules/lodash/_defineProperty.js +17 -0
- package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
- package/dist/node_modules/lodash/_equalArrays.js +42 -0
- package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
- package/dist/node_modules/lodash/_equalByTag.js +42 -0
- package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
- package/dist/node_modules/lodash/_equalObjects.js +39 -0
- package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
- package/dist/node_modules/lodash/_freeGlobal.js +10 -0
- package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/dist/node_modules/lodash/_getAllKeys.js +17 -0
- package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_getMapData.js +16 -0
- package/dist/node_modules/lodash/_getMapData.js.map +1 -0
- package/dist/node_modules/lodash/_getMatchData.js +24 -0
- package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
- package/dist/node_modules/lodash/_getNative.js +17 -0
- package/dist/node_modules/lodash/_getNative.js.map +1 -0
- package/dist/node_modules/lodash/_getPrototype.js +11 -0
- package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_getRawTag.js +21 -0
- package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
- package/dist/node_modules/lodash/_getSymbols.js +17 -0
- package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
- package/dist/node_modules/lodash/_getTag.js +28 -0
- package/dist/node_modules/lodash/_getTag.js.map +1 -0
- package/dist/node_modules/lodash/_getValue.js +13 -0
- package/dist/node_modules/lodash/_getValue.js.map +1 -0
- package/dist/node_modules/lodash/_hasPath.js +26 -0
- package/dist/node_modules/lodash/_hasPath.js.map +1 -0
- package/dist/node_modules/lodash/_hasUnicode.js +14 -0
- package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
- package/dist/node_modules/lodash/_hashClear.js +15 -0
- package/dist/node_modules/lodash/_hashClear.js.map +1 -0
- package/dist/node_modules/lodash/_hashDelete.js +14 -0
- package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
- package/dist/node_modules/lodash/_hashGet.js +20 -0
- package/dist/node_modules/lodash/_hashGet.js.map +1 -0
- package/dist/node_modules/lodash/_hashHas.js +16 -0
- package/dist/node_modules/lodash/_hashHas.js.map +1 -0
- package/dist/node_modules/lodash/_hashSet.js +16 -0
- package/dist/node_modules/lodash/_hashSet.js.map +1 -0
- package/dist/node_modules/lodash/_isFlattenable.js +17 -0
- package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
- package/dist/node_modules/lodash/_isIndex.js +15 -0
- package/dist/node_modules/lodash/_isIndex.js.map +1 -0
- package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
- package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
- package/dist/node_modules/lodash/_isKey.js +18 -0
- package/dist/node_modules/lodash/_isKey.js.map +1 -0
- package/dist/node_modules/lodash/_isKeyable.js +14 -0
- package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
- package/dist/node_modules/lodash/_isMasked.js +18 -0
- package/dist/node_modules/lodash/_isMasked.js.map +1 -0
- package/dist/node_modules/lodash/_isPrototype.js +15 -0
- package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheClear.js +13 -0
- package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheGet.js +16 -0
- package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheHas.js +15 -0
- package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheSet.js +16 -0
- package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
- package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
- package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
- package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
- package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapToArray.js +16 -0
- package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
- package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
- package/dist/node_modules/lodash/_nativeCreate.js +11 -0
- package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/dist/node_modules/lodash/_nativeKeys.js +11 -0
- package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_nodeUtil.js +16 -0
- package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/dist/node_modules/lodash/_objectToString.js +14 -0
- package/dist/node_modules/lodash/_objectToString.js.map +1 -0
- package/dist/node_modules/lodash/_overArg.js +15 -0
- package/dist/node_modules/lodash/_overArg.js.map +1 -0
- package/dist/node_modules/lodash/_overRest.js +20 -0
- package/dist/node_modules/lodash/_overRest.js.map +1 -0
- package/dist/node_modules/lodash/_root.js +12 -0
- package/dist/node_modules/lodash/_root.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
- package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheHas.js +13 -0
- package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_setToArray.js +16 -0
- package/dist/node_modules/lodash/_setToArray.js.map +1 -0
- package/dist/node_modules/lodash/_setToString.js +13 -0
- package/dist/node_modules/lodash/_setToString.js.map +1 -0
- package/dist/node_modules/lodash/_shortOut.js +21 -0
- package/dist/node_modules/lodash/_shortOut.js.map +1 -0
- package/dist/node_modules/lodash/_stackClear.js +15 -0
- package/dist/node_modules/lodash/_stackClear.js.map +1 -0
- package/dist/node_modules/lodash/_stackDelete.js +14 -0
- package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
- package/dist/node_modules/lodash/_stackGet.js +13 -0
- package/dist/node_modules/lodash/_stackGet.js.map +1 -0
- package/dist/node_modules/lodash/_stackHas.js +13 -0
- package/dist/node_modules/lodash/_stackHas.js.map +1 -0
- package/dist/node_modules/lodash/_stackSet.js +23 -0
- package/dist/node_modules/lodash/_stackSet.js.map +1 -0
- package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
- package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_stringToArray.js +17 -0
- package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
- package/dist/node_modules/lodash/_stringToPath.js +17 -0
- package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
- package/dist/node_modules/lodash/_toKey.js +17 -0
- package/dist/node_modules/lodash/_toKey.js.map +1 -0
- package/dist/node_modules/lodash/_toSource.js +22 -0
- package/dist/node_modules/lodash/_toSource.js.map +1 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
- package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
- package/dist/node_modules/lodash/constant.js +15 -0
- package/dist/node_modules/lodash/constant.js.map +1 -0
- package/dist/node_modules/lodash/debounce.js +57 -0
- package/dist/node_modules/lodash/debounce.js.map +1 -0
- package/dist/node_modules/lodash/eq.js +13 -0
- package/dist/node_modules/lodash/eq.js.map +1 -0
- package/dist/node_modules/lodash/every.js +20 -0
- package/dist/node_modules/lodash/every.js.map +1 -0
- package/dist/node_modules/lodash/find.js +12 -0
- package/dist/node_modules/lodash/find.js.map +1 -0
- package/dist/node_modules/lodash/findIndex.js +20 -0
- package/dist/node_modules/lodash/findIndex.js.map +1 -0
- package/dist/node_modules/lodash/flatMap.js +16 -0
- package/dist/node_modules/lodash/flatMap.js.map +1 -0
- package/dist/node_modules/lodash/get.js +16 -0
- package/dist/node_modules/lodash/get.js.map +1 -0
- package/dist/node_modules/lodash/hasIn.js +16 -0
- package/dist/node_modules/lodash/hasIn.js.map +1 -0
- package/dist/node_modules/lodash/identity.js +13 -0
- package/dist/node_modules/lodash/identity.js.map +1 -0
- package/dist/node_modules/lodash/isArguments.js +17 -0
- package/dist/node_modules/lodash/isArguments.js.map +1 -0
- package/dist/node_modules/lodash/isArray.js +10 -0
- package/dist/node_modules/lodash/isArray.js.map +1 -0
- package/dist/node_modules/lodash/isArrayLike.js +16 -0
- package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
- package/dist/node_modules/lodash/isBoolean.js +16 -0
- package/dist/node_modules/lodash/isBoolean.js.map +1 -0
- package/dist/node_modules/lodash/isBuffer.js +13 -0
- package/dist/node_modules/lodash/isBuffer.js.map +1 -0
- package/dist/node_modules/lodash/isEqual.js +15 -0
- package/dist/node_modules/lodash/isEqual.js.map +1 -0
- package/dist/node_modules/lodash/isFunction.js +18 -0
- package/dist/node_modules/lodash/isFunction.js.map +1 -0
- package/dist/node_modules/lodash/isLength.js +14 -0
- package/dist/node_modules/lodash/isLength.js.map +1 -0
- package/dist/node_modules/lodash/isNaN.js +15 -0
- package/dist/node_modules/lodash/isNaN.js.map +1 -0
- package/dist/node_modules/lodash/isNil.js +13 -0
- package/dist/node_modules/lodash/isNil.js.map +1 -0
- package/dist/node_modules/lodash/isNumber.js +16 -0
- package/dist/node_modules/lodash/isNumber.js.map +1 -0
- package/dist/node_modules/lodash/isObject.js +14 -0
- package/dist/node_modules/lodash/isObject.js.map +1 -0
- package/dist/node_modules/lodash/isObjectLike.js +13 -0
- package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
- package/dist/node_modules/lodash/isPlainObject.js +21 -0
- package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
- package/dist/node_modules/lodash/isString.js +17 -0
- package/dist/node_modules/lodash/isString.js.map +1 -0
- package/dist/node_modules/lodash/isSymbol.js +16 -0
- package/dist/node_modules/lodash/isSymbol.js.map +1 -0
- package/dist/node_modules/lodash/isTypedArray.js +14 -0
- package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/keys.js +17 -0
- package/dist/node_modules/lodash/keys.js.map +1 -0
- package/dist/node_modules/lodash/last.js +14 -0
- package/dist/node_modules/lodash/last.js.map +1 -0
- package/dist/node_modules/lodash/map.js +18 -0
- package/dist/node_modules/lodash/map.js.map +1 -0
- package/dist/node_modules/lodash/mapValues.js +20 -0
- package/dist/node_modules/lodash/mapValues.js.map +1 -0
- package/dist/node_modules/lodash/max.js +17 -0
- package/dist/node_modules/lodash/max.js.map +1 -0
- package/dist/node_modules/lodash/memoize.js +22 -0
- package/dist/node_modules/lodash/memoize.js.map +1 -0
- package/dist/node_modules/lodash/min.js +17 -0
- package/dist/node_modules/lodash/min.js.map +1 -0
- package/dist/node_modules/lodash/noop.js +11 -0
- package/dist/node_modules/lodash/noop.js.map +1 -0
- package/dist/node_modules/lodash/now.js +14 -0
- package/dist/node_modules/lodash/now.js.map +1 -0
- package/dist/node_modules/lodash/property.js +18 -0
- package/dist/node_modules/lodash/property.js.map +1 -0
- package/dist/node_modules/lodash/range.js +11 -0
- package/dist/node_modules/lodash/range.js.map +1 -0
- package/dist/node_modules/lodash/some.js +20 -0
- package/dist/node_modules/lodash/some.js.map +1 -0
- package/dist/node_modules/lodash/sortBy.js +19 -0
- package/dist/node_modules/lodash/sortBy.js.map +1 -0
- package/dist/node_modules/lodash/stubArray.js +13 -0
- package/dist/node_modules/lodash/stubArray.js.map +1 -0
- package/dist/node_modules/lodash/stubFalse.js +13 -0
- package/dist/node_modules/lodash/stubFalse.js.map +1 -0
- package/dist/node_modules/lodash/throttle.js +22 -0
- package/dist/node_modules/lodash/throttle.js.map +1 -0
- package/dist/node_modules/lodash/toFinite.js +15 -0
- package/dist/node_modules/lodash/toFinite.js.map +1 -0
- package/dist/node_modules/lodash/toInteger.js +16 -0
- package/dist/node_modules/lodash/toInteger.js.map +1 -0
- package/dist/node_modules/lodash/toNumber.js +26 -0
- package/dist/node_modules/lodash/toNumber.js.map +1 -0
- package/dist/node_modules/lodash/toString.js +15 -0
- package/dist/node_modules/lodash/toString.js.map +1 -0
- package/dist/node_modules/lodash/uniqBy.js +16 -0
- package/dist/node_modules/lodash/uniqBy.js.map +1 -0
- package/dist/node_modules/lodash/upperFirst.js +11 -0
- package/dist/node_modules/lodash/upperFirst.js.map +1 -0
- package/dist/node_modules/object-assign/index.js +41 -0
- package/dist/node_modules/object-assign/index.js.map +1 -0
- package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
- package/dist/node_modules/prop-types/index.js +16 -0
- package/dist/node_modules/prop-types/index.js.map +1 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
- package/dist/node_modules/prop-types/lib/has.js +10 -0
- package/dist/node_modules/prop-types/lib/has.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
- package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/easing.js +152 -0
- package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/index.js +9 -0
- package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/util.js +92 -0
- package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +305 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Line.js +473 -0
- package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/LineChart.js +22 -0
- package/dist/node_modules/recharts/es6/chart/LineChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
- package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Label.js +353 -0
- package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
- package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Text.js +225 -0
- package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
- package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
- package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +57 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js +562 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Events.js +7 -0
- package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Global.js +21 -0
- package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +116 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/types.js +43 -0
- package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/index.js +1 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
- 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 @@
|
|
|
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":";;;;;;;;;;;;;AAwBA,SAAS,EAAiB,GAAkF;AAC1G,SAAQ,GAAR;EACE,KAAK,WACH,QAAO;EACT,KAAK,SACH,QAAO;EACT,KAAK,gBACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,EAAkB,GAAgF;AACzG,SAAQ,GAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,IAAuB;CACrC,IAAM,EAAE,MAAM,MAAgB,GAAgB,EACxC,CAAC,GAAQ,KAAa,EAAS,GAAG,EAElC,IAAW,QAAc;AAC7B,MAAI,CAAC,EAAQ,QAAO;EACpB,IAAM,IAAI,EAAO,aAAa;AAC9B,SAAO,EAAY,QAChB,MACC,EAAE,cAAc,aAAa,CAAC,SAAS,EAAE,IACzC,EAAE,WAAW,aAAa,CAAC,SAAS,EAAE,IACtC,EAAE,WAAW,aAAa,CAAC,SAAS,EAAE,CACzC;IACA,CAAC,GAAa,EAAO,CAAC,EAEnB,IAAQ,SAOL;EAAE,YANU,EAAY;EAMV,UALJ,EAAY,QAAQ,MAAM,EAAE,WAAW,WAAW,CAAC;EAKrC,QAJhB,EAAY,QAAQ,MAAM,EAAE,WAAW,SAAS,CAAC;EAIzB,eAHjB,EACnB,QAAQ,MAAM,EAAE,WAAW,cAAc,EAAE,WAAW,gBAAgB,CACtE,QAAQ,GAAK,MAAM,IAAM,EAAE,aAAa,EAAE;EACS,GACrD,CAAC,EAAY,CAAC,EAEX,IAAsB,QAAc;EACxC,IAAM,IAAO,EAAY,QAAQ,MAAM,EAAE,kBAAkB,OAAO,CAAC;AAInE,SAAO;GAAE;GAAM,SAHC,EAAY,QAAQ,MAAM,EAAE,kBAAkB,UAAU,CAAC;GAGjD,SAFR,EAAY,QAAQ,MAAM,EAAE,kBAAkB,UAAU,CAAC;GAExC,gBADV,EAAY,SAAS,IAAK,IAAO,EAAY,SAAU,MAAM;GACnC;IAChD,CAAC,EAAY,CAAC;AA+DjB,QACE,kBAAC,GAAD;EACE,OAAM;EACN,aAAY;EACZ,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,UAAD;IAAQ,WAAU;cAAlB,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAAA,aAErB;OACT,kBAAC,UAAD;IAAQ,WAAU;cAAlB,CACE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA,EAAA,qBAEzB;MACL;;YAbV;GAiBE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD;MAAU,OAAM;MAAc,OAAO,EAAM;MAAY,MAAM,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA;MAAI,CAAA;KAC7F,kBAAC,GAAD;MAAU,OAAM;MAAW,OAAO,EAAM;MAAU,MAAM,kBAAC,GAAD,EAAO,WAAU,WAAY,CAAA;MAAE,OAAM;MAAK,QAAQ;MAAK,CAAA;KAC/G,kBAAC,GAAD;MACE,OAAM;MACN,OAAO,EAAM;MACb,MAAM,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA;MAClC,OAAO,EAAM,SAAS,IAAI,SAAS;MACnC,QAAQ,EAAM,SAAS,IAAI,MAAM;MACjC,CAAA;KACF,kBAAC,GAAD;MACE,OAAM;MACN,OAAO,EAAM;MACb,QAAO;MACP,MAAM,kBAAC,GAAD,EAAY,WAAU,WAAY,CAAA;MACxC,OAAM;MACN,QAAQ;MACR,CAAA;KACE;;GAGN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eAA6C;KAAoB,CAAA,EAC/E,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAa,WAAU,kDAAmD,CAAA,EAC1E,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAgC;QAAQ,CAAA,EACrD,kBAAC,KAAD;QAAG,WAAU;kBAA4D,EAAoB;QAAS,CAAA,CAClG,EAAA,CAAA,CACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAO,WAAU,8CAA+C,CAAA,EAChE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAgC;QAAW,CAAA,EACxD,kBAAC,KAAD;QAAG,WAAU;kBAAwD,EAAoB;QAAY,CAAA,CACjG,EAAA,CAAA,CACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAa,WAAU,0CAA2C,CAAA,EAClE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAgC;QAAW,CAAA,EACxD,kBAAC,KAAD;QAAG,WAAU;kBAAoD,EAAoB;QAAY,CAAA,CAC7F,EAAA,CAAA,CACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAY,WAAU,4CAA6C,CAAA,EACnE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAgC;QAAmB,CAAA,EAChE,kBAAC,KAAD;QAAG,WAAU;kBAAb,CACG,EAAoB,eAAe,QAAQ,EAAE,EAAC,IAC7C;UACA,EAAA,CAAA,CACF;;MACF;OACF;;GAGN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,UAAD;MAAQ,WAAU;gBAAlB,CACE,kBAAC,GAAD,EAAM,WAAU,iCAAkC,CAAA,EAClD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAsC;OAAkB,CAAA,EACrE,kBAAC,KAAD;OAAG,WAAU;iBAAb,CACG,EAAoB,UAAU,EAAoB,SAAQ,WACzD;SACA,EAAA,CAAA,CACC;;KACT,kBAAC,UAAD;MAAQ,WAAU;gBAAlB,CACE,kBAAC,GAAD,EAAY,WAAU,iCAAkC,CAAA,EACxD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAsC;OAAgB,CAAA,EACnE,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAA8C,EAAoB,SAAQ,WAAY;SAClF,EAAA,CAAA,CACC;;KACT,kBAAC,UAAD;MAAQ,WAAU;gBAAlB,CACE,kBAAC,GAAD,EAAU,WAAU,iCAAkC,CAAA,EACtD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAsC;OAAmB,CAAA,EACtE,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAW,CAAA,CACpD,EAAA,CAAA,CACC;;KACT,kBAAC,UAAD;MAAQ,WAAU;gBAAlB,CACE,kBAAC,GAAD,EAAU,WAAU,iCAAkC,CAAA,EACtD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAsC;OAAkB,CAAA,EACrE,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAY,CAAA,CACrD,EAAA,CAAA,CACC;;KACL;;GAGN,kBAAC,OAAD,EAAA,UAAA;IACE,kBAAC,MAAD;KAAI,WAAU;eAA6C;KAAqB,CAAA;IAChF,kBAAC,GAAD;KAAW,aAAa;KAAQ,gBAAgB;KAAW,mBAAkB;KAA6B,CAAA;IAC1G,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAS,SAAS,IACjB,kBAAC,GAAD;MAAW,SAhLuB;OAC1C;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MACP,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;SAAK,WAAU;mBAA+B,EAAK;SAAoB,CAAA,EACvE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CAA+C,SAAM,EAAK,WAAiB;WACvE,EAAA,CAAA;QAET;OACD;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MACP,EAAK,aACH,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;SAAK,WAAU;mBAA+B,EAAK;SAAiB,CAAA,EACpE,kBAAC,OAAD;SAAK,WAAU;mBAAiC,EAAK;SAAkB,CAAA,CACnE,EAAA,CAAA,GAEN,kBAAC,QAAD;SAAM,WAAU;mBAAwB;SAAQ,CAAA;QAErD;OACD;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MACP,EAAK,aACH,kBAAC,QAAD;SAAM,WAAU;mBAA2B,EAAW,EAAK,WAAW;SAAQ,CAAA,GAE9E,kBAAC,QAAD;SAAM,WAAU;mBAAwB;SAAQ,CAAA;QAErD;OACD;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MACP,EAAK,WACH,kBAAC,QAAD;SAAM,WAAU;mBAA2B,EAAW,EAAK,SAAS;SAAQ,CAAA,GAE5E,kBAAC,QAAD;SAAM,WAAU;mBAAwB;SAAQ,CAAA;QAErD;OACD;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MAAS,kBAAC,QAAD;SAAM,WAAU;mBAA+B,EAAe,EAAK,YAAY;SAAQ,CAAA;QAC1G;OACD;QACE,KAAK;QACL,QAAQ;QACR,SAAS,MACP,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD;UAAa,OAAO,EAAK,OAAO,QAAQ,KAAK,IAAI;UAAE,SAAS,EAAiB,EAAK,OAAO;UAAI,CAAA,EAC7F,kBAAC,GAAD;UAAa,OAAO,EAAK;UAAe,SAAS,EAAkB,EAAK,cAAc;UAAI,CAAA,CACtF;;QAET;OACF;MAqH4C,MAAM;MAAU,UAAS;MAAK,UAAU;MAAM,CAAA,GAEjF,kBAAC,GAAD;MACE,MAAM,kBAAC,GAAD,EAAO,WAAU,aAAc,CAAA;MACrC,OAAM;MACN,aAAY;MACZ,QACE,kBAAC,UAAD;OAAQ,WAAU;iBAAlB,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAAA,aAErB;;MAEX,CAAA;KAEA,CAAA;IACF,EAAA,CAAA;GACK"}
|
|
@@ -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
|