@burdenoff/microfe-crewfoundry 2026.625.2 → 2026.703.1

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 (82) hide show
  1. package/dist/crewfoundry/components/forms/ConfirmDialog.js +43 -0
  2. package/dist/crewfoundry/components/forms/ConfirmDialog.js.map +1 -0
  3. package/dist/crewfoundry/components/forms/FormModal.js +220 -0
  4. package/dist/crewfoundry/components/forms/FormModal.js.map +1 -0
  5. package/dist/crewfoundry/components/forms/formValues.js +20 -0
  6. package/dist/crewfoundry/components/forms/formValues.js.map +1 -0
  7. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +255 -65
  8. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
  9. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +28 -17
  10. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
  11. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +57 -53
  12. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
  13. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +32 -23
  14. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  15. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +44 -29
  16. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
  17. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +183 -57
  18. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  19. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
  20. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +214 -92
  21. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  22. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +165 -131
  23. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  24. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +163 -133
  25. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
  26. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +269 -54
  27. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  28. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +225 -78
  29. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  30. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +213 -59
  31. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  32. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +287 -90
  33. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  34. package/dist/crewfoundry/pages/HiringJobsPagePage.js +49 -47
  35. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  36. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +166 -59
  37. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  38. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +274 -83
  39. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  40. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +198 -88
  41. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  42. package/dist/crewfoundry/pages/HrPayrollPagePage.js +216 -88
  43. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  44. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +216 -66
  45. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  46. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +6 -7
  47. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
  48. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +83 -68
  49. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  50. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +167 -46
  51. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  52. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
  53. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +75 -55
  54. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  55. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +152 -79
  56. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  57. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +75 -63
  58. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  59. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +3 -1
  60. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
  61. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  62. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +235 -87
  63. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
  64. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +199 -86
  65. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  66. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
  67. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +21 -40
  68. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -1
  69. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +117 -45
  70. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
  71. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +249 -90
  72. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
  73. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +47 -45
  74. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  75. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
  76. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +262 -133
  77. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
  78. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +144 -77
  79. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  80. package/dist/crewfoundry/store/crewfoundryStore.js +306 -51
  81. package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -1
  82. package/package.json +1 -1
@@ -1,156 +1,182 @@
1
- import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
- import { useMemo as t } from "react";
3
- import { AlertTriangle as n, ArrowUpRight as r, Award as i, Bell as a, Briefcase as o, CheckCircle as s, MapPin as c, Star as l, Users as u, Zap as d } from "lucide-react";
4
- import { useNavigate as f } from "react-router-dom";
5
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
- import { Badge as h, Button as g, Card as _, CardContent as v, CardDescription as y, CardHeader as b, CardTitle as x, EmphasisPanel as S, GradientText as C, NextSteps as w, PagePurpose as T, Separator as E } from "@burdenoff/fe-libs/ui";
1
+ import { useCrewFoundry as e } from "../providers/CrewFoundryProvider.js";
2
+ import { useCrewFoundryStore as t } from "../store/crewfoundryStore.js";
3
+ import { useMemo as n, useState as r } from "react";
4
+ import { AlertTriangle as i, ArrowUpRight as a, Award as o, Bell as s, Briefcase as c, CheckCircle as l, MapPin as u, Star as d, Users as f, Zap as p } from "lucide-react";
5
+ import { useNavigate as m } from "react-router-dom";
6
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
7
+ import { Badge as _, Button as v, Card as y, CardContent as b, CardDescription as x, CardHeader as S, CardTitle as C, EmphasisPanel as w, GradientText as T, NextSteps as E, PagePurpose as D, Separator as O } from "@burdenoff/fe-libs/ui";
8
+ import { useGlobalUi as k } from "@burdenoff/fe-libs/shared/providers/shell";
7
9
  //#region src/crewfoundry/pages/DashboardEnhancedDashboardPagePage.tsx
8
- function D() {
9
- let D = f(), { employees: O, jobPostings: k, candidates: A, interviews: j, leaveRequests: M, notifications: N, projects: P, announcements: F } = e(), I = t(() => [
10
+ function A() {
11
+ let A = m(), { showToast: j } = k(), { currentUser: M } = e(), { employees: N, jobPostings: P, candidates: F, interviews: I, leaveRequests: L, notifications: R, projects: z, announcements: B, updateLeaveRequest: V } = t(), [H, U] = r(null), W = M?.name || [M?.firstName, M?.lastName].filter(Boolean).join(" ") || M?.email || "Manager", G = async (e, t) => {
12
+ U(e);
13
+ try {
14
+ await V(e, {
15
+ status: t,
16
+ approverName: W
17
+ }), j(t === "approved" ? "Leave approved" : "Leave rejected", "success");
18
+ } catch (e) {
19
+ j(e instanceof Error ? e.message : "Unable to update leave request", "error");
20
+ } finally {
21
+ U(null);
22
+ }
23
+ }, K = n(() => [
10
24
  {
11
- label: `Post New Job (${k.filter((e) => e.status === "active").length} active)`,
12
- icon: o,
13
- color: "text-status-info-text"
25
+ label: `Post New Job (${P.filter((e) => e.status === "active").length} active)`,
26
+ icon: c,
27
+ color: "text-status-info-text",
28
+ to: "../../hiring/create-job-page"
14
29
  },
15
30
  {
16
- label: `Review Candidates (${A.filter((e) => e.status === "new").length})`,
17
- icon: u,
18
- color: "text-action-primary-bg"
31
+ label: `Review Candidates (${F.filter((e) => e.status === "new").length})`,
32
+ icon: f,
33
+ color: "text-action-primary-bg",
34
+ to: "../../hiring/candidates-page"
19
35
  },
20
36
  {
21
- label: `Approve Leaves (${M.filter((e) => e.status === "pending").length})`,
22
- icon: s,
23
- color: "text-status-success-text"
37
+ label: `Approve Leaves (${L.filter((e) => e.status === "pending").length})`,
38
+ icon: l,
39
+ color: "text-status-success-text",
40
+ to: "../../hr/leave-management-page"
24
41
  },
25
42
  {
26
- label: `Run Payroll (${P.filter((e) => e.status === "active").length} projects)`,
27
- icon: d,
28
- color: "text-status-warning-text"
43
+ label: `Run Payroll (${z.filter((e) => e.status === "active").length} projects)`,
44
+ icon: p,
45
+ color: "text-status-warning-text",
46
+ to: "../../hr/payroll-page"
29
47
  }
30
48
  ], [
31
- A,
32
- k,
33
- M,
34
- P
35
- ]), L = t(() => [
49
+ F,
50
+ P,
51
+ L,
52
+ z
53
+ ]), q = n(() => [
36
54
  {
37
55
  goal: "Reduce time-to-hire to 25 days",
38
- current: Math.max(20, 40 - A.filter((e) => e.status === "hired").length),
56
+ current: Math.max(20, 40 - F.filter((e) => e.status === "hired").length),
39
57
  target: 25,
40
58
  unit: "days"
41
59
  },
42
60
  {
43
61
  goal: "Achieve 95% employee satisfaction",
44
- current: Math.round(O.reduce((e, t) => e + t.performanceScore, 0) / Math.max(O.length, 1) * 20),
62
+ current: Math.round(N.reduce((e, t) => e + t.performanceScore, 0) / Math.max(N.length, 1) * 20),
45
63
  target: 95,
46
64
  unit: "%"
47
65
  },
48
66
  {
49
67
  goal: "Fill 30 open positions by Q2",
50
- current: A.filter((e) => e.status === "hired").length,
68
+ current: F.filter((e) => e.status === "hired").length,
51
69
  target: 30,
52
70
  unit: "positions"
53
71
  },
54
72
  {
55
73
  goal: "Complete 80% training compliance",
56
- current: Math.min(100, 60 + Math.round(O.filter((e) => e.status === "active").length / Math.max(O.length, 1) * 30)),
74
+ current: Math.min(100, 60 + Math.round(N.filter((e) => e.status === "active").length / Math.max(N.length, 1) * 30)),
57
75
  target: 80,
58
76
  unit: "%"
59
77
  }
60
- ], [A, O]), R = j.filter((e) => e.status === "scheduled"), z = M.filter((e) => e.status === "pending"), B = N.filter((e) => !e.read), V = F.filter((e) => e.isPinned), H = [...O].sort((e, t) => t.performanceScore - e.performanceScore).slice(0, 5), U = [...O].sort((e, t) => t.startDate.localeCompare(e.startDate)).slice(0, 5), W = O.reduce((e, t) => (e[t.location] = (e[t.location] || 0) + 1, e), {});
61
- return /* @__PURE__ */ m("div", {
78
+ ], [F, N]), J = I.filter((e) => e.status === "scheduled"), Y = L.filter((e) => e.status === "pending"), X = R.filter((e) => !e.read), Z = B.filter((e) => e.isPinned), Q = [...N].sort((e, t) => t.performanceScore - e.performanceScore).slice(0, 5), $ = [...N].sort((e, t) => t.startDate.localeCompare(e.startDate)).slice(0, 5), ee = N.reduce((e, t) => (e[t.location] = (e[t.location] || 0) + 1, e), {});
79
+ return /* @__PURE__ */ g("div", {
62
80
  className: "space-y-6 p-6",
63
81
  children: [
64
- /* @__PURE__ */ m("div", {
82
+ /* @__PURE__ */ g("div", {
65
83
  className: "flex items-center justify-between",
66
- children: [/* @__PURE__ */ m("div", { children: [
67
- /* @__PURE__ */ p("h1", {
84
+ children: [/* @__PURE__ */ g("div", { children: [
85
+ /* @__PURE__ */ h("h1", {
68
86
  className: "text-2xl font-semibold",
69
- children: /* @__PURE__ */ p(C, { children: "Enhanced Dashboard" })
87
+ children: /* @__PURE__ */ h(T, { children: "Enhanced Dashboard" })
70
88
  }),
71
- /* @__PURE__ */ p("p", {
89
+ /* @__PURE__ */ h("p", {
72
90
  className: "text-sm text-text-secondary",
73
91
  children: "Complete workforce command center"
74
92
  }),
75
- /* @__PURE__ */ p(T, {
93
+ /* @__PURE__ */ h(D, {
76
94
  className: "mt-1",
77
95
  children: "A richer, customizable command center for your workforce — see live metrics, activity, and trends tailored to how you run your organization."
78
96
  })
79
- ] }), /* @__PURE__ */ m("div", {
97
+ ] }), /* @__PURE__ */ g("div", {
80
98
  className: "flex items-center gap-3",
81
- children: [/* @__PURE__ */ m("div", {
99
+ children: [/* @__PURE__ */ g("div", {
82
100
  className: "relative",
83
- children: [/* @__PURE__ */ p(a, { className: "h-5 w-5 text-text-secondary" }), B.length > 0 && /* @__PURE__ */ p("span", {
101
+ children: [/* @__PURE__ */ h(s, { className: "h-5 w-5 text-text-secondary" }), X.length > 0 && /* @__PURE__ */ h("span", {
84
102
  className: "absolute -top-1 -right-1 h-4 w-4 rounded-full bg-status-error-text text-[10px] text-white flex items-center justify-center",
85
- children: B.length
103
+ children: X.length
86
104
  })]
87
- }), /* @__PURE__ */ m(g, {
105
+ }), /* @__PURE__ */ g(v, {
88
106
  size: "sm",
89
- children: [/* @__PURE__ */ p(d, { className: "h-4 w-4 mr-1" }), "Quick Actions"]
107
+ onClick: () => A("../../hr/leave-management-page"),
108
+ children: [/* @__PURE__ */ h(p, { className: "h-4 w-4 mr-1" }), "Quick Actions"]
90
109
  })]
91
110
  })]
92
111
  }),
93
- /* @__PURE__ */ p(w, {
112
+ /* @__PURE__ */ h(E, {
94
113
  storageKey: "crewfoundry-enhanced-dashboard",
95
114
  steps: [
96
115
  {
97
116
  id: "hiring",
98
117
  label: "Move hiring forward",
99
118
  description: "Review open roles and applicants in your pipeline.",
100
- icon: /* @__PURE__ */ p(o, { className: "h-4 w-4" }),
101
- onClick: () => D("../../hiring/jobs-page")
119
+ icon: /* @__PURE__ */ h(c, { className: "h-4 w-4" }),
120
+ onClick: () => A("../../hiring/jobs-page")
102
121
  },
103
122
  {
104
123
  id: "people",
105
124
  label: "Check on your people",
106
125
  description: "See who is active, on leave, or needs attention.",
107
- icon: /* @__PURE__ */ p(u, { className: "h-4 w-4" }),
108
- onClick: () => D("../../hr/employees-page")
126
+ icon: /* @__PURE__ */ h(f, { className: "h-4 w-4" }),
127
+ onClick: () => A("../../hr/employees-page")
109
128
  },
110
129
  {
111
130
  id: "analytics",
112
131
  label: "Dig into analytics",
113
132
  description: "Explore deeper workforce and hiring trends.",
114
- icon: /* @__PURE__ */ p(r, { className: "h-4 w-4" }),
115
- onClick: () => D("../../analytics/analytics-page")
133
+ icon: /* @__PURE__ */ h(a, { className: "h-4 w-4" }),
134
+ onClick: () => A("../../analytics/analytics-page")
116
135
  }
117
136
  ]
118
137
  }),
119
- /* @__PURE__ */ p("div", {
138
+ /* @__PURE__ */ h("div", {
120
139
  className: "grid gap-3 md:grid-cols-4",
121
- children: I.map((e) => /* @__PURE__ */ p(_, {
140
+ children: K.map((e) => /* @__PURE__ */ h(y, {
141
+ role: "button",
142
+ tabIndex: 0,
143
+ "aria-label": e.label,
122
144
  className: "cursor-pointer hover:shadow-md transition-shadow",
123
- children: /* @__PURE__ */ m(v, {
145
+ onClick: () => A(e.to),
146
+ onKeyDown: (t) => {
147
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), A(e.to));
148
+ },
149
+ children: /* @__PURE__ */ g(b, {
124
150
  className: "flex items-center gap-3 p-4",
125
151
  children: [
126
- /* @__PURE__ */ p(e.icon, { className: `h-5 w-5 ${e.color}` }),
127
- /* @__PURE__ */ p("span", {
152
+ /* @__PURE__ */ h(e.icon, { className: `h-5 w-5 ${e.color}` }),
153
+ /* @__PURE__ */ h("span", {
128
154
  className: "text-sm font-medium",
129
155
  children: e.label
130
156
  }),
131
- /* @__PURE__ */ p(r, { className: "h-4 w-4 ml-auto text-text-secondary" })
157
+ /* @__PURE__ */ h(a, { className: "h-4 w-4 ml-auto text-text-secondary" })
132
158
  ]
133
159
  })
134
160
  }, e.label))
135
161
  }),
136
- V.length > 0 && /* @__PURE__ */ p(_, {
162
+ Z.length > 0 && /* @__PURE__ */ h(y, {
137
163
  className: "border-status-warning-text/30 bg-status-warning-bg/50",
138
- children: /* @__PURE__ */ p(v, {
164
+ children: /* @__PURE__ */ h(b, {
139
165
  className: "p-4",
140
- children: V.map((e) => /* @__PURE__ */ m("div", {
166
+ children: Z.map((e) => /* @__PURE__ */ g("div", {
141
167
  className: "flex items-start gap-3",
142
168
  children: [
143
- /* @__PURE__ */ p(n, { className: "h-4 w-4 text-status-warning-text mt-0.5" }),
144
- /* @__PURE__ */ m("div", { children: [
145
- /* @__PURE__ */ p("p", {
169
+ /* @__PURE__ */ h(i, { className: "h-4 w-4 text-status-warning-text mt-0.5" }),
170
+ /* @__PURE__ */ g("div", { children: [
171
+ /* @__PURE__ */ h("p", {
146
172
  className: "text-sm font-medium",
147
173
  children: e.title
148
174
  }),
149
- /* @__PURE__ */ m("p", {
175
+ /* @__PURE__ */ g("p", {
150
176
  className: "text-xs text-text-secondary mt-1",
151
177
  children: [e.content.slice(0, 120), "..."]
152
178
  }),
153
- /* @__PURE__ */ m("p", {
179
+ /* @__PURE__ */ g("p", {
154
180
  className: "text-xs text-text-secondary mt-1",
155
181
  children: [
156
182
  "— ",
@@ -160,7 +186,7 @@ function D() {
160
186
  ]
161
187
  })
162
188
  ] }),
163
- /* @__PURE__ */ p(h, {
189
+ /* @__PURE__ */ h(_, {
164
190
  variant: "outline",
165
191
  className: "ml-auto flex-shrink-0",
166
192
  children: e.priority
@@ -169,30 +195,30 @@ function D() {
169
195
  }, e.id))
170
196
  })
171
197
  }),
172
- /* @__PURE__ */ m("div", {
198
+ /* @__PURE__ */ g("div", {
173
199
  className: "grid gap-4 md:grid-cols-3",
174
200
  children: [
175
- /* @__PURE__ */ m(S, { children: [
176
- /* @__PURE__ */ p("div", {
201
+ /* @__PURE__ */ g(w, { children: [
202
+ /* @__PURE__ */ h("div", {
177
203
  className: "text-base font-semibold",
178
204
  children: "Company Goals"
179
205
  }),
180
- /* @__PURE__ */ p("p", {
206
+ /* @__PURE__ */ h("p", {
181
207
  className: "mb-4 text-sm text-text-secondary",
182
208
  children: "Q1 2026 targets"
183
209
  }),
184
- /* @__PURE__ */ p("div", {
210
+ /* @__PURE__ */ h("div", {
185
211
  className: "space-y-4",
186
- children: L.map((e) => {
212
+ children: q.map((e) => {
187
213
  let t = Math.round(e.current / e.target * 100);
188
- return /* @__PURE__ */ m("div", {
214
+ return /* @__PURE__ */ g("div", {
189
215
  className: "space-y-1",
190
- children: [/* @__PURE__ */ m("div", {
216
+ children: [/* @__PURE__ */ g("div", {
191
217
  className: "flex justify-between text-xs",
192
- children: [/* @__PURE__ */ p("span", {
218
+ children: [/* @__PURE__ */ h("span", {
193
219
  className: "text-text-secondary",
194
220
  children: e.goal
195
- }), /* @__PURE__ */ m("span", {
221
+ }), /* @__PURE__ */ g("span", {
196
222
  className: "font-medium",
197
223
  children: [
198
224
  e.current,
@@ -202,9 +228,9 @@ function D() {
202
228
  e.unit
203
229
  ]
204
230
  })]
205
- }), /* @__PURE__ */ p("div", {
231
+ }), /* @__PURE__ */ h("div", {
206
232
  className: "h-2 bg-bg-sunken rounded overflow-hidden",
207
- children: /* @__PURE__ */ p("div", {
233
+ children: /* @__PURE__ */ h("div", {
208
234
  className: `h-2 rounded ${t >= 90 ? "bg-status-success-text" : t >= 70 ? "bg-status-warning-text" : "bg-status-error-text"}`,
209
235
  style: { width: `${Math.min(t, 100)}%` }
210
236
  })
@@ -213,35 +239,35 @@ function D() {
213
239
  })
214
240
  })
215
241
  ] }),
216
- /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, {
242
+ /* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, {
217
243
  className: "text-base",
218
244
  children: "Upcoming Interviews"
219
- }), /* @__PURE__ */ m(y, { children: [R.length, " scheduled"] })] }), /* @__PURE__ */ p(v, {
245
+ }), /* @__PURE__ */ g(x, { children: [J.length, " scheduled"] })] }), /* @__PURE__ */ h(b, {
220
246
  className: "space-y-3",
221
- children: R.map((e) => /* @__PURE__ */ m("div", {
247
+ children: J.map((e) => /* @__PURE__ */ g("div", {
222
248
  className: "flex items-center gap-3 rounded border p-2",
223
249
  children: [
224
- /* @__PURE__ */ m("div", {
250
+ /* @__PURE__ */ g("div", {
225
251
  className: "flex-1 min-w-0",
226
- children: [/* @__PURE__ */ p("p", {
252
+ children: [/* @__PURE__ */ h("p", {
227
253
  className: "text-sm font-medium truncate",
228
254
  children: e.candidateName
229
- }), /* @__PURE__ */ p("p", {
255
+ }), /* @__PURE__ */ h("p", {
230
256
  className: "text-xs text-text-secondary",
231
257
  children: e.position
232
258
  })]
233
259
  }),
234
- /* @__PURE__ */ m("div", {
260
+ /* @__PURE__ */ g("div", {
235
261
  className: "text-right flex-shrink-0",
236
- children: [/* @__PURE__ */ p("p", {
262
+ children: [/* @__PURE__ */ h("p", {
237
263
  className: "text-xs font-medium",
238
264
  children: e.date
239
- }), /* @__PURE__ */ p("p", {
265
+ }), /* @__PURE__ */ h("p", {
240
266
  className: "text-xs text-text-secondary",
241
267
  children: e.time
242
268
  })]
243
269
  }),
244
- /* @__PURE__ */ p(h, {
270
+ /* @__PURE__ */ h(_, {
245
271
  variant: "outline",
246
272
  className: "text-[10px]",
247
273
  children: e.type
@@ -249,18 +275,18 @@ function D() {
249
275
  ]
250
276
  }, e.id))
251
277
  })] }),
252
- /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, {
278
+ /* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, {
253
279
  className: "text-base",
254
280
  children: "Pending Actions"
255
- }), /* @__PURE__ */ p(y, { children: "Items requiring your attention" })] }), /* @__PURE__ */ m(v, {
281
+ }), /* @__PURE__ */ h(x, { children: "Items requiring your attention" })] }), /* @__PURE__ */ g(b, {
256
282
  className: "space-y-3",
257
283
  children: [
258
- z.map((e) => /* @__PURE__ */ m("div", {
284
+ Y.map((e) => /* @__PURE__ */ g("div", {
259
285
  className: "flex items-center justify-between rounded border p-2",
260
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
286
+ children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
261
287
  className: "text-sm font-medium",
262
288
  children: e.employeeName
263
- }), /* @__PURE__ */ m("p", {
289
+ }), /* @__PURE__ */ g("p", {
264
290
  className: "text-xs text-text-secondary",
265
291
  children: [
266
292
  e.type,
@@ -268,53 +294,57 @@ function D() {
268
294
  e.days,
269
295
  " days"
270
296
  ]
271
- })] }), /* @__PURE__ */ m("div", {
297
+ })] }), /* @__PURE__ */ g("div", {
272
298
  className: "flex gap-1",
273
- children: [/* @__PURE__ */ p(g, {
299
+ children: [/* @__PURE__ */ h(v, {
274
300
  size: "sm",
275
301
  variant: "outline",
276
302
  className: "h-7 text-xs",
303
+ disabled: H === e.id,
304
+ onClick: () => void G(e.id, "rejected"),
277
305
  children: "Deny"
278
- }), /* @__PURE__ */ p(g, {
306
+ }), /* @__PURE__ */ h(v, {
279
307
  size: "sm",
280
308
  className: "h-7 text-xs",
309
+ disabled: H === e.id,
310
+ onClick: () => void G(e.id, "approved"),
281
311
  children: "Approve"
282
312
  })]
283
313
  })]
284
314
  }, e.id)),
285
- /* @__PURE__ */ p(E, {}),
286
- /* @__PURE__ */ m("div", {
315
+ /* @__PURE__ */ h(O, {}),
316
+ /* @__PURE__ */ g("div", {
287
317
  className: "text-xs text-text-secondary text-center",
288
- children: [A.filter((e) => e.status === "new").length, " new applications to review"]
318
+ children: [F.filter((e) => e.status === "new").length, " new applications to review"]
289
319
  })
290
320
  ]
291
321
  })] })
292
322
  ]
293
323
  }),
294
- /* @__PURE__ */ m("div", {
324
+ /* @__PURE__ */ g("div", {
295
325
  className: "grid gap-4 md:grid-cols-2",
296
- children: [/* @__PURE__ */ m(_, { children: [/* @__PURE__ */ p(b, { children: /* @__PURE__ */ m(x, {
326
+ children: [/* @__PURE__ */ g(y, { children: [/* @__PURE__ */ h(S, { children: /* @__PURE__ */ g(C, {
297
327
  className: "text-base flex items-center gap-2",
298
- children: [/* @__PURE__ */ p(i, { className: "h-4 w-4 text-status-warning-text" }), "Top Performers"]
299
- }) }), /* @__PURE__ */ p(v, {
328
+ children: [/* @__PURE__ */ h(o, { className: "h-4 w-4 text-status-warning-text" }), "Top Performers"]
329
+ }) }), /* @__PURE__ */ h(b, {
300
330
  className: "space-y-3",
301
- children: H.map((e, t) => /* @__PURE__ */ m("div", {
331
+ children: Q.map((e, t) => /* @__PURE__ */ g("div", {
302
332
  className: "flex items-center gap-3",
303
333
  children: [
304
- /* @__PURE__ */ m("span", {
334
+ /* @__PURE__ */ g("span", {
305
335
  className: "text-sm font-bold text-text-secondary w-5",
306
336
  children: ["#", t + 1]
307
337
  }),
308
- /* @__PURE__ */ m("div", {
338
+ /* @__PURE__ */ g("div", {
309
339
  className: "flex-1",
310
- children: [/* @__PURE__ */ m("p", {
340
+ children: [/* @__PURE__ */ g("p", {
311
341
  className: "text-sm font-medium",
312
342
  children: [
313
343
  e.firstName,
314
344
  " ",
315
345
  e.lastName
316
346
  ]
317
- }), /* @__PURE__ */ m("p", {
347
+ }), /* @__PURE__ */ g("p", {
318
348
  className: "text-xs text-text-secondary",
319
349
  children: [
320
350
  e.position,
@@ -323,35 +353,35 @@ function D() {
323
353
  ]
324
354
  })]
325
355
  }),
326
- /* @__PURE__ */ m("div", {
356
+ /* @__PURE__ */ g("div", {
327
357
  className: "flex items-center gap-1",
328
- children: [/* @__PURE__ */ p(l, { className: "h-3 w-3 text-status-warning-text" }), /* @__PURE__ */ p("span", {
358
+ children: [/* @__PURE__ */ h(d, { className: "h-3 w-3 text-status-warning-text" }), /* @__PURE__ */ h("span", {
329
359
  className: "text-sm font-medium",
330
360
  children: e.performanceScore
331
361
  })]
332
362
  })
333
363
  ]
334
364
  }, e.id))
335
- })] }), /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ p(b, { children: /* @__PURE__ */ m(x, {
365
+ })] }), /* @__PURE__ */ g(y, { children: [/* @__PURE__ */ h(S, { children: /* @__PURE__ */ g(C, {
336
366
  className: "text-base flex items-center gap-2",
337
- children: [/* @__PURE__ */ p(c, { className: "h-4 w-4" }), "Workforce Locations"]
338
- }) }), /* @__PURE__ */ p(v, {
367
+ children: [/* @__PURE__ */ h(u, { className: "h-4 w-4" }), "Workforce Locations"]
368
+ }) }), /* @__PURE__ */ h(b, {
339
369
  className: "space-y-3",
340
- children: Object.entries(W).sort(([, e], [, t]) => t - e).map(([e, t]) => /* @__PURE__ */ m("div", {
370
+ children: Object.entries(ee).sort(([, e], [, t]) => t - e).map(([e, t]) => /* @__PURE__ */ g("div", {
341
371
  className: "flex items-center justify-between",
342
- children: [/* @__PURE__ */ p("span", {
372
+ children: [/* @__PURE__ */ h("span", {
343
373
  className: "text-sm",
344
374
  children: e
345
- }), /* @__PURE__ */ m("div", {
375
+ }), /* @__PURE__ */ g("div", {
346
376
  className: "flex items-center gap-2",
347
- children: [/* @__PURE__ */ p("span", {
377
+ children: [/* @__PURE__ */ h("span", {
348
378
  className: "text-sm font-medium",
349
379
  children: t
350
- }), /* @__PURE__ */ m("span", {
380
+ }), /* @__PURE__ */ g("span", {
351
381
  className: "text-xs text-text-secondary",
352
382
  children: [
353
383
  "(",
354
- Math.round(t / O.length * 100),
384
+ Math.round(t / N.length * 100),
355
385
  "%)"
356
386
  ]
357
387
  })]
@@ -359,20 +389,20 @@ function D() {
359
389
  }, e))
360
390
  })] })]
361
391
  }),
362
- /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, { children: "Recent Hires" }), /* @__PURE__ */ p(y, { children: "Newest team members" })] }), /* @__PURE__ */ m(v, { children: [/* @__PURE__ */ m("div", {
392
+ /* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, { children: "Recent Hires" }), /* @__PURE__ */ h(x, { children: "Newest team members" })] }), /* @__PURE__ */ g(b, { children: [/* @__PURE__ */ g("div", {
363
393
  className: "grid grid-cols-6 gap-2 text-xs font-medium text-text-secondary border-b pb-2 mb-2",
364
394
  children: [
365
- /* @__PURE__ */ p("span", { children: "Name" }),
366
- /* @__PURE__ */ p("span", { children: "Position" }),
367
- /* @__PURE__ */ p("span", { children: "Department" }),
368
- /* @__PURE__ */ p("span", { children: "Location" }),
369
- /* @__PURE__ */ p("span", { children: "Start Date" }),
370
- /* @__PURE__ */ p("span", { children: "Type" })
395
+ /* @__PURE__ */ h("span", { children: "Name" }),
396
+ /* @__PURE__ */ h("span", { children: "Position" }),
397
+ /* @__PURE__ */ h("span", { children: "Department" }),
398
+ /* @__PURE__ */ h("span", { children: "Location" }),
399
+ /* @__PURE__ */ h("span", { children: "Start Date" }),
400
+ /* @__PURE__ */ h("span", { children: "Type" })
371
401
  ]
372
- }), U.map((e) => /* @__PURE__ */ m("div", {
402
+ }), $.map((e) => /* @__PURE__ */ g("div", {
373
403
  className: "grid grid-cols-6 gap-2 py-2 border-b last:border-0 text-sm",
374
404
  children: [
375
- /* @__PURE__ */ m("span", {
405
+ /* @__PURE__ */ g("span", {
376
406
  className: "font-medium",
377
407
  children: [
378
408
  e.firstName,
@@ -380,17 +410,17 @@ function D() {
380
410
  e.lastName
381
411
  ]
382
412
  }),
383
- /* @__PURE__ */ p("span", {
413
+ /* @__PURE__ */ h("span", {
384
414
  className: "text-text-secondary truncate",
385
415
  children: e.position
386
416
  }),
387
- /* @__PURE__ */ p("span", { children: e.department }),
388
- /* @__PURE__ */ p("span", {
417
+ /* @__PURE__ */ h("span", { children: e.department }),
418
+ /* @__PURE__ */ h("span", {
389
419
  className: "text-text-secondary truncate",
390
420
  children: e.location
391
421
  }),
392
- /* @__PURE__ */ p("span", { children: e.startDate }),
393
- /* @__PURE__ */ p(h, {
422
+ /* @__PURE__ */ h("span", { children: e.startDate }),
423
+ /* @__PURE__ */ h(_, {
394
424
  variant: "outline",
395
425
  className: "w-fit text-[10px]",
396
426
  children: e.type.replace("_", " ")
@@ -401,6 +431,6 @@ function D() {
401
431
  });
402
432
  }
403
433
  //#endregion
404
- export { D as DashboardEnhancedDashboardPagePage };
434
+ export { A as DashboardEnhancedDashboardPagePage };
405
435
 
406
436
  //# sourceMappingURL=DashboardEnhancedDashboardPagePage.js.map