@burdenoff/microfe-crewfoundry 2026.710.2 → 2026.710.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/crewfoundry/CrewFoundryRoot.d.ts +5 -0
  2. package/dist/crewfoundry/CrewFoundryRoot.d.ts.map +1 -0
  3. package/dist/crewfoundry/CrewFoundryRoutes.d.ts +2 -0
  4. package/dist/crewfoundry/CrewFoundryRoutes.d.ts.map +1 -0
  5. package/dist/crewfoundry/components/forms/ConfirmDialog.d.ts +15 -0
  6. package/dist/crewfoundry/components/forms/ConfirmDialog.d.ts.map +1 -0
  7. package/dist/crewfoundry/components/forms/FormModal.d.ts +42 -0
  8. package/dist/crewfoundry/components/forms/FormModal.d.ts.map +1 -0
  9. package/dist/crewfoundry/components/forms/formValues.d.ts +8 -0
  10. package/dist/crewfoundry/components/forms/formValues.d.ts.map +1 -0
  11. package/dist/crewfoundry/components/viz/AllocationBar.d.ts +21 -0
  12. package/dist/crewfoundry/components/viz/AllocationBar.d.ts.map +1 -0
  13. package/dist/crewfoundry/components/viz/AreaChart.d.ts +18 -0
  14. package/dist/crewfoundry/components/viz/AreaChart.d.ts.map +1 -0
  15. package/dist/crewfoundry/components/viz/AvatarStack.d.ts +13 -0
  16. package/dist/crewfoundry/components/viz/AvatarStack.d.ts.map +1 -0
  17. package/dist/crewfoundry/components/viz/BarChart.d.ts +17 -0
  18. package/dist/crewfoundry/components/viz/BarChart.d.ts.map +1 -0
  19. package/dist/crewfoundry/components/viz/CertificateCard.d.ts +14 -0
  20. package/dist/crewfoundry/components/viz/CertificateCard.d.ts.map +1 -0
  21. package/dist/crewfoundry/components/viz/DonutChart.d.ts +20 -0
  22. package/dist/crewfoundry/components/viz/DonutChart.d.ts.map +1 -0
  23. package/dist/crewfoundry/components/viz/HBarFunnel.d.ts +17 -0
  24. package/dist/crewfoundry/components/viz/HBarFunnel.d.ts.map +1 -0
  25. package/dist/crewfoundry/components/viz/Heatmap.d.ts +26 -0
  26. package/dist/crewfoundry/components/viz/Heatmap.d.ts.map +1 -0
  27. package/dist/crewfoundry/components/viz/KanbanBoard.d.ts +17 -0
  28. package/dist/crewfoundry/components/viz/KanbanBoard.d.ts.map +1 -0
  29. package/dist/crewfoundry/components/viz/LineChart.d.ts +20 -0
  30. package/dist/crewfoundry/components/viz/LineChart.d.ts.map +1 -0
  31. package/dist/crewfoundry/components/viz/OrgTree.d.ts +14 -0
  32. package/dist/crewfoundry/components/viz/OrgTree.d.ts.map +1 -0
  33. package/dist/crewfoundry/components/viz/PathSteps.d.ts +17 -0
  34. package/dist/crewfoundry/components/viz/PathSteps.d.ts.map +1 -0
  35. package/dist/crewfoundry/components/viz/ProgressRing.d.ts +20 -0
  36. package/dist/crewfoundry/components/viz/ProgressRing.d.ts.map +1 -0
  37. package/dist/crewfoundry/components/viz/RatingStars.d.ts +14 -0
  38. package/dist/crewfoundry/components/viz/RatingStars.d.ts.map +1 -0
  39. package/dist/crewfoundry/components/viz/SegmentedTabs.d.ts +26 -0
  40. package/dist/crewfoundry/components/viz/SegmentedTabs.d.ts.map +1 -0
  41. package/dist/crewfoundry/components/viz/SkillBar.d.ts +17 -0
  42. package/dist/crewfoundry/components/viz/SkillBar.d.ts.map +1 -0
  43. package/dist/crewfoundry/components/viz/Sparkline.d.ts +16 -0
  44. package/dist/crewfoundry/components/viz/Sparkline.d.ts.map +1 -0
  45. package/dist/crewfoundry/components/viz/StatCard.d.ts +22 -0
  46. package/dist/crewfoundry/components/viz/StatCard.d.ts.map +1 -0
  47. package/dist/crewfoundry/components/viz/StepProgress.d.ts +17 -0
  48. package/dist/crewfoundry/components/viz/StepProgress.d.ts.map +1 -0
  49. package/dist/crewfoundry/components/viz/Timeline.d.ts +21 -0
  50. package/dist/crewfoundry/components/viz/Timeline.d.ts.map +1 -0
  51. package/dist/crewfoundry/components/viz/index.d.ts +35 -0
  52. package/dist/crewfoundry/components/viz/index.d.ts.map +1 -0
  53. package/dist/crewfoundry/components/viz/lib/Avatar.d.ts +15 -0
  54. package/dist/crewfoundry/components/viz/lib/Avatar.d.ts.map +1 -0
  55. package/dist/crewfoundry/components/viz/lib/CartesianFrame.d.ts +44 -0
  56. package/dist/crewfoundry/components/viz/lib/CartesianFrame.d.ts.map +1 -0
  57. package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.d.ts +27 -0
  58. package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.d.ts.map +1 -0
  59. package/dist/crewfoundry/components/viz/lib/format.d.ts +10 -0
  60. package/dist/crewfoundry/components/viz/lib/format.d.ts.map +1 -0
  61. package/dist/crewfoundry/components/viz/lib/geometry.d.ts +41 -0
  62. package/dist/crewfoundry/components/viz/lib/geometry.d.ts.map +1 -0
  63. package/dist/crewfoundry/components/viz/lib/hooks.d.ts +18 -0
  64. package/dist/crewfoundry/components/viz/lib/hooks.d.ts.map +1 -0
  65. package/dist/crewfoundry/components/viz/lib/palette.d.ts +31 -0
  66. package/dist/crewfoundry/components/viz/lib/palette.d.ts.map +1 -0
  67. package/dist/crewfoundry/components/viz/lib/types.d.ts +27 -0
  68. package/dist/crewfoundry/components/viz/lib/types.d.ts.map +1 -0
  69. package/dist/crewfoundry/index.d.ts +6 -0
  70. package/dist/crewfoundry/index.d.ts.map +1 -0
  71. package/dist/crewfoundry/lib/analytics.d.ts +174 -0
  72. package/dist/crewfoundry/lib/analytics.d.ts.map +1 -0
  73. package/dist/crewfoundry/lib/companyFinance.d.ts +11 -0
  74. package/dist/crewfoundry/lib/companyFinance.d.ts.map +1 -0
  75. package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts +2 -0
  76. package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts.map +1 -0
  77. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
  78. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
  79. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts +2 -0
  80. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts.map +1 -0
  81. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts +2 -0
  82. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts.map +1 -0
  83. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts +2 -0
  84. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts.map +1 -0
  85. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts +2 -0
  86. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts.map +1 -0
  87. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts +2 -0
  88. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts.map +1 -0
  89. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts +2 -0
  90. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts.map +1 -0
  91. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts +2 -0
  92. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts.map +1 -0
  93. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts +2 -0
  94. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts.map +1 -0
  95. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts +2 -0
  96. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts.map +1 -0
  97. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts +2 -0
  98. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts.map +1 -0
  99. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts +2 -0
  100. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts.map +1 -0
  101. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts +2 -0
  102. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts.map +1 -0
  103. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts +2 -0
  104. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts.map +1 -0
  105. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts +2 -0
  106. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts.map +1 -0
  107. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts +2 -0
  108. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts.map +1 -0
  109. package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts +2 -0
  110. package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts.map +1 -0
  111. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts +2 -0
  112. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts.map +1 -0
  113. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts +2 -0
  114. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts.map +1 -0
  115. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts +2 -0
  116. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts.map +1 -0
  117. package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts +2 -0
  118. package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts.map +1 -0
  119. package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts +2 -0
  120. package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts.map +1 -0
  121. package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts +2 -0
  122. package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts.map +1 -0
  123. package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts +2 -0
  124. package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts.map +1 -0
  125. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts +2 -0
  126. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts.map +1 -0
  127. package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts +2 -0
  128. package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts.map +1 -0
  129. package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts +2 -0
  130. package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts.map +1 -0
  131. package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.d.ts +2 -0
  132. package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.d.ts.map +1 -0
  133. package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts +2 -0
  134. package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts.map +1 -0
  135. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts +2 -0
  136. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts.map +1 -0
  137. package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts +2 -0
  138. package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts.map +1 -0
  139. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts +2 -0
  140. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts.map +1 -0
  141. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts +2 -0
  142. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts.map +1 -0
  143. package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts +2 -0
  144. package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts.map +1 -0
  145. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts +2 -0
  146. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts.map +1 -0
  147. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts +2 -0
  148. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts.map +1 -0
  149. package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts +2 -0
  150. package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts.map +1 -0
  151. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts +2 -0
  152. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts.map +1 -0
  153. package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts +2 -0
  154. package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts.map +1 -0
  155. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts +2 -0
  156. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts.map +1 -0
  157. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts +2 -0
  158. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts.map +1 -0
  159. package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts +2 -0
  160. package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts.map +1 -0
  161. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts +2 -0
  162. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts.map +1 -0
  163. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts +2 -0
  164. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts.map +1 -0
  165. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts +2 -0
  166. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts.map +1 -0
  167. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts +2 -0
  168. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts.map +1 -0
  169. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts +2 -0
  170. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts.map +1 -0
  171. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts +2 -0
  172. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts.map +1 -0
  173. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts +2 -0
  174. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts.map +1 -0
  175. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts +2 -0
  176. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts.map +1 -0
  177. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts +2 -0
  178. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts.map +1 -0
  179. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts +2 -0
  180. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts.map +1 -0
  181. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts +2 -0
  182. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts.map +1 -0
  183. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts +2 -0
  184. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts.map +1 -0
  185. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts +2 -0
  186. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts.map +1 -0
  187. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts +2 -0
  188. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts.map +1 -0
  189. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts +2 -0
  190. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts.map +1 -0
  191. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts +2 -0
  192. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts.map +1 -0
  193. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts +2 -0
  194. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts.map +1 -0
  195. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts +2 -0
  196. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts.map +1 -0
  197. package/dist/crewfoundry/pages/ProjectsResourcingPagePage.d.ts +2 -0
  198. package/dist/crewfoundry/pages/ProjectsResourcingPagePage.d.ts.map +1 -0
  199. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts +2 -0
  200. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts.map +1 -0
  201. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts +2 -0
  202. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts.map +1 -0
  203. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts +2 -0
  204. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts.map +1 -0
  205. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts +2 -0
  206. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts.map +1 -0
  207. package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts +2 -0
  208. package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts.map +1 -0
  209. package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts +6 -0
  210. package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts.map +1 -0
  211. package/dist/crewfoundry/store/crewfoundryStore.d.ts +354 -0
  212. package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -0
  213. package/dist/crewfoundry/types/index.d.ts +51 -0
  214. package/dist/crewfoundry/types/index.d.ts.map +1 -0
  215. package/dist/crewfoundry/utils/cn.d.ts +4 -0
  216. package/dist/crewfoundry/utils/cn.d.ts.map +1 -0
  217. package/dist/crewfoundry/utils/courseProgress.d.ts +33 -0
  218. package/dist/crewfoundry/utils/courseProgress.d.ts.map +1 -0
  219. package/dist/crewfoundry/utils/formatEnumLabel.d.ts +7 -0
  220. package/dist/crewfoundry/utils/formatEnumLabel.d.ts.map +1 -0
  221. package/dist/crewfoundry/utils/navigation.d.ts +2 -0
  222. package/dist/crewfoundry/utils/navigation.d.ts.map +1 -0
  223. package/dist/dev/main.d.ts +2 -0
  224. package/dist/dev/main.d.ts.map +1 -0
  225. package/dist/generated/global-operations.d.ts +2 -0
  226. package/dist/generated/global-operations.d.ts.map +1 -0
  227. package/dist/generated/global-types.d.ts +23527 -0
  228. package/dist/generated/global-types.d.ts.map +1 -0
  229. package/dist/generated/wspace-operations.d.ts +2 -0
  230. package/dist/generated/wspace-operations.d.ts.map +1 -0
  231. package/dist/generated/wspace-types.d.ts +57851 -0
  232. package/dist/generated/wspace-types.d.ts.map +1 -0
  233. package/dist/index.d.ts +2 -0
  234. package/dist/index.d.ts.map +1 -0
  235. package/dist/services/assistantApi.d.ts +75 -0
  236. package/dist/services/assistantApi.d.ts.map +1 -0
  237. package/dist/services/createSandboxAssistantTransport.d.ts +40 -0
  238. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
  239. package/dist/types/assistant.d.ts +52 -0
  240. package/dist/types/assistant.d.ts.map +1 -0
  241. package/dist/utils/pageContext.d.ts +27 -0
  242. package/dist/utils/pageContext.d.ts.map +1 -0
  243. package/package.json +1 -1
@@ -0,0 +1,354 @@
1
+ import { OverviewMetric, WorkItem } from '../types';
2
+
3
+ export interface Employee {
4
+ id: string;
5
+ firstName: string;
6
+ lastName: string;
7
+ email: string;
8
+ department: string;
9
+ position: string;
10
+ status: 'active' | 'inactive' | 'on_leave' | 'terminated';
11
+ type: 'full_time' | 'part_time' | 'contract' | 'intern';
12
+ salary: number;
13
+ startDate: string;
14
+ avatar?: string;
15
+ location: string;
16
+ managerId?: string;
17
+ phone: string;
18
+ performanceScore: number;
19
+ /** Real per-employee skill tags (backend default `[]`). */
20
+ skills: string[];
21
+ /** Exit date for terminated employees; ISO string or null while employed. */
22
+ terminationDate?: string | null;
23
+ }
24
+ export interface Department {
25
+ id: string;
26
+ name: string;
27
+ headId: string;
28
+ headName: string;
29
+ employeeCount: number;
30
+ budget: number;
31
+ location: string;
32
+ status: 'active' | 'restructuring';
33
+ }
34
+ export interface JobPosting {
35
+ id: string;
36
+ title: string;
37
+ department: string;
38
+ location: string;
39
+ type: 'full_time' | 'part_time' | 'contract' | 'remote';
40
+ experienceLevel: 'entry' | 'mid' | 'senior' | 'lead' | 'executive';
41
+ salaryMin: number;
42
+ salaryMax: number;
43
+ status: 'draft' | 'active' | 'paused' | 'closed' | 'filled';
44
+ applicants: number;
45
+ postedDate: string;
46
+ deadline: string;
47
+ description: string;
48
+ requirements: string[];
49
+ benefits: string[];
50
+ }
51
+ export interface Candidate {
52
+ id: string;
53
+ firstName: string;
54
+ lastName: string;
55
+ email: string;
56
+ phone: string;
57
+ position: string;
58
+ status: 'new' | 'screening' | 'interview' | 'assessment' | 'offer' | 'hired' | 'rejected';
59
+ appliedDate: string;
60
+ resumeUrl?: string;
61
+ rating: number;
62
+ source: string;
63
+ experience: number;
64
+ skills: string[];
65
+ currentCompany: string;
66
+ notes: string;
67
+ /** Date the candidate was hired; ISO string or null until hired. */
68
+ hiredDate?: string | null;
69
+ }
70
+ export interface Interview {
71
+ id: string;
72
+ candidateId: string;
73
+ candidateName: string;
74
+ position: string;
75
+ interviewerName: string;
76
+ date: string;
77
+ time: string;
78
+ type: 'phone' | 'video' | 'onsite' | 'panel' | 'technical';
79
+ status: 'scheduled' | 'completed' | 'cancelled' | 'no_show';
80
+ feedback?: string;
81
+ rating?: number;
82
+ }
83
+ export interface LearningCourse {
84
+ id: string;
85
+ title: string;
86
+ category: string;
87
+ instructor: string;
88
+ duration: string;
89
+ level: 'beginner' | 'intermediate' | 'advanced';
90
+ enrolled: number;
91
+ completed: number;
92
+ rating: number;
93
+ status: 'active' | 'draft' | 'archived';
94
+ thumbnail?: string;
95
+ description: string;
96
+ modules: number;
97
+ skills: string[];
98
+ }
99
+ export interface LearningPath {
100
+ id: string;
101
+ title: string;
102
+ description: string;
103
+ courses: string[];
104
+ duration: string;
105
+ level: string;
106
+ enrolled: number;
107
+ completionRate: number;
108
+ }
109
+ export interface MarketplaceService {
110
+ id: string;
111
+ title: string;
112
+ provider: string;
113
+ category: string;
114
+ price: number;
115
+ priceType: 'hourly' | 'fixed' | 'monthly';
116
+ rating: number;
117
+ reviews: number;
118
+ description: string;
119
+ deliveryTime: string;
120
+ status: 'active' | 'paused' | 'pending';
121
+ skills: string[];
122
+ }
123
+ export interface Announcement {
124
+ id: string;
125
+ title: string;
126
+ content: string;
127
+ author: string;
128
+ authorRole: string;
129
+ category: 'general' | 'hr' | 'it' | 'emergency' | 'event';
130
+ priority: 'low' | 'medium' | 'high' | 'urgent';
131
+ isPinned: boolean;
132
+ createdAt: string;
133
+ viewCount: number;
134
+ tags: string[];
135
+ }
136
+ export interface Team {
137
+ id: string;
138
+ name: string;
139
+ description: string;
140
+ leadId: string;
141
+ leadName: string;
142
+ members: string[];
143
+ memberCount: number;
144
+ department: string;
145
+ status: 'active' | 'forming' | 'disbanded';
146
+ projectCount: number;
147
+ createdAt: string;
148
+ }
149
+ export interface Project {
150
+ id: string;
151
+ name: string;
152
+ description: string;
153
+ status: 'planning' | 'active' | 'on_hold' | 'completed' | 'cancelled';
154
+ priority: 'low' | 'medium' | 'high' | 'critical';
155
+ startDate: string;
156
+ endDate: string;
157
+ progress: number;
158
+ budget: number;
159
+ spent: number;
160
+ teamId: string;
161
+ teamName: string;
162
+ managerId: string;
163
+ managerName: string;
164
+ tasks: number;
165
+ completedTasks: number;
166
+ }
167
+ export interface PayrollRecord {
168
+ id: string;
169
+ employeeId: string;
170
+ employeeName: string;
171
+ department: string;
172
+ period: string;
173
+ grossPay: number;
174
+ deductions: number;
175
+ netPay: number;
176
+ status: 'draft' | 'processing' | 'approved' | 'paid' | 'failed';
177
+ payDate: string;
178
+ paymentMethod: string;
179
+ }
180
+ export interface LeaveRequest {
181
+ id: string;
182
+ employeeId: string;
183
+ employeeName: string;
184
+ department: string;
185
+ type: 'annual' | 'sick' | 'personal' | 'maternity' | 'paternity' | 'unpaid';
186
+ startDate: string;
187
+ endDate: string;
188
+ days: number;
189
+ status: 'pending' | 'approved' | 'rejected' | 'cancelled';
190
+ reason: string;
191
+ approverName?: string;
192
+ }
193
+ export interface TimeEntry {
194
+ id: string;
195
+ employeeId: string;
196
+ employeeName: string;
197
+ date: string;
198
+ clockIn: string;
199
+ clockOut: string;
200
+ totalHours: number;
201
+ overtime: number;
202
+ project: string;
203
+ status: 'pending' | 'approved' | 'rejected';
204
+ /** Whether the logged time is billable to a client (backend default `true`). */
205
+ billable: boolean;
206
+ }
207
+ export interface Notification {
208
+ id: string;
209
+ title: string;
210
+ message: string;
211
+ type: 'info' | 'success' | 'warning' | 'error';
212
+ category: string;
213
+ read: boolean;
214
+ createdAt: string;
215
+ actionUrl?: string;
216
+ }
217
+ export interface Invoice {
218
+ id: string;
219
+ number: string;
220
+ clientName: string;
221
+ amount: number;
222
+ status: 'draft' | 'sent' | 'paid' | 'overdue' | 'cancelled';
223
+ issueDate: string;
224
+ dueDate: string;
225
+ items: {
226
+ description: string;
227
+ amount: number;
228
+ }[];
229
+ }
230
+ export interface Vendor {
231
+ id: string;
232
+ name: string;
233
+ category: string;
234
+ contactPerson: string;
235
+ email: string;
236
+ phone: string;
237
+ status: 'active' | 'inactive' | 'pending';
238
+ contractValue: number;
239
+ rating: number;
240
+ }
241
+ export interface Client {
242
+ id: string;
243
+ name: string;
244
+ industry: string;
245
+ contactPerson: string;
246
+ email: string;
247
+ phone: string;
248
+ status: 'active' | 'prospect' | 'churned';
249
+ revenue: number;
250
+ projects: number;
251
+ since: string;
252
+ }
253
+ export interface ExternalPaymentMethod {
254
+ id: string;
255
+ type: 'bank' | 'card';
256
+ name: string;
257
+ bank: string;
258
+ last4: string;
259
+ status: 'primary' | 'active';
260
+ expiry?: string;
261
+ }
262
+ type InitParams = {
263
+ workspaceId?: string;
264
+ authToken?: string;
265
+ apiGatewayUrl?: string;
266
+ actorId?: string;
267
+ };
268
+ interface CrewFoundryState {
269
+ metrics: OverviewMetric[];
270
+ workItems: WorkItem[];
271
+ selectedView: string;
272
+ employees: Employee[];
273
+ departments: Department[];
274
+ jobPostings: JobPosting[];
275
+ candidates: Candidate[];
276
+ interviews: Interview[];
277
+ courses: LearningCourse[];
278
+ learningPaths: LearningPath[];
279
+ marketplaceServices: MarketplaceService[];
280
+ announcements: Announcement[];
281
+ teams: Team[];
282
+ projects: Project[];
283
+ payrollRecords: PayrollRecord[];
284
+ leaveRequests: LeaveRequest[];
285
+ timeEntries: TimeEntry[];
286
+ notifications: Notification[];
287
+ paymentMethods: ExternalPaymentMethod[];
288
+ invoices: Invoice[];
289
+ vendors: Vendor[];
290
+ clients: Client[];
291
+ initialized: boolean;
292
+ loading: boolean;
293
+ error: string | null;
294
+ initParams: InitParams;
295
+ initializeData: (params: InitParams) => Promise<void>;
296
+ setSelectedView: (view: string) => void;
297
+ setWorkItems: (items: WorkItem[]) => void;
298
+ addEmployee: (employee: Employee) => Promise<void>;
299
+ updateEmployee: (id: string, updates: Partial<Employee>) => Promise<void>;
300
+ removeEmployee: (id: string) => Promise<void>;
301
+ addJobPosting: (job: JobPosting) => Promise<void>;
302
+ updateJobPosting: (id: string, updates: Partial<JobPosting>) => Promise<void>;
303
+ addCandidate: (candidate: Candidate) => Promise<void>;
304
+ updateCandidate: (id: string, updates: Partial<Candidate>) => Promise<void>;
305
+ removeJobPosting: (id: string) => Promise<void>;
306
+ removeCandidate: (id: string) => Promise<void>;
307
+ addAnnouncement: (announcement: Announcement) => Promise<void>;
308
+ updateAnnouncement: (id: string, updates: Partial<Announcement>) => Promise<void>;
309
+ removeAnnouncement: (id: string) => Promise<void>;
310
+ addLeaveRequest: (request: LeaveRequest) => Promise<void>;
311
+ updateLeaveRequest: (id: string, updates: Partial<LeaveRequest>) => Promise<void>;
312
+ addInterview: (interview: Interview) => Promise<void>;
313
+ updateInterview: (id: string, updates: Partial<Interview>) => Promise<void>;
314
+ removeInterview: (id: string) => Promise<void>;
315
+ addInvoice: (invoice: Invoice) => Promise<void>;
316
+ updateInvoice: (id: string, updates: Partial<Invoice>) => Promise<void>;
317
+ removeInvoice: (id: string) => Promise<void>;
318
+ addVendor: (vendor: Vendor) => Promise<void>;
319
+ updateVendor: (id: string, updates: Partial<Vendor>) => Promise<void>;
320
+ removeVendor: (id: string) => Promise<void>;
321
+ addClient: (client: Client) => Promise<void>;
322
+ updateClient: (id: string, updates: Partial<Client>) => Promise<void>;
323
+ removeClient: (id: string) => Promise<void>;
324
+ addTeam: (team: Team) => Promise<void>;
325
+ updateTeam: (id: string, updates: Partial<Team>) => Promise<void>;
326
+ removeTeam: (id: string) => Promise<void>;
327
+ addProject: (project: Project) => Promise<void>;
328
+ updateProject: (id: string, updates: Partial<Project>) => Promise<void>;
329
+ removeProject: (id: string) => Promise<void>;
330
+ addMarketplaceService: (service: MarketplaceService) => Promise<void>;
331
+ updateMarketplaceService: (id: string, updates: Partial<MarketplaceService>) => Promise<void>;
332
+ removeMarketplaceService: (id: string) => Promise<void>;
333
+ addDepartment: (department: Department) => Promise<void>;
334
+ updateDepartment: (id: string, updates: Partial<Department>) => Promise<void>;
335
+ removeDepartment: (id: string) => Promise<void>;
336
+ addCourse: (course: LearningCourse) => Promise<void>;
337
+ updateCourse: (id: string, updates: Partial<LearningCourse>) => Promise<void>;
338
+ removeCourse: (id: string) => Promise<void>;
339
+ enrollCourse: (id: string) => Promise<void>;
340
+ addLearningPath: (path: LearningPath) => Promise<void>;
341
+ updateLearningPath: (id: string, updates: Partial<LearningPath>) => Promise<void>;
342
+ removeLearningPath: (id: string) => Promise<void>;
343
+ addPayrollRecord: (record: PayrollRecord) => Promise<void>;
344
+ updatePayrollRecord: (id: string, updates: Partial<PayrollRecord>) => Promise<void>;
345
+ removePayrollRecord: (id: string) => Promise<void>;
346
+ addTimeEntry: (entry: TimeEntry) => Promise<void>;
347
+ updateTimeEntry: (id: string, updates: Partial<TimeEntry>) => Promise<void>;
348
+ removeTimeEntry: (id: string) => Promise<void>;
349
+ markNotificationRead: (id: string) => Promise<void>;
350
+ markAllNotificationsRead: () => Promise<void>;
351
+ }
352
+ export declare const useCrewFoundryStore: import('zustand').UseBoundStore<import('zustand').StoreApi<CrewFoundryState>>;
353
+ export {};
354
+ //# sourceMappingURL=crewfoundryStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crewfoundryStore.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/store/crewfoundryStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface CrewFoundryRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ navigate?: (path: string) => void;
26
+ currentUser?: {
27
+ id: string;
28
+ email: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ avatar?: string;
32
+ username?: string;
33
+ name?: string;
34
+ role?: string;
35
+ } | null;
36
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
37
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
38
+ }
39
+ export interface OverviewMetric {
40
+ label: string;
41
+ value: string;
42
+ trend: string;
43
+ }
44
+ export interface WorkItem {
45
+ id: string;
46
+ title: string;
47
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
48
+ owner: string;
49
+ updatedAt: string;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Per-user course progress, persisted client-side.
3
+ *
4
+ * The CrewFoundry backend models a course only as an aggregate (enrolled /
5
+ * completed counts + a `modules` integer) — there is no per-user, per-module
6
+ * completion record and no mark-complete mutation. Rather than fabricate a
7
+ * progress number, this stores the learner's OWN real interactions (the modules
8
+ * they mark complete in the course player) in localStorage, so progress, hours
9
+ * and certificates reflect genuine user activity and persist across reloads.
10
+ *
11
+ * When a backend progress entity is added, these helpers become the single
12
+ * place to swap the storage layer for the real mutation/query.
13
+ */
14
+ export interface CourseProgress {
15
+ /** Zero-based indexes of modules the learner has marked complete. */
16
+ completed: number[];
17
+ /** ISO timestamp of when the course first reached 100%. */
18
+ completedAt?: string;
19
+ }
20
+ type ProgressMap = Record<string, CourseProgress>;
21
+ /** Read a single course's progress (never throws; empty when absent). */
22
+ export declare function readCourseProgress(courseId: string): CourseProgress;
23
+ /** Read every course's progress as a map keyed by course id. */
24
+ export declare function readAllCourseProgress(): ProgressMap;
25
+ /**
26
+ * Persist the set of completed module indexes for a course and return the saved
27
+ * progress. Stamps `completedAt` the first time the course reaches 100%.
28
+ */
29
+ export declare function writeCourseProgress(courseId: string, completed: number[], totalModules: number): CourseProgress;
30
+ /** Completion percentage (0–100) for a course given its module count. */
31
+ export declare function progressPercent(progress: CourseProgress, totalModules: number): number;
32
+ export {};
33
+ //# sourceMappingURL=courseProgress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"courseProgress.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/utils/courseProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AA6ClD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAEnE;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,IAAI,WAAW,CAOnD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,MAAM,GACnB,cAAc,CAchB;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKtF"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Present a lower_snake enum value (as normalized from the backend, e.g. 'full_time', 'on_leave',
3
+ * 'active') as a human-readable Title Case label ('Full Time', 'On Leave', 'Active').
4
+ * Purely a display helper — never use its output for comparisons.
5
+ */
6
+ export declare function formatEnumLabel(value: string | null | undefined): string;
7
+ //# sourceMappingURL=formatEnumLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatEnumLabel.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/utils/formatEnumLabel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOxE"}
@@ -0,0 +1,2 @@
1
+ export declare function joinPath(basePath: string, relativePath: string): string;
2
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/utils/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/dev/main.tsx"],"names":[],"mappings":"AAIA,OAAO,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-operations.d.ts","sourceRoot":"","sources":["../../src/generated/global-operations.ts"],"names":[],"mappings":""}