@burdenoff/microfe-crewfoundry 2026.710.2 → 2026.710.3
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/crewfoundry/CrewFoundryRoot.d.ts +5 -0
- package/dist/crewfoundry/CrewFoundryRoot.d.ts.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts +2 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts.map +1 -0
- package/dist/crewfoundry/components/forms/ConfirmDialog.d.ts +15 -0
- package/dist/crewfoundry/components/forms/ConfirmDialog.d.ts.map +1 -0
- package/dist/crewfoundry/components/forms/FormModal.d.ts +42 -0
- package/dist/crewfoundry/components/forms/FormModal.d.ts.map +1 -0
- package/dist/crewfoundry/components/forms/formValues.d.ts +8 -0
- package/dist/crewfoundry/components/forms/formValues.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/AllocationBar.d.ts +21 -0
- package/dist/crewfoundry/components/viz/AllocationBar.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/AreaChart.d.ts +18 -0
- package/dist/crewfoundry/components/viz/AreaChart.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/AvatarStack.d.ts +13 -0
- package/dist/crewfoundry/components/viz/AvatarStack.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/BarChart.d.ts +17 -0
- package/dist/crewfoundry/components/viz/BarChart.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/CertificateCard.d.ts +14 -0
- package/dist/crewfoundry/components/viz/CertificateCard.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/DonutChart.d.ts +20 -0
- package/dist/crewfoundry/components/viz/DonutChart.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/HBarFunnel.d.ts +17 -0
- package/dist/crewfoundry/components/viz/HBarFunnel.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/Heatmap.d.ts +26 -0
- package/dist/crewfoundry/components/viz/Heatmap.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/KanbanBoard.d.ts +17 -0
- package/dist/crewfoundry/components/viz/KanbanBoard.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/LineChart.d.ts +20 -0
- package/dist/crewfoundry/components/viz/LineChart.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/OrgTree.d.ts +14 -0
- package/dist/crewfoundry/components/viz/OrgTree.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/PathSteps.d.ts +17 -0
- package/dist/crewfoundry/components/viz/PathSteps.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/ProgressRing.d.ts +20 -0
- package/dist/crewfoundry/components/viz/ProgressRing.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/RatingStars.d.ts +14 -0
- package/dist/crewfoundry/components/viz/RatingStars.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/SegmentedTabs.d.ts +26 -0
- package/dist/crewfoundry/components/viz/SegmentedTabs.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/SkillBar.d.ts +17 -0
- package/dist/crewfoundry/components/viz/SkillBar.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/Sparkline.d.ts +16 -0
- package/dist/crewfoundry/components/viz/Sparkline.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/StatCard.d.ts +22 -0
- package/dist/crewfoundry/components/viz/StatCard.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/StepProgress.d.ts +17 -0
- package/dist/crewfoundry/components/viz/StepProgress.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/Timeline.d.ts +21 -0
- package/dist/crewfoundry/components/viz/Timeline.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/index.d.ts +35 -0
- package/dist/crewfoundry/components/viz/index.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/Avatar.d.ts +15 -0
- package/dist/crewfoundry/components/viz/lib/Avatar.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/CartesianFrame.d.ts +44 -0
- package/dist/crewfoundry/components/viz/lib/CartesianFrame.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.d.ts +27 -0
- package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/format.d.ts +10 -0
- package/dist/crewfoundry/components/viz/lib/format.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/geometry.d.ts +41 -0
- package/dist/crewfoundry/components/viz/lib/geometry.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/hooks.d.ts +18 -0
- package/dist/crewfoundry/components/viz/lib/hooks.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/palette.d.ts +31 -0
- package/dist/crewfoundry/components/viz/lib/palette.d.ts.map +1 -0
- package/dist/crewfoundry/components/viz/lib/types.d.ts +27 -0
- package/dist/crewfoundry/components/viz/lib/types.d.ts.map +1 -0
- package/dist/crewfoundry/index.d.ts +6 -0
- package/dist/crewfoundry/index.d.ts.map +1 -0
- package/dist/crewfoundry/lib/analytics.d.ts +174 -0
- package/dist/crewfoundry/lib/analytics.d.ts.map +1 -0
- package/dist/crewfoundry/lib/companyFinance.d.ts +11 -0
- package/dist/crewfoundry/lib/companyFinance.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsResourcingPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsResourcingPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts +6 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts.map +1 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts +354 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -0
- package/dist/crewfoundry/types/index.d.ts +51 -0
- package/dist/crewfoundry/types/index.d.ts.map +1 -0
- package/dist/crewfoundry/utils/cn.d.ts +4 -0
- package/dist/crewfoundry/utils/cn.d.ts.map +1 -0
- package/dist/crewfoundry/utils/courseProgress.d.ts +33 -0
- package/dist/crewfoundry/utils/courseProgress.d.ts.map +1 -0
- package/dist/crewfoundry/utils/formatEnumLabel.d.ts +7 -0
- package/dist/crewfoundry/utils/formatEnumLabel.d.ts.map +1 -0
- package/dist/crewfoundry/utils/navigation.d.ts +2 -0
- package/dist/crewfoundry/utils/navigation.d.ts.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +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 +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/services/assistantApi.d.ts +75 -0
- package/dist/services/assistantApi.d.ts.map +1 -0
- package/dist/services/createSandboxAssistantTransport.d.ts +40 -0
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
- package/dist/types/assistant.d.ts +52 -0
- package/dist/types/assistant.d.ts.map +1 -0
- package/dist/utils/pageContext.d.ts +27 -0
- package/dist/utils/pageContext.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewFoundry 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/crewfoundry/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,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/crewfoundry/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,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/crewfoundry/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,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/crewfoundry/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"}
|
|
@@ -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/crewfoundry/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,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/crewfoundry/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,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/crewfoundry/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,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/crewfoundry/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
|
+
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/crewfoundry/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,6 @@
|
|
|
1
|
+
export { CrewFoundryRoot } from './CrewFoundryRoot';
|
|
2
|
+
export type { CrewFoundryRootProps, NavItem, FooterItem } from './types';
|
|
3
|
+
export { useCrewFoundry } from './providers/CrewFoundryProvider';
|
|
4
|
+
export { useCrewFoundryStore } from './store/crewfoundryStore';
|
|
5
|
+
export * from '../services/createSandboxAssistantTransport';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crewfoundry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAW/D,cAAc,6CAA6C,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { Candidate, Department, Employee, Invoice, JobPosting, PayrollRecord, TimeEntry } from '../store/crewfoundryStore';
|
|
2
|
+
import { HeatmapRow, LabeledValue, Segment } from '../components/viz';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Cumulative headcount series by month, derived from each employee's `startDate`.
|
|
6
|
+
* Spans the first hire month through the last hire month (inclusive); months
|
|
7
|
+
* with no hires keep the running total flat. Empty when no employee has a
|
|
8
|
+
* parseable start date.
|
|
9
|
+
*/
|
|
10
|
+
export declare function headcountByMonth(employees: Employee[]): LabeledValue[];
|
|
11
|
+
export interface MomDelta {
|
|
12
|
+
current: number;
|
|
13
|
+
previous: number;
|
|
14
|
+
delta: number;
|
|
15
|
+
deltaPercent: number;
|
|
16
|
+
}
|
|
17
|
+
/** Last-vs-prior comparison of a series, for KPI trend indicators. */
|
|
18
|
+
export declare function momDelta(series: LabeledValue[]): MomDelta;
|
|
19
|
+
export interface FunnelConversion {
|
|
20
|
+
from: string;
|
|
21
|
+
to: string;
|
|
22
|
+
percent: number;
|
|
23
|
+
}
|
|
24
|
+
export interface HiringFunnel {
|
|
25
|
+
stages: LabeledValue[];
|
|
26
|
+
conversions: FunnelConversion[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Ordered hiring pipeline stages (new → hired) with the count of candidates
|
|
30
|
+
* currently at each status, plus the stage-to-stage conversion ratio. Counts
|
|
31
|
+
* reflect current status (the backend stores no per-candidate stage history).
|
|
32
|
+
*/
|
|
33
|
+
export declare function hiringFunnel(candidates: Candidate[]): HiringFunnel;
|
|
34
|
+
/**
|
|
35
|
+
* Employee performance-score histogram in four bands derived from the real
|
|
36
|
+
* `performanceScore` (0–5). Employees without a numeric score are excluded.
|
|
37
|
+
*/
|
|
38
|
+
export declare function performanceDistribution(employees: Employee[]): LabeledValue[];
|
|
39
|
+
/** Headcount per department (sorted high → low) from the real `employeeCount`. */
|
|
40
|
+
export declare function deptHeadcount(departments: Department[]): LabeledValue[];
|
|
41
|
+
export interface PersonUtil {
|
|
42
|
+
employeeId: string;
|
|
43
|
+
name: string;
|
|
44
|
+
/** Utilization % per shown week; null where the person logged no time. */
|
|
45
|
+
weekly: (number | null)[];
|
|
46
|
+
/** Mean utilization across the weeks the person actually logged time. */
|
|
47
|
+
avg: number;
|
|
48
|
+
/** Utilization % of the most recent week the person logged time. */
|
|
49
|
+
latest: number;
|
|
50
|
+
}
|
|
51
|
+
export interface UtilizationMatrix {
|
|
52
|
+
/** Heatmap rows (people × weeks) ready for the `Heatmap` component. */
|
|
53
|
+
rows: HeatmapRow[];
|
|
54
|
+
/** ISO week keys for the shown columns (ascending). */
|
|
55
|
+
weekKeys: string[];
|
|
56
|
+
/** Short column labels, e.g. "W1" … "W8". */
|
|
57
|
+
weekLabels: string[];
|
|
58
|
+
/** Human date-range labels aligned to `weekKeys`, e.g. "Jul 6–12". */
|
|
59
|
+
weekRanges: string[];
|
|
60
|
+
/** Per-person utilization, aligned to `rows`. */
|
|
61
|
+
personUtil: PersonUtil[];
|
|
62
|
+
hasData: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Per-person, per-ISO-week utilization (Σ totalHours ÷ 40h capacity) built from
|
|
66
|
+
* real time entries. Columns are only the weeks that actually contain entries
|
|
67
|
+
* (optionally capped to the most recent `weeks`); a person's cell is left blank
|
|
68
|
+
* for any week they logged no time — never fabricated. Rows are sorted by
|
|
69
|
+
* average utilization (busiest first).
|
|
70
|
+
*/
|
|
71
|
+
export declare function utilizationByPersonWeek(timeEntries: TimeEntry[], employees: Employee[], weeks?: number): UtilizationMatrix;
|
|
72
|
+
export interface ResourcingKpis {
|
|
73
|
+
/** Mean utilization across allocated people (%). */
|
|
74
|
+
avgUtilization: number;
|
|
75
|
+
/** Active employees with no logged time in the window. */
|
|
76
|
+
bench: number;
|
|
77
|
+
/** Allocated people whose most recent week exceeds 100%. */
|
|
78
|
+
overAllocated: number;
|
|
79
|
+
/** People with any logged time in the window. */
|
|
80
|
+
allocatedCount: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* KPI counts derived from a utilization matrix + the employee roster. `bench`
|
|
84
|
+
* needs the full active roster (people absent from the matrix have no
|
|
85
|
+
* allocation), so the roster is passed alongside the matrix.
|
|
86
|
+
*/
|
|
87
|
+
export declare function benchAndOverallocated(matrix: UtilizationMatrix, employees: Employee[]): ResourcingKpis;
|
|
88
|
+
/**
|
|
89
|
+
* Billable vs non-billable hours donut, summing real `totalHours` split by the
|
|
90
|
+
* real `TimeEntry.billable` flag. Returns null (callers render an empty state)
|
|
91
|
+
* when no logged hours exist — never a fabricated ratio.
|
|
92
|
+
*/
|
|
93
|
+
export declare function billableSplit(timeEntries: TimeEntry[]): Segment[] | null;
|
|
94
|
+
export interface AllocationRow {
|
|
95
|
+
employeeId: string;
|
|
96
|
+
name: string;
|
|
97
|
+
/** One segment per project the person logged time against this week. */
|
|
98
|
+
segments: Segment[];
|
|
99
|
+
/** Utilization % for the week (Σ hours ÷ 40h). */
|
|
100
|
+
utilization: number;
|
|
101
|
+
/** Human label for the week the allocation covers. */
|
|
102
|
+
weekLabel: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Per-person project allocation for the most recent ISO week that has real time
|
|
106
|
+
* entries: a stacked bar of hours-by-project plus a utilization %. Empty when
|
|
107
|
+
* no time entries exist. Sorted by utilization (busiest first).
|
|
108
|
+
*/
|
|
109
|
+
export declare function allocationByPerson(timeEntries: TimeEntry[], employees: Employee[]): AllocationRow[];
|
|
110
|
+
/** Which real pool the skill matches were drawn from. */
|
|
111
|
+
export type SkillMatchSource = 'employee' | 'candidate';
|
|
112
|
+
export interface SkillMatchResult {
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
matchPercent: number;
|
|
116
|
+
matchedSkills: string[];
|
|
117
|
+
missingSkills: string[];
|
|
118
|
+
/** Short descriptor: role · department (employees) or experience · status (candidates). */
|
|
119
|
+
detail: string;
|
|
120
|
+
}
|
|
121
|
+
export interface SkillMatchPanel {
|
|
122
|
+
roleTitle: string;
|
|
123
|
+
/** Real skill tags the role calls for, derived from the matched pool's skill universe. */
|
|
124
|
+
requiredSkills: string[];
|
|
125
|
+
matches: SkillMatchResult[];
|
|
126
|
+
/** Whether matches came from internal employees or the candidate pool. */
|
|
127
|
+
source: SkillMatchSource;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Rank people by how well their real skill tags overlap a role's required
|
|
131
|
+
* skills. Prefers internal employees (`Employee.skills`); falls back to the
|
|
132
|
+
* candidate pool when no employee has skills recorded. The role's required
|
|
133
|
+
* skills are themselves derived from real data — the matched pool's skill
|
|
134
|
+
* universe intersected with the job's title + requirement text — so nothing is
|
|
135
|
+
* invented, and the panel is empty when the data is absent.
|
|
136
|
+
*/
|
|
137
|
+
export declare function skillMatch(job: JobPosting, employees: Employee[], candidates: Candidate[], limit?: number): SkillMatchPanel;
|
|
138
|
+
/**
|
|
139
|
+
* Monthly recognised revenue from PAID invoices, bucketed by `issueDate`.
|
|
140
|
+
* Empty when no paid invoice has a parseable issue date.
|
|
141
|
+
*/
|
|
142
|
+
export declare function revenueTrend(invoices: Invoice[]): LabeledValue[];
|
|
143
|
+
export interface PayrollPeriodTotal {
|
|
144
|
+
period: string;
|
|
145
|
+
gross: number;
|
|
146
|
+
net: number;
|
|
147
|
+
deductions: number;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Gross / net / deduction totals per payroll period, in first-seen period order
|
|
151
|
+
* (period is a free-text label so it is not re-sorted). Empty when there are no
|
|
152
|
+
* records.
|
|
153
|
+
*/
|
|
154
|
+
export declare function payrollTotals(payrollRecords: PayrollRecord[]): PayrollPeriodTotal[];
|
|
155
|
+
/**
|
|
156
|
+
* Monthly attrition: the count of employee exits per month, derived from the
|
|
157
|
+
* real `Employee.terminationDate`, over the most recent `monthsWindow` months
|
|
158
|
+
* that contain an exit (through the latest exit month, inclusive). Months with
|
|
159
|
+
* no exits in that span read zero. Empty when no employee has a termination
|
|
160
|
+
* date — never a fabricated exit month.
|
|
161
|
+
*/
|
|
162
|
+
export declare function attritionTrend(employees: Employee[], monthsWindow?: number): LabeledValue[];
|
|
163
|
+
export interface TimeToHire {
|
|
164
|
+
averageDays: number;
|
|
165
|
+
sampleSize: number;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Average time-to-hire: mean elapsed days from `appliedDate` to the real
|
|
169
|
+
* `Candidate.hiredDate`, across candidates that carry both dates. Non-negative
|
|
170
|
+
* spans only. Returns null (callers render an empty state) when no candidate
|
|
171
|
+
* has a hired date — the elapsed time is never estimated.
|
|
172
|
+
*/
|
|
173
|
+
export declare function timeToHire(candidates: Candidate[]): TimeToHire | null;
|
|
174
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/lib/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Client, Invoice, Vendor } from '../store/crewfoundryStore';
|
|
2
|
+
|
|
3
|
+
/** Combined book of business: client revenue + vendor contract value. */
|
|
4
|
+
export declare function totalContractValue(clients: Client[], vendors: Vendor[]): number;
|
|
5
|
+
/**
|
|
6
|
+
* Revenue invoiced in the current calendar quarter, from real invoice
|
|
7
|
+
* `issueDate` values (cancelled invoices excluded). Returns 0 when no invoice
|
|
8
|
+
* falls in the quarter — never fabricated.
|
|
9
|
+
*/
|
|
10
|
+
export declare function thisQuarterRevenue(invoices: Invoice[], now?: Date): number;
|
|
11
|
+
//# sourceMappingURL=companyFinance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companyFinance.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/lib/companyFinance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEzE,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAI/E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAqBtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAdminPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/AdminAdminPagePage.tsx"],"names":[],"mappings":"AA2CA,wBAAgB,kBAAkB,gCAmOjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsAnalyticsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/AnalyticsAnalyticsPagePage.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,0BAA0B,gCA0SzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsEmployeeAnalyticsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,kCAAkC,gCA4SjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsFinancialAnalyticsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,mCAAmC,gCAoTlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsHiringAnalyticsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,gCAAgC,gCAkY/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsAnnouncementsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsAnnouncementsPagePage.tsx"],"names":[],"mappings":"AA6GA,wBAAgB,mCAAmC,gCAiWlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsCallsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsCallsPagePage.tsx"],"names":[],"mappings":"AAcA,wBAAgB,2BAA2B,gCAiD1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsDirectoryPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsDirectoryPagePage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,+BAA+B,gCAwG9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsFilesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsFilesPagePage.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,2BAA2B,gCAyC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsMessagesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsMessagesPagePage.tsx"],"names":[],"mappings":"AA6BA,wBAAgB,8BAA8B,gCAsF7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsTeamsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsTeamsPagePage.tsx"],"names":[],"mappings":"AA2CA,wBAAgB,2BAA2B,gCAyH1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationsVideoCallsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsVideoCallsPagePage.tsx"],"names":[],"mappings":"AAcA,wBAAgB,gCAAgC,gCAqD/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompanyClientManagementPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CompanyClientManagementPagePage.tsx"],"names":[],"mappings":"AA2GA,wBAAgB,+BAA+B,gCAuQ9C"}
|