@burdenoff/microfe-kadaikodi 2026.704.4 → 2026.710.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +23527 -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 +57851 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/kadaikodi/KadaikodiRoot.d.ts +5 -0
- package/dist/kadaikodi/KadaikodiRoot.d.ts.map +1 -0
- package/dist/kadaikodi/KadaikodiRoutes.d.ts +4 -0
- package/dist/kadaikodi/KadaikodiRoutes.d.ts.map +1 -0
- package/dist/kadaikodi/KadaikodiRoutes.js +30 -26
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/components/CartCard.d.ts +18 -0
- package/dist/kadaikodi/components/CartCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/EmptyState.d.ts +17 -0
- package/dist/kadaikodi/components/EmptyState.d.ts.map +1 -0
- package/dist/kadaikodi/components/InvestmentCard.d.ts +18 -0
- package/dist/kadaikodi/components/InvestmentCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/MetricsCard.d.ts +16 -0
- package/dist/kadaikodi/components/MetricsCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/OrderCard.d.ts +18 -0
- package/dist/kadaikodi/components/OrderCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/PageLayout.d.ts +12 -0
- package/dist/kadaikodi/components/PageLayout.d.ts.map +1 -0
- package/dist/kadaikodi/components/RatingDisplay.d.ts +12 -0
- package/dist/kadaikodi/components/RatingDisplay.d.ts.map +1 -0
- package/dist/kadaikodi/components/StatusBadge.d.ts +9 -0
- package/dist/kadaikodi/components/StatusBadge.d.ts.map +1 -0
- package/dist/kadaikodi/components/index.d.ts +13 -0
- package/dist/kadaikodi/components/index.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/AllocationBar.d.ts +21 -0
- package/dist/kadaikodi/components/viz/AllocationBar.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/AllocationBar.js +68 -0
- package/dist/kadaikodi/components/viz/AllocationBar.js.map +1 -0
- package/dist/kadaikodi/components/viz/AreaChart.d.ts +18 -0
- package/dist/kadaikodi/components/viz/AreaChart.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/AreaChart.js +102 -0
- package/dist/kadaikodi/components/viz/AreaChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/AvatarStack.d.ts +13 -0
- package/dist/kadaikodi/components/viz/AvatarStack.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js +36 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js.map +1 -0
- package/dist/kadaikodi/components/viz/BarChart.d.ts +17 -0
- package/dist/kadaikodi/components/viz/BarChart.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/BarChart.js +83 -0
- package/dist/kadaikodi/components/viz/BarChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/CertificateCard.d.ts +14 -0
- package/dist/kadaikodi/components/viz/CertificateCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/CertificateCard.js +4 -0
- package/dist/kadaikodi/components/viz/DonutChart.d.ts +20 -0
- package/dist/kadaikodi/components/viz/DonutChart.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/DonutChart.js +109 -0
- package/dist/kadaikodi/components/viz/DonutChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.d.ts +17 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js +54 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js.map +1 -0
- package/dist/kadaikodi/components/viz/Heatmap.d.ts +26 -0
- package/dist/kadaikodi/components/viz/Heatmap.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/Heatmap.js +3 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.d.ts +17 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js +50 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js.map +1 -0
- package/dist/kadaikodi/components/viz/LineChart.d.ts +20 -0
- package/dist/kadaikodi/components/viz/LineChart.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/LineChart.js +4 -0
- package/dist/kadaikodi/components/viz/OrgTree.d.ts +14 -0
- package/dist/kadaikodi/components/viz/OrgTree.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/OrgTree.js +2 -0
- package/dist/kadaikodi/components/viz/PathSteps.d.ts +17 -0
- package/dist/kadaikodi/components/viz/PathSteps.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/PathSteps.js +3 -0
- package/dist/kadaikodi/components/viz/ProgressRing.d.ts +20 -0
- package/dist/kadaikodi/components/viz/ProgressRing.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js +68 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js.map +1 -0
- package/dist/kadaikodi/components/viz/RatingStars.d.ts +14 -0
- package/dist/kadaikodi/components/viz/RatingStars.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/RatingStars.js +51 -0
- package/dist/kadaikodi/components/viz/RatingStars.js.map +1 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.d.ts +26 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js +69 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js.map +1 -0
- package/dist/kadaikodi/components/viz/SkillBar.d.ts +17 -0
- package/dist/kadaikodi/components/viz/SkillBar.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/SkillBar.js +3 -0
- package/dist/kadaikodi/components/viz/Sparkline.d.ts +16 -0
- package/dist/kadaikodi/components/viz/Sparkline.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/Sparkline.js +74 -0
- package/dist/kadaikodi/components/viz/Sparkline.js.map +1 -0
- package/dist/kadaikodi/components/viz/StatCard.d.ts +22 -0
- package/dist/kadaikodi/components/viz/StatCard.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/StatCard.js +60 -0
- package/dist/kadaikodi/components/viz/StatCard.js.map +1 -0
- package/dist/kadaikodi/components/viz/StepProgress.d.ts +17 -0
- package/dist/kadaikodi/components/viz/StepProgress.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/StepProgress.js +64 -0
- package/dist/kadaikodi/components/viz/StepProgress.js.map +1 -0
- package/dist/kadaikodi/components/viz/Timeline.d.ts +21 -0
- package/dist/kadaikodi/components/viz/Timeline.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/Timeline.js +66 -0
- package/dist/kadaikodi/components/viz/Timeline.js.map +1 -0
- package/dist/kadaikodi/components/viz/index.d.ts +35 -0
- package/dist/kadaikodi/components/viz/index.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/index.js +23 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.d.ts +15 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js +30 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.d.ts +44 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js +119 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.d.ts +27 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js +35 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/format.d.ts +10 -0
- package/dist/kadaikodi/components/viz/lib/format.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/format.js +21 -0
- package/dist/kadaikodi/components/viz/lib/format.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/geometry.d.ts +41 -0
- package/dist/kadaikodi/components/viz/lib/geometry.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js +61 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/hooks.d.ts +18 -0
- package/dist/kadaikodi/components/viz/lib/hooks.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js +39 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/palette.d.ts +31 -0
- package/dist/kadaikodi/components/viz/lib/palette.d.ts.map +1 -0
- package/dist/kadaikodi/components/viz/lib/palette.js +27 -0
- package/dist/kadaikodi/components/viz/lib/palette.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/types.d.ts +27 -0
- package/dist/kadaikodi/components/viz/lib/types.d.ts.map +1 -0
- package/dist/kadaikodi/context/KadaikodiContext.d.ts +16 -0
- package/dist/kadaikodi/context/KadaikodiContext.d.ts.map +1 -0
- package/dist/kadaikodi/context/index.d.ts +6 -0
- package/dist/kadaikodi/context/index.d.ts.map +1 -0
- package/dist/kadaikodi/hooks/index.d.ts +2 -0
- package/dist/kadaikodi/hooks/index.d.ts.map +1 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts +169 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts.map +1 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +18 -10
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/index.d.ts +11 -0
- package/dist/kadaikodi/index.d.ts.map +1 -0
- package/dist/kadaikodi/pages/HomePage.d.ts +14 -0
- package/dist/kadaikodi/pages/HomePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/HomePage.js +373 -631
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.d.ts +13 -0
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +304 -169
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.d.ts +13 -0
- package/dist/kadaikodi/pages/admin/AdminDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +255 -271
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.d.ts +12 -0
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +185 -125
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.d.ts +11 -0
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +141 -102
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.d.ts +11 -0
- package/dist/kadaikodi/pages/admin/AdminProfilePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.d.ts +10 -0
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/CartManagementPage.d.ts +13 -0
- package/dist/kadaikodi/pages/admin/CartManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +558 -718
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.d.ts +10 -0
- package/dist/kadaikodi/pages/admin/UserManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.d.ts +13 -0
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +142 -55
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.d.ts +11 -0
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.d.ts +12 -0
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +129 -164
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.d.ts +12 -0
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.d.ts +11 -0
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.d.ts +11 -0
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +379 -361
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.d.ts +2 -0
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +266 -166
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.d.ts +2 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js +373 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.d.ts +10 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +288 -161
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.d.ts +12 -0
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +180 -181
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.d.ts +11 -0
- package/dist/kadaikodi/pages/common/HelpSupportPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.d.ts +10 -0
- package/dist/kadaikodi/pages/common/NotificationCenterPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/common/SettingsPage.d.ts +19 -0
- package/dist/kadaikodi/pages/common/SettingsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.d.ts +12 -0
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +17 -34
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.d.ts +13 -0
- package/dist/kadaikodi/pages/customer/CartDetailPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +405 -248
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.d.ts +11 -0
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +258 -232
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.d.ts +9 -0
- package/dist/kadaikodi/pages/customer/CheckoutPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +254 -205
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.d.ts +10 -0
- package/dist/kadaikodi/pages/customer/CustomerDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.d.ts +10 -0
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.d.ts +12 -0
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +270 -230
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.d.ts +11 -0
- package/dist/kadaikodi/pages/customer/FavoritesPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +149 -412
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.d.ts +9 -0
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +173 -134
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.d.ts +9 -0
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +176 -175
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.d.ts +11 -0
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/ReviewsPage.d.ts +12 -0
- package/dist/kadaikodi/pages/customer/ReviewsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +295 -438
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.d.ts +10 -0
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/shared.d.ts +41 -0
- package/dist/kadaikodi/pages/customer/shared.d.ts.map +1 -0
- package/dist/kadaikodi/pages/customer/shared.js +181 -0
- package/dist/kadaikodi/pages/customer/shared.js.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.d.ts +13 -0
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +438 -311
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.d.ts +10 -0
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +320 -293
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.d.ts +11 -0
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +159 -91
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.d.ts +10 -0
- package/dist/kadaikodi/pages/investor/InvestorDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +137 -107
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.d.ts +10 -0
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +157 -135
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.d.ts +11 -0
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +280 -206
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.d.ts +20 -0
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.d.ts +18 -0
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +424 -448
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.d.ts +14 -0
- package/dist/kadaikodi/pages/worker/WorkerDashboard.d.ts.map +1 -0
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +328 -445
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.d.ts +18 -0
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +141 -164
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.d.ts +18 -0
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +300 -296
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.d.ts +16 -0
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +284 -309
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/dist/kadaikodi/store/index.d.ts +6 -0
- package/dist/kadaikodi/store/index.d.ts.map +1 -0
- package/dist/kadaikodi/store/kadaikodiStore.d.ts +60 -0
- package/dist/kadaikodi/store/kadaikodiStore.d.ts.map +1 -0
- package/dist/kadaikodi/types/index.d.ts +464 -0
- package/dist/kadaikodi/types/index.d.ts.map +1 -0
- package/dist/kadaikodi/utils/cn.d.ts +4 -0
- package/dist/kadaikodi/utils/cn.d.ts.map +1 -0
- package/dist/kadaikodi/utils/formatters.d.ts +78 -0
- package/dist/kadaikodi/utils/formatters.d.ts.map +1 -0
- package/dist/kadaikodi/utils/index.d.ts +8 -0
- package/dist/kadaikodi/utils/index.d.ts.map +1 -0
- package/dist/kadaikodi/utils/navigation.d.ts +20 -0
- package/dist/kadaikodi/utils/navigation.d.ts.map +1 -0
- package/dist/services/createSandboxAssistantTransport.d.ts +43 -0
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
- package/dist/services/createSandboxAssistantTransport.js +15 -0
- package/dist/services/createSandboxAssistantTransport.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { cn as e } from "../../../utils/cn.js";
|
|
2
|
+
import { useElementWidth as t } from "./hooks.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/kadaikodi/components/viz/lib/ResponsiveSvg.tsx
|
|
5
|
+
function i({ height: i, title: a, desc: o, className: s, minWidth: c = 320, overflowVisible: l = !0, children: u }) {
|
|
6
|
+
let [d, f] = t(), p = f > 0 ? f : c;
|
|
7
|
+
return /* @__PURE__ */ n("div", {
|
|
8
|
+
ref: d,
|
|
9
|
+
className: e("w-full", s),
|
|
10
|
+
children: /* @__PURE__ */ r("svg", {
|
|
11
|
+
viewBox: `0 0 ${p} ${i}`,
|
|
12
|
+
width: "100%",
|
|
13
|
+
height: i,
|
|
14
|
+
preserveAspectRatio: "none",
|
|
15
|
+
role: "img",
|
|
16
|
+
"aria-label": a,
|
|
17
|
+
style: {
|
|
18
|
+
display: "block",
|
|
19
|
+
overflow: l ? "visible" : "hidden"
|
|
20
|
+
},
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ n("title", { children: a }),
|
|
23
|
+
o ? /* @__PURE__ */ n("desc", { children: o }) : null,
|
|
24
|
+
u({
|
|
25
|
+
width: p,
|
|
26
|
+
height: i
|
|
27
|
+
})
|
|
28
|
+
]
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { i as ResponsiveSvg };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=ResponsiveSvg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponsiveSvg.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/ResponsiveSvg.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '../../../utils/cn';\nimport { useElementWidth } from './hooks';\n\nexport interface ResponsiveSvgDims {\n width: number;\n height: number;\n}\n\nexport interface ResponsiveSvgProps {\n /** Fixed pixel height; width is measured from the container. */\n height: number;\n /** Accessible name announced for the chart. */\n title: string;\n /** Optional longer description linked via <desc>. */\n desc?: string;\n className?: string;\n /** Width assumed before the container has been measured. */\n minWidth?: number;\n /** Allow marks (endpoint halos, labels) to paint outside the viewBox. */\n overflowVisible?: boolean;\n children: (dims: ResponsiveSvgDims) => ReactNode;\n}\n\n/**\n * A width-measuring SVG frame. Because the viewBox matches the rendered pixel\n * box 1:1, circles stay circular and strokes stay crisp at any width, while the\n * chart still fills its container and reflows on resize.\n */\nexport function ResponsiveSvg({\n height,\n title,\n desc,\n className,\n minWidth = 320,\n overflowVisible = true,\n children,\n}: ResponsiveSvgProps) {\n const [ref, measured] = useElementWidth<HTMLDivElement>();\n const width = measured > 0 ? measured : minWidth;\n return (\n <div ref={ref} className={cn('w-full', className)}>\n <svg\n viewBox={`0 0 ${width} ${height}`}\n width=\"100%\"\n height={height}\n preserveAspectRatio=\"none\"\n role=\"img\"\n aria-label={title}\n style={{ display: 'block', overflow: overflowVisible ? 'visible' : 'hidden' }}\n >\n <title>{title}</title>\n {desc ? <desc>{desc}</desc> : null}\n {children({ width, height })}\n </svg>\n </div>\n );\n}\n"],"mappings":";;;;AA6BA,SAAgB,EAAc,EAC5B,WACA,UACA,SACA,cACA,cAAW,KACX,qBAAkB,IAClB,eACqB;CACrB,IAAM,CAAC,GAAK,KAAY,GAAiC,EACnD,IAAQ,IAAW,IAAI,IAAW;AACxC,QACE,kBAAC,OAAD;EAAU;EAAK,WAAW,EAAG,UAAU,EAAU;YAC/C,kBAAC,OAAD;GACE,SAAS,OAAO,EAAM,GAAG;GACzB,OAAM;GACE;GACR,qBAAoB;GACpB,MAAK;GACL,cAAY;GACZ,OAAO;IAAE,SAAS;IAAS,UAAU,IAAkB,YAAY;IAAU;aAP/E;IASE,kBAAC,SAAD,EAAA,UAAQ,GAAc,CAAA;IACrB,IAAO,kBAAC,QAAD,EAAA,UAAO,GAAY,CAAA,GAAG;IAC7B,EAAS;KAAE;KAAO;KAAQ,CAAC;IACxB;;EACF,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure formatting helpers for the visualization kit. No React / DOM.
|
|
3
|
+
*/
|
|
4
|
+
/** Compact number formatting: 1200 -> "1.2k", 3_400_000 -> "3.4M". */
|
|
5
|
+
export declare function formatCompact(value: number): string;
|
|
6
|
+
/** Value as a percentage of a total, rounded to `digits` decimals (0 when total is 0). */
|
|
7
|
+
export declare function toPercent(value: number, total: number, digits?: number): number;
|
|
8
|
+
/** Up-to-two-letter initials from a display name. */
|
|
9
|
+
export declare function getInitials(name: string): string;
|
|
10
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYnD;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAM1E;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/kadaikodi/components/viz/lib/format.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return (Math.round(e * 10) / 10).toString();
|
|
4
|
+
}
|
|
5
|
+
function t(t) {
|
|
6
|
+
let n = Math.abs(t);
|
|
7
|
+
return n >= 1e9 ? `${e(t / 1e9)}B` : n >= 1e6 ? `${e(t / 1e6)}M` : n >= 1e3 ? `${e(t / 1e3)}k` : String(t);
|
|
8
|
+
}
|
|
9
|
+
function n(e, t, n = 0) {
|
|
10
|
+
if (t === 0) return 0;
|
|
11
|
+
let r = 10 ** n;
|
|
12
|
+
return Math.round(e / t * 100 * r) / r;
|
|
13
|
+
}
|
|
14
|
+
function r(e) {
|
|
15
|
+
let t = e.trim().split(/\s+/).filter(Boolean);
|
|
16
|
+
return t.length === 0 ? "?" : t.length === 1 ? t[0].slice(0, 2).toUpperCase() : `${t[0][0]}${t[t.length - 1][0]}`.toUpperCase();
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { t as formatCompact, r as getInitials, n as toPercent };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/format.ts"],"sourcesContent":["/**\n * Pure formatting helpers for the visualization kit. No React / DOM.\n */\n\nfunction trimDecimal(n: number): string {\n return (Math.round(n * 10) / 10).toString();\n}\n\n/** Compact number formatting: 1200 -> \"1.2k\", 3_400_000 -> \"3.4M\". */\nexport function formatCompact(value: number): string {\n const abs = Math.abs(value);\n if (abs >= 1_000_000_000) {\n return `${trimDecimal(value / 1_000_000_000)}B`;\n }\n if (abs >= 1_000_000) {\n return `${trimDecimal(value / 1_000_000)}M`;\n }\n if (abs >= 1_000) {\n return `${trimDecimal(value / 1_000)}k`;\n }\n return String(value);\n}\n\n/** Value as a percentage of a total, rounded to `digits` decimals (0 when total is 0). */\nexport function toPercent(value: number, total: number, digits = 0): number {\n if (total === 0) {\n return 0;\n }\n const factor = 10 ** digits;\n return Math.round((value / total) * 100 * factor) / factor;\n}\n\n/** Up-to-two-letter initials from a display name. */\nexport function getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/).filter(Boolean);\n if (parts.length === 0) {\n return '?';\n }\n if (parts.length === 1) {\n return parts[0].slice(0, 2).toUpperCase();\n }\n return `${parts[0][0]}${parts[parts.length - 1][0]}`.toUpperCase();\n}\n"],"mappings":";AAIA,SAAS,EAAY,GAAmB;AACtC,SAAQ,KAAK,MAAM,IAAI,GAAG,GAAG,IAAI,UAAU;;AAI7C,SAAgB,EAAc,GAAuB;CACnD,IAAM,IAAM,KAAK,IAAI,EAAM;AAU3B,QATI,KAAO,MACF,GAAG,EAAY,IAAQ,IAAc,CAAC,KAE3C,KAAO,MACF,GAAG,EAAY,IAAQ,IAAU,CAAC,KAEvC,KAAO,MACF,GAAG,EAAY,IAAQ,IAAM,CAAC,KAEhC,OAAO,EAAM;;AAItB,SAAgB,EAAU,GAAe,GAAe,IAAS,GAAW;AAC1E,KAAI,MAAU,EACZ,QAAO;CAET,IAAM,IAAS,MAAM;AACrB,QAAO,KAAK,MAAO,IAAQ,IAAS,MAAM,EAAO,GAAG;;AAItD,SAAgB,EAAY,GAAsB;CAChD,IAAM,IAAQ,EAAK,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,QAAQ;AAOtD,QANI,EAAM,WAAW,IACZ,MAEL,EAAM,WAAW,IACZ,EAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,GAEpC,GAAG,EAAM,GAAG,KAAK,EAAM,EAAM,SAAS,GAAG,KAAK,aAAa"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure geometry / scaling helpers for the CrewFoundry visualization kit.
|
|
3
|
+
* No React, no DOM, no side effects — safe to unit test in isolation.
|
|
4
|
+
*/
|
|
5
|
+
export interface Point {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}
|
|
9
|
+
/** Clamp a value into an inclusive range. */
|
|
10
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
11
|
+
/** Sum of a numeric list (0 for empty). */
|
|
12
|
+
export declare function sum(values: readonly number[]): number;
|
|
13
|
+
/** Min/max of a list. Returns [0, 0] for an empty list. */
|
|
14
|
+
export declare function extent(values: readonly number[]): [number, number];
|
|
15
|
+
/** Extent that always includes a zero baseline, so bars/areas anchor sensibly. */
|
|
16
|
+
export declare function extentWithZero(values: readonly number[]): [number, number];
|
|
17
|
+
/**
|
|
18
|
+
* Linear map of `value` from a domain onto a range. Degenerate domains
|
|
19
|
+
* (min === max) map to the range midpoint instead of dividing by zero.
|
|
20
|
+
*/
|
|
21
|
+
export declare function scaleLinear(value: number, domainMin: number, domainMax: number, rangeMin: number, rangeMax: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Evenly space a list of y-values across a box and invert Y (SVG origin is
|
|
24
|
+
* top-left, so larger values render higher).
|
|
25
|
+
*/
|
|
26
|
+
export declare function pointsFromValues(values: readonly number[], width: number, height: number, padding?: number, domain?: [number, number]): Point[];
|
|
27
|
+
/** Build an SVG polyline `d` from points. */
|
|
28
|
+
export declare function buildLinePath(points: readonly Point[]): string;
|
|
29
|
+
/** Build a closed area `d` (line dropped to a baseline and closed). */
|
|
30
|
+
export declare function buildAreaPath(points: readonly Point[], baselineY: number): string;
|
|
31
|
+
/** SVG path for an n-pointed star centered at (cx, cy). */
|
|
32
|
+
export declare function starPath(cx: number, cy: number, outerRadius: number, innerRadius: number, points?: number): string;
|
|
33
|
+
/** Convert a polar coordinate (degrees, clockwise from 12 o'clock) to cartesian. */
|
|
34
|
+
export declare function polarToCartesian(cx: number, cy: number, radius: number, angleDeg: number): Point;
|
|
35
|
+
/**
|
|
36
|
+
* Annular (donut) segment path between two angles, clockwise from 12 o'clock.
|
|
37
|
+
* For a full 360° sweep the caller should draw a ring instead (this path
|
|
38
|
+
* degenerates when start and end coincide).
|
|
39
|
+
*/
|
|
40
|
+
export declare function donutSegmentPath(cx: number, cy: number, rOuter: number, rInner: number, startAngle: number, endAngle: number): string;
|
|
41
|
+
//# sourceMappingURL=geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/geometry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,6CAA6C;AAC7C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAErD;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAelE;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB,KAAK,EAAE,CAaT;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAK9D;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,MAAM,CAQR;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAGhG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAaR"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
//#region src/kadaikodi/components/viz/lib/geometry.ts
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
return Math.min(n, Math.max(t, e));
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
if (e.length === 0) return [0, 0];
|
|
7
|
+
let t = e[0], n = e[0];
|
|
8
|
+
for (let r of e) r < t && (t = r), r > n && (n = r);
|
|
9
|
+
return [t, n];
|
|
10
|
+
}
|
|
11
|
+
function n(e) {
|
|
12
|
+
let [n, r] = t(e);
|
|
13
|
+
return [Math.min(0, n), Math.max(0, r)];
|
|
14
|
+
}
|
|
15
|
+
function r(e, t, n, r, i) {
|
|
16
|
+
return n === t ? (r + i) / 2 : r + (e - t) / (n - t) * (i - r);
|
|
17
|
+
}
|
|
18
|
+
function i(e) {
|
|
19
|
+
return Math.round(e * 100) / 100;
|
|
20
|
+
}
|
|
21
|
+
function a(e, t, a, o = 0, s) {
|
|
22
|
+
let c = e.length;
|
|
23
|
+
if (c === 0) return [];
|
|
24
|
+
let [l, u] = s ?? n(e), d = Math.max(0, t - o * 2), f = Math.max(0, a - o * 2);
|
|
25
|
+
return e.map((e, t) => {
|
|
26
|
+
let n = o + (c === 1 ? d / 2 : d * t / (c - 1)), a = o + f - r(e, l, u, 0, f);
|
|
27
|
+
return {
|
|
28
|
+
x: i(n),
|
|
29
|
+
y: i(a)
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function o(e) {
|
|
34
|
+
return e.length === 0 ? "" : e.map((e, t) => `${t === 0 ? "M" : "L"}${i(e.x)},${i(e.y)}`).join(" ");
|
|
35
|
+
}
|
|
36
|
+
function s(e, t) {
|
|
37
|
+
if (e.length === 0) return "";
|
|
38
|
+
let n = o(e), r = e[0], a = e[e.length - 1];
|
|
39
|
+
return `${n} L${i(a.x)},${i(t)} L${i(r.x)},${i(t)} Z`;
|
|
40
|
+
}
|
|
41
|
+
function c(e, t, n, r) {
|
|
42
|
+
let a = (r - 90) * Math.PI / 180;
|
|
43
|
+
return {
|
|
44
|
+
x: i(e + n * Math.cos(a)),
|
|
45
|
+
y: i(t + n * Math.sin(a))
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function l(e, t, n, r, i, a) {
|
|
49
|
+
let o = c(e, t, n, a), s = c(e, t, n, i), l = c(e, t, r, a), u = c(e, t, r, i), d = +(a - i > 180);
|
|
50
|
+
return [
|
|
51
|
+
`M${o.x},${o.y}`,
|
|
52
|
+
`A${n},${n} 0 ${d} 0 ${s.x},${s.y}`,
|
|
53
|
+
`L${u.x},${u.y}`,
|
|
54
|
+
`A${r},${r} 0 ${d} 1 ${l.x},${l.y}`,
|
|
55
|
+
"Z"
|
|
56
|
+
].join(" ");
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { s as buildAreaPath, o as buildLinePath, e as clamp, l as donutSegmentPath, t as extent, n as extentWithZero, a as pointsFromValues, c as polarToCartesian, r as scaleLinear };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/geometry.ts"],"sourcesContent":["/**\n * Pure geometry / scaling helpers for the CrewFoundry visualization kit.\n * No React, no DOM, no side effects — safe to unit test in isolation.\n */\n\nexport interface Point {\n x: number;\n y: number;\n}\n\n/** Clamp a value into an inclusive range. */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/** Sum of a numeric list (0 for empty). */\nexport function sum(values: readonly number[]): number {\n return values.reduce((acc, v) => acc + v, 0);\n}\n\n/** Min/max of a list. Returns [0, 0] for an empty list. */\nexport function extent(values: readonly number[]): [number, number] {\n if (values.length === 0) {\n return [0, 0];\n }\n let min = values[0];\n let max = values[0];\n for (const v of values) {\n if (v < min) {\n min = v;\n }\n if (v > max) {\n max = v;\n }\n }\n return [min, max];\n}\n\n/** Extent that always includes a zero baseline, so bars/areas anchor sensibly. */\nexport function extentWithZero(values: readonly number[]): [number, number] {\n const [min, max] = extent(values);\n return [Math.min(0, min), Math.max(0, max)];\n}\n\n/**\n * Linear map of `value` from a domain onto a range. Degenerate domains\n * (min === max) map to the range midpoint instead of dividing by zero.\n */\nexport function scaleLinear(\n value: number,\n domainMin: number,\n domainMax: number,\n rangeMin: number,\n rangeMax: number\n): number {\n if (domainMax === domainMin) {\n return (rangeMin + rangeMax) / 2;\n }\n const t = (value - domainMin) / (domainMax - domainMin);\n return rangeMin + t * (rangeMax - rangeMin);\n}\n\n/** Round to 2 decimals — keeps generated path strings compact. */\nfunction round(n: number): number {\n return Math.round(n * 100) / 100;\n}\n\n/**\n * Evenly space a list of y-values across a box and invert Y (SVG origin is\n * top-left, so larger values render higher).\n */\nexport function pointsFromValues(\n values: readonly number[],\n width: number,\n height: number,\n padding = 0,\n domain?: [number, number]\n): Point[] {\n const n = values.length;\n if (n === 0) {\n return [];\n }\n const [dMin, dMax] = domain ?? extentWithZero(values);\n const innerW = Math.max(0, width - padding * 2);\n const innerH = Math.max(0, height - padding * 2);\n return values.map((v, i) => {\n const x = padding + (n === 1 ? innerW / 2 : (innerW * i) / (n - 1));\n const y = padding + innerH - scaleLinear(v, dMin, dMax, 0, innerH);\n return { x: round(x), y: round(y) };\n });\n}\n\n/** Build an SVG polyline `d` from points. */\nexport function buildLinePath(points: readonly Point[]): string {\n if (points.length === 0) {\n return '';\n }\n return points.map((p, i) => `${i === 0 ? 'M' : 'L'}${round(p.x)},${round(p.y)}`).join(' ');\n}\n\n/** Build a closed area `d` (line dropped to a baseline and closed). */\nexport function buildAreaPath(points: readonly Point[], baselineY: number): string {\n if (points.length === 0) {\n return '';\n }\n const line = buildLinePath(points);\n const first = points[0];\n const last = points[points.length - 1];\n return `${line} L${round(last.x)},${round(baselineY)} L${round(first.x)},${round(baselineY)} Z`;\n}\n\n/** SVG path for an n-pointed star centered at (cx, cy). */\nexport function starPath(\n cx: number,\n cy: number,\n outerRadius: number,\n innerRadius: number,\n points = 5\n): string {\n const total = points * 2;\n const coords: Point[] = [];\n for (let i = 0; i < total; i += 1) {\n const radius = i % 2 === 0 ? outerRadius : innerRadius;\n coords.push(polarToCartesian(cx, cy, radius, (i * 360) / total));\n }\n return `${coords.map((p, i) => `${i === 0 ? 'M' : 'L'}${p.x},${p.y}`).join(' ')} Z`;\n}\n\n/** Convert a polar coordinate (degrees, clockwise from 12 o'clock) to cartesian. */\nexport function polarToCartesian(cx: number, cy: number, radius: number, angleDeg: number): Point {\n const a = ((angleDeg - 90) * Math.PI) / 180;\n return { x: round(cx + radius * Math.cos(a)), y: round(cy + radius * Math.sin(a)) };\n}\n\n/**\n * Annular (donut) segment path between two angles, clockwise from 12 o'clock.\n * For a full 360° sweep the caller should draw a ring instead (this path\n * degenerates when start and end coincide).\n */\nexport function donutSegmentPath(\n cx: number,\n cy: number,\n rOuter: number,\n rInner: number,\n startAngle: number,\n endAngle: number\n): string {\n const startOuter = polarToCartesian(cx, cy, rOuter, endAngle);\n const endOuter = polarToCartesian(cx, cy, rOuter, startAngle);\n const startInner = polarToCartesian(cx, cy, rInner, endAngle);\n const endInner = polarToCartesian(cx, cy, rInner, startAngle);\n const largeArc = endAngle - startAngle > 180 ? 1 : 0;\n return [\n `M${startOuter.x},${startOuter.y}`,\n `A${rOuter},${rOuter} 0 ${largeArc} 0 ${endOuter.x},${endOuter.y}`,\n `L${endInner.x},${endInner.y}`,\n `A${rInner},${rInner} 0 ${largeArc} 1 ${startInner.x},${startInner.y}`,\n 'Z',\n ].join(' ');\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tracks the user's reduced-motion preference. Components use this to skip
|
|
5
|
+
* entrance / draw-in transitions entirely rather than merely shortening them.
|
|
6
|
+
*/
|
|
7
|
+
export declare function usePrefersReducedMotion(): boolean;
|
|
8
|
+
/** Becomes true after the first paint — drives one-shot enter transitions. */
|
|
9
|
+
export declare function useMounted(): boolean;
|
|
10
|
+
/** Stable, SVG-safe unique id (no colons) for gradient / clip / aria references. */
|
|
11
|
+
export declare function useVizId(prefix?: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Observes the width of an element so SVG charts can render a 1:1 viewBox
|
|
14
|
+
* (no aspect-ratio distortion) and reflow on resize. Falls back gracefully
|
|
15
|
+
* where ResizeObserver is unavailable.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useElementWidth<T extends HTMLElement>(): [RefObject<T | null>, number];
|
|
18
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAgD,MAAM,OAAO,CAAC;AAKrF;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAajD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,OAAO,CAOpC;AAID,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,MAAM,SAAQ,GAAG,MAAM,CAM/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAsBtF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useEffect as e, useLayoutEffect as t, useRef as n, useState as r } from "react";
|
|
2
|
+
//#region src/kadaikodi/components/viz/lib/hooks.ts
|
|
3
|
+
var i = typeof window < "u", a = i ? t : e;
|
|
4
|
+
function o() {
|
|
5
|
+
let [t, n] = r(!1);
|
|
6
|
+
return e(() => {
|
|
7
|
+
if (!i || typeof window.matchMedia != "function") return;
|
|
8
|
+
let e = window.matchMedia("(prefers-reduced-motion: reduce)"), t = () => n(e.matches);
|
|
9
|
+
return t(), e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
10
|
+
}, []), t;
|
|
11
|
+
}
|
|
12
|
+
function s() {
|
|
13
|
+
let [t, n] = r(!1);
|
|
14
|
+
return e(() => {
|
|
15
|
+
let e = requestAnimationFrame(() => n(!0));
|
|
16
|
+
return () => cancelAnimationFrame(e);
|
|
17
|
+
}, []), t;
|
|
18
|
+
}
|
|
19
|
+
var c = 0;
|
|
20
|
+
function l(e = "viz") {
|
|
21
|
+
let [t] = r(() => (c += 1, `${e}-${c}`));
|
|
22
|
+
return t;
|
|
23
|
+
}
|
|
24
|
+
function u() {
|
|
25
|
+
let e = n(null), [t, i] = r(0);
|
|
26
|
+
return a(() => {
|
|
27
|
+
let t = e.current;
|
|
28
|
+
if (!t || (i(t.clientWidth), typeof ResizeObserver > "u")) return;
|
|
29
|
+
let n = new ResizeObserver((e) => {
|
|
30
|
+
let t = e[0]?.contentRect.width;
|
|
31
|
+
typeof t == "number" && i(t);
|
|
32
|
+
});
|
|
33
|
+
return n.observe(t), () => n.disconnect();
|
|
34
|
+
}, []), [e, t];
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { u as useElementWidth, s as useMounted, o as usePrefersReducedMotion, l as useVizId };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/hooks.ts"],"sourcesContent":["import { type RefObject, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nconst canUseDOM = typeof window !== 'undefined';\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\n/**\n * Tracks the user's reduced-motion preference. Components use this to skip\n * entrance / draw-in transitions entirely rather than merely shortening them.\n */\nexport function usePrefersReducedMotion(): boolean {\n const [reduced, setReduced] = useState(false);\n useEffect(() => {\n if (!canUseDOM || typeof window.matchMedia !== 'function') {\n return;\n }\n const mq = window.matchMedia('(prefers-reduced-motion: reduce)');\n const update = () => setReduced(mq.matches);\n update();\n mq.addEventListener('change', update);\n return () => mq.removeEventListener('change', update);\n }, []);\n return reduced;\n}\n\n/** Becomes true after the first paint — drives one-shot enter transitions. */\nexport function useMounted(): boolean {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setMounted(true));\n return () => cancelAnimationFrame(raf);\n }, []);\n return mounted;\n}\n\nlet uidCounter = 0;\n\n/** Stable, SVG-safe unique id (no colons) for gradient / clip / aria references. */\nexport function useVizId(prefix = 'viz'): string {\n const [id] = useState(() => {\n uidCounter += 1;\n return `${prefix}-${uidCounter}`;\n });\n return id;\n}\n\n/**\n * Observes the width of an element so SVG charts can render a 1:1 viewBox\n * (no aspect-ratio distortion) and reflow on resize. Falls back gracefully\n * where ResizeObserver is unavailable.\n */\nexport function useElementWidth<T extends HTMLElement>(): [RefObject<T | null>, number] {\n const ref = useRef<T>(null);\n const [width, setWidth] = useState(0);\n useIsomorphicLayoutEffect(() => {\n const el = ref.current;\n if (!el) {\n return;\n }\n setWidth(el.clientWidth);\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n const ro = new ResizeObserver((entries) => {\n const measured = entries[0]?.contentRect.width;\n if (typeof measured === 'number') {\n setWidth(measured);\n }\n });\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n return [ref, width];\n}\n"],"mappings":";;AAEA,IAAM,IAAY,OAAO,SAAW,KAC9B,IAA4B,IAAY,IAAkB;AAMhE,SAAgB,IAAmC;CACjD,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM;AAW7C,QAVA,QAAgB;AACd,MAAI,CAAC,KAAa,OAAO,OAAO,cAAe,WAC7C;EAEF,IAAM,IAAK,OAAO,WAAW,mCAAmC,EAC1D,UAAe,EAAW,EAAG,QAAQ;AAG3C,SAFA,GAAQ,EACR,EAAG,iBAAiB,UAAU,EAAO,QACxB,EAAG,oBAAoB,UAAU,EAAO;IACpD,EAAE,CAAC,EACC;;AAIT,SAAgB,IAAsB;CACpC,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM;AAK7C,QAJA,QAAgB;EACd,IAAM,IAAM,4BAA4B,EAAW,GAAK,CAAC;AACzD,eAAa,qBAAqB,EAAI;IACrC,EAAE,CAAC,EACC;;AAGT,IAAI,IAAa;AAGjB,SAAgB,EAAS,IAAS,OAAe;CAC/C,IAAM,CAAC,KAAM,SACX,KAAc,GACP,GAAG,EAAO,GAAG,KACpB;AACF,QAAO;;AAQT,SAAgB,IAAwE;CACtF,IAAM,IAAM,EAAU,KAAK,EACrB,CAAC,GAAO,KAAY,EAAS,EAAE;AAmBrC,QAlBA,QAAgC;EAC9B,IAAM,IAAK,EAAI;AAKf,MAJI,CAAC,MAGL,EAAS,EAAG,YAAY,EACpB,OAAO,iBAAmB,KAC5B;EAEF,IAAM,IAAK,IAAI,gBAAgB,MAAY;GACzC,IAAM,IAAW,EAAQ,IAAI,YAAY;AACzC,GAAI,OAAO,KAAa,YACtB,EAAS,EAAS;IAEpB;AAEF,SADA,EAAG,QAAQ,EAAG,QACD,EAAG,YAAY;IAC3B,EAAE,CAAC,EACC,CAAC,GAAK,EAAM"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tokenized color palette for the visualization kit.
|
|
3
|
+
*
|
|
4
|
+
* Every color here is a reference to a fe-libs semantic CSS variable, so the
|
|
5
|
+
* kit themes automatically (light / dark / product themes) and never ships a
|
|
6
|
+
* raw hex. The single "accent" used for highlights and single-series charts is
|
|
7
|
+
* the product theme's primary action color — the app is NOT green; whatever the
|
|
8
|
+
* active theme resolves `--color-accent-primary` to is what renders.
|
|
9
|
+
*
|
|
10
|
+
* Tints/shades are produced by SVG opacity (fill-opacity / stop-opacity) at the
|
|
11
|
+
* call site, never by emitting a second raw color.
|
|
12
|
+
*/
|
|
13
|
+
/** Primary highlight — resolves to the product theme's primary action color. */
|
|
14
|
+
export declare const ACCENT = "var(--color-accent-primary)";
|
|
15
|
+
/** Faint chart chrome (theme-aware). */
|
|
16
|
+
export declare const CHART_GRID = "var(--color-chart-grid)";
|
|
17
|
+
export declare const CHART_AXIS = "var(--color-chart-axis)";
|
|
18
|
+
/** Semantic status hues — saturated and readable in both light and dark. */
|
|
19
|
+
export declare const STATUS: {
|
|
20
|
+
readonly success: "var(--color-status-success-text)";
|
|
21
|
+
readonly warning: "var(--color-status-warning-text)";
|
|
22
|
+
readonly danger: "var(--color-status-error-text)";
|
|
23
|
+
readonly info: "var(--color-status-info-text)";
|
|
24
|
+
};
|
|
25
|
+
export type StatusTone = keyof typeof STATUS;
|
|
26
|
+
/**
|
|
27
|
+
* A tokenized palette of `count` colors, cycling the semantic series list.
|
|
28
|
+
* Returns CSS-variable strings (never raw colors).
|
|
29
|
+
*/
|
|
30
|
+
export declare function chartPalette(count: number): string[];
|
|
31
|
+
//# sourceMappingURL=palette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,gFAAgF;AAChF,eAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD,wCAAwC;AACxC,eAAO,MAAM,UAAU,4BAA4B,CAAC;AACpD,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,4EAA4E;AAC5E,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC;AAqB7C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/kadaikodi/components/viz/lib/palette.ts
|
|
2
|
+
var e = "var(--color-accent-primary)", t = "var(--color-chart-grid)", n = "var(--color-chart-axis)", r = {
|
|
3
|
+
success: "var(--color-status-success-text)",
|
|
4
|
+
warning: "var(--color-status-warning-text)",
|
|
5
|
+
danger: "var(--color-status-error-text)",
|
|
6
|
+
info: "var(--color-status-info-text)"
|
|
7
|
+
}, i = [
|
|
8
|
+
e,
|
|
9
|
+
"var(--color-accent-blue)",
|
|
10
|
+
"var(--color-accent-teal)",
|
|
11
|
+
"var(--color-accent-purple)",
|
|
12
|
+
"var(--color-accent-indigo)",
|
|
13
|
+
r.warning,
|
|
14
|
+
r.info,
|
|
15
|
+
r.success,
|
|
16
|
+
"var(--color-chart-6)",
|
|
17
|
+
"var(--color-chart-7)",
|
|
18
|
+
"var(--color-chart-9)",
|
|
19
|
+
"var(--color-chart-12)"
|
|
20
|
+
];
|
|
21
|
+
function a(e) {
|
|
22
|
+
return e <= 0 ? [] : Array.from({ length: e }, (e, t) => i[t % i.length]);
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { e as ACCENT, n as CHART_AXIS, t as CHART_GRID, r as STATUS, a as chartPalette };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/palette.ts"],"sourcesContent":["/**\n * Tokenized color palette for the visualization kit.\n *\n * Every color here is a reference to a fe-libs semantic CSS variable, so the\n * kit themes automatically (light / dark / product themes) and never ships a\n * raw hex. The single \"accent\" used for highlights and single-series charts is\n * the product theme's primary action color — the app is NOT green; whatever the\n * active theme resolves `--color-accent-primary` to is what renders.\n *\n * Tints/shades are produced by SVG opacity (fill-opacity / stop-opacity) at the\n * call site, never by emitting a second raw color.\n */\n\n/** Primary highlight — resolves to the product theme's primary action color. */\nexport const ACCENT = 'var(--color-accent-primary)';\n\n/** Faint chart chrome (theme-aware). */\nexport const CHART_GRID = 'var(--color-chart-grid)';\nexport const CHART_AXIS = 'var(--color-chart-axis)';\n\n/** Semantic status hues — saturated and readable in both light and dark. */\nexport const STATUS = {\n success: 'var(--color-status-success-text)',\n warning: 'var(--color-status-warning-text)',\n danger: 'var(--color-status-error-text)',\n info: 'var(--color-status-info-text)',\n} as const;\n\nexport type StatusTone = keyof typeof STATUS;\n\n/**\n * Ordered categorical palette, led by the product accent and drawn entirely\n * from theme-aware semantic tokens. Used to color multi-series charts.\n */\nconst SERIES_TOKENS: readonly string[] = [\n ACCENT,\n 'var(--color-accent-blue)',\n 'var(--color-accent-teal)',\n 'var(--color-accent-purple)',\n 'var(--color-accent-indigo)',\n STATUS.warning,\n STATUS.info,\n STATUS.success,\n 'var(--color-chart-6)',\n 'var(--color-chart-7)',\n 'var(--color-chart-9)',\n 'var(--color-chart-12)',\n];\n\n/**\n * A tokenized palette of `count` colors, cycling the semantic series list.\n * Returns CSS-variable strings (never raw colors).\n */\nexport function chartPalette(count: number): string[] {\n if (count <= 0) {\n return [];\n }\n return Array.from({ length: count }, (_, i) => SERIES_TOKENS[i % SERIES_TOKENS.length]);\n}\n"],"mappings":";AAcA,IAAa,IAAS,+BAGT,IAAa,2BACb,IAAa,2BAGb,IAAS;CACpB,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACP,EAQK,IAAmC;CACvC;CACA;CACA;CACA;CACA;CACA,EAAO;CACP,EAAO;CACP,EAAO;CACP;CACA;CACA;CACA;CACD;AAMD,SAAgB,EAAa,GAAyB;AAIpD,QAHI,KAAS,IACJ,EAAE,GAEJ,MAAM,KAAK,EAAE,QAAQ,GAAO,GAAG,GAAG,MAAM,EAAc,IAAI,EAAc,QAAQ"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/** A single labelled datum — the common shape across most charts. */
|
|
4
|
+
export interface LabeledValue {
|
|
5
|
+
label: string;
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
/** A labelled datum that may carry an explicit tokenized color. */
|
|
9
|
+
export interface Segment extends LabeledValue {
|
|
10
|
+
/** Optional CSS-variable color; otherwise the chart palette assigns one. */
|
|
11
|
+
color?: string;
|
|
12
|
+
}
|
|
13
|
+
/** A person reference used by avatar / org / roster components. */
|
|
14
|
+
export interface Person {
|
|
15
|
+
name: string;
|
|
16
|
+
avatarUrl?: string;
|
|
17
|
+
role?: string;
|
|
18
|
+
}
|
|
19
|
+
/** A column for the KanbanBoard. Cards are pre-rendered nodes supplied by the caller. */
|
|
20
|
+
export interface KanbanColumnData {
|
|
21
|
+
id: string;
|
|
22
|
+
title: string;
|
|
23
|
+
/** Optional tokenized accent for the column header rail. */
|
|
24
|
+
accent?: string;
|
|
25
|
+
items: ReactNode[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from 'react';
|
|
2
|
+
import { KadaikodiRootProps } from '../types';
|
|
3
|
+
|
|
4
|
+
interface KadaikodiContextValue extends Omit<KadaikodiRootProps, 'registerNavItems' | 'registerFooterItems' | 'navigate'> {
|
|
5
|
+
isStandalone: boolean;
|
|
6
|
+
/** Shell's navigate function (only available in integrated mode) */
|
|
7
|
+
navigate?: (path: string) => void;
|
|
8
|
+
/** Navigate to a path relative to basePath */
|
|
9
|
+
navigateTo: (relativePath: string) => void;
|
|
10
|
+
/** Get the full path for a relative path */
|
|
11
|
+
getPath: (relativePath: string) => string;
|
|
12
|
+
}
|
|
13
|
+
export declare function useKadaikodi(): KadaikodiContextValue;
|
|
14
|
+
export declare const KadaikodiProvider: FC<PropsWithChildren<KadaikodiRootProps>>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=KadaikodiContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KadaikodiContext.d.ts","sourceRoot":"","sources":["../../../src/kadaikodi/context/KadaikodiContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAOnD,UAAU,qBAAsB,SAAQ,IAAI,CAC1C,kBAAkB,EAClB,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,CACxD;IACC,YAAY,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8CAA8C;IAC9C,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,4CAA4C;IAC5C,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAQD,wBAAgB,YAAY,IAAI,qBAAqB,CAMpD;AAqID,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAuBvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kadaikodi/context/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { useAdminAnalytics, useCreateOffering, useCreateProvider, useCreateProviderWorker, useCreateInvestmentOpportunity, useCreateReview, useCreateWorkerTask, useDashboardStats, useDeleteOffering, useInvest, useRespondToReview, useInvestmentOpportunities, useInvestments, useKadaikodiApi, useOffering, useOfferings, useOrder, useOrders, usePlaceOrder, useProvider, useProviders, useProviderWorkers, useReviews, useUpdateOffering, useUpdateOrderStatus, useUpdateProvider, useUpdateProviderWorker, useUpdateWorkerTask, useUpdateWorkerTaskStatus, useWorkerClockInOut, useWorkerSchedules, useWorkerStats, useWorkerTasks, } from './useKadaikodiApi';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kadaikodi/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,8BAA8B,EAC9B,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { MockCart, MockOrder, InvestmentOpportunity, Investment, DashboardStats, AdminAnalytics, WorkerTask, WorkerSchedule, WorkerStats } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface KadaikodiOfferingRow {
|
|
4
|
+
id: string;
|
|
5
|
+
providerId: string;
|
|
6
|
+
kind: string;
|
|
7
|
+
name: string;
|
|
8
|
+
slug: string;
|
|
9
|
+
category: string;
|
|
10
|
+
description?: string | null;
|
|
11
|
+
price: number;
|
|
12
|
+
originalPrice?: number | null;
|
|
13
|
+
stock?: number | null;
|
|
14
|
+
durationMinutes?: number | null;
|
|
15
|
+
serviceType?: string | null;
|
|
16
|
+
tags: string[];
|
|
17
|
+
isAvailable: boolean;
|
|
18
|
+
metadata?: Record<string, unknown> | null;
|
|
19
|
+
media?: string[] | null;
|
|
20
|
+
}
|
|
21
|
+
export interface KadaikodiReviewRow {
|
|
22
|
+
id: string;
|
|
23
|
+
providerId: string;
|
|
24
|
+
customerId: string;
|
|
25
|
+
rating: number;
|
|
26
|
+
review?: string | null;
|
|
27
|
+
response?: string | null;
|
|
28
|
+
createdAt: string;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
export interface KadaikodiProviderWorkerRow {
|
|
32
|
+
id: string;
|
|
33
|
+
providerId: string;
|
|
34
|
+
workerId: string;
|
|
35
|
+
name: string;
|
|
36
|
+
role: string;
|
|
37
|
+
status: string;
|
|
38
|
+
metadata?: Record<string, unknown> | null;
|
|
39
|
+
}
|
|
40
|
+
export declare const useProviders: (query?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<MockCart[]>, Error>;
|
|
41
|
+
export declare const useProvider: (id?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<MockCart | null>, Error>;
|
|
42
|
+
export declare const useOfferings: (providerId?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<KadaikodiOfferingRow[]>, Error>;
|
|
43
|
+
export declare const useOffering: (id?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<KadaikodiOfferingRow | null>, Error>;
|
|
44
|
+
export declare const useOrders: (input?: {
|
|
45
|
+
providerId?: string;
|
|
46
|
+
customerId?: string;
|
|
47
|
+
}) => import('@tanstack/react-query').UseQueryResult<NoInfer<MockOrder[]>, Error>;
|
|
48
|
+
export declare const useOrder: (id?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<MockOrder | null>, Error>;
|
|
49
|
+
export declare const useDashboardStats: () => import('@tanstack/react-query').UseQueryResult<NoInfer<DashboardStats>, Error>;
|
|
50
|
+
export declare const useAdminAnalytics: () => import('@tanstack/react-query').UseQueryResult<NoInfer<AdminAnalytics>, Error>;
|
|
51
|
+
export declare const useInvestmentOpportunities: () => import('@tanstack/react-query').UseQueryResult<NoInfer<InvestmentOpportunity[]>, Error>;
|
|
52
|
+
export declare const useInvestments: (investorId: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<Investment[]>, Error>;
|
|
53
|
+
export declare const useProviderWorkers: (providerId?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<KadaikodiProviderWorkerRow[]>, Error>;
|
|
54
|
+
export declare const useWorkerTasks: (workerId: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<WorkerTask[]>, Error>;
|
|
55
|
+
export declare const useWorkerStats: (workerId: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<WorkerStats>, Error>;
|
|
56
|
+
export declare const useWorkerSchedules: (workerId: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<WorkerSchedule[]>, Error>;
|
|
57
|
+
export declare const useReviews: (providerId: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<KadaikodiReviewRow[]>, Error>;
|
|
58
|
+
export declare const usePlaceOrder: () => import('@tanstack/react-query').UseMutationResult<{
|
|
59
|
+
id: string;
|
|
60
|
+
orderNumber: string;
|
|
61
|
+
status: string;
|
|
62
|
+
total: number;
|
|
63
|
+
createdAt: string;
|
|
64
|
+
}, Error, Record<string, unknown>, unknown>;
|
|
65
|
+
export declare const useUpdateOrderStatus: () => import('@tanstack/react-query').UseMutationResult<{
|
|
66
|
+
id: string;
|
|
67
|
+
status: string;
|
|
68
|
+
}, Error, {
|
|
69
|
+
id: string;
|
|
70
|
+
status: string;
|
|
71
|
+
}, unknown>;
|
|
72
|
+
export declare const useCreateOffering: () => import('@tanstack/react-query').UseMutationResult<KadaikodiOfferingRow, Error, Record<string, unknown>, unknown>;
|
|
73
|
+
export declare const useUpdateOffering: () => import('@tanstack/react-query').UseMutationResult<KadaikodiOfferingRow, Error, {
|
|
74
|
+
id: string;
|
|
75
|
+
input: Record<string, unknown>;
|
|
76
|
+
}, unknown>;
|
|
77
|
+
export declare const useInvest: () => import('@tanstack/react-query').UseMutationResult<{
|
|
78
|
+
id: string;
|
|
79
|
+
amount: number;
|
|
80
|
+
currentValue: number;
|
|
81
|
+
status: string;
|
|
82
|
+
investedAt: string;
|
|
83
|
+
}, Error, {
|
|
84
|
+
amount: number;
|
|
85
|
+
investorId: string;
|
|
86
|
+
opportunityId: string;
|
|
87
|
+
}, unknown>;
|
|
88
|
+
export declare const useCreateProvider: () => import('@tanstack/react-query').UseMutationResult<{
|
|
89
|
+
id: string;
|
|
90
|
+
name: string;
|
|
91
|
+
slug: string;
|
|
92
|
+
status: string;
|
|
93
|
+
}, Error, Record<string, unknown>, unknown>;
|
|
94
|
+
export declare const useCreateProviderWorker: () => import('@tanstack/react-query').UseMutationResult<KadaikodiProviderWorkerRow, Error, Record<string, unknown>, unknown>;
|
|
95
|
+
export declare const useCreateWorkerTask: () => import('@tanstack/react-query').UseMutationResult<WorkerTask, Error, Record<string, unknown>, unknown>;
|
|
96
|
+
export declare const useUpdateWorkerTaskStatus: () => import('@tanstack/react-query').UseMutationResult<{
|
|
97
|
+
id: string;
|
|
98
|
+
status: string;
|
|
99
|
+
}, Error, {
|
|
100
|
+
taskId: string;
|
|
101
|
+
status: string;
|
|
102
|
+
}, unknown>;
|
|
103
|
+
export declare const useWorkerClockInOut: () => import('@tanstack/react-query').UseMutationResult<{
|
|
104
|
+
success: boolean;
|
|
105
|
+
message: string;
|
|
106
|
+
}, Error, {
|
|
107
|
+
workerId: string;
|
|
108
|
+
action: "CLOCK_IN" | "CLOCK_OUT";
|
|
109
|
+
}, unknown>;
|
|
110
|
+
export declare const useCreateInvestmentOpportunity: () => import('@tanstack/react-query').UseMutationResult<{
|
|
111
|
+
id: string;
|
|
112
|
+
title: string;
|
|
113
|
+
}, Error, {
|
|
114
|
+
providerId: string;
|
|
115
|
+
title: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
targetAmount: number;
|
|
118
|
+
minimumInvestment: number;
|
|
119
|
+
expectedReturnsPct: number;
|
|
120
|
+
lockInMonths: number;
|
|
121
|
+
riskLevel?: string;
|
|
122
|
+
}, unknown>;
|
|
123
|
+
export declare const useCreateReview: () => import('@tanstack/react-query').UseMutationResult<{
|
|
124
|
+
id: string;
|
|
125
|
+
rating: number;
|
|
126
|
+
}, Error, {
|
|
127
|
+
providerId: string;
|
|
128
|
+
orderId?: string;
|
|
129
|
+
customerId: string;
|
|
130
|
+
rating: number;
|
|
131
|
+
review?: string;
|
|
132
|
+
}, unknown>;
|
|
133
|
+
export declare const useRespondToReview: () => import('@tanstack/react-query').UseMutationResult<{
|
|
134
|
+
id: string;
|
|
135
|
+
response: string;
|
|
136
|
+
}, Error, {
|
|
137
|
+
id: string;
|
|
138
|
+
response: string;
|
|
139
|
+
}, unknown>;
|
|
140
|
+
export declare const useUpdateProvider: () => import('@tanstack/react-query').UseMutationResult<{
|
|
141
|
+
id: string;
|
|
142
|
+
status: string;
|
|
143
|
+
}, Error, {
|
|
144
|
+
id: string;
|
|
145
|
+
input: Record<string, unknown>;
|
|
146
|
+
}, unknown>;
|
|
147
|
+
export declare const useDeleteOffering: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
148
|
+
export declare const useUpdateWorkerTask: () => import('@tanstack/react-query').UseMutationResult<{
|
|
149
|
+
id: string;
|
|
150
|
+
status: string;
|
|
151
|
+
}, Error, {
|
|
152
|
+
taskId: string;
|
|
153
|
+
status?: string;
|
|
154
|
+
notes?: string;
|
|
155
|
+
}, unknown>;
|
|
156
|
+
export declare const useUpdateProviderWorker: () => import('@tanstack/react-query').UseMutationResult<{
|
|
157
|
+
id: string;
|
|
158
|
+
}, Error, {
|
|
159
|
+
id: string;
|
|
160
|
+
metadata: Record<string, unknown>;
|
|
161
|
+
}, unknown>;
|
|
162
|
+
export declare const useKadaikodiApi: () => {
|
|
163
|
+
providers: import('@tanstack/react-query').UseQueryResult<NoInfer<MockCart[]>, Error>;
|
|
164
|
+
orders: import('@tanstack/react-query').UseQueryResult<NoInfer<MockOrder[]>, Error>;
|
|
165
|
+
dashboardStats: import('@tanstack/react-query').UseQueryResult<NoInfer<DashboardStats>, Error>;
|
|
166
|
+
investmentOpportunities: import('@tanstack/react-query').UseQueryResult<NoInfer<InvestmentOpportunity[]>, Error>;
|
|
167
|
+
investments: import('@tanstack/react-query').UseQueryResult<NoInfer<Investment[]>, Error>;
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=useKadaikodiApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKadaikodiApi.d.ts","sourceRoot":"","sources":["../../../src/kadaikodi/hooks/useKadaikodiApi.ts"],"names":[],"mappings":"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"}
|