@burdenoff/microfe-crewfoundry 2026.510.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/crewfoundry/CrewFoundryRoot.d.ts +5 -0
- package/dist/crewfoundry/CrewFoundryRoot.d.ts.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoot.js +465 -0
- package/dist/crewfoundry/CrewFoundryRoot.js.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts +2 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoutes.js +291 -0
- package/dist/crewfoundry/CrewFoundryRoutes.js.map +1 -0
- package/dist/crewfoundry/index.d.ts +5 -0
- package/dist/crewfoundry/index.d.ts.map +1 -0
- package/dist/crewfoundry/index.js +3 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.js +267 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.js.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/AnalyticsAnalyticsPagePage.js +271 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.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/AnalyticsEmployeeAnalyticsPagePage.js +337 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.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/AnalyticsFinancialAnalyticsPagePage.js +344 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.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/AnalyticsHiringAnalyticsPagePage.js +341 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.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/CommunicationsAnnouncementsPagePage.js +121 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.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/CommunicationsCallsPagePage.js +124 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.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/CommunicationsDirectoryPagePage.js +93 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.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/CommunicationsFilesPagePage.js +138 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.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/CommunicationsMessagesPagePage.js +118 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.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/CommunicationsTeamsPagePage.js +62 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.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/CommunicationsVideoCallsPagePage.js +178 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.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/CompanyClientManagementPagePage.js +138 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.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/CompanyCompanyDashboardPagePage.js +144 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.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/CompanyCompanyProfilePagePage.js +234 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.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/CompanyVendorManagementPagePage.js +84 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.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/DashboardAnalyticsPagePage.js +287 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.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/DashboardDashboardPagePage.js +230 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.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/DashboardEnhancedDashboardPagePage.js +365 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.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/DashboardExecutiveDashboardPage.js +340 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.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/HelpApiDocumentationPagePage.js +299 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.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/HiringApplicationsPagePage.js +183 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.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/HiringCandidatesPagePage.js +124 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.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/HiringCreateJobPagePage.js +163 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.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/HiringInterviewsPagePage.js +148 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.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/HiringJobDetailsPagePage.js +203 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.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/HiringJobsPagePage.js +115 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.js.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/HrDepartmentsPagePage.js +145 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.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/HrEmployeesPagePage.js +183 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.js.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/HrLeaveManagementPagePage.js +238 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.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/HrPayrollPagePage.js +191 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.js.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/HrTimeTrackingPagePage.js +158 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.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/LearningAssessmentsPagePage.js +136 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.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/LearningCertificatesPagePage.js +103 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.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/LearningCourseDetailsPagePage.js +135 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.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/LearningCourseLearningPagePage.js +111 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.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/LearningCoursesPagePage.js +97 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.js.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/LearningLearningAnalyticsPagePage.js +170 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.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/LearningLearningPagePage.js +154 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.js.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/LearningLearningPathDetailPagePage.js +140 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.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/LearningLearningPathsPagePage.js +74 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.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/LearningMyLearningPagePage.js +166 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.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/MarketplaceBookingManagementPagePage.js +118 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.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/MarketplaceEarningsPagePage.js +148 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.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/MarketplaceFreelancerProfilePageEnhancedPage.js +443 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.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/MarketplaceFreelancerProfilePagePage.js +272 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.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/MarketplaceMarketplacePagePage.js +136 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.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/MarketplaceMarketplaceServicesPagePage.js +104 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.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/MarketplaceMessagingPagePage.js +91 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.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/MarketplaceMyServicesPagePage.js +80 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.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/MarketplaceProjectDetailsPagePage.js +155 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.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/MarketplaceServiceDetailsPagePage.js +107 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.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/PaymentsEscrowPagePage.js +133 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.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/PaymentsInvoicesPagePage.js +79 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.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/PaymentsPaymentDashboardPagePage.js +113 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.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/PaymentsPaymentMethodsPagePage.js +80 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.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/PaymentsSecurityPagePage.js +172 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.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/ProjectsCreateProjectPagePage.js +98 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.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/ProjectsProjectDetailsPagePage.js +163 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.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/ProjectsProjectsPagePage.js +115 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.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/TeamsTeamAnalyticsPagePage.js +141 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.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/TeamsTeamDetailPagePage.js +176 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.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/TeamsTeamDirectoryPagePage.js +83 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.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/TeamsTeamSettingsPagePage.js +314 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.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/pages/TeamsTeamsPagePage.js +77 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.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/providers/CrewFoundryProvider.js +27 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.js.map +1 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts +305 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -0
- package/dist/crewfoundry/store/crewfoundryStore.js +326 -0
- package/dist/crewfoundry/store/crewfoundryStore.js.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/navigation.d.ts +2 -0
- package/dist/crewfoundry/utils/navigation.d.ts.map +1 -0
- package/dist/crewfoundry/utils/navigation.js +8 -0
- package/dist/crewfoundry/utils/navigation.js.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 +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +108 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { Briefcase as t, Calendar as n, CheckCircle as r, DollarSign as i, MapPin as a, Share2 as o, Users as s } from "lucide-react";
|
|
3
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as u, Button as d, Card as f, CardContent as p, CardDescription as m, CardHeader as h, CardTitle as g } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/crewfoundry/pages/HiringJobDetailsPagePage.tsx
|
|
6
|
+
function _() {
|
|
7
|
+
let { jobPostings: _, candidates: v } = e(), y = _[0];
|
|
8
|
+
if (!y) return /* @__PURE__ */ c("div", {
|
|
9
|
+
className: "p-6 text-center text-muted-foreground",
|
|
10
|
+
children: "No job posting found."
|
|
11
|
+
});
|
|
12
|
+
let b = v.filter((e) => e.position === y.title);
|
|
13
|
+
return /* @__PURE__ */ l("div", {
|
|
14
|
+
className: "space-y-6 p-6 max-w-4xl",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ l("div", {
|
|
17
|
+
className: "flex items-center justify-between",
|
|
18
|
+
children: [/* @__PURE__ */ l("div", { children: [/* @__PURE__ */ l("div", {
|
|
19
|
+
className: "flex items-center gap-2 mb-1",
|
|
20
|
+
children: [/* @__PURE__ */ c("h1", {
|
|
21
|
+
className: "text-2xl font-semibold",
|
|
22
|
+
children: y.title
|
|
23
|
+
}), /* @__PURE__ */ c(u, {
|
|
24
|
+
variant: y.status === "active" ? "default" : "secondary",
|
|
25
|
+
children: y.status
|
|
26
|
+
})]
|
|
27
|
+
}), /* @__PURE__ */ l("div", {
|
|
28
|
+
className: "flex items-center gap-4 text-sm text-muted-foreground",
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ l("span", {
|
|
31
|
+
className: "flex items-center gap-1",
|
|
32
|
+
children: [/* @__PURE__ */ c(t, { className: "h-3 w-3" }), y.department]
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ l("span", {
|
|
35
|
+
className: "flex items-center gap-1",
|
|
36
|
+
children: [/* @__PURE__ */ c(a, { className: "h-3 w-3" }), y.location]
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ l("span", {
|
|
39
|
+
className: "flex items-center gap-1",
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ c(n, { className: "h-3 w-3" }),
|
|
42
|
+
"Posted ",
|
|
43
|
+
y.postedDate
|
|
44
|
+
]
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
})] }), /* @__PURE__ */ l("div", {
|
|
48
|
+
className: "flex gap-2",
|
|
49
|
+
children: [/* @__PURE__ */ l(d, {
|
|
50
|
+
variant: "outline",
|
|
51
|
+
size: "sm",
|
|
52
|
+
children: [/* @__PURE__ */ c(o, { className: "h-4 w-4 mr-1" }), "Share"]
|
|
53
|
+
}), /* @__PURE__ */ c(d, {
|
|
54
|
+
size: "sm",
|
|
55
|
+
children: "Edit Posting"
|
|
56
|
+
})]
|
|
57
|
+
})]
|
|
58
|
+
}),
|
|
59
|
+
/* @__PURE__ */ l("div", {
|
|
60
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ c(f, { children: /* @__PURE__ */ l(p, {
|
|
63
|
+
className: "p-4 text-center",
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ c(s, { className: "h-5 w-5 mx-auto text-muted-foreground mb-1" }),
|
|
66
|
+
/* @__PURE__ */ c("p", {
|
|
67
|
+
className: "text-2xl font-bold",
|
|
68
|
+
children: y.applicants
|
|
69
|
+
}),
|
|
70
|
+
/* @__PURE__ */ c("p", {
|
|
71
|
+
className: "text-xs text-muted-foreground",
|
|
72
|
+
children: "Applicants"
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
}) }),
|
|
76
|
+
/* @__PURE__ */ c(f, { children: /* @__PURE__ */ l(p, {
|
|
77
|
+
className: "p-4 text-center",
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ c(i, { className: "h-5 w-5 mx-auto text-muted-foreground mb-1" }),
|
|
80
|
+
/* @__PURE__ */ l("p", {
|
|
81
|
+
className: "text-lg font-bold",
|
|
82
|
+
children: [
|
|
83
|
+
"$",
|
|
84
|
+
(y.salaryMin / 1e3).toFixed(0),
|
|
85
|
+
"K-$",
|
|
86
|
+
(y.salaryMax / 1e3).toFixed(0),
|
|
87
|
+
"K"
|
|
88
|
+
]
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ c("p", {
|
|
91
|
+
className: "text-xs text-muted-foreground",
|
|
92
|
+
children: "Salary Range"
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
}) }),
|
|
96
|
+
/* @__PURE__ */ c(f, { children: /* @__PURE__ */ l(p, {
|
|
97
|
+
className: "p-4 text-center",
|
|
98
|
+
children: [
|
|
99
|
+
/* @__PURE__ */ c(n, { className: "h-5 w-5 mx-auto text-muted-foreground mb-1" }),
|
|
100
|
+
/* @__PURE__ */ c("p", {
|
|
101
|
+
className: "text-lg font-bold",
|
|
102
|
+
children: y.deadline
|
|
103
|
+
}),
|
|
104
|
+
/* @__PURE__ */ c("p", {
|
|
105
|
+
className: "text-xs text-muted-foreground",
|
|
106
|
+
children: "Deadline"
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
}) }),
|
|
110
|
+
/* @__PURE__ */ c(f, { children: /* @__PURE__ */ l(p, {
|
|
111
|
+
className: "p-4 text-center",
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ c(r, { className: "h-5 w-5 mx-auto text-muted-foreground mb-1" }),
|
|
114
|
+
/* @__PURE__ */ c("p", {
|
|
115
|
+
className: "text-lg font-bold",
|
|
116
|
+
children: y.experienceLevel
|
|
117
|
+
}),
|
|
118
|
+
/* @__PURE__ */ c("p", {
|
|
119
|
+
className: "text-xs text-muted-foreground",
|
|
120
|
+
children: "Level"
|
|
121
|
+
})
|
|
122
|
+
]
|
|
123
|
+
}) })
|
|
124
|
+
]
|
|
125
|
+
}),
|
|
126
|
+
/* @__PURE__ */ l(f, { children: [/* @__PURE__ */ c(h, { children: /* @__PURE__ */ c(g, { children: "Description" }) }), /* @__PURE__ */ c(p, { children: /* @__PURE__ */ c("p", {
|
|
127
|
+
className: "text-sm text-muted-foreground",
|
|
128
|
+
children: y.description
|
|
129
|
+
}) })] }),
|
|
130
|
+
/* @__PURE__ */ l("div", {
|
|
131
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
132
|
+
children: [/* @__PURE__ */ l(f, { children: [/* @__PURE__ */ c(h, { children: /* @__PURE__ */ c(g, { children: "Requirements" }) }), /* @__PURE__ */ c(p, { children: /* @__PURE__ */ c("ul", {
|
|
133
|
+
className: "space-y-2",
|
|
134
|
+
children: y.requirements.map((e, t) => /* @__PURE__ */ l("li", {
|
|
135
|
+
className: "flex items-start gap-2 text-sm",
|
|
136
|
+
children: [/* @__PURE__ */ c(r, { className: "h-4 w-4 text-green-500 mt-0.5 flex-shrink-0" }), e]
|
|
137
|
+
}, t))
|
|
138
|
+
}) })] }), /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ c(h, { children: /* @__PURE__ */ c(g, { children: "Benefits" }) }), /* @__PURE__ */ c(p, { children: /* @__PURE__ */ c("ul", {
|
|
139
|
+
className: "space-y-2",
|
|
140
|
+
children: y.benefits.map((e, t) => /* @__PURE__ */ l("li", {
|
|
141
|
+
className: "flex items-start gap-2 text-sm",
|
|
142
|
+
children: [/* @__PURE__ */ c(r, { className: "h-4 w-4 text-blue-500 mt-0.5 flex-shrink-0" }), e]
|
|
143
|
+
}, t))
|
|
144
|
+
}) })] })]
|
|
145
|
+
}),
|
|
146
|
+
b.length > 0 && /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(h, { children: [/* @__PURE__ */ c(g, { children: "Applicants for this Role" }), /* @__PURE__ */ l(m, { children: [b.length, " candidates"] })] }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ l("div", {
|
|
147
|
+
className: "grid grid-cols-5 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2",
|
|
148
|
+
children: [
|
|
149
|
+
/* @__PURE__ */ c("span", { children: "Name" }),
|
|
150
|
+
/* @__PURE__ */ c("span", { children: "Source" }),
|
|
151
|
+
/* @__PURE__ */ c("span", {
|
|
152
|
+
className: "text-right",
|
|
153
|
+
children: "Experience"
|
|
154
|
+
}),
|
|
155
|
+
/* @__PURE__ */ c("span", {
|
|
156
|
+
className: "text-center",
|
|
157
|
+
children: "Rating"
|
|
158
|
+
}),
|
|
159
|
+
/* @__PURE__ */ c("span", {
|
|
160
|
+
className: "text-center",
|
|
161
|
+
children: "Status"
|
|
162
|
+
})
|
|
163
|
+
]
|
|
164
|
+
}), b.map((e) => /* @__PURE__ */ l("div", {
|
|
165
|
+
className: "grid grid-cols-5 gap-2 py-2 border-b last:border-0 text-sm",
|
|
166
|
+
children: [
|
|
167
|
+
/* @__PURE__ */ l("span", {
|
|
168
|
+
className: "font-medium",
|
|
169
|
+
children: [
|
|
170
|
+
e.firstName,
|
|
171
|
+
" ",
|
|
172
|
+
e.lastName
|
|
173
|
+
]
|
|
174
|
+
}),
|
|
175
|
+
/* @__PURE__ */ c("span", {
|
|
176
|
+
className: "text-muted-foreground",
|
|
177
|
+
children: e.source
|
|
178
|
+
}),
|
|
179
|
+
/* @__PURE__ */ l("span", {
|
|
180
|
+
className: "text-right",
|
|
181
|
+
children: [e.experience, " yrs"]
|
|
182
|
+
}),
|
|
183
|
+
/* @__PURE__ */ l("div", {
|
|
184
|
+
className: "text-center",
|
|
185
|
+
children: [e.rating, "/5"]
|
|
186
|
+
}),
|
|
187
|
+
/* @__PURE__ */ c("div", {
|
|
188
|
+
className: "text-center",
|
|
189
|
+
children: /* @__PURE__ */ c(u, {
|
|
190
|
+
variant: e.status === "hired" ? "default" : "secondary",
|
|
191
|
+
className: "text-[10px]",
|
|
192
|
+
children: e.status
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
}, e.id))] })] })
|
|
197
|
+
]
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
export { _ as HiringJobDetailsPagePage };
|
|
202
|
+
|
|
203
|
+
//# sourceMappingURL=HiringJobDetailsPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiringJobDetailsPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/HiringJobDetailsPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { Briefcase, Calendar, CheckCircle, DollarSign, MapPin, Share2, Users } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function HiringJobDetailsPagePage() {\n const { jobPostings, candidates } = useCrewFoundryStore();\n const job = jobPostings[0]; // Show first job as detail view\n\n if (!job) {\n return <div className=\"p-6 text-center text-muted-foreground\">No job posting found.</div>;\n }\n\n const jobCandidates = candidates.filter((c) => c.position === job.title);\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div>\n <div className=\"flex items-center gap-2 mb-1\">\n <h1 className=\"text-2xl font-semibold\">{job.title}</h1>\n <Badge variant={job.status === 'active' ? 'default' : 'secondary'}>{job.status}</Badge>\n </div>\n <div className=\"flex items-center gap-4 text-sm text-muted-foreground\">\n <span className=\"flex items-center gap-1\">\n <Briefcase className=\"h-3 w-3\" />\n {job.department}\n </span>\n <span className=\"flex items-center gap-1\">\n <MapPin className=\"h-3 w-3\" />\n {job.location}\n </span>\n <span className=\"flex items-center gap-1\">\n <Calendar className=\"h-3 w-3\" />\n Posted {job.postedDate}\n </span>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Share2 className=\"h-4 w-4 mr-1\" />\n Share\n </Button>\n <Button size=\"sm\">Edit Posting</Button>\n </div>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardContent className=\"p-4 text-center\">\n <Users className=\"h-5 w-5 mx-auto text-muted-foreground mb-1\" />\n <p className=\"text-2xl font-bold\">{job.applicants}</p>\n <p className=\"text-xs text-muted-foreground\">Applicants</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"p-4 text-center\">\n <DollarSign className=\"h-5 w-5 mx-auto text-muted-foreground mb-1\" />\n <p className=\"text-lg font-bold\">\n ${(job.salaryMin / 1000).toFixed(0)}K-${(job.salaryMax / 1000).toFixed(0)}K\n </p>\n <p className=\"text-xs text-muted-foreground\">Salary Range</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"p-4 text-center\">\n <Calendar className=\"h-5 w-5 mx-auto text-muted-foreground mb-1\" />\n <p className=\"text-lg font-bold\">{job.deadline}</p>\n <p className=\"text-xs text-muted-foreground\">Deadline</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"p-4 text-center\">\n <CheckCircle className=\"h-5 w-5 mx-auto text-muted-foreground mb-1\" />\n <p className=\"text-lg font-bold\">{job.experienceLevel}</p>\n <p className=\"text-xs text-muted-foreground\">Level</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Description</CardTitle>\n </CardHeader>\n <CardContent>\n <p className=\"text-sm text-muted-foreground\">{job.description}</p>\n </CardContent>\n </Card>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle>Requirements</CardTitle>\n </CardHeader>\n <CardContent>\n <ul className=\"space-y-2\">\n {job.requirements.map((req, idx) => (\n <li key={idx} className=\"flex items-start gap-2 text-sm\">\n <CheckCircle className=\"h-4 w-4 text-green-500 mt-0.5 flex-shrink-0\" />\n {req}\n </li>\n ))}\n </ul>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Benefits</CardTitle>\n </CardHeader>\n <CardContent>\n <ul className=\"space-y-2\">\n {job.benefits.map((ben, idx) => (\n <li key={idx} className=\"flex items-start gap-2 text-sm\">\n <CheckCircle className=\"h-4 w-4 text-blue-500 mt-0.5 flex-shrink-0\" />\n {ben}\n </li>\n ))}\n </ul>\n </CardContent>\n </Card>\n </div>\n\n {jobCandidates.length > 0 && (\n <Card>\n <CardHeader>\n <CardTitle>Applicants for this Role</CardTitle>\n <CardDescription>{jobCandidates.length} candidates</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-5 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2\">\n <span>Name</span>\n <span>Source</span>\n <span className=\"text-right\">Experience</span>\n <span className=\"text-center\">Rating</span>\n <span className=\"text-center\">Status</span>\n </div>\n {jobCandidates.map((c) => (\n <div\n key={c.id}\n className=\"grid grid-cols-5 gap-2 py-2 border-b last:border-0 text-sm\"\n >\n <span className=\"font-medium\">\n {c.firstName} {c.lastName}\n </span>\n <span className=\"text-muted-foreground\">{c.source}</span>\n <span className=\"text-right\">{c.experience} yrs</span>\n <div className=\"text-center\">{c.rating}/5</div>\n <div className=\"text-center\">\n <Badge\n variant={c.status === 'hired' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {c.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiringJobsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/HiringJobsPagePage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,4CAqGjC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
import { Briefcase as n, MapPin as r, Plus as i, Search as a, Users as o } from "lucide-react";
|
|
4
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
5
|
+
import { Badge as l, Button as u, Card as d, CardContent as f, CardDescription as p, CardHeader as m, CardTitle as h, Input as g } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
import { useI18n as _ } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
7
|
+
//#region src/crewfoundry/pages/HiringJobsPagePage.tsx
|
|
8
|
+
function v() {
|
|
9
|
+
let { t: v } = _(), { jobPostings: y } = e(), [b, x] = t(""), S = (e, t) => {
|
|
10
|
+
let n = v(e);
|
|
11
|
+
return n === e ? t : n;
|
|
12
|
+
}, C = y.filter((e) => `${e.title} ${e.department} ${e.location}`.toLowerCase().includes(b.toLowerCase())), w = y.filter((e) => e.status === "active").length, T = y.reduce((e, t) => e + t.applicants, 0);
|
|
13
|
+
return /* @__PURE__ */ c("div", {
|
|
14
|
+
className: "space-y-6 p-6",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ c("div", {
|
|
17
|
+
className: "flex items-center justify-between",
|
|
18
|
+
children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
|
|
19
|
+
className: "text-2xl font-semibold",
|
|
20
|
+
children: S("crewfoundry.hiringJobs.title", "Job Postings")
|
|
21
|
+
}), /* @__PURE__ */ c("p", {
|
|
22
|
+
className: "text-sm text-muted-foreground",
|
|
23
|
+
children: [
|
|
24
|
+
w,
|
|
25
|
+
" ",
|
|
26
|
+
S("crewfoundry.hiringJobs.summary.activePositions", "active positions"),
|
|
27
|
+
" ·",
|
|
28
|
+
" ",
|
|
29
|
+
T,
|
|
30
|
+
" ",
|
|
31
|
+
S("crewfoundry.hiringJobs.summary.totalApplicants", "total applicants")
|
|
32
|
+
]
|
|
33
|
+
})] }), /* @__PURE__ */ c(u, {
|
|
34
|
+
size: "sm",
|
|
35
|
+
children: [/* @__PURE__ */ s(i, { className: "h-4 w-4 mr-1" }), S("crewfoundry.hiringJobs.actions.postNewJob", "Post New Job")]
|
|
36
|
+
})]
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ c("div", {
|
|
39
|
+
className: "relative max-w-sm",
|
|
40
|
+
children: [/* @__PURE__ */ s(a, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ s(g, {
|
|
41
|
+
placeholder: S("crewfoundry.hiringJobs.searchPlaceholder", "Search positions..."),
|
|
42
|
+
className: "pl-9",
|
|
43
|
+
value: b,
|
|
44
|
+
onChange: (e) => x(e.target.value)
|
|
45
|
+
})]
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ s("div", {
|
|
48
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
49
|
+
children: C.map((e) => /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(m, { children: [/* @__PURE__ */ c("div", {
|
|
50
|
+
className: "flex items-center justify-between",
|
|
51
|
+
children: [/* @__PURE__ */ s(h, {
|
|
52
|
+
className: "text-lg",
|
|
53
|
+
children: e.title
|
|
54
|
+
}), /* @__PURE__ */ s(l, {
|
|
55
|
+
variant: e.status === "active" ? "default" : e.status === "paused" ? "secondary" : "outline",
|
|
56
|
+
children: e.status
|
|
57
|
+
})]
|
|
58
|
+
}), /* @__PURE__ */ s(p, { children: e.description })] }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ c("div", {
|
|
59
|
+
className: "grid grid-cols-2 gap-3 mb-3",
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ c("div", {
|
|
62
|
+
className: "flex items-center gap-1 text-sm text-muted-foreground",
|
|
63
|
+
children: [/* @__PURE__ */ s(n, { className: "h-3 w-3" }), e.department]
|
|
64
|
+
}),
|
|
65
|
+
/* @__PURE__ */ c("div", {
|
|
66
|
+
className: "flex items-center gap-1 text-sm text-muted-foreground",
|
|
67
|
+
children: [/* @__PURE__ */ s(r, { className: "h-3 w-3" }), e.location]
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ c("div", {
|
|
70
|
+
className: "flex items-center gap-1 text-sm text-muted-foreground",
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ s(o, { className: "h-3 w-3" }),
|
|
73
|
+
e.applicants,
|
|
74
|
+
" ",
|
|
75
|
+
S("crewfoundry.hiringJobs.card.applicants", "applicants")
|
|
76
|
+
]
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ c("div", {
|
|
79
|
+
className: "text-sm text-muted-foreground",
|
|
80
|
+
children: [
|
|
81
|
+
"$",
|
|
82
|
+
(e.salaryMin / 1e3).toFixed(0),
|
|
83
|
+
"K — $",
|
|
84
|
+
(e.salaryMax / 1e3).toFixed(0),
|
|
85
|
+
"K"
|
|
86
|
+
]
|
|
87
|
+
})
|
|
88
|
+
]
|
|
89
|
+
}), /* @__PURE__ */ c("div", {
|
|
90
|
+
className: "flex items-center justify-between text-xs text-muted-foreground",
|
|
91
|
+
children: [/* @__PURE__ */ c("div", {
|
|
92
|
+
className: "flex gap-1",
|
|
93
|
+
children: [/* @__PURE__ */ s(l, {
|
|
94
|
+
variant: "outline",
|
|
95
|
+
className: "text-[10px]",
|
|
96
|
+
children: e.type.replace("_", " ")
|
|
97
|
+
}), /* @__PURE__ */ s(l, {
|
|
98
|
+
variant: "outline",
|
|
99
|
+
className: "text-[10px]",
|
|
100
|
+
children: e.experienceLevel
|
|
101
|
+
})]
|
|
102
|
+
}), /* @__PURE__ */ c("span", { children: [
|
|
103
|
+
S("crewfoundry.hiringJobs.card.deadline", "Deadline"),
|
|
104
|
+
": ",
|
|
105
|
+
e.deadline
|
|
106
|
+
] })]
|
|
107
|
+
})] })] }, e.id))
|
|
108
|
+
})
|
|
109
|
+
]
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { v as HiringJobsPagePage };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=HiringJobsPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiringJobsPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/HiringJobsPagePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { Briefcase, MapPin, Plus, Search, Users } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function HiringJobsPagePage() {\n const { t: translate } = useI18n();\n const { jobPostings } = useCrewFoundryStore();\n const [search, setSearch] = useState('');\n const t = (key: string, fallback: string) => {\n const value = translate(key);\n return value === key ? fallback : value;\n };\n\n const filtered = jobPostings.filter((j) =>\n `${j.title} ${j.department} ${j.location}`.toLowerCase().includes(search.toLowerCase())\n );\n const activeJobs = jobPostings.filter((j) => j.status === 'active').length;\n const totalApplicants = jobPostings.reduce((s, j) => s + j.applicants, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n {t('crewfoundry.hiringJobs.title', 'Job Postings')}\n </h1>\n <p className=\"text-sm text-muted-foreground\">\n {activeJobs} {t('crewfoundry.hiringJobs.summary.activePositions', 'active positions')} ·{' '}\n {totalApplicants}{' '}\n {t('crewfoundry.hiringJobs.summary.totalApplicants', 'total applicants')}\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n {t('crewfoundry.hiringJobs.actions.postNewJob', 'Post New Job')}\n </Button>\n </div>\n\n <div className=\"relative max-w-sm\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder={t('crewfoundry.hiringJobs.searchPlaceholder', 'Search positions...')}\n className=\"pl-9\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n {filtered.map((job) => (\n <Card key={job.id}>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-lg\">{job.title}</CardTitle>\n <Badge\n variant={\n job.status === 'active'\n ? 'default'\n : job.status === 'paused'\n ? 'secondary'\n : 'outline'\n }\n >\n {job.status}\n </Badge>\n </div>\n <CardDescription>{job.description}</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-2 gap-3 mb-3\">\n <div className=\"flex items-center gap-1 text-sm text-muted-foreground\">\n <Briefcase className=\"h-3 w-3\" />\n {job.department}\n </div>\n <div className=\"flex items-center gap-1 text-sm text-muted-foreground\">\n <MapPin className=\"h-3 w-3\" />\n {job.location}\n </div>\n <div className=\"flex items-center gap-1 text-sm text-muted-foreground\">\n <Users className=\"h-3 w-3\" />\n {job.applicants} {t('crewfoundry.hiringJobs.card.applicants', 'applicants')}\n </div>\n <div className=\"text-sm text-muted-foreground\">\n ${(job.salaryMin / 1000).toFixed(0)}K — ${(job.salaryMax / 1000).toFixed(0)}K\n </div>\n </div>\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <div className=\"flex gap-1\">\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {job.type.replace('_', ' ')}\n </Badge>\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {job.experienceLevel}\n </Badge>\n </div>\n <span>\n {t('crewfoundry.hiringJobs.card.deadline', 'Deadline')}: {job.deadline}\n </span>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HrDepartmentsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/HrDepartmentsPagePage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,qBAAqB,4CA8GpC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { Building2 as t, DollarSign as n, MapPin as r, Plus as i, Users as a } from "lucide-react";
|
|
3
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as c, Button as l, Card as u, CardContent as d, CardDescription as f, CardHeader as p, CardTitle as m, Separator as h } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/crewfoundry/pages/HrDepartmentsPagePage.tsx
|
|
6
|
+
function g() {
|
|
7
|
+
let { departments: g, employees: _ } = e(), v = g.reduce((e, t) => e + t.budget, 0), y = g.reduce((e, t) => e + t.employeeCount, 0);
|
|
8
|
+
return /* @__PURE__ */ s("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ s("div", {
|
|
12
|
+
className: "flex items-center justify-between",
|
|
13
|
+
children: [/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
|
|
14
|
+
className: "text-2xl font-semibold",
|
|
15
|
+
children: "Departments"
|
|
16
|
+
}), /* @__PURE__ */ o("p", {
|
|
17
|
+
className: "text-sm text-muted-foreground",
|
|
18
|
+
children: "Organizational structure and department management"
|
|
19
|
+
})] }), /* @__PURE__ */ s(l, {
|
|
20
|
+
size: "sm",
|
|
21
|
+
children: [/* @__PURE__ */ o(i, { className: "h-4 w-4 mr-1" }), "Add Department"]
|
|
22
|
+
})]
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ s("div", {
|
|
25
|
+
className: "grid gap-4 md:grid-cols-3",
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ s(u, { children: [/* @__PURE__ */ s(p, {
|
|
28
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
29
|
+
children: [/* @__PURE__ */ o(m, {
|
|
30
|
+
className: "text-sm font-medium",
|
|
31
|
+
children: "Total Departments"
|
|
32
|
+
}), /* @__PURE__ */ o(t, { className: "h-4 w-4 text-muted-foreground" })]
|
|
33
|
+
}), /* @__PURE__ */ o(d, { children: /* @__PURE__ */ o("div", {
|
|
34
|
+
className: "text-2xl font-bold",
|
|
35
|
+
children: g.length
|
|
36
|
+
}) })] }),
|
|
37
|
+
/* @__PURE__ */ s(u, { children: [/* @__PURE__ */ s(p, {
|
|
38
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
39
|
+
children: [/* @__PURE__ */ o(m, {
|
|
40
|
+
className: "text-sm font-medium",
|
|
41
|
+
children: "Total Headcount"
|
|
42
|
+
}), /* @__PURE__ */ o(a, { className: "h-4 w-4 text-muted-foreground" })]
|
|
43
|
+
}), /* @__PURE__ */ o(d, { children: /* @__PURE__ */ o("div", {
|
|
44
|
+
className: "text-2xl font-bold",
|
|
45
|
+
children: y
|
|
46
|
+
}) })] }),
|
|
47
|
+
/* @__PURE__ */ s(u, { children: [/* @__PURE__ */ s(p, {
|
|
48
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
49
|
+
children: [/* @__PURE__ */ o(m, {
|
|
50
|
+
className: "text-sm font-medium",
|
|
51
|
+
children: "Total Budget"
|
|
52
|
+
}), /* @__PURE__ */ o(n, { className: "h-4 w-4 text-muted-foreground" })]
|
|
53
|
+
}), /* @__PURE__ */ o(d, { children: /* @__PURE__ */ s("div", {
|
|
54
|
+
className: "text-2xl font-bold",
|
|
55
|
+
children: [
|
|
56
|
+
"$",
|
|
57
|
+
(v / 1e6).toFixed(1),
|
|
58
|
+
"M"
|
|
59
|
+
]
|
|
60
|
+
}) })] })
|
|
61
|
+
]
|
|
62
|
+
}),
|
|
63
|
+
/* @__PURE__ */ o("div", {
|
|
64
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
65
|
+
children: g.map((e) => {
|
|
66
|
+
let t = _.filter((t) => t.department === e.name), n = t.length > 0 ? Math.round(t.reduce((e, t) => e + t.salary, 0) / t.length) : 0, i = t.length > 0 ? (t.reduce((e, t) => e + t.performanceScore, 0) / t.length).toFixed(1) : "0";
|
|
67
|
+
return /* @__PURE__ */ s(u, { children: [/* @__PURE__ */ s(p, { children: [/* @__PURE__ */ s("div", {
|
|
68
|
+
className: "flex items-center justify-between",
|
|
69
|
+
children: [/* @__PURE__ */ o(m, {
|
|
70
|
+
className: "text-lg",
|
|
71
|
+
children: e.name
|
|
72
|
+
}), /* @__PURE__ */ o(c, {
|
|
73
|
+
variant: e.status === "active" ? "default" : "secondary",
|
|
74
|
+
children: e.status
|
|
75
|
+
})]
|
|
76
|
+
}), /* @__PURE__ */ s(f, {
|
|
77
|
+
className: "flex items-center gap-1",
|
|
78
|
+
children: [/* @__PURE__ */ o(r, { className: "h-3 w-3" }), e.location]
|
|
79
|
+
})] }), /* @__PURE__ */ s(d, { children: [
|
|
80
|
+
/* @__PURE__ */ s("div", {
|
|
81
|
+
className: "grid grid-cols-2 gap-4 mb-4",
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
|
|
84
|
+
className: "text-xs text-muted-foreground",
|
|
85
|
+
children: "Department Head"
|
|
86
|
+
}), /* @__PURE__ */ o("p", {
|
|
87
|
+
className: "text-sm font-medium",
|
|
88
|
+
children: e.headName
|
|
89
|
+
})] }),
|
|
90
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
|
|
91
|
+
className: "text-xs text-muted-foreground",
|
|
92
|
+
children: "Headcount"
|
|
93
|
+
}), /* @__PURE__ */ s("p", {
|
|
94
|
+
className: "text-sm font-medium",
|
|
95
|
+
children: [e.employeeCount, " employees"]
|
|
96
|
+
})] }),
|
|
97
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
|
|
98
|
+
className: "text-xs text-muted-foreground",
|
|
99
|
+
children: "Annual Budget"
|
|
100
|
+
}), /* @__PURE__ */ s("p", {
|
|
101
|
+
className: "text-sm font-medium",
|
|
102
|
+
children: [
|
|
103
|
+
"$",
|
|
104
|
+
(e.budget / 1e6).toFixed(1),
|
|
105
|
+
"M"
|
|
106
|
+
]
|
|
107
|
+
})] }),
|
|
108
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
|
|
109
|
+
className: "text-xs text-muted-foreground",
|
|
110
|
+
children: "Avg Salary"
|
|
111
|
+
}), /* @__PURE__ */ s("p", {
|
|
112
|
+
className: "text-sm font-medium",
|
|
113
|
+
children: ["$", n.toLocaleString()]
|
|
114
|
+
})] })
|
|
115
|
+
]
|
|
116
|
+
}),
|
|
117
|
+
/* @__PURE__ */ o(h, { className: "mb-3" }),
|
|
118
|
+
/* @__PURE__ */ s("div", {
|
|
119
|
+
className: "flex items-center justify-between text-xs",
|
|
120
|
+
children: [/* @__PURE__ */ s("span", {
|
|
121
|
+
className: "text-muted-foreground",
|
|
122
|
+
children: [
|
|
123
|
+
"Avg Performance: ",
|
|
124
|
+
i,
|
|
125
|
+
"/5"
|
|
126
|
+
]
|
|
127
|
+
}), /* @__PURE__ */ s("span", {
|
|
128
|
+
className: "text-muted-foreground",
|
|
129
|
+
children: [
|
|
130
|
+
"Cost/Head: $",
|
|
131
|
+
Math.round(e.budget / e.employeeCount / 1e3),
|
|
132
|
+
"K"
|
|
133
|
+
]
|
|
134
|
+
})]
|
|
135
|
+
})
|
|
136
|
+
] })] }, e.id);
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
export { g as HrDepartmentsPagePage };
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=HrDepartmentsPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HrDepartmentsPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/HrDepartmentsPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { Building2, DollarSign, MapPin, Plus, Users } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function HrDepartmentsPagePage() {\n const { departments, employees } = useCrewFoundryStore();\n\n const totalBudget = departments.reduce((s, d) => s + d.budget, 0);\n const totalHeadcount = departments.reduce((s, d) => s + d.employeeCount, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Departments</h1>\n <p className=\"text-sm text-muted-foreground\">\n Organizational structure and department management\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Add Department\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-3\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Departments</CardTitle>\n <Building2 className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{departments.length}</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Headcount</CardTitle>\n <Users className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalHeadcount}</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Budget</CardTitle>\n <DollarSign className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${(totalBudget / 1000000).toFixed(1)}M</div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n {departments.map((dept) => {\n const deptEmps = employees.filter((e) => e.department === dept.name);\n const avgSalary =\n deptEmps.length > 0\n ? Math.round(deptEmps.reduce((s, e) => s + e.salary, 0) / deptEmps.length)\n : 0;\n const avgPerf =\n deptEmps.length > 0\n ? (deptEmps.reduce((s, e) => s + e.performanceScore, 0) / deptEmps.length).toFixed(1)\n : '0';\n\n return (\n <Card key={dept.id}>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-lg\">{dept.name}</CardTitle>\n <Badge variant={dept.status === 'active' ? 'default' : 'secondary'}>\n {dept.status}\n </Badge>\n </div>\n <CardDescription className=\"flex items-center gap-1\">\n <MapPin className=\"h-3 w-3\" />\n {dept.location}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-2 gap-4 mb-4\">\n <div>\n <p className=\"text-xs text-muted-foreground\">Department Head</p>\n <p className=\"text-sm font-medium\">{dept.headName}</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Headcount</p>\n <p className=\"text-sm font-medium\">{dept.employeeCount} employees</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Annual Budget</p>\n <p className=\"text-sm font-medium\">${(dept.budget / 1000000).toFixed(1)}M</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Avg Salary</p>\n <p className=\"text-sm font-medium\">${avgSalary.toLocaleString()}</p>\n </div>\n </div>\n <Separator className=\"mb-3\" />\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"text-muted-foreground\">Avg Performance: {avgPerf}/5</span>\n <span className=\"text-muted-foreground\">\n Cost/Head: ${Math.round(dept.budget / dept.employeeCount / 1000)}K\n </span>\n </div>\n </CardContent>\n </Card>\n );\n })}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HrEmployeesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/HrEmployeesPagePage.tsx"],"names":[],"mappings":"AAcA,wBAAgB,mBAAmB,4CAoKlC"}
|