@burdenoff/microfe-crewfoundry 2026.704.2 → 2026.704.4

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