@burdenoff/microfe-crewfoundry 2026.704.6 → 2026.704.7

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 (148) hide show
  1. package/dist/crewfoundry/CrewFoundryRoutes.js +51 -43
  2. package/dist/crewfoundry/CrewFoundryRoutes.js.map +1 -1
  3. package/dist/crewfoundry/components/forms/formValues.js +5 -2
  4. package/dist/crewfoundry/components/forms/formValues.js.map +1 -1
  5. package/dist/crewfoundry/components/viz/AllocationBar.js +68 -0
  6. package/dist/crewfoundry/components/viz/AllocationBar.js.map +1 -0
  7. package/dist/crewfoundry/components/viz/AreaChart.js +102 -0
  8. package/dist/crewfoundry/components/viz/AreaChart.js.map +1 -0
  9. package/dist/crewfoundry/components/viz/AvatarStack.js +36 -0
  10. package/dist/crewfoundry/components/viz/AvatarStack.js.map +1 -0
  11. package/dist/crewfoundry/components/viz/BarChart.js +83 -0
  12. package/dist/crewfoundry/components/viz/BarChart.js.map +1 -0
  13. package/dist/crewfoundry/components/viz/CertificateCard.js +118 -0
  14. package/dist/crewfoundry/components/viz/CertificateCard.js.map +1 -0
  15. package/dist/crewfoundry/components/viz/DonutChart.js +109 -0
  16. package/dist/crewfoundry/components/viz/DonutChart.js.map +1 -0
  17. package/dist/crewfoundry/components/viz/HBarFunnel.js +54 -0
  18. package/dist/crewfoundry/components/viz/HBarFunnel.js.map +1 -0
  19. package/dist/crewfoundry/components/viz/Heatmap.js +91 -0
  20. package/dist/crewfoundry/components/viz/Heatmap.js.map +1 -0
  21. package/dist/crewfoundry/components/viz/KanbanBoard.js +50 -0
  22. package/dist/crewfoundry/components/viz/KanbanBoard.js.map +1 -0
  23. package/dist/crewfoundry/components/viz/LineChart.js +123 -0
  24. package/dist/crewfoundry/components/viz/LineChart.js.map +1 -0
  25. package/dist/crewfoundry/components/viz/OrgTree.js +83 -0
  26. package/dist/crewfoundry/components/viz/OrgTree.js.map +1 -0
  27. package/dist/crewfoundry/components/viz/PathSteps.js +68 -0
  28. package/dist/crewfoundry/components/viz/PathSteps.js.map +1 -0
  29. package/dist/crewfoundry/components/viz/ProgressRing.js +68 -0
  30. package/dist/crewfoundry/components/viz/ProgressRing.js.map +1 -0
  31. package/dist/crewfoundry/components/viz/RatingStars.js +51 -0
  32. package/dist/crewfoundry/components/viz/RatingStars.js.map +1 -0
  33. package/dist/crewfoundry/components/viz/SegmentedTabs.js +69 -0
  34. package/dist/crewfoundry/components/viz/SegmentedTabs.js.map +1 -0
  35. package/dist/crewfoundry/components/viz/SkillBar.js +3 -0
  36. package/dist/crewfoundry/components/viz/Sparkline.js +74 -0
  37. package/dist/crewfoundry/components/viz/Sparkline.js.map +1 -0
  38. package/dist/crewfoundry/components/viz/StatCard.js +60 -0
  39. package/dist/crewfoundry/components/viz/StatCard.js.map +1 -0
  40. package/dist/crewfoundry/components/viz/StepProgress.js +3 -0
  41. package/dist/crewfoundry/components/viz/Timeline.js +66 -0
  42. package/dist/crewfoundry/components/viz/Timeline.js.map +1 -0
  43. package/dist/crewfoundry/components/viz/index.js +23 -0
  44. package/dist/crewfoundry/components/viz/lib/Avatar.js +30 -0
  45. package/dist/crewfoundry/components/viz/lib/Avatar.js.map +1 -0
  46. package/dist/crewfoundry/components/viz/lib/CartesianFrame.js +119 -0
  47. package/dist/crewfoundry/components/viz/lib/CartesianFrame.js.map +1 -0
  48. package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.js +35 -0
  49. package/dist/crewfoundry/components/viz/lib/ResponsiveSvg.js.map +1 -0
  50. package/dist/crewfoundry/components/viz/lib/format.js +21 -0
  51. package/dist/crewfoundry/components/viz/lib/format.js.map +1 -0
  52. package/dist/crewfoundry/components/viz/lib/geometry.js +69 -0
  53. package/dist/crewfoundry/components/viz/lib/geometry.js.map +1 -0
  54. package/dist/crewfoundry/components/viz/lib/hooks.js +39 -0
  55. package/dist/crewfoundry/components/viz/lib/hooks.js.map +1 -0
  56. package/dist/crewfoundry/components/viz/lib/palette.js +27 -0
  57. package/dist/crewfoundry/components/viz/lib/palette.js.map +1 -0
  58. package/dist/crewfoundry/lib/analytics.js +323 -0
  59. package/dist/crewfoundry/lib/analytics.js.map +1 -0
  60. package/dist/crewfoundry/lib/companyFinance.js +16 -0
  61. package/dist/crewfoundry/lib/companyFinance.js.map +1 -0
  62. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +226 -283
  63. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  64. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +107 -120
  65. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -1
  66. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +122 -162
  67. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -1
  68. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +121 -158
  69. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -1
  70. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +316 -211
  71. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
  72. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +75 -27
  73. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  74. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +167 -165
  75. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  76. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +168 -109
  77. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  78. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +401 -290
  79. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  80. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +84 -75
  81. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -1
  82. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +368 -174
  83. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  84. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +236 -201
  85. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  86. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +369 -196
  87. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  88. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +269 -270
  89. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  90. package/dist/crewfoundry/pages/HiringJobsPagePage.js +210 -110
  91. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  92. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +216 -178
  93. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  94. package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.js +385 -0
  95. package/dist/crewfoundry/pages/HrEmployeeProfilePagePage.js.map +1 -0
  96. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +189 -130
  97. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  98. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +397 -241
  99. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  100. package/dist/crewfoundry/pages/HrPayrollPagePage.js +262 -147
  101. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  102. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +345 -167
  103. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  104. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +98 -24
  105. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -1
  106. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +1 -1
  107. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  108. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +289 -108
  109. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -1
  110. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +221 -114
  111. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  112. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +134 -135
  113. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  114. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +148 -97
  115. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  116. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +264 -157
  117. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  118. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +85 -93
  119. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -1
  120. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +211 -122
  121. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  122. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +94 -54
  123. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -1
  124. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +289 -140
  125. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -1
  126. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +169 -79
  127. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  128. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +296 -125
  129. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  130. package/dist/crewfoundry/pages/ProjectsResourcingPagePage.js +187 -0
  131. package/dist/crewfoundry/pages/ProjectsResourcingPagePage.js.map +1 -0
  132. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +140 -78
  133. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -1
  134. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +93 -43
  135. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -1
  136. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +250 -98
  137. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  138. package/dist/crewfoundry/store/crewfoundryStore.js +1 -1
  139. package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -1
  140. package/dist/crewfoundry/utils/cn.js +10 -0
  141. package/dist/crewfoundry/utils/cn.js.map +1 -0
  142. package/dist/crewfoundry/utils/courseProgress.js +46 -0
  143. package/dist/crewfoundry/utils/courseProgress.js.map +1 -0
  144. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  145. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  146. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -0
  147. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  148. package/package.json +1 -1
@@ -1,15 +1,19 @@
1
1
  import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { formatEnumLabel as t } from "../utils/formatEnumLabel.js";
3
- import { FormModal as n, useFormModal as r } from "../components/forms/FormModal.js";
4
- import { getNumber as i, getText as a, newClientId as o } from "../components/forms/formValues.js";
5
- import { useMemo as s } from "react";
6
- import { Calendar as c, CheckCircle as l, Clock as u, XCircle as d } from "lucide-react";
7
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
8
- import { Badge as m, Button as h, Card as g, CardContent as _, CardDescription as v, CardHeader as y, CardTitle as b, GlassCard as x, GradientText as S, PagePurpose as C, Pagination as w, ResponsiveTable as T } from "@burdenoff/fe-libs/ui";
9
- import { usePagination as E } from "@burdenoff/fe-libs/shared/hooks";
10
- import { useAuth as D, useGlobalUi as O } from "@burdenoff/fe-libs/shared/providers/shell";
3
+ import { StatCard as n } from "../components/viz/StatCard.js";
4
+ import { AvatarStack as r } from "../components/viz/AvatarStack.js";
5
+ import { SegmentedTabs as i } from "../components/viz/SegmentedTabs.js";
6
+ import "../components/viz/index.js";
7
+ import { FormModal as a, useFormModal as o } from "../components/forms/FormModal.js";
8
+ import { getNumber as s, getText as c, newClientId as l } from "../components/forms/formValues.js";
9
+ import { useMemo as u, useState as d } from "react";
10
+ import { Calendar as f, CheckCircle as p, ChevronLeft as m, ChevronRight as h, Clock as g, XCircle as _ } from "lucide-react";
11
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
12
+ import { Badge as b, Button as x, Card as S, CardContent as C, CardDescription as w, CardHeader as T, CardTitle as E, GradientText as D, PagePurpose as O, Pagination as ee, ResponsiveTable as te } from "@burdenoff/fe-libs/ui";
13
+ import { usePagination as k } from "@burdenoff/fe-libs/shared/hooks";
14
+ import { useAuth as A, useGlobalUi as j } from "@burdenoff/fe-libs/shared/providers/shell";
11
15
  //#region src/crewfoundry/pages/HrLeaveManagementPagePage.tsx
12
- var k = [
16
+ var ne = [
13
17
  {
14
18
  label: "Annual",
15
19
  value: "annual"
@@ -34,18 +38,167 @@ var k = [
34
38
  label: "Unpaid",
35
39
  value: "unpaid"
36
40
  }
37
- ], A = (e) => e.split("_").map((e) => e[0]?.toUpperCase() + e.slice(1)).join(" ");
38
- function j() {
39
- let { leaveRequests: j, employees: M, addLeaveRequest: N, updateLeaveRequest: P } = e(), { showToast: F } = O(), { currentUser: I } = D(), L = r(), R = I?.name || [I?.firstName, I?.lastName].filter(Boolean).join(" ") || I?.email || "Manager", z = s(() => M.map((e) => ({
41
+ ], M = (e) => e.split("_").map((e) => e[0]?.toUpperCase() + e.slice(1)).join(" "), N = {
42
+ annual: {
43
+ label: "Annual",
44
+ dot: "var(--color-status-success-text)",
45
+ cell: "bg-status-success-bg"
46
+ },
47
+ sick: {
48
+ label: "Sick",
49
+ dot: "var(--color-status-warning-text)",
50
+ cell: "bg-status-warning-bg"
51
+ },
52
+ personal: {
53
+ label: "Personal",
54
+ dot: "var(--color-status-info-text)",
55
+ cell: "bg-status-info-bg"
56
+ },
57
+ maternity: {
58
+ label: "Maternity",
59
+ dot: "var(--color-accent-purple)",
60
+ cell: "bg-bg-sunken"
61
+ },
62
+ paternity: {
63
+ label: "Paternity",
64
+ dot: "var(--color-accent-teal)",
65
+ cell: "bg-bg-sunken"
66
+ },
67
+ unpaid: {
68
+ label: "Unpaid",
69
+ dot: "var(--color-text-muted)",
70
+ cell: "bg-bg-sunken"
71
+ }
72
+ }, P = (e) => N[e] ?? {
73
+ label: M(e),
74
+ dot: "var(--color-accent-blue)",
75
+ cell: "bg-bg-sunken"
76
+ }, F = [
77
+ "January",
78
+ "February",
79
+ "March",
80
+ "April",
81
+ "May",
82
+ "June",
83
+ "July",
84
+ "August",
85
+ "September",
86
+ "October",
87
+ "November",
88
+ "December"
89
+ ], I = [
90
+ "Su",
91
+ "Mo",
92
+ "Tu",
93
+ "We",
94
+ "Th",
95
+ "Fr",
96
+ "Sa"
97
+ ], L = (e) => `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`, R = (e) => e.slice(0, 10);
98
+ function z({ leaveRequests: e, monthCursor: t, onPrev: n, onNext: r }) {
99
+ let i = t.getFullYear(), a = t.getMonth(), o = L(/* @__PURE__ */ new Date()), s = u(() => e.filter((e) => e.status === "approved" || e.status === "pending"), [e]), c = new Date(i, a, 1);
100
+ c.setDate(1 - c.getDay());
101
+ let l = Array.from({ length: 42 }, (e, t) => {
102
+ let n = new Date(c);
103
+ n.setDate(c.getDate() + t);
104
+ let r = L(n), i = /* @__PURE__ */ new Set();
105
+ for (let e of s) R(e.startDate) <= r && r <= R(e.endDate) && i.add(e.type);
106
+ return {
107
+ date: n,
108
+ dayStr: r,
109
+ inMonth: n.getMonth() === a,
110
+ types: [...i]
111
+ };
112
+ }), d = u(() => {
113
+ let e = /* @__PURE__ */ new Set();
114
+ for (let t of l) t.inMonth && t.types.forEach((t) => e.add(t));
115
+ return [...e];
116
+ }, [l]);
117
+ return /* @__PURE__ */ y(S, { children: [/* @__PURE__ */ y(T, {
118
+ className: "flex flex-row items-center justify-between space-y-0",
119
+ children: [/* @__PURE__ */ y(E, {
120
+ className: "text-base",
121
+ children: [
122
+ F[a],
123
+ " ",
124
+ i
125
+ ]
126
+ }), /* @__PURE__ */ y("div", {
127
+ className: "flex gap-1",
128
+ children: [/* @__PURE__ */ v(x, {
129
+ variant: "outline",
130
+ size: "sm",
131
+ className: "h-8 w-8 p-0",
132
+ "aria-label": "Previous month",
133
+ onClick: n,
134
+ children: /* @__PURE__ */ v(m, { className: "h-4 w-4" })
135
+ }), /* @__PURE__ */ v(x, {
136
+ variant: "outline",
137
+ size: "sm",
138
+ className: "h-8 w-8 p-0",
139
+ "aria-label": "Next month",
140
+ onClick: r,
141
+ children: /* @__PURE__ */ v(h, { className: "h-4 w-4" })
142
+ })]
143
+ })]
144
+ }), /* @__PURE__ */ y(C, {
145
+ className: "space-y-3",
146
+ children: [
147
+ /* @__PURE__ */ v("div", {
148
+ className: "grid grid-cols-7 gap-1 text-center text-xs font-medium text-text-secondary",
149
+ children: I.map((e) => /* @__PURE__ */ v("div", { children: e }, e))
150
+ }),
151
+ /* @__PURE__ */ v("div", {
152
+ className: "grid grid-cols-7 gap-1",
153
+ children: l.map((e) => {
154
+ let t = e.types[0], n = e.inMonth && t ? P(t).cell : "", r = e.dayStr === o;
155
+ return /* @__PURE__ */ y("div", {
156
+ className: `relative flex aspect-square flex-col items-center justify-center rounded-md text-xs ${n} ${e.inMonth ? "text-text-primary" : "text-text-muted"} ${r ? "ring-2 ring-action-primary-bg" : ""}`,
157
+ title: e.types.length > 0 ? `${e.dayStr}: ${e.types.map((e) => P(e).label).join(", ")}` : e.dayStr,
158
+ children: [/* @__PURE__ */ v("span", {
159
+ className: e.types.length > 0 ? "font-semibold" : "",
160
+ children: e.date.getDate()
161
+ }), e.types.length > 0 && /* @__PURE__ */ v("span", {
162
+ className: "mt-0.5 flex gap-0.5",
163
+ children: e.types.slice(0, 3).map((e) => /* @__PURE__ */ v("span", {
164
+ className: "h-1 w-1 rounded-full",
165
+ style: { backgroundColor: P(e).dot }
166
+ }, e))
167
+ })]
168
+ }, e.dayStr);
169
+ })
170
+ }),
171
+ d.length > 0 && /* @__PURE__ */ v("div", {
172
+ className: "flex flex-wrap gap-3 pt-1 text-xs text-text-secondary",
173
+ children: d.map((e) => /* @__PURE__ */ y("span", {
174
+ className: "flex items-center gap-1.5",
175
+ children: [/* @__PURE__ */ v("span", {
176
+ className: "h-2.5 w-2.5 rounded-full",
177
+ style: { backgroundColor: P(e).dot }
178
+ }), P(e).label]
179
+ }, e))
180
+ })
181
+ ]
182
+ })] });
183
+ }
184
+ function B() {
185
+ let { leaveRequests: m, employees: h, addLeaveRequest: N, updateLeaveRequest: F } = e(), { showToast: I } = j(), { currentUser: L } = A(), B = o(), [V, H] = d("requests"), U = u(() => new Map(h.map((e) => [e.id, e])), [h]), [W, G] = d(() => {
186
+ let e = m.filter((e) => e.status === "approved" || e.status === "pending").map((e) => R(e.startDate)).sort(), t = e[e.length - 1];
187
+ if (t) {
188
+ let [e, n] = t.split("-").map(Number);
189
+ return new Date(e, (n || 1) - 1, 1);
190
+ }
191
+ return /* @__PURE__ */ new Date();
192
+ }), K = (e) => G((t) => new Date(t.getFullYear(), t.getMonth() + e, 1)), q = L?.name || [L?.firstName, L?.lastName].filter(Boolean).join(" ") || L?.email || "Manager", J = u(() => h.map((e) => ({
40
193
  label: `${e.firstName} ${e.lastName}`,
41
194
  value: e.id
42
- })), [M]), B = s(() => [
195
+ })), [h]), Y = u(() => [
43
196
  {
44
197
  name: "employeeId",
45
198
  label: "Employee",
46
199
  type: "select",
47
200
  required: !0,
48
- options: z,
201
+ options: J,
49
202
  colSpan: 2
50
203
  },
51
204
  {
@@ -53,7 +206,7 @@ function j() {
53
206
  label: "Leave type",
54
207
  type: "select",
55
208
  required: !0,
56
- options: k
209
+ options: ne
57
210
  },
58
211
  {
59
212
  name: "days",
@@ -80,7 +233,7 @@ function j() {
80
233
  required: !0,
81
234
  colSpan: 2
82
235
  }
83
- ], [z]), V = j.filter((e) => e.status === "pending").length, H = j.filter((e) => e.status === "approved").length, U = j.filter((e) => e.status === "approved").reduce((e, t) => e + t.days, 0), W = s(() => {
236
+ ], [J]), X = m.filter((e) => e.status === "pending").length, re = m.filter((e) => e.status === "approved").length, ie = m.filter((e) => e.status === "approved").reduce((e, t) => e + t.days, 0), ae = u(() => {
84
237
  let e = {
85
238
  annual: 20,
86
239
  sick: 12,
@@ -88,50 +241,62 @@ function j() {
88
241
  maternity: 90,
89
242
  paternity: 30,
90
243
  unpaid: 15
91
- }, t = j.filter((e) => e.status === "approved").reduce((e, t) => (e[t.type] = (e[t.type] || 0) + t.days, e), {});
244
+ }, t = m.filter((e) => e.status === "approved").reduce((e, t) => (e[t.type] = (e[t.type] || 0) + t.days, e), {});
92
245
  return Object.entries(e).map(([e, n]) => {
93
246
  let r = t[e] || 0;
94
247
  return {
95
- type: A(e),
248
+ type: M(e),
96
249
  total: n,
97
250
  used: r,
98
251
  remaining: Math.max(n - r, 0)
99
252
  };
100
253
  });
101
- }, [j]), G = s(() => {
254
+ }, [m]), oe = u(() => {
102
255
  let e = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
103
- return j.filter((t) => t.status === "approved" && t.startDate <= e && t.endDate >= e).length;
104
- }, [j]), K = s(() => j.filter((e) => e.status === "pending"), [j]), q = s(() => [...j].sort((e, t) => t.startDate.localeCompare(e.startDate)), [j]), J = E({ initialPageSize: 5 }), Y = E({ initialPageSize: 10 }), X = K.slice(J.offset, J.offset + J.pageSize), Z = q.slice(Y.offset, Y.offset + Y.pageSize), Q = [
256
+ return m.filter((t) => t.status === "approved" && t.startDate <= e && t.endDate >= e).length;
257
+ }, [m]), Z = u(() => [...m].sort((e, t) => t.startDate.localeCompare(e.startDate)), [m]), Q = k({ initialPageSize: 10 }), se = Z.slice(Q.offset, Q.offset + Q.pageSize), ce = [
105
258
  {
106
259
  key: "employee",
107
260
  header: "Employee",
108
261
  priority: "primary",
109
- cell: (e) => /* @__PURE__ */ f("span", {
110
- className: "font-medium",
111
- children: e.employeeName
112
- })
113
- },
114
- {
115
- key: "department",
116
- header: "Department",
117
- cell: (e) => /* @__PURE__ */ f("span", {
118
- className: "text-text-secondary",
119
- children: e.department
262
+ cell: (e) => /* @__PURE__ */ y("div", {
263
+ className: "flex items-center gap-2.5",
264
+ children: [/* @__PURE__ */ v(r, {
265
+ people: [{
266
+ name: e.employeeName,
267
+ avatarUrl: U.get(e.employeeId)?.avatar
268
+ }],
269
+ size: 32
270
+ }), /* @__PURE__ */ y("div", {
271
+ className: "min-w-0",
272
+ children: [/* @__PURE__ */ v("p", {
273
+ className: "truncate font-medium",
274
+ children: e.employeeName
275
+ }), /* @__PURE__ */ v("p", {
276
+ className: "truncate text-xs text-text-secondary",
277
+ children: e.department
278
+ })]
279
+ })]
120
280
  })
121
281
  },
122
282
  {
123
283
  key: "type",
124
284
  header: "Type",
125
- cell: (e) => /* @__PURE__ */ f(m, {
126
- variant: "outline",
127
- className: "w-fit text-[10px]",
128
- children: t(e.type)
285
+ cell: (e) => /* @__PURE__ */ y("span", {
286
+ className: "flex items-center gap-1.5",
287
+ children: [/* @__PURE__ */ v("span", {
288
+ className: "h-2 w-2 rounded-full",
289
+ style: { backgroundColor: P(e.type).dot }
290
+ }), /* @__PURE__ */ v("span", {
291
+ className: "text-xs",
292
+ children: t(e.type)
293
+ })]
129
294
  })
130
295
  },
131
296
  {
132
297
  key: "period",
133
- header: "Period",
134
- cell: (e) => /* @__PURE__ */ p("span", {
298
+ header: "Dates",
299
+ cell: (e) => /* @__PURE__ */ y("span", {
135
300
  className: "text-xs",
136
301
  children: [
137
302
  e.startDate,
@@ -145,261 +310,252 @@ function j() {
145
310
  header: "Days",
146
311
  headerClassName: "text-right",
147
312
  cellClassName: "md:text-right",
148
- cell: (e) => /* @__PURE__ */ f("span", { children: e.days })
149
- },
150
- {
151
- key: "reason",
152
- header: "Reason",
153
- cell: (e) => /* @__PURE__ */ f("span", {
154
- className: "block max-w-[16rem] truncate text-xs text-text-secondary",
155
- children: e.reason
313
+ cell: (e) => /* @__PURE__ */ v("span", {
314
+ className: "tabular-nums",
315
+ children: e.days
156
316
  })
157
317
  },
158
318
  {
159
319
  key: "status",
160
320
  header: "Status",
161
- cell: (e) => /* @__PURE__ */ f(m, {
162
- variant: e.status === "approved" ? "default" : e.status === "pending" ? "secondary" : "destructive",
321
+ cell: (e) => e.status === "pending" ? /* @__PURE__ */ y("div", {
322
+ className: "flex items-center gap-1.5",
323
+ children: [/* @__PURE__ */ v(x, {
324
+ size: "sm",
325
+ className: "h-7 text-xs",
326
+ onClick: () => $(e, "approved"),
327
+ children: "Approve"
328
+ }), /* @__PURE__ */ v(x, {
329
+ size: "sm",
330
+ variant: "outline",
331
+ className: "h-7 text-xs",
332
+ onClick: () => $(e, "rejected"),
333
+ children: "Reject"
334
+ })]
335
+ }) : /* @__PURE__ */ v(b, {
336
+ variant: e.status === "approved" ? "default" : "destructive",
163
337
  className: "text-[10px]",
164
338
  children: t(e.status)
165
339
  })
166
340
  }
167
- ], ee = async (e) => {
168
- let t = a(e, "employeeId"), n = M.find((e) => e.id === t);
341
+ ], le = async (e) => {
342
+ let t = c(e, "employeeId"), n = h.find((e) => e.id === t);
169
343
  await N({
170
- id: o(),
344
+ id: l(),
171
345
  employeeId: t,
172
346
  employeeName: n ? `${n.firstName} ${n.lastName}` : "",
173
347
  department: n?.department ?? "",
174
- type: a(e, "type"),
175
- startDate: a(e, "startDate"),
176
- endDate: a(e, "endDate"),
177
- days: i(e, "days"),
348
+ type: c(e, "type"),
349
+ startDate: c(e, "startDate"),
350
+ endDate: c(e, "endDate"),
351
+ days: s(e, "days"),
178
352
  status: "pending",
179
- reason: a(e, "reason")
353
+ reason: c(e, "reason")
180
354
  });
181
355
  }, $ = async (e, t) => {
182
356
  try {
183
- await P(e.id, {
357
+ await F(e.id, {
184
358
  status: t,
185
- approverName: R
186
- });
359
+ approverName: q
360
+ }), I(`Leave ${t} for ${e.employeeName}`, "success");
187
361
  } catch (e) {
188
- F(e instanceof Error ? e.message : "Unable to update leave request", "error");
362
+ I(e instanceof Error ? e.message : "Unable to update leave request", "error");
189
363
  }
190
364
  };
191
- return /* @__PURE__ */ p("div", {
365
+ return /* @__PURE__ */ y("div", {
192
366
  className: "space-y-6 p-6",
193
367
  children: [
194
- /* @__PURE__ */ p("div", {
368
+ /* @__PURE__ */ y("div", {
195
369
  className: "flex items-center justify-between",
196
- children: [/* @__PURE__ */ p("div", { children: [
197
- /* @__PURE__ */ f("h1", {
370
+ children: [/* @__PURE__ */ y("div", { children: [
371
+ /* @__PURE__ */ v("h1", {
198
372
  className: "text-2xl font-semibold",
199
- children: /* @__PURE__ */ f(S, { children: "Leave Management" })
373
+ children: /* @__PURE__ */ v(D, { children: "Leave Management" })
200
374
  }),
201
- /* @__PURE__ */ f("p", {
375
+ /* @__PURE__ */ v("p", {
202
376
  className: "text-sm text-text-secondary",
203
377
  children: "Track and manage employee leave requests"
204
378
  }),
205
- /* @__PURE__ */ f(C, {
379
+ /* @__PURE__ */ v(O, {
206
380
  className: "mt-1",
207
381
  children: "Handle time-off in one place — review and approve leave requests and keep an eye on team availability and balances."
208
382
  })
209
- ] }), /* @__PURE__ */ p(h, {
383
+ ] }), /* @__PURE__ */ y(x, {
210
384
  size: "sm",
211
- onClick: () => L.openModal(),
212
- children: [/* @__PURE__ */ f(c, { className: "mr-1 h-4 w-4" }), "Request Leave"]
385
+ onClick: () => B.openModal(),
386
+ children: [/* @__PURE__ */ v(f, { className: "mr-1 h-4 w-4" }), "Request Leave"]
213
387
  })]
214
388
  }),
215
- /* @__PURE__ */ p("div", {
216
- className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
217
- children: [
218
- /* @__PURE__ */ p(x, {
219
- treatment: "glass",
220
- glow: !0,
221
- className: "border-border-seam",
222
- children: [/* @__PURE__ */ p(y, {
223
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
224
- children: [/* @__PURE__ */ f(b, {
225
- className: "text-sm font-medium",
226
- children: "Pending"
227
- }), /* @__PURE__ */ f(u, { className: "h-4 w-4 text-status-warning-text" })]
228
- }), /* @__PURE__ */ p(_, { children: [/* @__PURE__ */ f("div", {
229
- className: "text-2xl font-bold tabular-nums",
230
- children: V
231
- }), /* @__PURE__ */ f("p", {
232
- className: "text-xs text-text-secondary",
233
- children: "Awaiting approval"
234
- })] })]
235
- }),
236
- /* @__PURE__ */ p(x, {
237
- treatment: "metric",
238
- className: "border-border-seam",
239
- children: [/* @__PURE__ */ p(y, {
240
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
241
- children: [/* @__PURE__ */ f(b, {
242
- className: "text-sm font-medium",
243
- children: "Approved"
244
- }), /* @__PURE__ */ f(l, { className: "h-4 w-4 text-status-success-text" })]
245
- }), /* @__PURE__ */ p(_, { children: [/* @__PURE__ */ f("div", {
246
- className: "text-2xl font-bold tabular-nums",
247
- children: H
248
- }), /* @__PURE__ */ f("p", {
249
- className: "text-xs text-text-secondary",
250
- children: "Current period"
251
- })] })]
252
- }),
253
- /* @__PURE__ */ p(x, {
254
- treatment: "metric",
255
- className: "border-border-seam",
256
- children: [/* @__PURE__ */ p(y, {
257
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
258
- children: [/* @__PURE__ */ f(b, {
259
- className: "text-sm font-medium",
260
- children: "Days Used"
261
- }), /* @__PURE__ */ f(c, { className: "h-4 w-4 text-text-secondary" })]
262
- }), /* @__PURE__ */ p(_, { children: [/* @__PURE__ */ f("div", {
263
- className: "text-2xl font-bold tabular-nums",
264
- children: U
265
- }), /* @__PURE__ */ f("p", {
266
- className: "text-xs text-text-secondary",
267
- children: "Total approved days"
268
- })] })]
269
- }),
270
- /* @__PURE__ */ p(x, {
271
- treatment: "metric",
272
- className: "border-border-seam",
273
- children: [/* @__PURE__ */ p(y, {
274
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
275
- children: [/* @__PURE__ */ f(b, {
276
- className: "text-sm font-medium",
277
- children: "On Leave Today"
278
- }), /* @__PURE__ */ f(d, { className: "h-4 w-4 text-text-secondary" })]
279
- }), /* @__PURE__ */ p(_, { children: [/* @__PURE__ */ f("div", {
280
- className: "text-2xl font-bold tabular-nums",
281
- children: G
282
- }), /* @__PURE__ */ f("p", {
283
- className: "text-xs text-text-secondary",
284
- children: "Out of office"
285
- })] })]
286
- })
389
+ /* @__PURE__ */ v(i, {
390
+ "aria-label": "Leave views",
391
+ variant: "underline",
392
+ value: V,
393
+ onChange: H,
394
+ tabs: [
395
+ {
396
+ id: "requests",
397
+ label: "Requests"
398
+ },
399
+ {
400
+ id: "balances",
401
+ label: "Balances"
402
+ },
403
+ {
404
+ id: "calendar",
405
+ label: "Calendar"
406
+ }
287
407
  ]
288
408
  }),
289
- /* @__PURE__ */ p("div", {
290
- className: "grid gap-4 md:grid-cols-2",
291
- children: [/* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ f(b, { children: "Leave Balances" }), /* @__PURE__ */ f(v, { children: "Company-wide leave allocation (default policy) vs. approved days used" })] }), /* @__PURE__ */ f(_, {
292
- className: "space-y-4",
293
- children: W.map((e) => {
294
- let n = Math.round(e.used / Math.max(e.total, 1) * 100);
295
- return /* @__PURE__ */ p("div", {
296
- className: "space-y-1",
297
- children: [/* @__PURE__ */ p("div", {
298
- className: "flex justify-between text-sm",
299
- children: [/* @__PURE__ */ f("span", {
300
- className: "font-medium",
301
- children: t(e.type)
302
- }), /* @__PURE__ */ p("span", { children: [
409
+ V === "requests" && /* @__PURE__ */ y("div", {
410
+ className: "space-y-6",
411
+ children: [/* @__PURE__ */ y("div", {
412
+ className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
413
+ children: [
414
+ /* @__PURE__ */ v(n, {
415
+ label: "Pending",
416
+ value: X,
417
+ icon: /* @__PURE__ */ v(g, { className: "h-4 w-4" })
418
+ }),
419
+ /* @__PURE__ */ v(n, {
420
+ label: "Approved",
421
+ value: re,
422
+ icon: /* @__PURE__ */ v(p, { className: "h-4 w-4" })
423
+ }),
424
+ /* @__PURE__ */ v(n, {
425
+ label: "Days Used",
426
+ value: ie,
427
+ icon: /* @__PURE__ */ v(f, { className: "h-4 w-4" })
428
+ }),
429
+ /* @__PURE__ */ v(n, {
430
+ label: "On Leave Today",
431
+ value: oe,
432
+ icon: /* @__PURE__ */ v(_, { className: "h-4 w-4" })
433
+ })
434
+ ]
435
+ }), /* @__PURE__ */ y("div", {
436
+ className: "grid gap-6 xl:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]",
437
+ children: [/* @__PURE__ */ y(S, { children: [/* @__PURE__ */ y(T, { children: [/* @__PURE__ */ v(E, { children: "Leave Requests" }), /* @__PURE__ */ v(w, { children: "Approve or reject pending requests inline; full request history below." })] }), /* @__PURE__ */ y(C, {
438
+ className: "space-y-4",
439
+ children: [/* @__PURE__ */ v(te, {
440
+ data: se,
441
+ rowKey: (e) => e.id,
442
+ columns: ce,
443
+ emptyState: /* @__PURE__ */ v("p", {
444
+ className: "py-6 text-center text-sm text-text-secondary",
445
+ children: "No leave requests yet."
446
+ })
447
+ }), Z.length > Q.pageSize && /* @__PURE__ */ v(ee, {
448
+ page: Q.page,
449
+ pageSize: Q.pageSize,
450
+ totalItems: Z.length,
451
+ onPageChange: Q.setPage
452
+ })]
453
+ })] }), /* @__PURE__ */ v(z, {
454
+ leaveRequests: m,
455
+ monthCursor: W,
456
+ onPrev: () => K(-1),
457
+ onNext: () => K(1)
458
+ })]
459
+ })]
460
+ }),
461
+ V === "balances" && /* @__PURE__ */ y(S, { children: [/* @__PURE__ */ y(T, { children: [/* @__PURE__ */ v(E, { children: "Leave Balances" }), /* @__PURE__ */ v(w, { children: "Company-wide leave allocation (default policy) vs. approved days used" })] }), /* @__PURE__ */ v(C, {
462
+ className: "grid gap-x-8 gap-y-5 md:grid-cols-2",
463
+ children: ae.map((e) => {
464
+ let n = Math.round(e.used / Math.max(e.total, 1) * 100);
465
+ return /* @__PURE__ */ y("div", {
466
+ className: "space-y-1.5",
467
+ children: [/* @__PURE__ */ y("div", {
468
+ className: "flex justify-between text-sm",
469
+ children: [/* @__PURE__ */ v("span", {
470
+ className: "font-medium",
471
+ children: t(e.type)
472
+ }), /* @__PURE__ */ y("span", {
473
+ className: "text-text-secondary",
474
+ children: [
303
475
  e.used,
304
476
  "/",
305
477
  e.total,
306
- " days used"
307
- ] })]
308
- }), /* @__PURE__ */ f("div", {
309
- className: "h-2 overflow-hidden rounded bg-bg-sunken",
310
- children: /* @__PURE__ */ f("div", {
311
- className: `h-2 rounded ${n > 80 ? "bg-status-error-text" : n > 50 ? "bg-status-warning-text" : "bg-status-success-text"}`,
312
- style: { width: `${n}%` }
313
- })
478
+ " used · ",
479
+ e.remaining,
480
+ " left"
481
+ ]
314
482
  })]
315
- }, e.type);
316
- })
317
- })] }), /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ f(b, { children: "Pending Approvals" }), /* @__PURE__ */ f(v, { children: "Leave requests waiting for your review" })] }), /* @__PURE__ */ p(_, {
483
+ }), /* @__PURE__ */ v("div", {
484
+ className: "h-2.5 overflow-hidden rounded-full bg-bg-sunken",
485
+ children: /* @__PURE__ */ v("div", {
486
+ className: `h-2.5 rounded-full ${n > 80 ? "bg-status-error-text" : n > 50 ? "bg-status-warning-text" : "bg-status-success-text"}`,
487
+ style: { width: `${n}%` }
488
+ })
489
+ })]
490
+ }, e.type);
491
+ })
492
+ })] }),
493
+ V === "calendar" && /* @__PURE__ */ y("div", {
494
+ className: "grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)]",
495
+ children: [/* @__PURE__ */ v(z, {
496
+ leaveRequests: m,
497
+ monthCursor: W,
498
+ onPrev: () => K(-1),
499
+ onNext: () => K(1)
500
+ }), /* @__PURE__ */ y(S, { children: [/* @__PURE__ */ y(T, { children: [/* @__PURE__ */ v(E, { children: "Scheduled & requested leave" }), /* @__PURE__ */ v(w, { children: "Everyone who is out, most recent first" })] }), /* @__PURE__ */ y(C, {
318
501
  className: "space-y-3",
319
- children: [
320
- X.map((e) => /* @__PURE__ */ p("div", {
321
- className: "flex items-center justify-between rounded border p-3",
322
- children: [/* @__PURE__ */ p("div", { children: [
323
- /* @__PURE__ */ f("p", {
324
- className: "text-sm font-medium",
325
- children: e.employeeName
326
- }),
327
- /* @__PURE__ */ p("p", {
328
- className: "text-xs text-text-secondary",
329
- children: [
330
- t(e.type),
331
- " · ",
332
- e.days,
333
- " days · ",
334
- e.startDate,
335
- " to",
336
- " ",
337
- e.endDate
338
- ]
339
- }),
340
- /* @__PURE__ */ f("p", {
341
- className: "mt-1 text-xs text-text-secondary",
342
- children: e.reason
343
- })
344
- ] }), /* @__PURE__ */ p("div", {
345
- className: "flex gap-1",
346
- children: [/* @__PURE__ */ f(h, {
347
- size: "sm",
348
- variant: "outline",
349
- className: "h-7 text-xs",
350
- onClick: () => $(e, "rejected"),
351
- children: "Reject"
352
- }), /* @__PURE__ */ f(h, {
353
- size: "sm",
354
- className: "h-7 text-xs",
355
- onClick: () => $(e, "approved"),
356
- children: "Approve"
357
- })]
502
+ children: [Z.filter((e) => e.status === "approved" || e.status === "pending").slice(0, 8).map((e) => /* @__PURE__ */ y("div", {
503
+ className: "flex items-center justify-between gap-3 rounded-lg border border-border-subtle p-3",
504
+ children: [/* @__PURE__ */ y("div", {
505
+ className: "flex items-center gap-2.5",
506
+ children: [/* @__PURE__ */ v(r, {
507
+ people: [{
508
+ name: e.employeeName,
509
+ avatarUrl: U.get(e.employeeId)?.avatar
510
+ }],
511
+ size: 32
512
+ }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
513
+ className: "text-sm font-medium",
514
+ children: e.employeeName
515
+ }), /* @__PURE__ */ y("p", {
516
+ className: "flex items-center gap-1.5 text-xs text-text-secondary",
517
+ children: [
518
+ /* @__PURE__ */ v("span", {
519
+ className: "h-2 w-2 rounded-full",
520
+ style: { backgroundColor: P(e.type).dot }
521
+ }),
522
+ t(e.type),
523
+ " · ",
524
+ e.days,
525
+ " days"
526
+ ]
527
+ })] })]
528
+ }), /* @__PURE__ */ y("div", {
529
+ className: "text-right text-xs text-text-secondary",
530
+ children: [/* @__PURE__ */ y("p", { children: [
531
+ e.startDate,
532
+ " — ",
533
+ e.endDate
534
+ ] }), /* @__PURE__ */ v(b, {
535
+ variant: e.status === "approved" ? "default" : "secondary",
536
+ className: "mt-1 text-[10px]",
537
+ children: t(e.status)
358
538
  })]
359
- }, e.id)),
360
- V === 0 && /* @__PURE__ */ f("p", {
361
- className: "py-6 text-center text-sm text-text-secondary",
362
- children: "No leave requests are awaiting approval."
363
- }),
364
- K.length > J.pageSize && /* @__PURE__ */ f(w, {
365
- page: J.page,
366
- pageSize: J.pageSize,
367
- totalItems: K.length,
368
- onPageChange: J.setPage
369
- })
370
- ]
539
+ })]
540
+ }, e.id)), Z.filter((e) => e.status === "approved" || e.status === "pending").length === 0 && /* @__PURE__ */ v("p", {
541
+ className: "py-6 text-center text-sm text-text-secondary",
542
+ children: "No scheduled or requested leave."
543
+ })]
371
544
  })] })]
372
545
  }),
373
- /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ f(b, { children: "All Leave Requests" }), /* @__PURE__ */ f(v, { children: "Complete leave request history" })] }), /* @__PURE__ */ p(_, {
374
- className: "space-y-4",
375
- children: [/* @__PURE__ */ f(T, {
376
- data: Z,
377
- rowKey: (e) => e.id,
378
- columns: Q,
379
- emptyState: /* @__PURE__ */ f("p", {
380
- className: "py-6 text-center text-sm text-text-secondary",
381
- children: "No leave requests yet."
382
- })
383
- }), q.length > Y.pageSize && /* @__PURE__ */ f(w, {
384
- page: Y.page,
385
- pageSize: Y.pageSize,
386
- totalItems: q.length,
387
- onPageChange: Y.setPage
388
- })]
389
- })] }),
390
- /* @__PURE__ */ f(n, {
391
- open: L.open,
392
- onOpenChange: L.onOpenChange,
546
+ /* @__PURE__ */ v(a, {
547
+ open: B.open,
548
+ onOpenChange: B.onOpenChange,
393
549
  title: "Request leave",
394
550
  description: "Submit a new time-off request for review.",
395
- fields: B,
551
+ fields: Y,
396
552
  submitLabel: "Submit request",
397
- onSubmit: ee
553
+ onSubmit: le
398
554
  })
399
555
  ]
400
556
  });
401
557
  }
402
558
  //#endregion
403
- export { j as HrLeaveManagementPagePage };
559
+ export { B as HrLeaveManagementPagePage };
404
560
 
405
561
  //# sourceMappingURL=HrLeaveManagementPagePage.js.map