@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 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../../src/kadaikodi/components/viz/StatCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAiB,EACjB,UAAU,EACV,WAAmB,EACnB,IAAI,EACJ,SAAS,EACT,gBAAyB,EACzB,SAAS,GACV,EAAE,aAAa,+BAoDf"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn as e } from "../../utils/cn.js";
|
|
2
|
+
import { Sparkline as t } from "./Sparkline.js";
|
|
3
|
+
import { ArrowDownRight as n, ArrowUpRight as r } from "lucide-react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/kadaikodi/components/viz/StatCard.tsx
|
|
6
|
+
function o({ label: o, value: s, delta: c, deltaSuffix: l = "%", deltaLabel: u, invertDelta: d = !1, icon: f, sparkline: p, sparklineVariant: m = "area", className: h }) {
|
|
7
|
+
let g = typeof c == "number", _ = d ? (c ?? 0) < 0 : (c ?? 0) > 0, v = (c ?? 0) === 0, y = (c ?? 0) > 0, b = v ? "text-text-muted" : _ ? "text-status-success-text" : "text-status-error-text";
|
|
8
|
+
return /* @__PURE__ */ a("div", {
|
|
9
|
+
className: e("flex flex-col gap-3 rounded-[var(--radius-card)] border border-border-subtle bg-bg-surface p-5 shadow-elevation-1 transition-shadow duration-200 hover:shadow-elevation-2", h),
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ a("div", {
|
|
12
|
+
className: "flex items-start justify-between gap-2",
|
|
13
|
+
children: [/* @__PURE__ */ i("span", {
|
|
14
|
+
className: "text-sm font-medium text-text-secondary",
|
|
15
|
+
children: o
|
|
16
|
+
}), f ? /* @__PURE__ */ i("span", {
|
|
17
|
+
className: "text-text-muted",
|
|
18
|
+
children: f
|
|
19
|
+
}) : null]
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ i("div", {
|
|
22
|
+
className: "flex items-end justify-between gap-3",
|
|
23
|
+
children: /* @__PURE__ */ i("span", {
|
|
24
|
+
className: "text-3xl font-semibold leading-none tracking-tight tabular-nums text-text-primary",
|
|
25
|
+
children: s
|
|
26
|
+
})
|
|
27
|
+
}),
|
|
28
|
+
g ? /* @__PURE__ */ a("div", {
|
|
29
|
+
className: "flex items-center gap-1.5 text-sm",
|
|
30
|
+
children: [/* @__PURE__ */ a("span", {
|
|
31
|
+
className: e("inline-flex items-center gap-0.5 font-medium tabular-nums", b),
|
|
32
|
+
children: [
|
|
33
|
+
v ? null : i(y ? r : n, {
|
|
34
|
+
"aria-hidden": "true",
|
|
35
|
+
className: "h-4 w-4"
|
|
36
|
+
}),
|
|
37
|
+
y ? "+" : "",
|
|
38
|
+
c,
|
|
39
|
+
l
|
|
40
|
+
]
|
|
41
|
+
}), u ? /* @__PURE__ */ i("span", {
|
|
42
|
+
className: "text-text-muted",
|
|
43
|
+
children: u
|
|
44
|
+
}) : null]
|
|
45
|
+
}) : null,
|
|
46
|
+
p && p.length > 1 ? /* @__PURE__ */ i("div", {
|
|
47
|
+
className: "mt-1",
|
|
48
|
+
children: /* @__PURE__ */ i(t, {
|
|
49
|
+
data: p,
|
|
50
|
+
variant: m,
|
|
51
|
+
label: `${o} trend`
|
|
52
|
+
})
|
|
53
|
+
}) : null
|
|
54
|
+
]
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { o as StatCard };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=StatCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.js","names":[],"sources":["../../../../src/kadaikodi/components/viz/StatCard.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ArrowDownRight, ArrowUpRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Sparkline } from './Sparkline';\n\nexport interface StatCardProps {\n label: string;\n value: ReactNode;\n /** Signed change; positive renders success (unless `invertDelta`). */\n delta?: number;\n /** Unit appended to the delta (default \"%\"). */\n deltaSuffix?: string;\n /** Context line under the delta, e.g. \"vs last month\". */\n deltaLabel?: string;\n /** When true (attrition, cost) a negative delta is the good outcome. */\n invertDelta?: boolean;\n icon?: ReactNode;\n /** Optional trend to render as a footer sparkline. */\n sparkline?: number[];\n sparklineVariant?: 'line' | 'area';\n className?: string;\n}\n\n/** KPI tile: label, big tabular value, optional signed delta and sparkline. */\nexport function StatCard({\n label,\n value,\n delta,\n deltaSuffix = '%',\n deltaLabel,\n invertDelta = false,\n icon,\n sparkline,\n sparklineVariant = 'area',\n className,\n}: StatCardProps) {\n const hasDelta = typeof delta === 'number';\n const positiveIsGood = invertDelta ? (delta ?? 0) < 0 : (delta ?? 0) > 0;\n const isNeutral = (delta ?? 0) === 0;\n const rising = (delta ?? 0) > 0;\n\n const toneClass = isNeutral\n ? 'text-text-muted'\n : positiveIsGood\n ? 'text-status-success-text'\n : 'text-status-error-text';\n\n return (\n <div\n className={cn(\n 'flex flex-col gap-3 rounded-[var(--radius-card)] border border-border-subtle bg-bg-surface p-5 shadow-elevation-1 transition-shadow duration-200 hover:shadow-elevation-2',\n className\n )}\n >\n <div className=\"flex items-start justify-between gap-2\">\n <span className=\"text-sm font-medium text-text-secondary\">{label}</span>\n {icon ? <span className=\"text-text-muted\">{icon}</span> : null}\n </div>\n <div className=\"flex items-end justify-between gap-3\">\n <span className=\"text-3xl font-semibold leading-none tracking-tight tabular-nums text-text-primary\">\n {value}\n </span>\n </div>\n {hasDelta ? (\n <div className=\"flex items-center gap-1.5 text-sm\">\n <span\n className={cn('inline-flex items-center gap-0.5 font-medium tabular-nums', toneClass)}\n >\n {isNeutral ? null : rising ? (\n <ArrowUpRight aria-hidden=\"true\" className=\"h-4 w-4\" />\n ) : (\n <ArrowDownRight aria-hidden=\"true\" className=\"h-4 w-4\" />\n )}\n {rising ? '+' : ''}\n {delta}\n {deltaSuffix}\n </span>\n {deltaLabel ? <span className=\"text-text-muted\">{deltaLabel}</span> : null}\n </div>\n ) : null}\n {sparkline && sparkline.length > 1 ? (\n <div className=\"mt-1\">\n <Sparkline data={sparkline} variant={sparklineVariant} label={`${label} trend`} />\n </div>\n ) : null}\n </div>\n );\n}\n"],"mappings":";;;;;AAwBA,SAAgB,EAAS,EACvB,UACA,UACA,UACA,iBAAc,KACd,eACA,iBAAc,IACd,SACA,cACA,sBAAmB,QACnB,gBACgB;CAChB,IAAM,IAAW,OAAO,KAAU,UAC5B,IAAiB,KAAe,KAAS,KAAK,KAAK,KAAS,KAAK,GACjE,KAAa,KAAS,OAAO,GAC7B,KAAU,KAAS,KAAK,GAExB,IAAY,IACd,oBACA,IACE,6BACA;AAEN,QACE,kBAAC,OAAD;EACE,WAAW,EACT,6KACA,EACD;YAJH;GAME,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KAAM,WAAU;eAA2C;KAAa,CAAA,EACvE,IAAO,kBAAC,QAAD;KAAM,WAAU;eAAmB;KAAY,CAAA,GAAG,KACtD;;GACN,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,QAAD;KAAM,WAAU;eACb;KACI,CAAA;IACH,CAAA;GACL,IACC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KACE,WAAW,EAAG,6DAA6D,EAAU;eADvF;MAGG,IAAY,OACX,EADkB,IACjB,IAEA,GAFD;OAAc,eAAY;OAAO,WAAU;OAAY,CAEE;MAE1D,IAAS,MAAM;MACf;MACA;MACI;QACN,IAAa,kBAAC,QAAD;KAAM,WAAU;eAAmB;KAAkB,CAAA,GAAG,KAClE;QACJ;GACH,KAAa,EAAU,SAAS,IAC/B,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KAAW,MAAM;KAAW,SAAS;KAAkB,OAAO,GAAG,EAAM;KAAW,CAAA;IAC9E,CAAA,GACJ;GACA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface StepProgressStep {
|
|
2
|
+
label: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface StepProgressProps {
|
|
6
|
+
steps: StepProgressStep[];
|
|
7
|
+
/** Zero-based index of the current (in-progress) step. */
|
|
8
|
+
current: number;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Horizontal stage tracker (e.g. Offer → Paperwork → IT → Training → Day 1).
|
|
13
|
+
* Completed steps are filled with a check, the current step is highlighted and
|
|
14
|
+
* future steps are muted. Scrolls horizontally on narrow screens.
|
|
15
|
+
*/
|
|
16
|
+
export declare function StepProgress({ steps, current, className }: StepProgressProps): import("react").JSX.Element | null;
|
|
17
|
+
//# sourceMappingURL=StepProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepProgress.d.ts","sourceRoot":"","sources":["../../../../src/kadaikodi/components/viz/StepProgress.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,iBAAiB,sCAwE5E"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { cn as e } from "../../utils/cn.js";
|
|
2
|
+
import { ACCENT as t } from "./lib/palette.js";
|
|
3
|
+
import { Check as n } from "lucide-react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region src/kadaikodi/components/viz/StepProgress.tsx
|
|
6
|
+
function a({ steps: a, current: o, className: s }) {
|
|
7
|
+
return a.length === 0 ? null : /* @__PURE__ */ r("ol", {
|
|
8
|
+
className: e("flex items-start overflow-x-auto pb-1", s),
|
|
9
|
+
"aria-label": "Progress",
|
|
10
|
+
children: a.map((s, c) => {
|
|
11
|
+
let l = c < o ? "complete" : c === o ? "current" : "upcoming";
|
|
12
|
+
return /* @__PURE__ */ i("li", {
|
|
13
|
+
className: "flex min-w-[5rem] flex-1 flex-col items-center",
|
|
14
|
+
"aria-current": l === "current" ? "step" : void 0,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ i("div", {
|
|
17
|
+
className: "flex w-full items-center",
|
|
18
|
+
children: [
|
|
19
|
+
c > 0 ? /* @__PURE__ */ r("span", {
|
|
20
|
+
"aria-hidden": "true",
|
|
21
|
+
className: "h-0.5 flex-1 rounded-full",
|
|
22
|
+
style: { backgroundColor: c <= o ? t : "var(--color-border-subtle)" }
|
|
23
|
+
}) : /* @__PURE__ */ r("span", {
|
|
24
|
+
className: "flex-1",
|
|
25
|
+
"aria-hidden": "true"
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ r("span", {
|
|
28
|
+
className: e("flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 text-xs font-semibold tabular-nums transition-colors", l === "complete" && "border-transparent text-text-inverse", l === "current" && "bg-bg-surface", l === "upcoming" && "border-border-subtle bg-bg-sunken text-text-muted"),
|
|
29
|
+
style: l === "complete" ? { backgroundColor: t } : l === "current" ? {
|
|
30
|
+
borderColor: t,
|
|
31
|
+
color: t
|
|
32
|
+
} : void 0,
|
|
33
|
+
children: l === "complete" ? /* @__PURE__ */ r(n, {
|
|
34
|
+
"aria-hidden": "true",
|
|
35
|
+
className: "h-4 w-4"
|
|
36
|
+
}) : c + 1
|
|
37
|
+
}),
|
|
38
|
+
c < a.length - 1 ? /* @__PURE__ */ r("span", {
|
|
39
|
+
"aria-hidden": "true",
|
|
40
|
+
className: "h-0.5 flex-1 rounded-full",
|
|
41
|
+
style: { backgroundColor: c < o ? t : "var(--color-border-subtle)" }
|
|
42
|
+
}) : /* @__PURE__ */ r("span", {
|
|
43
|
+
className: "flex-1",
|
|
44
|
+
"aria-hidden": "true"
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ r("span", {
|
|
49
|
+
className: e("mt-2 px-1 text-center text-xs", l === "upcoming" ? "text-text-muted" : "font-medium text-text-primary"),
|
|
50
|
+
children: s.label
|
|
51
|
+
}),
|
|
52
|
+
s.description ? /* @__PURE__ */ r("span", {
|
|
53
|
+
className: "mt-0.5 px-1 text-center text-[11px] text-text-muted",
|
|
54
|
+
children: s.description
|
|
55
|
+
}) : null
|
|
56
|
+
]
|
|
57
|
+
}, `${s.label}-${c}`);
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { a as StepProgress };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=StepProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepProgress.js","names":[],"sources":["../../../../src/kadaikodi/components/viz/StepProgress.tsx"],"sourcesContent":["import { Check } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { ACCENT } from './lib/palette';\n\nexport interface StepProgressStep {\n label: string;\n description?: string;\n}\n\nexport interface StepProgressProps {\n steps: StepProgressStep[];\n /** Zero-based index of the current (in-progress) step. */\n current: number;\n className?: string;\n}\n\ntype StepState = 'complete' | 'current' | 'upcoming';\n\n/**\n * Horizontal stage tracker (e.g. Offer → Paperwork → IT → Training → Day 1).\n * Completed steps are filled with a check, the current step is highlighted and\n * future steps are muted. Scrolls horizontally on narrow screens.\n */\nexport function StepProgress({ steps, current, className }: StepProgressProps) {\n if (steps.length === 0) {\n return null;\n }\n return (\n <ol className={cn('flex items-start overflow-x-auto pb-1', className)} aria-label=\"Progress\">\n {steps.map((step, i) => {\n const state: StepState = i < current ? 'complete' : i === current ? 'current' : 'upcoming';\n const connectorFilled = i <= current;\n return (\n <li\n key={`${step.label}-${i}`}\n className=\"flex min-w-[5rem] flex-1 flex-col items-center\"\n aria-current={state === 'current' ? 'step' : undefined}\n >\n <div className=\"flex w-full items-center\">\n {i > 0 ? (\n <span\n aria-hidden=\"true\"\n className=\"h-0.5 flex-1 rounded-full\"\n style={{\n backgroundColor: connectorFilled ? ACCENT : 'var(--color-border-subtle)',\n }}\n />\n ) : (\n <span className=\"flex-1\" aria-hidden=\"true\" />\n )}\n <span\n className={cn(\n 'flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 text-xs font-semibold tabular-nums transition-colors',\n state === 'complete' && 'border-transparent text-text-inverse',\n state === 'current' && 'bg-bg-surface',\n state === 'upcoming' && 'border-border-subtle bg-bg-sunken text-text-muted'\n )}\n style={\n state === 'complete'\n ? { backgroundColor: ACCENT }\n : state === 'current'\n ? { borderColor: ACCENT, color: ACCENT }\n : undefined\n }\n >\n {state === 'complete' ? <Check aria-hidden=\"true\" className=\"h-4 w-4\" /> : i + 1}\n </span>\n {i < steps.length - 1 ? (\n <span\n aria-hidden=\"true\"\n className=\"h-0.5 flex-1 rounded-full\"\n style={{ backgroundColor: i < current ? ACCENT : 'var(--color-border-subtle)' }}\n />\n ) : (\n <span className=\"flex-1\" aria-hidden=\"true\" />\n )}\n </div>\n <span\n className={cn(\n 'mt-2 px-1 text-center text-xs',\n state === 'upcoming' ? 'text-text-muted' : 'font-medium text-text-primary'\n )}\n >\n {step.label}\n </span>\n {step.description ? (\n <span className=\"mt-0.5 px-1 text-center text-[11px] text-text-muted\">\n {step.description}\n </span>\n ) : null}\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;;AAuBA,SAAgB,EAAa,EAAE,UAAO,YAAS,gBAAgC;AAI7E,QAHI,EAAM,WAAW,IACZ,OAGP,kBAAC,MAAD;EAAI,WAAW,EAAG,yCAAyC,EAAU;EAAE,cAAW;YAC/E,EAAM,KAAK,GAAM,MAAM;GACtB,IAAM,IAAmB,IAAI,IAAU,aAAa,MAAM,IAAU,YAAY;AAEhF,UACE,kBAAC,MAAD;IAEE,WAAU;IACV,gBAAc,MAAU,YAAY,SAAS,KAAA;cAH/C;KAKE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACG,IAAI,IACH,kBAAC,QAAD;QACE,eAAY;QACZ,WAAU;QACV,OAAO,EACL,iBAbY,KAAK,IAakB,IAAS,8BAC7C;QACD,CAAA,GAEF,kBAAC,QAAD;QAAM,WAAU;QAAS,eAAY;QAAS,CAAA;OAEhD,kBAAC,QAAD;QACE,WAAW,EACT,gIACA,MAAU,cAAc,wCACxB,MAAU,aAAa,iBACvB,MAAU,cAAc,oDACzB;QACD,OACE,MAAU,aACN,EAAE,iBAAiB,GAAQ,GAC3B,MAAU,YACR;SAAE,aAAa;SAAQ,OAAO;SAAQ,GACtC,KAAA;kBAGP,MAAU,aAAa,kBAAC,GAAD;SAAO,eAAY;SAAO,WAAU;SAAY,CAAA,GAAG,IAAI;QAC1E,CAAA;OACN,IAAI,EAAM,SAAS,IAClB,kBAAC,QAAD;QACE,eAAY;QACZ,WAAU;QACV,OAAO,EAAE,iBAAiB,IAAI,IAAU,IAAS,8BAA8B;QAC/E,CAAA,GAEF,kBAAC,QAAD;QAAM,WAAU;QAAS,eAAY;QAAS,CAAA;OAE5C;;KACN,kBAAC,QAAD;MACE,WAAW,EACT,iCACA,MAAU,aAAa,oBAAoB,gCAC5C;gBAEA,EAAK;MACD,CAAA;KACN,EAAK,cACJ,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAK;MACD,CAAA,GACL;KACD;MAxDE,GAAG,EAAK,MAAM,GAAG,IAwDnB;IAEP;EACC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { StatusTone } from './lib/palette';
|
|
3
|
+
|
|
4
|
+
export type TimelineTone = 'accent' | StatusTone | 'muted';
|
|
5
|
+
export interface TimelineItem {
|
|
6
|
+
id?: string;
|
|
7
|
+
title: ReactNode;
|
|
8
|
+
meta?: ReactNode;
|
|
9
|
+
time?: ReactNode;
|
|
10
|
+
/** Colors the node dot. Defaults to accent. */
|
|
11
|
+
tone?: TimelineTone;
|
|
12
|
+
/** Optional icon rendered inside the node. */
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export interface TimelineProps {
|
|
16
|
+
items: TimelineItem[];
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Vertical activity feed: node dot + connector + title, meta and time. */
|
|
20
|
+
export declare function Timeline({ items, className }: TimelineProps): import("react").JSX.Element | null;
|
|
21
|
+
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../src/kadaikodi/components/viz/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,sCAgD3D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { cn as e } from "../../utils/cn.js";
|
|
2
|
+
import { ACCENT as t, STATUS as n } from "./lib/palette.js";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/kadaikodi/components/viz/Timeline.tsx
|
|
5
|
+
function a(e) {
|
|
6
|
+
switch (e) {
|
|
7
|
+
case "success":
|
|
8
|
+
case "warning":
|
|
9
|
+
case "danger":
|
|
10
|
+
case "info": return n[e];
|
|
11
|
+
case "muted": return "var(--color-text-muted)";
|
|
12
|
+
default: return t;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function o({ items: t, className: n }) {
|
|
16
|
+
return t.length === 0 ? null : /* @__PURE__ */ r("ol", {
|
|
17
|
+
className: e("flex flex-col", n),
|
|
18
|
+
children: t.map((n, o) => {
|
|
19
|
+
let s = o === t.length - 1, c = a(n.tone ?? "accent");
|
|
20
|
+
return /* @__PURE__ */ i("li", {
|
|
21
|
+
className: "flex gap-3",
|
|
22
|
+
children: [/* @__PURE__ */ i("div", {
|
|
23
|
+
className: "flex flex-col items-center",
|
|
24
|
+
children: [/* @__PURE__ */ r("span", {
|
|
25
|
+
className: "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full border-2",
|
|
26
|
+
style: {
|
|
27
|
+
borderColor: c,
|
|
28
|
+
color: c
|
|
29
|
+
},
|
|
30
|
+
children: n.icon ?? /* @__PURE__ */ r("span", {
|
|
31
|
+
"aria-hidden": "true",
|
|
32
|
+
className: "h-2 w-2 rounded-full",
|
|
33
|
+
style: { backgroundColor: c }
|
|
34
|
+
})
|
|
35
|
+
}), s ? null : /* @__PURE__ */ r("span", {
|
|
36
|
+
"aria-hidden": "true",
|
|
37
|
+
className: "w-px flex-1",
|
|
38
|
+
style: {
|
|
39
|
+
backgroundColor: "var(--color-border-subtle)",
|
|
40
|
+
minHeight: 12
|
|
41
|
+
}
|
|
42
|
+
})]
|
|
43
|
+
}), /* @__PURE__ */ i("div", {
|
|
44
|
+
className: e("flex-1", s ? "pb-0" : "pb-5"),
|
|
45
|
+
children: [/* @__PURE__ */ i("div", {
|
|
46
|
+
className: "flex flex-wrap items-baseline justify-between gap-x-3",
|
|
47
|
+
children: [/* @__PURE__ */ r("p", {
|
|
48
|
+
className: "text-sm font-medium text-text-primary",
|
|
49
|
+
children: n.title
|
|
50
|
+
}), n.time ? /* @__PURE__ */ r("span", {
|
|
51
|
+
className: "shrink-0 text-xs text-text-muted",
|
|
52
|
+
children: n.time
|
|
53
|
+
}) : null]
|
|
54
|
+
}), n.meta ? /* @__PURE__ */ r("div", {
|
|
55
|
+
className: "mt-0.5 text-sm text-text-secondary",
|
|
56
|
+
children: n.meta
|
|
57
|
+
}) : null]
|
|
58
|
+
})]
|
|
59
|
+
}, n.id ?? o);
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { o as Timeline };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=Timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.js","names":[],"sources":["../../../../src/kadaikodi/components/viz/Timeline.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\nimport { ACCENT, STATUS, type StatusTone } from './lib/palette';\n\nexport type TimelineTone = 'accent' | StatusTone | 'muted';\n\nexport interface TimelineItem {\n id?: string;\n title: ReactNode;\n meta?: ReactNode;\n time?: ReactNode;\n /** Colors the node dot. Defaults to accent. */\n tone?: TimelineTone;\n /** Optional icon rendered inside the node. */\n icon?: ReactNode;\n}\n\nexport interface TimelineProps {\n items: TimelineItem[];\n className?: string;\n}\n\nfunction dotColor(tone: TimelineTone): string {\n switch (tone) {\n case 'success':\n case 'warning':\n case 'danger':\n case 'info':\n return STATUS[tone];\n case 'muted':\n return 'var(--color-text-muted)';\n default:\n return ACCENT;\n }\n}\n\n/** Vertical activity feed: node dot + connector + title, meta and time. */\nexport function Timeline({ items, className }: TimelineProps) {\n if (items.length === 0) {\n return null;\n }\n return (\n <ol className={cn('flex flex-col', className)}>\n {items.map((item, i) => {\n const isLast = i === items.length - 1;\n const color = dotColor(item.tone ?? 'accent');\n return (\n <li key={item.id ?? i} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <span\n className=\"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full border-2\"\n style={{ borderColor: color, color }}\n >\n {item.icon ?? (\n <span\n aria-hidden=\"true\"\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: color }}\n />\n )}\n </span>\n {isLast ? null : (\n <span\n aria-hidden=\"true\"\n className=\"w-px flex-1\"\n style={{ backgroundColor: 'var(--color-border-subtle)', minHeight: 12 }}\n />\n )}\n </div>\n <div className={cn('flex-1', isLast ? 'pb-0' : 'pb-5')}>\n <div className=\"flex flex-wrap items-baseline justify-between gap-x-3\">\n <p className=\"text-sm font-medium text-text-primary\">{item.title}</p>\n {item.time ? (\n <span className=\"shrink-0 text-xs text-text-muted\">{item.time}</span>\n ) : null}\n </div>\n {item.meta ? (\n <div className=\"mt-0.5 text-sm text-text-secondary\">{item.meta}</div>\n ) : null}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;AAsBA,SAAS,EAAS,GAA4B;AAC5C,SAAQ,GAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,OACH,QAAO,EAAO;EAChB,KAAK,QACH,QAAO;EACT,QACE,QAAO;;;AAKb,SAAgB,EAAS,EAAE,UAAO,gBAA4B;AAI5D,QAHI,EAAM,WAAW,IACZ,OAGP,kBAAC,MAAD;EAAI,WAAW,EAAG,iBAAiB,EAAU;YAC1C,EAAM,KAAK,GAAM,MAAM;GACtB,IAAM,IAAS,MAAM,EAAM,SAAS,GAC9B,IAAQ,EAAS,EAAK,QAAQ,SAAS;AAC7C,UACE,kBAAC,MAAD;IAAuB,WAAU;cAAjC,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,QAAD;MACE,WAAU;MACV,OAAO;OAAE,aAAa;OAAO;OAAO;gBAEnC,EAAK,QACJ,kBAAC,QAAD;OACE,eAAY;OACZ,WAAU;OACV,OAAO,EAAE,iBAAiB,GAAO;OACjC,CAAA;MAEC,CAAA,EACN,IAAS,OACR,kBAAC,QAAD;MACE,eAAY;MACZ,WAAU;MACV,OAAO;OAAE,iBAAiB;OAA8B,WAAW;OAAI;MACvE,CAAA,CAEA;QACN,kBAAC,OAAD;KAAK,WAAW,EAAG,UAAU,IAAS,SAAS,OAAO;eAAtD,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAyC,EAAK;OAAU,CAAA,EACpE,EAAK,OACJ,kBAAC,QAAD;OAAM,WAAU;iBAAoC,EAAK;OAAY,CAAA,GACnE,KACA;SACL,EAAK,OACJ,kBAAC,OAAD;MAAK,WAAU;gBAAsC,EAAK;MAAW,CAAA,GACnE,KACA;OACH;MAjCI,EAAK,MAAM,EAiCf;IAEP;EACC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kadaikodi visualization + layout kit.
|
|
3
|
+
*
|
|
4
|
+
* Self-contained, dependency-free (hand-rolled SVG + CSS), responsive and
|
|
5
|
+
* accessible presentational components. Every color is a fe-libs semantic
|
|
6
|
+
* token, so the kit themes automatically in light / dark / product themes.
|
|
7
|
+
*
|
|
8
|
+
* All components are pure-presentational: they take typed props + data and
|
|
9
|
+
* render no network calls.
|
|
10
|
+
*/
|
|
11
|
+
export { Sparkline, type SparklineProps } from './Sparkline';
|
|
12
|
+
export { AreaChart, type AreaChartProps } from './AreaChart';
|
|
13
|
+
export { LineChart, type LineChartProps } from './LineChart';
|
|
14
|
+
export { BarChart, type BarChartProps } from './BarChart';
|
|
15
|
+
export { HBarFunnel, type HBarFunnelProps } from './HBarFunnel';
|
|
16
|
+
export { DonutChart, type DonutChartProps } from './DonutChart';
|
|
17
|
+
export { ProgressRing, type ProgressRingProps } from './ProgressRing';
|
|
18
|
+
export { StatCard, type StatCardProps } from './StatCard';
|
|
19
|
+
export { KanbanBoard, type KanbanBoardProps } from './KanbanBoard';
|
|
20
|
+
export { Heatmap, type HeatmapProps, type HeatmapRow, type HeatmapCell } from './Heatmap';
|
|
21
|
+
export { Timeline, type TimelineProps, type TimelineItem, type TimelineTone } from './Timeline';
|
|
22
|
+
export { OrgTree, type OrgTreeProps, type OrgNode } from './OrgTree';
|
|
23
|
+
export { AllocationBar, type AllocationBarProps } from './AllocationBar';
|
|
24
|
+
export { StepProgress, type StepProgressProps, type StepProgressStep } from './StepProgress';
|
|
25
|
+
export { PathSteps, type PathStepsProps, type PathStep, type PathStepState } from './PathSteps';
|
|
26
|
+
export { AvatarStack, type AvatarStackProps } from './AvatarStack';
|
|
27
|
+
export { RatingStars, type RatingStarsProps } from './RatingStars';
|
|
28
|
+
export { SkillBar, type SkillBarProps } from './SkillBar';
|
|
29
|
+
export { CertificateCard, type CertificateCardProps } from './CertificateCard';
|
|
30
|
+
export { SegmentedTabs, type SegmentedTabsProps, type SegmentedTab } from './SegmentedTabs';
|
|
31
|
+
export type { LabeledValue, Segment, Person, KanbanColumnData } from './lib/types';
|
|
32
|
+
export { ACCENT, CHART_GRID, CHART_AXIS, STATUS, chartPalette, type StatusTone, } from './lib/palette';
|
|
33
|
+
export { clamp, sum, extent, extentWithZero, scaleLinear, pointsFromValues, buildLinePath, buildAreaPath, polarToCartesian, donutSegmentPath, starPath, type Point, } from './lib/geometry';
|
|
34
|
+
export { formatCompact, toPercent, getInitials } from './lib/format';
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kadaikodi/components/viz/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG5F,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGnF,OAAO,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,MAAM,EACN,YAAY,EACZ,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,KAAK,KAAK,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "./lib/palette.js";
|
|
2
|
+
import "./lib/geometry.js";
|
|
3
|
+
import "./Sparkline.js";
|
|
4
|
+
import "./lib/format.js";
|
|
5
|
+
import "./AreaChart.js";
|
|
6
|
+
import "./LineChart.js";
|
|
7
|
+
import "./BarChart.js";
|
|
8
|
+
import "./HBarFunnel.js";
|
|
9
|
+
import "./DonutChart.js";
|
|
10
|
+
import "./ProgressRing.js";
|
|
11
|
+
import "./StatCard.js";
|
|
12
|
+
import "./KanbanBoard.js";
|
|
13
|
+
import "./Heatmap.js";
|
|
14
|
+
import "./Timeline.js";
|
|
15
|
+
import "./OrgTree.js";
|
|
16
|
+
import "./AllocationBar.js";
|
|
17
|
+
import "./StepProgress.js";
|
|
18
|
+
import "./PathSteps.js";
|
|
19
|
+
import "./AvatarStack.js";
|
|
20
|
+
import "./RatingStars.js";
|
|
21
|
+
import "./SkillBar.js";
|
|
22
|
+
import "./CertificateCard.js";
|
|
23
|
+
import "./SegmentedTabs.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface VizAvatarProps {
|
|
2
|
+
name: string;
|
|
3
|
+
src?: string;
|
|
4
|
+
/** Pixel diameter. */
|
|
5
|
+
size?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Extra ring around the avatar (used by overlapping stacks). */
|
|
8
|
+
ring?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Internal avatar primitive: image when available, initials fallback otherwise.
|
|
12
|
+
* Shared by AvatarStack, OrgTree and Timeline. Not exported from the barrel.
|
|
13
|
+
*/
|
|
14
|
+
export declare function VizAvatar({ name, src, size, className, ring }: VizAvatarProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/Avatar.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAS,EAAE,SAAS,EAAE,IAAY,EAAE,EAAE,cAAc,+BAyB1F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { cn as e } from "../../../utils/cn.js";
|
|
2
|
+
import { getInitials as t } from "./format.js";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
//#region src/kadaikodi/components/viz/lib/Avatar.tsx
|
|
5
|
+
function r({ name: r, src: i, size: a = 32, className: o, ring: s = !1 }) {
|
|
6
|
+
return /* @__PURE__ */ n("span", {
|
|
7
|
+
className: e("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border-subtle bg-bg-sunken font-medium text-text-secondary", s && "ring-2 ring-[var(--color-bg-surface)]", o),
|
|
8
|
+
style: {
|
|
9
|
+
width: a,
|
|
10
|
+
height: a,
|
|
11
|
+
fontSize: Math.round(a * .38)
|
|
12
|
+
},
|
|
13
|
+
title: r,
|
|
14
|
+
children: i ? /* @__PURE__ */ n("img", {
|
|
15
|
+
src: i,
|
|
16
|
+
alt: r,
|
|
17
|
+
width: a,
|
|
18
|
+
height: a,
|
|
19
|
+
className: "h-full w-full object-cover",
|
|
20
|
+
loading: "lazy"
|
|
21
|
+
}) : /* @__PURE__ */ n("span", {
|
|
22
|
+
"aria-label": r,
|
|
23
|
+
children: t(r)
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { r as VizAvatar };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/Avatar.tsx"],"sourcesContent":["import { cn } from '../../../utils/cn';\nimport { getInitials } from './format';\n\nexport interface VizAvatarProps {\n name: string;\n src?: string;\n /** Pixel diameter. */\n size?: number;\n className?: string;\n /** Extra ring around the avatar (used by overlapping stacks). */\n ring?: boolean;\n}\n\n/**\n * Internal avatar primitive: image when available, initials fallback otherwise.\n * Shared by AvatarStack, OrgTree and Timeline. Not exported from the barrel.\n */\nexport function VizAvatar({ name, src, size = 32, className, ring = false }: VizAvatarProps) {\n return (\n <span\n className={cn(\n 'inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border-subtle bg-bg-sunken font-medium text-text-secondary',\n ring && 'ring-2 ring-[var(--color-bg-surface)]',\n className\n )}\n style={{ width: size, height: size, fontSize: Math.round(size * 0.38) }}\n title={name}\n >\n {src ? (\n <img\n src={src}\n alt={name}\n width={size}\n height={size}\n className=\"h-full w-full object-cover\"\n loading=\"lazy\"\n />\n ) : (\n <span aria-label={name}>{getInitials(name)}</span>\n )}\n </span>\n );\n}\n"],"mappings":";;;;AAiBA,SAAgB,EAAU,EAAE,SAAM,QAAK,UAAO,IAAI,cAAW,UAAO,MAAyB;AAC3F,QACE,kBAAC,QAAD;EACE,WAAW,EACT,0JACA,KAAQ,yCACR,EACD;EACD,OAAO;GAAE,OAAO;GAAM,QAAQ;GAAM,UAAU,KAAK,MAAM,IAAO,IAAK;GAAE;EACvE,OAAO;YAEN,IACC,kBAAC,OAAD;GACO;GACL,KAAK;GACL,OAAO;GACP,QAAQ;GACR,WAAU;GACV,SAAQ;GACR,CAAA,GAEF,kBAAC,QAAD;GAAM,cAAY;aAAO,EAAY,EAAK;GAAQ,CAAA;EAE/C,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface CartesianContext {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
plotLeft: number;
|
|
7
|
+
plotRight: number;
|
|
8
|
+
plotTop: number;
|
|
9
|
+
plotBottom: number;
|
|
10
|
+
activeIndex: number | null;
|
|
11
|
+
/** X pixel for a data index. */
|
|
12
|
+
px: (index: number) => number;
|
|
13
|
+
/** Y pixel for a data value. */
|
|
14
|
+
py: (value: number) => number;
|
|
15
|
+
}
|
|
16
|
+
interface Padding {
|
|
17
|
+
left: number;
|
|
18
|
+
right: number;
|
|
19
|
+
top: number;
|
|
20
|
+
bottom: number;
|
|
21
|
+
}
|
|
22
|
+
export interface CartesianFrameProps {
|
|
23
|
+
labels: string[];
|
|
24
|
+
/** Y domain [low, high]. */
|
|
25
|
+
domain: [number, number];
|
|
26
|
+
height: number;
|
|
27
|
+
title: string;
|
|
28
|
+
desc?: string;
|
|
29
|
+
formatValue: (value: number) => string;
|
|
30
|
+
/** Number of grid intervals (lines = intervals + 1). */
|
|
31
|
+
yTicks?: number;
|
|
32
|
+
padding?: Partial<Padding>;
|
|
33
|
+
tooltip?: (index: number) => ReactNode;
|
|
34
|
+
className?: string;
|
|
35
|
+
children: (ctx: CartesianContext) => ReactNode;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Shared cartesian chart chrome: faint grid, tokenized axes, and pointer +
|
|
39
|
+
* keyboard driven hover with an accessible tooltip. The series marks are
|
|
40
|
+
* supplied via the render-prop `children`, which receives pixel scales.
|
|
41
|
+
*/
|
|
42
|
+
export declare function CartesianFrame({ labels, domain, height, title, desc, formatValue, yTicks, padding, tooltip, className, children, }: CartesianFrameProps): import("react").JSX.Element;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=CartesianFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartesianFrame.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/CartesianFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAMtF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,gCAAgC;IAChC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,SAAS,CAAC;CAChD;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,WAAW,EACX,MAAU,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,+BAwKrB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { cn as e } from "../../../utils/cn.js";
|
|
2
|
+
import { CHART_AXIS as t, CHART_GRID as n } from "./palette.js";
|
|
3
|
+
import { useElementWidth as r } from "./hooks.js";
|
|
4
|
+
import { clamp as i, scaleLinear as a } from "./geometry.js";
|
|
5
|
+
import { useState as o } from "react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
//#region src/kadaikodi/components/viz/lib/CartesianFrame.tsx
|
|
8
|
+
var l = {
|
|
9
|
+
left: 40,
|
|
10
|
+
right: 14,
|
|
11
|
+
top: 14,
|
|
12
|
+
bottom: 26
|
|
13
|
+
}, u = 7;
|
|
14
|
+
function d({ labels: d, domain: f, height: p, title: m, desc: h, formatValue: g, yTicks: _ = 4, padding: v, tooltip: y, className: b, children: x }) {
|
|
15
|
+
let [S, C] = r(), [w, T] = o(null), E = C > 0 ? C : 480, D = {
|
|
16
|
+
...l,
|
|
17
|
+
...v
|
|
18
|
+
}, O = d.length, [k, A] = f, j = D.left, M = E - D.right, N = D.top, P = p - D.bottom, F = (e) => O <= 1 ? (j + M) / 2 : j + (M - j) * e / (O - 1), I = (e) => P - a(e, k, A, 0, P - N), L = Array.from({ length: _ + 1 }, (e, t) => k + (A - k) * t / _), R = Math.max(1, Math.ceil(O / u)), z = d.map((e, t) => t).filter((e) => e % R === 0 || e === O - 1), B = (e) => {
|
|
19
|
+
let t = S.current;
|
|
20
|
+
if (!t || O === 0) return;
|
|
21
|
+
let n = e - t.getBoundingClientRect().left, r = 0, i = Infinity;
|
|
22
|
+
for (let e = 0; e < O; e += 1) {
|
|
23
|
+
let t = Math.abs(F(e) - n);
|
|
24
|
+
t < i && (i = t, r = e);
|
|
25
|
+
}
|
|
26
|
+
T(r);
|
|
27
|
+
}, V = (e) => B(e.clientX), H = () => T(null), U = (e) => {
|
|
28
|
+
O !== 0 && (e.key === "ArrowRight" || e.key === "ArrowLeft" ? (e.preventDefault(), T(i((w ?? (e.key === "ArrowRight" ? -1 : O)) + (e.key === "ArrowRight" ? 1 : -1), 0, O - 1))) : e.key === "Home" ? (e.preventDefault(), T(0)) : e.key === "End" ? (e.preventDefault(), T(O - 1)) : e.key === "Escape" && T(null));
|
|
29
|
+
}, W = {
|
|
30
|
+
width: E,
|
|
31
|
+
height: p,
|
|
32
|
+
plotLeft: j,
|
|
33
|
+
plotRight: M,
|
|
34
|
+
plotTop: N,
|
|
35
|
+
plotBottom: P,
|
|
36
|
+
activeIndex: w,
|
|
37
|
+
px: F,
|
|
38
|
+
py: I
|
|
39
|
+
};
|
|
40
|
+
return /* @__PURE__ */ c("div", {
|
|
41
|
+
ref: S,
|
|
42
|
+
className: e("relative w-full rounded-[var(--radius-card)] outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", b),
|
|
43
|
+
tabIndex: 0,
|
|
44
|
+
role: "img",
|
|
45
|
+
"aria-label": m,
|
|
46
|
+
onMouseMove: V,
|
|
47
|
+
onMouseLeave: H,
|
|
48
|
+
onBlur: H,
|
|
49
|
+
onKeyDown: U,
|
|
50
|
+
children: [/* @__PURE__ */ c("svg", {
|
|
51
|
+
viewBox: `0 0 ${E} ${p}`,
|
|
52
|
+
width: "100%",
|
|
53
|
+
height: p,
|
|
54
|
+
preserveAspectRatio: "none",
|
|
55
|
+
style: {
|
|
56
|
+
display: "block",
|
|
57
|
+
overflow: "visible"
|
|
58
|
+
},
|
|
59
|
+
"aria-hidden": "true",
|
|
60
|
+
focusable: "false",
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ s("title", { children: m }),
|
|
63
|
+
h ? /* @__PURE__ */ s("desc", { children: h }) : null,
|
|
64
|
+
L.map((e, t) => /* @__PURE__ */ s("line", {
|
|
65
|
+
x1: j,
|
|
66
|
+
x2: M,
|
|
67
|
+
y1: I(e),
|
|
68
|
+
y2: I(e),
|
|
69
|
+
stroke: n,
|
|
70
|
+
strokeWidth: 1,
|
|
71
|
+
vectorEffect: "non-scaling-stroke",
|
|
72
|
+
opacity: .6
|
|
73
|
+
}, `grid-${t}`)),
|
|
74
|
+
L.map((e, n) => /* @__PURE__ */ s("text", {
|
|
75
|
+
x: j - 7,
|
|
76
|
+
y: I(e),
|
|
77
|
+
textAnchor: "end",
|
|
78
|
+
dominantBaseline: "central",
|
|
79
|
+
fontSize: 10,
|
|
80
|
+
fill: t,
|
|
81
|
+
children: g(e)
|
|
82
|
+
}, `ylabel-${n}`)),
|
|
83
|
+
z.map((e) => /* @__PURE__ */ s("text", {
|
|
84
|
+
x: F(e),
|
|
85
|
+
y: p - 8,
|
|
86
|
+
textAnchor: "middle",
|
|
87
|
+
fontSize: 10,
|
|
88
|
+
fill: t,
|
|
89
|
+
children: d[e]
|
|
90
|
+
}, `xlabel-${e}`)),
|
|
91
|
+
w === null ? null : /* @__PURE__ */ s("line", {
|
|
92
|
+
x1: F(w),
|
|
93
|
+
x2: F(w),
|
|
94
|
+
y1: N,
|
|
95
|
+
y2: P,
|
|
96
|
+
stroke: t,
|
|
97
|
+
strokeWidth: 1,
|
|
98
|
+
strokeDasharray: "3 3",
|
|
99
|
+
vectorEffect: "non-scaling-stroke",
|
|
100
|
+
opacity: .7
|
|
101
|
+
}),
|
|
102
|
+
x(W)
|
|
103
|
+
]
|
|
104
|
+
}), w !== null && y ? /* @__PURE__ */ s("div", {
|
|
105
|
+
role: "status",
|
|
106
|
+
"aria-live": "polite",
|
|
107
|
+
className: "pointer-events-none absolute z-10 -translate-x-1/2 rounded-[var(--radius-input)] border border-border-subtle bg-bg-elevated px-2 py-1 text-xs text-text-primary shadow-elevation-2",
|
|
108
|
+
style: {
|
|
109
|
+
left: i(F(w), 48, Math.max(48, E - 48)),
|
|
110
|
+
top: N + 2
|
|
111
|
+
},
|
|
112
|
+
children: y(w)
|
|
113
|
+
}) : null]
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { d as CartesianFrame };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=CartesianFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartesianFrame.js","names":[],"sources":["../../../../../src/kadaikodi/components/viz/lib/CartesianFrame.tsx"],"sourcesContent":["import { type KeyboardEvent, type MouseEvent, type ReactNode, useState } from 'react';\nimport { cn } from '../../../utils/cn';\nimport { CHART_AXIS, CHART_GRID } from './palette';\nimport { clamp, scaleLinear } from './geometry';\nimport { useElementWidth } from './hooks';\n\nexport interface CartesianContext {\n width: number;\n height: number;\n plotLeft: number;\n plotRight: number;\n plotTop: number;\n plotBottom: number;\n activeIndex: number | null;\n /** X pixel for a data index. */\n px: (index: number) => number;\n /** Y pixel for a data value. */\n py: (value: number) => number;\n}\n\ninterface Padding {\n left: number;\n right: number;\n top: number;\n bottom: number;\n}\n\nexport interface CartesianFrameProps {\n labels: string[];\n /** Y domain [low, high]. */\n domain: [number, number];\n height: number;\n title: string;\n desc?: string;\n formatValue: (value: number) => string;\n /** Number of grid intervals (lines = intervals + 1). */\n yTicks?: number;\n padding?: Partial<Padding>;\n tooltip?: (index: number) => ReactNode;\n className?: string;\n children: (ctx: CartesianContext) => ReactNode;\n}\n\nconst DEFAULT_PADDING: Padding = { left: 40, right: 14, top: 14, bottom: 26 };\nconst MAX_X_LABELS = 7;\n\n/**\n * Shared cartesian chart chrome: faint grid, tokenized axes, and pointer +\n * keyboard driven hover with an accessible tooltip. The series marks are\n * supplied via the render-prop `children`, which receives pixel scales.\n */\nexport function CartesianFrame({\n labels,\n domain,\n height,\n title,\n desc,\n formatValue,\n yTicks = 4,\n padding,\n tooltip,\n className,\n children,\n}: CartesianFrameProps) {\n const [ref, measured] = useElementWidth<HTMLDivElement>();\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const width = measured > 0 ? measured : 480;\n\n const pad = { ...DEFAULT_PADDING, ...padding };\n const n = labels.length;\n const [lo, hi] = domain;\n const plotLeft = pad.left;\n const plotRight = width - pad.right;\n const plotTop = pad.top;\n const plotBottom = height - pad.bottom;\n\n const px = (index: number): number =>\n n <= 1 ? (plotLeft + plotRight) / 2 : plotLeft + ((plotRight - plotLeft) * index) / (n - 1);\n const py = (value: number): number =>\n plotBottom - scaleLinear(value, lo, hi, 0, plotBottom - plotTop);\n\n const gridValues = Array.from({ length: yTicks + 1 }, (_, k) => lo + ((hi - lo) * k) / yTicks);\n const xStep = Math.max(1, Math.ceil(n / MAX_X_LABELS));\n const xLabelIndexes = labels.map((_, i) => i).filter((i) => i % xStep === 0 || i === n - 1);\n\n const setNearest = (clientX: number): void => {\n const el = ref.current;\n if (!el || n === 0) {\n return;\n }\n const rect = el.getBoundingClientRect();\n const x = clientX - rect.left;\n let best = 0;\n let bestDistance = Infinity;\n for (let i = 0; i < n; i += 1) {\n const distance = Math.abs(px(i) - x);\n if (distance < bestDistance) {\n bestDistance = distance;\n best = i;\n }\n }\n setActiveIndex(best);\n };\n\n const handleMove = (event: MouseEvent<HTMLDivElement>): void => setNearest(event.clientX);\n const handleLeave = (): void => setActiveIndex(null);\n const handleKey = (event: KeyboardEvent<HTMLDivElement>): void => {\n if (n === 0) {\n return;\n }\n if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {\n event.preventDefault();\n const base = activeIndex ?? (event.key === 'ArrowRight' ? -1 : n);\n setActiveIndex(clamp(base + (event.key === 'ArrowRight' ? 1 : -1), 0, n - 1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n setActiveIndex(0);\n } else if (event.key === 'End') {\n event.preventDefault();\n setActiveIndex(n - 1);\n } else if (event.key === 'Escape') {\n setActiveIndex(null);\n }\n };\n\n const ctx: CartesianContext = {\n width,\n height,\n plotLeft,\n plotRight,\n plotTop,\n plotBottom,\n activeIndex,\n px,\n py,\n };\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative w-full rounded-[var(--radius-card)] outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]',\n className\n )}\n tabIndex={0}\n role=\"img\"\n aria-label={title}\n onMouseMove={handleMove}\n onMouseLeave={handleLeave}\n onBlur={handleLeave}\n onKeyDown={handleKey}\n >\n <svg\n viewBox={`0 0 ${width} ${height}`}\n width=\"100%\"\n height={height}\n preserveAspectRatio=\"none\"\n style={{ display: 'block', overflow: 'visible' }}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <title>{title}</title>\n {desc ? <desc>{desc}</desc> : null}\n {gridValues.map((value, k) => (\n <line\n key={`grid-${k}`}\n x1={plotLeft}\n x2={plotRight}\n y1={py(value)}\n y2={py(value)}\n stroke={CHART_GRID}\n strokeWidth={1}\n vectorEffect=\"non-scaling-stroke\"\n opacity={0.6}\n />\n ))}\n {gridValues.map((value, k) => (\n <text\n key={`ylabel-${k}`}\n x={plotLeft - 7}\n y={py(value)}\n textAnchor=\"end\"\n dominantBaseline=\"central\"\n fontSize={10}\n fill={CHART_AXIS}\n >\n {formatValue(value)}\n </text>\n ))}\n {xLabelIndexes.map((i) => (\n <text\n key={`xlabel-${i}`}\n x={px(i)}\n y={height - 8}\n textAnchor=\"middle\"\n fontSize={10}\n fill={CHART_AXIS}\n >\n {labels[i]}\n </text>\n ))}\n {activeIndex !== null ? (\n <line\n x1={px(activeIndex)}\n x2={px(activeIndex)}\n y1={plotTop}\n y2={plotBottom}\n stroke={CHART_AXIS}\n strokeWidth={1}\n strokeDasharray=\"3 3\"\n vectorEffect=\"non-scaling-stroke\"\n opacity={0.7}\n />\n ) : null}\n {children(ctx)}\n </svg>\n {activeIndex !== null && tooltip ? (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"pointer-events-none absolute z-10 -translate-x-1/2 rounded-[var(--radius-input)] border border-border-subtle bg-bg-elevated px-2 py-1 text-xs text-text-primary shadow-elevation-2\"\n style={{\n left: clamp(px(activeIndex), 48, Math.max(48, width - 48)),\n top: plotTop + 2,\n }}\n >\n {tooltip(activeIndex)}\n </div>\n ) : null}\n </div>\n );\n}\n"],"mappings":";;;;;;;AA2CA,IAAM,IAA2B;CAAE,MAAM;CAAI,OAAO;CAAI,KAAK;CAAI,QAAQ;CAAI,EACvE,IAAe;AAOrB,SAAgB,EAAe,EAC7B,WACA,WACA,WACA,UACA,SACA,gBACA,YAAS,GACT,YACA,YACA,cACA,eACsB;CACtB,IAAM,CAAC,GAAK,KAAY,GAAiC,EACnD,CAAC,GAAa,KAAkB,EAAwB,KAAK,EAC7D,IAAQ,IAAW,IAAI,IAAW,KAElC,IAAM;EAAE,GAAG;EAAiB,GAAG;EAAS,EACxC,IAAI,EAAO,QACX,CAAC,GAAI,KAAM,GACX,IAAW,EAAI,MACf,IAAY,IAAQ,EAAI,OACxB,IAAU,EAAI,KACd,IAAa,IAAS,EAAI,QAE1B,KAAM,MACV,KAAK,KAAK,IAAW,KAAa,IAAI,KAAa,IAAY,KAAY,KAAU,IAAI,IACrF,KAAM,MACV,IAAa,EAAY,GAAO,GAAI,GAAI,GAAG,IAAa,EAAQ,EAE5D,IAAa,MAAM,KAAK,EAAE,QAAQ,IAAS,GAAG,GAAG,GAAG,MAAM,KAAO,IAAK,KAAM,IAAK,EAAO,EACxF,IAAQ,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,EAAa,CAAC,EAChD,IAAgB,EAAO,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,MAAM,IAAI,MAAU,KAAK,MAAM,IAAI,EAAE,EAErF,KAAc,MAA0B;EAC5C,IAAM,IAAK,EAAI;AACf,MAAI,CAAC,KAAM,MAAM,EACf;EAGF,IAAM,IAAI,IADG,EAAG,uBAAuB,CACd,MACrB,IAAO,GACP,IAAe;AACnB,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;GAC7B,IAAM,IAAW,KAAK,IAAI,EAAG,EAAE,GAAG,EAAE;AACpC,GAAI,IAAW,MACb,IAAe,GACf,IAAO;;AAGX,IAAe,EAAK;IAGhB,KAAc,MAA4C,EAAW,EAAM,QAAQ,EACnF,UAA0B,EAAe,KAAK,EAC9C,KAAa,MAA+C;AAC5D,QAAM,MAGN,EAAM,QAAQ,gBAAgB,EAAM,QAAQ,eAC9C,EAAM,gBAAgB,EAEtB,EAAe,GADF,MAAgB,EAAM,QAAQ,eAAe,KAAK,OAClC,EAAM,QAAQ,eAAe,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,IACpE,EAAM,QAAQ,UACvB,EAAM,gBAAgB,EACtB,EAAe,EAAE,IACR,EAAM,QAAQ,SACvB,EAAM,gBAAgB,EACtB,EAAe,IAAI,EAAE,IACZ,EAAM,QAAQ,YACvB,EAAe,KAAK;IAIlB,IAAwB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AAED,QACE,kBAAC,OAAD;EACO;EACL,WAAW,EACT,+HACA,EACD;EACD,UAAU;EACV,MAAK;EACL,cAAY;EACZ,aAAa;EACb,cAAc;EACd,QAAQ;EACR,WAAW;YAZb,CAcE,kBAAC,OAAD;GACE,SAAS,OAAO,EAAM,GAAG;GACzB,OAAM;GACE;GACR,qBAAoB;GACpB,OAAO;IAAE,SAAS;IAAS,UAAU;IAAW;GAChD,eAAY;GACZ,WAAU;aAPZ;IASE,kBAAC,SAAD,EAAA,UAAQ,GAAc,CAAA;IACrB,IAAO,kBAAC,QAAD,EAAA,UAAO,GAAY,CAAA,GAAG;IAC7B,EAAW,KAAK,GAAO,MACtB,kBAAC,QAAD;KAEE,IAAI;KACJ,IAAI;KACJ,IAAI,EAAG,EAAM;KACb,IAAI,EAAG,EAAM;KACb,QAAQ;KACR,aAAa;KACb,cAAa;KACb,SAAS;KACT,EATK,QAAQ,IASb,CACF;IACD,EAAW,KAAK,GAAO,MACtB,kBAAC,QAAD;KAEE,GAAG,IAAW;KACd,GAAG,EAAG,EAAM;KACZ,YAAW;KACX,kBAAiB;KACjB,UAAU;KACV,MAAM;eAEL,EAAY,EAAM;KACd,EATA,UAAU,IASV,CACP;IACD,EAAc,KAAK,MAClB,kBAAC,QAAD;KAEE,GAAG,EAAG,EAAE;KACR,GAAG,IAAS;KACZ,YAAW;KACX,UAAU;KACV,MAAM;eAEL,EAAO;KACH,EARA,UAAU,IAQV,CACP;IACD,MAAgB,OAYb,OAXF,kBAAC,QAAD;KACE,IAAI,EAAG,EAAY;KACnB,IAAI,EAAG,EAAY;KACnB,IAAI;KACJ,IAAI;KACJ,QAAQ;KACR,aAAa;KACb,iBAAgB;KAChB,cAAa;KACb,SAAS;KACT,CAAA;IAEH,EAAS,EAAI;IACV;MACL,MAAgB,QAAQ,IACvB,kBAAC,OAAD;GACE,MAAK;GACL,aAAU;GACV,WAAU;GACV,OAAO;IACL,MAAM,EAAM,EAAG,EAAY,EAAE,IAAI,KAAK,IAAI,IAAI,IAAQ,GAAG,CAAC;IAC1D,KAAK,IAAU;IAChB;aAEA,EAAQ,EAAY;GACjB,CAAA,GACJ,KACA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface ResponsiveSvgDims {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ResponsiveSvgProps {
|
|
8
|
+
/** Fixed pixel height; width is measured from the container. */
|
|
9
|
+
height: number;
|
|
10
|
+
/** Accessible name announced for the chart. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** Optional longer description linked via <desc>. */
|
|
13
|
+
desc?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Width assumed before the container has been measured. */
|
|
16
|
+
minWidth?: number;
|
|
17
|
+
/** Allow marks (endpoint halos, labels) to paint outside the viewBox. */
|
|
18
|
+
overflowVisible?: boolean;
|
|
19
|
+
children: (dims: ResponsiveSvgDims) => ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A width-measuring SVG frame. Because the viewBox matches the rendered pixel
|
|
23
|
+
* box 1:1, circles stay circular and strokes stay crisp at any width, while the
|
|
24
|
+
* chart still fills its container and reflows on resize.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ResponsiveSvg({ height, title, desc, className, minWidth, overflowVisible, children, }: ResponsiveSvgProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=ResponsiveSvg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponsiveSvg.d.ts","sourceRoot":"","sources":["../../../../../src/kadaikodi/components/viz/lib/ResponsiveSvg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,EACT,QAAc,EACd,eAAsB,EACtB,QAAQ,GACT,EAAE,kBAAkB,+BAoBpB"}
|