@burdenoff/microfe-crewfoundry 2026.703.2 → 2026.704.2

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 (130) hide show
  1. package/dist/crewfoundry/components/forms/FormModal.js.map +1 -1
  2. package/dist/crewfoundry/pages/AdminAdminPagePage.js +117 -164
  3. package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -1
  4. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +99 -82
  5. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  6. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +160 -192
  7. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -1
  8. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +238 -231
  9. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -1
  10. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +196 -166
  11. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -1
  12. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
  13. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +45 -147
  14. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
  15. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +20 -11
  16. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -1
  17. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +45 -152
  18. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
  19. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +50 -138
  20. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  21. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +149 -67
  22. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -1
  23. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +50 -201
  24. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
  25. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +205 -136
  26. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  27. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +25 -31
  28. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
  29. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +118 -104
  30. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -1
  31. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +117 -58
  32. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  33. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +90 -94
  34. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -1
  35. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +210 -191
  36. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  37. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +213 -180
  38. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
  39. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +133 -264
  40. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -1
  41. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +279 -212
  42. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -1
  43. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +131 -105
  44. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -1
  45. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +167 -148
  46. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  47. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +3 -3
  48. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  49. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +13 -5
  50. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  51. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +151 -152
  52. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  53. package/dist/crewfoundry/pages/HiringJobsPagePage.js +38 -21
  54. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  55. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +3 -3
  56. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  57. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +134 -127
  58. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  59. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +163 -132
  60. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  61. package/dist/crewfoundry/pages/HrPayrollPagePage.js +202 -160
  62. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  63. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +104 -91
  64. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  65. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +29 -147
  66. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
  67. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +22 -106
  68. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -1
  69. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +74 -74
  70. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  71. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +101 -97
  72. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -1
  73. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +64 -47
  74. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  75. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +111 -121
  76. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -1
  77. package/dist/crewfoundry/pages/LearningLearningPagePage.js +131 -110
  78. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
  79. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +65 -64
  80. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  81. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +58 -43
  82. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  83. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +66 -82
  84. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  85. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +38 -88
  86. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
  87. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +59 -65
  88. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -1
  89. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +209 -323
  90. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -1
  91. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +175 -220
  92. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -1
  93. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +74 -59
  94. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  95. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +96 -80
  96. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -1
  97. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +28 -100
  98. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -1
  99. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +27 -20
  100. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
  101. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +73 -73
  102. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -1
  103. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +62 -56
  104. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -1
  105. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +40 -138
  106. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -1
  107. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +126 -93
  108. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  109. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +99 -77
  110. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
  111. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -1
  112. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +73 -74
  113. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -1
  114. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +1 -1
  115. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
  116. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +122 -122
  117. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
  118. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +130 -113
  119. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  120. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +68 -59
  121. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
  122. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +73 -62
  123. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -1
  124. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +82 -58
  125. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -1
  126. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +153 -153
  127. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
  128. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +63 -48
  129. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  130. package/package.json +1 -1
@@ -1,211 +1,200 @@
1
1
  import { useCrewFoundry as e } from "../providers/CrewFoundryProvider.js";
2
2
  import { useCrewFoundryStore as t } from "../store/crewfoundryStore.js";
3
3
  import { useState as n } from "react";
4
- import { Activity as r, Briefcase as i, Calendar as a, TrendingUp as o, Users as s } from "lucide-react";
5
- import { useNavigate as c } from "react-router-dom";
6
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
- import { AuroraBackground as d, Badge as f, Button as p, Card as m, CardContent as h, CardDescription as g, CardHeader as _, CardTitle as v, EmphasisPanel as y, GlassCard as b, GradientText as x, IllustratedEmptyState as S, NextSteps as C, PagePurpose as w } from "@burdenoff/fe-libs/ui";
8
- import { useGlobalUi as T } from "@burdenoff/fe-libs/shared/providers/shell";
9
- import { useI18n as E } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
+ import { Activity as r, Briefcase as i, Calendar as a, TrendingUp as ee, Users as o } from "lucide-react";
5
+ import { useNavigate as s } from "react-router-dom";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { AuroraBackground as te, Badge as u, Button as d, Card as f, CardContent as p, CardDescription as m, CardHeader as h, CardTitle as g, EmphasisPanel as ne, GlassCard as _, GradientText as v, IllustratedEmptyState as y, NextSteps as b, PagePurpose as x, Pagination as re } from "@burdenoff/fe-libs/ui";
8
+ import { usePagination as ie } from "@burdenoff/fe-libs/shared/hooks";
9
+ import { useGlobalUi as S } from "@burdenoff/fe-libs/shared/providers/shell";
10
+ import { useI18n as C } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
11
  //#region src/crewfoundry/pages/DashboardDashboardPagePage.tsx
11
- function D() {
12
- let { t: D } = E(), O = c(), { showToast: k } = T(), { currentUser: A } = e(), { employees: j, jobPostings: M, leaveRequests: N, notifications: P, projects: F, updateLeaveRequest: I } = t(), [L, R] = n("month"), [z, B] = n(null), V = A?.name || [A?.firstName, A?.lastName].filter(Boolean).join(" ") || A?.email || "Manager", H = async (e, t) => {
13
- B(e);
12
+ function w() {
13
+ let { t: w } = C(), T = s(), { showToast: E } = S(), { currentUser: D } = e(), { employees: O, jobPostings: k, interviews: ae, leaveRequests: A, notifications: j, projects: M, updateLeaveRequest: N } = t(), [P, F] = n(null), I = D?.name || [D?.firstName, D?.lastName].filter(Boolean).join(" ") || D?.email || "Manager", L = async (e, t) => {
14
+ F(e);
14
15
  try {
15
- await I(e, {
16
+ await N(e, {
16
17
  status: t,
17
- approverName: V
18
- }), k(t === "approved" ? "Leave approved" : "Leave rejected", "success");
18
+ approverName: I
19
+ }), E(t === "approved" ? "Leave approved" : "Leave rejected", "success");
19
20
  } catch (e) {
20
- k(e instanceof Error ? e.message : "Unable to update leave request", "error");
21
+ E(e instanceof Error ? e.message : "Unable to update leave request", "error");
21
22
  } finally {
22
- B(null);
23
+ F(null);
23
24
  }
24
- }, U = (e, t) => {
25
- let n = D(e);
25
+ }, R = (e, t) => {
26
+ let n = w(e);
26
27
  return n === e ? t : n;
27
- }, W = j.filter((e) => e.status === "active").length, G = j.filter((e) => e.status === "on_leave").length, K = M.filter((e) => e.status === "active").length, q = M.reduce((e, t) => e + t.applicants, 0), J = N.filter((e) => e.status === "pending").length, Y = P.filter((e) => !e.read).length, X = F.filter((e) => e.status === "active").length, Z = (j.reduce((e, t) => e + t.performanceScore, 0) / j.length).toFixed(1), Q = j.reduce((e, t) => (e[t.department] = (e[t.department] || 0) + 1, e), {}), $ = Math.max(...Object.values(Q));
28
- return /* @__PURE__ */ u("div", {
28
+ }, z = O.filter((e) => e.status === "active").length, B = O.filter((e) => e.status === "on_leave").length, V = k.filter((e) => e.status === "active").length, H = k.reduce((e, t) => e + t.applicants, 0), U = A.filter((e) => e.status === "pending").length, W = j.filter((e) => !e.read).length, G = M.filter((e) => e.status === "active").length, K = (O.reduce((e, t) => e + t.performanceScore, 0) / Math.max(O.length, 1)).toFixed(1), q = O.reduce((e, t) => (e[t.department] = (e[t.department] || 0) + 1, e), {}), J = Object.values(q), oe = J.length ? Math.max(...J) : 1, Y = [...ae].filter((e) => e.status === "scheduled").sort((e, t) => `${e.date} ${e.time}`.localeCompare(`${t.date} ${t.time}`)), X = Y.slice(0, 5), Z = [...A].sort((e, t) => e.status === "pending" && t.status !== "pending" ? -1 : t.status === "pending" && e.status !== "pending" ? 1 : t.startDate.localeCompare(e.startDate)), { page: se, pageSize: Q, offset: $, setPage: ce } = ie({ initialPageSize: 6 }), le = Z.slice($, $ + Q);
29
+ return /* @__PURE__ */ l("div", {
29
30
  className: "space-y-6 p-6",
30
31
  children: [
31
- /* @__PURE__ */ u("div", {
32
+ /* @__PURE__ */ l("div", {
32
33
  className: "relative overflow-hidden rounded-xl border border-border-seam bg-gloss-card p-6",
33
- children: [/* @__PURE__ */ l(d, { intensity: "subtle" }), /* @__PURE__ */ u("div", {
34
+ children: [/* @__PURE__ */ c(te, { intensity: "subtle" }), /* @__PURE__ */ c("div", {
34
35
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
35
- children: [/* @__PURE__ */ u("div", { children: [
36
- /* @__PURE__ */ l("h1", {
36
+ children: /* @__PURE__ */ l("div", { children: [
37
+ /* @__PURE__ */ c("h1", {
37
38
  className: "text-2xl font-semibold",
38
- children: /* @__PURE__ */ l(x, { children: U("crewfoundry.dashboard.title", "Workforce Dashboard") })
39
+ children: /* @__PURE__ */ c(v, { children: R("crewfoundry.dashboard.title", "Workforce Dashboard") })
39
40
  }),
40
- /* @__PURE__ */ l("p", {
41
+ /* @__PURE__ */ c("p", {
41
42
  className: "text-sm text-text-secondary",
42
- children: U("crewfoundry.dashboard.subtitle", "Overview of your organization's workforce metrics")
43
+ children: R("crewfoundry.dashboard.subtitle", "Overview of your organization's workforce metrics")
43
44
  }),
44
- /* @__PURE__ */ l(w, {
45
+ /* @__PURE__ */ c(x, {
45
46
  className: "mt-2",
46
- children: U("crewfoundry.dashboard.purpose", "Your workforce command center — see headcount, hiring, performance, and projects at a glance, then jump straight to the area that needs your attention.")
47
+ children: R("crewfoundry.dashboard.purpose", "Your workforce command center — see headcount, hiring, performance, and projects at a glance, then jump straight to the area that needs your attention.")
47
48
  })
48
- ] }), /* @__PURE__ */ l("div", {
49
- className: "flex gap-2",
50
- children: [
51
- "week",
52
- "month",
53
- "quarter"
54
- ].map((e) => /* @__PURE__ */ l(p, {
55
- variant: L === e ? "default" : "outline",
56
- size: "sm",
57
- onClick: () => R(e),
58
- children: U(`crewfoundry.dashboard.period.${e}`, e.charAt(0).toUpperCase() + e.slice(1))
59
- }, e))
60
- })]
49
+ ] })
61
50
  })]
62
51
  }),
63
- /* @__PURE__ */ l(C, {
52
+ /* @__PURE__ */ c(b, {
64
53
  storageKey: "crewfoundry-dashboard",
65
54
  steps: [
66
55
  {
67
56
  id: "employees",
68
- label: U("crewfoundry.dashboard.next.employees", "Review your team"),
69
- description: U("crewfoundry.dashboard.next.employeesDesc", "Open the employee directory to see who is active and on leave."),
70
- icon: /* @__PURE__ */ l(s, { className: "h-4 w-4" }),
71
- onClick: () => O("../../hr/employees-page")
57
+ label: R("crewfoundry.dashboard.next.employees", "Review your team"),
58
+ description: R("crewfoundry.dashboard.next.employeesDesc", "Open the employee directory to see who is active and on leave."),
59
+ icon: /* @__PURE__ */ c(o, { className: "h-4 w-4" }),
60
+ onClick: () => T("../../hr/employees-page")
72
61
  },
73
62
  {
74
63
  id: "hiring",
75
- label: U("crewfoundry.dashboard.next.hiring", "Post a new job"),
76
- description: U("crewfoundry.dashboard.next.hiringDesc", "Create an opening to start collecting applicants."),
77
- icon: /* @__PURE__ */ l(i, { className: "h-4 w-4" }),
78
- onClick: () => O("../../hiring/create-job-page")
64
+ label: R("crewfoundry.dashboard.next.hiring", "Post a new job"),
65
+ description: R("crewfoundry.dashboard.next.hiringDesc", "Create an opening to start collecting applicants."),
66
+ icon: /* @__PURE__ */ c(i, { className: "h-4 w-4" }),
67
+ onClick: () => T("../../hiring/create-job-page")
79
68
  },
80
69
  {
81
70
  id: "projects",
82
- label: U("crewfoundry.dashboard.next.projects", "Check active projects"),
83
- description: U("crewfoundry.dashboard.next.projectsDesc", "Track progress and budgets across in-flight work."),
84
- icon: /* @__PURE__ */ l(r, { className: "h-4 w-4" }),
85
- onClick: () => O("../../projects/projects-page")
71
+ label: R("crewfoundry.dashboard.next.projects", "Check active projects"),
72
+ description: R("crewfoundry.dashboard.next.projectsDesc", "Track progress and budgets across in-flight work."),
73
+ icon: /* @__PURE__ */ c(r, { className: "h-4 w-4" }),
74
+ onClick: () => T("../../projects/projects-page")
86
75
  }
87
76
  ]
88
77
  }),
89
- /* @__PURE__ */ u("div", {
78
+ /* @__PURE__ */ l("div", {
90
79
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
91
80
  children: [
92
- /* @__PURE__ */ u(b, {
81
+ /* @__PURE__ */ l(_, {
93
82
  treatment: "glass",
94
83
  glow: !0,
95
84
  className: "border-border-seam",
96
- children: [/* @__PURE__ */ u(_, {
85
+ children: [/* @__PURE__ */ l(h, {
97
86
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
98
- children: [/* @__PURE__ */ l(v, {
87
+ children: [/* @__PURE__ */ c(g, {
99
88
  className: "text-sm font-medium",
100
- children: U("crewfoundry.dashboard.stats.totalEmployees", "Total Employees")
101
- }), /* @__PURE__ */ l(s, { className: "h-4 w-4 text-text-secondary" })]
102
- }), /* @__PURE__ */ u(h, { children: [/* @__PURE__ */ l("div", {
89
+ children: R("crewfoundry.dashboard.stats.totalEmployees", "Total Employees")
90
+ }), /* @__PURE__ */ c(o, { className: "h-4 w-4 text-text-secondary" })]
91
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
103
92
  className: "text-2xl font-bold tabular-nums",
104
- children: j.length
105
- }), /* @__PURE__ */ u("p", {
93
+ children: O.length
94
+ }), /* @__PURE__ */ l("p", {
106
95
  className: "text-xs text-text-secondary",
107
96
  children: [
108
- W,
97
+ z,
109
98
  " ",
110
- U("crewfoundry.dashboard.stats.active", "active"),
99
+ R("crewfoundry.dashboard.stats.active", "active"),
111
100
  ", ",
112
- G,
101
+ B,
113
102
  " ",
114
- U("crewfoundry.dashboard.stats.onLeave", "on leave")
103
+ R("crewfoundry.dashboard.stats.onLeave", "on leave")
115
104
  ]
116
105
  })] })]
117
106
  }),
118
- /* @__PURE__ */ u(b, {
107
+ /* @__PURE__ */ l(_, {
119
108
  treatment: "metric",
120
109
  className: "border-border-seam",
121
- children: [/* @__PURE__ */ u(_, {
110
+ children: [/* @__PURE__ */ l(h, {
122
111
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
123
- children: [/* @__PURE__ */ l(v, {
112
+ children: [/* @__PURE__ */ c(g, {
124
113
  className: "text-sm font-medium",
125
- children: U("crewfoundry.dashboard.stats.openPositions", "Open Positions")
126
- }), /* @__PURE__ */ l(i, { className: "h-4 w-4 text-text-secondary" })]
127
- }), /* @__PURE__ */ u(h, { children: [/* @__PURE__ */ l("div", {
114
+ children: R("crewfoundry.dashboard.stats.openPositions", "Open Positions")
115
+ }), /* @__PURE__ */ c(i, { className: "h-4 w-4 text-text-secondary" })]
116
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
128
117
  className: "text-2xl font-bold tabular-nums",
129
- children: K
130
- }), /* @__PURE__ */ u("p", {
118
+ children: V
119
+ }), /* @__PURE__ */ l("p", {
131
120
  className: "text-xs text-text-secondary",
132
121
  children: [
133
- q,
122
+ H,
134
123
  " ",
135
- U("crewfoundry.dashboard.stats.totalApplicants", "total applicants")
124
+ R("crewfoundry.dashboard.stats.totalApplicants", "total applicants")
136
125
  ]
137
126
  })] })]
138
127
  }),
139
- /* @__PURE__ */ u(b, {
128
+ /* @__PURE__ */ l(_, {
140
129
  treatment: "metric",
141
130
  className: "border-border-seam",
142
- children: [/* @__PURE__ */ u(_, {
131
+ children: [/* @__PURE__ */ l(h, {
143
132
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
144
- children: [/* @__PURE__ */ l(v, {
133
+ children: [/* @__PURE__ */ c(g, {
145
134
  className: "text-sm font-medium",
146
- children: U("crewfoundry.dashboard.stats.avgPerformance", "Avg Performance")
147
- }), /* @__PURE__ */ l(o, { className: "h-4 w-4 text-text-secondary" })]
148
- }), /* @__PURE__ */ u(h, { children: [/* @__PURE__ */ u("div", {
135
+ children: R("crewfoundry.dashboard.stats.avgPerformance", "Avg Performance")
136
+ }), /* @__PURE__ */ c(ee, { className: "h-4 w-4 text-text-secondary" })]
137
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ l("div", {
149
138
  className: "text-2xl font-bold tabular-nums",
150
- children: [Z, "/5"]
151
- }), /* @__PURE__ */ l("p", {
139
+ children: [K, "/5"]
140
+ }), /* @__PURE__ */ c("p", {
152
141
  className: "text-xs text-text-secondary",
153
- children: U("crewfoundry.dashboard.stats.performanceTrend", "+0.2 from last quarter")
142
+ children: R("crewfoundry.dashboard.stats.performanceTrend", `Team average across ${O.length} employees`)
154
143
  })] })]
155
144
  }),
156
- /* @__PURE__ */ u(b, {
145
+ /* @__PURE__ */ l(_, {
157
146
  treatment: "metric",
158
147
  className: "border-border-seam",
159
- children: [/* @__PURE__ */ u(_, {
148
+ children: [/* @__PURE__ */ l(h, {
160
149
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
161
- children: [/* @__PURE__ */ l(v, {
150
+ children: [/* @__PURE__ */ c(g, {
162
151
  className: "text-sm font-medium",
163
- children: U("crewfoundry.dashboard.stats.activeProjects", "Active Projects")
164
- }), /* @__PURE__ */ l(r, { className: "h-4 w-4 text-text-secondary" })]
165
- }), /* @__PURE__ */ u(h, { children: [/* @__PURE__ */ l("div", {
152
+ children: R("crewfoundry.dashboard.stats.activeProjects", "Active Projects")
153
+ }), /* @__PURE__ */ c(r, { className: "h-4 w-4 text-text-secondary" })]
154
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
166
155
  className: "text-2xl font-bold tabular-nums",
167
- children: X
168
- }), /* @__PURE__ */ u("p", {
156
+ children: G
157
+ }), /* @__PURE__ */ l("p", {
169
158
  className: "text-xs text-text-secondary",
170
159
  children: [
171
- J,
160
+ U,
172
161
  " ",
173
- U("crewfoundry.dashboard.stats.pendingLeaveRequests", "pending leave requests")
162
+ R("crewfoundry.dashboard.stats.pendingLeaveRequests", "pending leave requests")
174
163
  ]
175
164
  })] })]
176
165
  })
177
166
  ]
178
167
  }),
179
- /* @__PURE__ */ u("div", {
168
+ /* @__PURE__ */ l("div", {
180
169
  className: "grid gap-4 md:grid-cols-7",
181
- children: [/* @__PURE__ */ u(y, {
170
+ children: [/* @__PURE__ */ l(ne, {
182
171
  className: "col-span-4",
183
172
  children: [
184
- /* @__PURE__ */ l("div", {
173
+ /* @__PURE__ */ c("div", {
185
174
  className: "mb-1 text-lg font-semibold",
186
- children: U("crewfoundry.dashboard.departmentHeadcount.title", "Department Headcount")
175
+ children: R("crewfoundry.dashboard.departmentHeadcount.title", "Department Headcount")
187
176
  }),
188
- /* @__PURE__ */ l("p", {
177
+ /* @__PURE__ */ c("p", {
189
178
  className: "mb-4 text-sm text-text-secondary",
190
- children: U("crewfoundry.dashboard.departmentHeadcount.description", "Employee distribution across departments")
179
+ children: R("crewfoundry.dashboard.departmentHeadcount.description", "Employee distribution across departments")
191
180
  }),
192
- /* @__PURE__ */ l("div", {
181
+ /* @__PURE__ */ c("div", {
193
182
  className: "space-y-3",
194
- children: Object.entries(Q).sort(([, e], [, t]) => t - e).map(([e, t]) => /* @__PURE__ */ u("div", {
183
+ children: Object.entries(q).sort(([, e], [, t]) => t - e).map(([e, t]) => /* @__PURE__ */ l("div", {
195
184
  className: "flex items-center gap-3",
196
185
  children: [
197
- /* @__PURE__ */ l("span", {
186
+ /* @__PURE__ */ c("span", {
198
187
  className: "w-24 text-sm text-text-secondary truncate",
199
188
  children: e
200
189
  }),
201
- /* @__PURE__ */ l("div", {
190
+ /* @__PURE__ */ c("div", {
202
191
  className: "flex-1 h-4 bg-bg-sunken rounded overflow-hidden",
203
- children: /* @__PURE__ */ l("div", {
192
+ children: /* @__PURE__ */ c("div", {
204
193
  className: "h-4 bg-action-primary-bg rounded",
205
- style: { width: `${Math.round(t / $ * 100)}%` }
194
+ style: { width: `${Math.round(t / oe * 100)}%` }
206
195
  })
207
196
  }),
208
- /* @__PURE__ */ l("span", {
197
+ /* @__PURE__ */ c("span", {
209
198
  className: "text-sm font-medium w-8 text-right tabular-nums",
210
199
  children: t
211
200
  })
@@ -213,28 +202,28 @@ function D() {
213
202
  }, e))
214
203
  })
215
204
  ]
216
- }), /* @__PURE__ */ u(m, {
205
+ }), /* @__PURE__ */ l(f, {
217
206
  className: "col-span-3",
218
- children: [/* @__PURE__ */ u(_, {
207
+ children: [/* @__PURE__ */ l(h, {
219
208
  className: "flex flex-row items-center justify-between",
220
- children: [/* @__PURE__ */ l(v, { children: U("crewfoundry.dashboard.notifications.title", "Recent Notifications") }), /* @__PURE__ */ u(f, {
209
+ children: [/* @__PURE__ */ c(g, { children: R("crewfoundry.dashboard.notifications.title", "Recent Notifications") }), /* @__PURE__ */ l(u, {
221
210
  variant: "secondary",
222
211
  children: [
223
- Y,
212
+ W,
224
213
  " ",
225
- U("crewfoundry.dashboard.notifications.unread", "unread")
214
+ R("crewfoundry.dashboard.notifications.unread", "unread")
226
215
  ]
227
216
  })]
228
- }), /* @__PURE__ */ l(h, {
217
+ }), /* @__PURE__ */ c(p, {
229
218
  className: "space-y-4",
230
- children: P.slice(0, 5).map((e) => /* @__PURE__ */ u("div", {
219
+ children: j.slice(0, 5).map((e) => /* @__PURE__ */ l("div", {
231
220
  className: "flex items-start gap-3",
232
- children: [/* @__PURE__ */ l("div", { className: `mt-1 h-2 w-2 rounded-full flex-shrink-0 motion-safe:animate-vc-glow-pulse ${e.type === "success" ? "bg-status-success-text" : e.type === "warning" ? "bg-status-warning-text" : e.type === "error" ? "bg-status-error-text" : "bg-status-info-text"}` }), /* @__PURE__ */ u("div", {
221
+ children: [/* @__PURE__ */ c("div", { className: `mt-1 h-2 w-2 rounded-full flex-shrink-0 motion-safe:animate-vc-glow-pulse ${e.type === "success" ? "bg-status-success-text" : e.type === "warning" ? "bg-status-warning-text" : e.type === "error" ? "bg-status-error-text" : "bg-status-info-text"}` }), /* @__PURE__ */ l("div", {
233
222
  className: "flex-1 min-w-0",
234
- children: [/* @__PURE__ */ l("p", {
223
+ children: [/* @__PURE__ */ c("p", {
235
224
  className: `text-sm ${e.read ? "text-text-secondary" : "font-medium"}`,
236
225
  children: e.title
237
- }), /* @__PURE__ */ l("p", {
226
+ }), /* @__PURE__ */ c("p", {
238
227
  className: "text-xs text-text-secondary truncate",
239
228
  children: e.message
240
229
  })]
@@ -243,90 +232,120 @@ function D() {
243
232
  })]
244
233
  })]
245
234
  }),
246
- /* @__PURE__ */ u("div", {
235
+ /* @__PURE__ */ l("div", {
247
236
  className: "grid gap-4 md:grid-cols-2",
248
- children: [/* @__PURE__ */ u(m, { children: [/* @__PURE__ */ u(_, { children: [/* @__PURE__ */ l(v, { children: U("crewfoundry.dashboard.upcomingInterviews.title", "Upcoming Interviews") }), /* @__PURE__ */ l(g, { children: U("crewfoundry.dashboard.upcomingInterviews.description", "Scheduled for this week") })] }), /* @__PURE__ */ l(h, {
237
+ children: [/* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(h, { children: [/* @__PURE__ */ c(g, { children: R("crewfoundry.dashboard.upcomingInterviews.title", "Upcoming Interviews") }), /* @__PURE__ */ c(m, { children: R("crewfoundry.dashboard.upcomingInterviews.description", "Scheduled for this week") })] }), /* @__PURE__ */ l(p, {
249
238
  className: "space-y-3",
250
- children: F.filter((e) => e.status === "active").slice(0, 4).map((e) => /* @__PURE__ */ u("div", {
251
- className: "flex items-center justify-between rounded border p-3",
252
- children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
253
- className: "text-sm font-medium",
254
- children: e.name
255
- }), /* @__PURE__ */ l("p", {
256
- className: "text-xs text-text-secondary",
257
- children: e.teamName
258
- })] }), /* @__PURE__ */ u("div", {
259
- className: "flex items-center gap-2",
239
+ children: [
240
+ X.length === 0 && /* @__PURE__ */ c(y, {
241
+ illustration: "empty-data",
242
+ title: R("crewfoundry.dashboard.upcomingInterviews.emptyTitle", "No interviews scheduled"),
243
+ description: R("crewfoundry.dashboard.upcomingInterviews.emptyDescription", "Scheduled interviews will appear here.")
244
+ }),
245
+ X.map((e) => /* @__PURE__ */ l("div", {
246
+ className: "flex items-center justify-between rounded border p-3",
260
247
  children: [/* @__PURE__ */ l("div", {
261
- className: "w-24 h-2 bg-bg-sunken rounded overflow-hidden",
262
- children: /* @__PURE__ */ l("div", {
263
- className: "h-2 bg-action-primary-bg rounded",
264
- style: { width: `${e.progress}%` }
265
- })
266
- }), /* @__PURE__ */ u("span", {
267
- className: "text-xs text-text-secondary",
268
- children: [e.progress, "%"]
269
- })]
270
- })]
271
- }, e.id))
272
- })] }), /* @__PURE__ */ u(m, { children: [/* @__PURE__ */ u(_, { children: [/* @__PURE__ */ l(v, { children: U("crewfoundry.dashboard.leaveRequests.title", "Recent Leave Requests") }), /* @__PURE__ */ l(g, { children: U("crewfoundry.dashboard.leaveRequests.description", "Pending approval") })] }), /* @__PURE__ */ u(h, {
273
- className: "space-y-3",
274
- children: [N.length === 0 && /* @__PURE__ */ l(S, {
275
- illustration: "empty-data",
276
- title: U("crewfoundry.dashboard.leaveRequests.emptyTitle", "No leave requests"),
277
- description: U("crewfoundry.dashboard.leaveRequests.emptyDescription", "Pending leave requests will appear here.")
278
- }), N.map((e) => /* @__PURE__ */ u("div", {
279
- className: "flex items-center justify-between rounded border p-3",
280
- children: [/* @__PURE__ */ l("div", {
281
- className: "flex items-center gap-3",
282
- children: /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
283
- className: "text-sm font-medium",
284
- children: e.employeeName
285
- }), /* @__PURE__ */ u("div", {
286
- className: "flex items-center gap-2 text-xs text-text-secondary",
287
- children: [/* @__PURE__ */ l(a, { className: "h-3 w-3" }), /* @__PURE__ */ u("span", { children: [
288
- e.startDate,
289
- " - ",
290
- e.endDate
291
- ] })]
292
- })] })
293
- }), /* @__PURE__ */ u("div", {
294
- className: "flex items-center gap-2",
295
- children: [
296
- e.status === "pending" && /* @__PURE__ */ u("div", {
297
- className: "flex gap-1",
298
- children: [/* @__PURE__ */ l(p, {
299
- size: "sm",
300
- variant: "outline",
301
- className: "h-7 text-xs",
302
- disabled: z === e.id,
303
- onClick: () => void H(e.id, "rejected"),
304
- children: U("crewfoundry.dashboard.leaveRequests.reject", "Reject")
305
- }), /* @__PURE__ */ l(p, {
306
- size: "sm",
307
- className: "h-7 text-xs",
308
- disabled: z === e.id,
309
- onClick: () => void H(e.id, "approved"),
310
- children: U("crewfoundry.dashboard.leaveRequests.approve", "Approve")
248
+ className: "min-w-0",
249
+ children: [/* @__PURE__ */ c("p", {
250
+ className: "text-sm font-medium truncate",
251
+ children: e.candidateName
252
+ }), /* @__PURE__ */ c("p", {
253
+ className: "text-xs text-text-secondary truncate",
254
+ children: e.position
255
+ })]
256
+ }), /* @__PURE__ */ l("div", {
257
+ className: "flex items-center gap-2 flex-shrink-0",
258
+ children: [/* @__PURE__ */ l("div", {
259
+ className: "text-right",
260
+ children: [/* @__PURE__ */ c("p", {
261
+ className: "text-xs font-medium",
262
+ children: e.date
263
+ }), /* @__PURE__ */ c("p", {
264
+ className: "text-xs text-text-secondary",
265
+ children: e.time
311
266
  })]
312
- }),
313
- /* @__PURE__ */ l(f, {
314
- variant: e.status === "approved" ? "default" : e.status === "pending" ? "secondary" : "destructive",
315
- children: e.status
316
- }),
317
- /* @__PURE__ */ l(f, {
267
+ }), /* @__PURE__ */ c(u, {
318
268
  variant: "outline",
269
+ className: "text-[10px]",
319
270
  children: e.type
320
- })
321
- ]
322
- })]
323
- }, e.id))]
271
+ })]
272
+ })]
273
+ }, e.id)),
274
+ Y.length > X.length && /* @__PURE__ */ c(d, {
275
+ variant: "ghost",
276
+ size: "sm",
277
+ className: "w-full",
278
+ onClick: () => T("../../hiring/interviews-page"),
279
+ children: R("crewfoundry.dashboard.upcomingInterviews.viewAll", "View all interviews")
280
+ })
281
+ ]
282
+ })] }), /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(h, { children: [/* @__PURE__ */ c(g, { children: R("crewfoundry.dashboard.leaveRequests.title", "Recent Leave Requests") }), /* @__PURE__ */ c(m, { children: R("crewfoundry.dashboard.leaveRequests.description", "Pending approval") })] }), /* @__PURE__ */ l(p, {
283
+ className: "space-y-3",
284
+ children: [
285
+ A.length === 0 && /* @__PURE__ */ c(y, {
286
+ illustration: "empty-data",
287
+ title: R("crewfoundry.dashboard.leaveRequests.emptyTitle", "No leave requests"),
288
+ description: R("crewfoundry.dashboard.leaveRequests.emptyDescription", "Pending leave requests will appear here.")
289
+ }),
290
+ le.map((e) => /* @__PURE__ */ l("div", {
291
+ className: "flex items-center justify-between rounded border p-3",
292
+ children: [/* @__PURE__ */ c("div", {
293
+ className: "flex items-center gap-3",
294
+ children: /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("p", {
295
+ className: "text-sm font-medium",
296
+ children: e.employeeName
297
+ }), /* @__PURE__ */ l("div", {
298
+ className: "flex items-center gap-2 text-xs text-text-secondary",
299
+ children: [/* @__PURE__ */ c(a, { className: "h-3 w-3" }), /* @__PURE__ */ l("span", { children: [
300
+ e.startDate,
301
+ " - ",
302
+ e.endDate
303
+ ] })]
304
+ })] })
305
+ }), /* @__PURE__ */ l("div", {
306
+ className: "flex items-center gap-2",
307
+ children: [
308
+ e.status === "pending" && /* @__PURE__ */ l("div", {
309
+ className: "flex gap-1",
310
+ children: [/* @__PURE__ */ c(d, {
311
+ size: "sm",
312
+ variant: "outline",
313
+ className: "h-7 text-xs",
314
+ disabled: P === e.id,
315
+ onClick: () => void L(e.id, "rejected"),
316
+ children: R("crewfoundry.dashboard.leaveRequests.reject", "Reject")
317
+ }), /* @__PURE__ */ c(d, {
318
+ size: "sm",
319
+ className: "h-7 text-xs",
320
+ disabled: P === e.id,
321
+ onClick: () => void L(e.id, "approved"),
322
+ children: R("crewfoundry.dashboard.leaveRequests.approve", "Approve")
323
+ })]
324
+ }),
325
+ /* @__PURE__ */ c(u, {
326
+ variant: e.status === "approved" ? "default" : e.status === "pending" ? "secondary" : "destructive",
327
+ children: e.status
328
+ }),
329
+ /* @__PURE__ */ c(u, {
330
+ variant: "outline",
331
+ children: e.type
332
+ })
333
+ ]
334
+ })]
335
+ }, e.id)),
336
+ Z.length > Q && /* @__PURE__ */ c(re, {
337
+ page: se,
338
+ pageSize: Q,
339
+ totalItems: Z.length,
340
+ onPageChange: ce
341
+ })
342
+ ]
324
343
  })] })]
325
344
  })
326
345
  ]
327
346
  });
328
347
  }
329
348
  //#endregion
330
- export { D as DashboardDashboardPagePage };
349
+ export { w as DashboardDashboardPagePage };
331
350
 
332
351
  //# sourceMappingURL=DashboardDashboardPagePage.js.map