@gusto/embedded-react-sdk 0.45.0 → 0.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -1
  3. package/dist/components/Common/DataView/DataCards/DataCards.js +14 -13
  4. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  5. package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +51 -50
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/DataView/DataView.d.ts +1 -0
  9. package/dist/components/Common/DataView/DataView.js.map +1 -1
  10. package/dist/components/Common/DataView/useDataView.d.ts +8 -1
  11. package/dist/components/Common/DataView/useDataView.js +20 -17
  12. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +20 -4
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  15. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +20 -4
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  17. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +22 -6
  18. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  19. package/dist/components/Company/BankAccount/BankAccountForm/context.js +20 -4
  20. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  21. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +20 -4
  22. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  23. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  24. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +28 -12
  25. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  26. package/dist/components/Company/Industry/Context.js +23 -7
  27. package/dist/components/Company/Industry/Context.js.map +1 -1
  28. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +20 -4
  29. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  30. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +20 -4
  31. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  32. package/dist/components/Company/OnboardingOverview/context.js +20 -4
  33. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  34. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  35. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +20 -4
  36. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  37. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +20 -4
  38. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  39. package/dist/components/Contractor/Address/useAddress.js +22 -6
  40. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  41. package/dist/components/Contractor/Profile/useContractorProfile.js +52 -42
  42. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  43. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.d.ts +9 -0
  44. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js +76 -0
  45. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js.map +1 -0
  46. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js +8 -0
  47. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js.map +1 -0
  48. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.d.ts +11 -0
  49. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +85 -0
  50. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -0
  51. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js +8 -0
  52. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.module.scss.js.map +1 -0
  53. package/dist/components/Employee/Compensation/management/EditCompensation/index.d.ts +3 -0
  54. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
  55. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +81 -0
  56. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -0
  57. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js +8 -0
  58. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js.map +1 -0
  59. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +18 -0
  60. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +171 -0
  61. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -0
  62. package/dist/components/Employee/Compensation/management/index.d.ts +6 -0
  63. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +6 -1
  64. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +67 -209
  65. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  66. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +18 -0
  67. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +169 -0
  68. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -0
  69. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +16 -0
  70. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +36 -30
  71. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
  72. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +1 -1
  73. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  74. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  75. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +212 -187
  76. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  77. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
  78. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +8 -0
  79. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +22 -17
  80. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
  81. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +12 -2
  82. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +115 -110
  83. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  84. package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +8 -3
  85. package/dist/components/Employee/Dashboard/BasicDetailsView.js +108 -84
  86. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  87. package/dist/components/Employee/Dashboard/Dashboard.d.ts +2 -0
  88. package/dist/components/Employee/Dashboard/Dashboard.js +86 -68
  89. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  90. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +8 -4
  91. package/dist/components/Employee/Dashboard/DashboardComponents.js +147 -93
  92. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  93. package/dist/components/Employee/Dashboard/DocumentsView.js +18 -11
  94. package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
  95. package/dist/components/Employee/Dashboard/JobAndPayView.js +304 -264
  96. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  97. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +10 -0
  98. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -0
  99. package/dist/components/Employee/Dashboard/TaxesView.d.ts +7 -2
  100. package/dist/components/Employee/Dashboard/TaxesView.js +68 -54
  101. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  102. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +152 -142
  103. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  104. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +6 -0
  105. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +13 -12
  106. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
  107. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.d.ts +12 -5
  108. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js +21 -21
  109. package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js.map +1 -1
  110. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +13 -3
  111. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +53 -55
  112. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
  113. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.d.ts +10 -4
  114. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js +10 -12
  115. package/dist/components/Employee/Dashboard/hooks/useEmployeeForms.js.map +1 -1
  116. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.d.ts +10 -3
  117. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js +19 -14
  118. package/dist/components/Employee/Dashboard/hooks/useEmployeeTaxes.js.map +1 -1
  119. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  120. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  121. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +20 -4
  122. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  123. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  124. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +37 -40
  125. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  126. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +1 -2
  127. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +64 -71
  128. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  129. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +2 -0
  130. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +25 -0
  131. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -0
  132. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +13 -0
  133. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +37 -0
  134. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -0
  135. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +6 -0
  136. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +69 -0
  137. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -0
  138. package/dist/components/Employee/EmployeeListFlow/index.d.ts +3 -0
  139. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  140. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +15 -12
  141. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  142. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -1
  143. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +86 -83
  144. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  145. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  146. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  147. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  148. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
  149. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  150. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  151. package/dist/components/Employee/Taxes/useTaxes.js +20 -4
  152. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  153. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +14 -11
  154. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  155. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -1
  156. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +92 -89
  157. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  158. package/dist/components/Employee/exports/employeeManagement.d.ts +2 -0
  159. package/dist/components/Employee/exports/employeeManagement.js +18 -16
  160. package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
  161. package/dist/components/Employee/index.d.ts +2 -0
  162. package/dist/components/Employee/index.js +32 -30
  163. package/dist/components/Employee/index.js.map +1 -1
  164. package/dist/components/Flow/FlowHeader.js +34 -31
  165. package/dist/components/Flow/FlowHeader.js.map +1 -1
  166. package/dist/components/Flow/useFlow.d.ts +12 -0
  167. package/dist/components/Flow/useFlow.js.map +1 -1
  168. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +34 -26
  169. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  170. package/dist/components/Payroll/usePreparedPayrollData.js +36 -22
  171. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  172. package/dist/components/TimeOff/PolicyList/PolicyList.js +92 -69
  173. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  174. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +23 -23
  175. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  176. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +52 -40
  177. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  178. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  179. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  180. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +73 -56
  181. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  182. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +58 -58
  183. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  184. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  185. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +91 -87
  186. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  187. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  188. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +91 -124
  189. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  190. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  191. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +72 -87
  192. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  193. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -6
  194. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +160 -220
  195. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  196. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +7 -3
  197. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +77 -54
  198. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  199. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.test.d.ts +1 -0
  200. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +12 -11
  201. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
  202. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +177 -147
  203. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  204. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -1
  205. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +38 -36
  206. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  207. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
  208. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +10 -10
  209. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +17 -15
  210. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -1
  211. package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +9 -9
  212. package/dist/i18n/en/Employee.Compensation.json.js +68 -56
  213. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  214. package/dist/i18n/en/Employee.Dashboard.json.js +26 -24
  215. package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
  216. package/dist/i18n/en/Employee.DocumentManager.json.js +1 -1
  217. package/dist/i18n/en/Employee.HomeAddress.Management.json.js +12 -10
  218. package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -1
  219. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +32 -30
  220. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  221. package/dist/i18n/en/Employee.WorkAddress.Management.json.js +16 -14
  222. package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -1
  223. package/dist/i18n/en/common.json.d.ts +21 -0
  224. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -32
  225. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  226. package/dist/partner-hook-utils/types.d.ts +4 -0
  227. package/dist/shared/constants.d.ts +4 -0
  228. package/dist/shared/constants.js +20 -18
  229. package/dist/shared/constants.js.map +1 -1
  230. package/dist/style.css +1 -1
  231. package/dist/types/i18next.d.ts +45 -11
  232. package/docs/reference/endpoint-inventory.json +24 -8
  233. package/package.json +1 -1
@@ -1,64 +1,87 @@
1
- import { useState as h, useDeferredValue as x, useMemo as S, useCallback as l } from "react";
2
- import { useEmployeesListSuspense as D } from "@gusto/embedded-api/react-query/employeesList";
3
- import { Include as M } from "@gusto/embedded-api/models/operations/getv1companiescompanyidemployees";
4
- import { usePagination as j } from "../../../../hooks/usePagination/usePagination.js";
5
- function F(g, P) {
6
- const [y, i] = h(
7
- () => new Set(P ?? [])
8
- ), [d, u] = h(""), c = x(d), { currentPage: m, itemsPerPage: p, getPaginationProps: b, resetPage: a } = j(), { data: n, isFetching: r } = D({
9
- companyId: g,
1
+ import { useState as x, useMemo as M, useCallback as f } from "react";
2
+ import { useEmployeesListSuspense as R, buildEmployeesListQuery as _ } from "@gusto/embedded-api/react-query/employeesList";
3
+ import { useGustoEmbeddedContext as L } from "@gusto/embedded-api/react-query/_context";
4
+ import { useSuspenseQueries as T } from "@tanstack/react-query";
5
+ import { Include as h } from "@gusto/embedded-api/models/operations/getv1companiescompanyidemployees";
6
+ import { useClientPagination as O } from "../../../../hooks/useClientPagination/useClientPagination.js";
7
+ const g = 100;
8
+ function v(t) {
9
+ if (!t) return !1;
10
+ const a = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
11
+ return t <= a;
12
+ }
13
+ function S(t, a) {
14
+ return `${t.firstName ?? ""} ${t.lastName ?? ""}`.toLowerCase().includes(a.toLowerCase());
15
+ }
16
+ function k(t, a) {
17
+ const y = L(), [E, m] = x(() => /* @__PURE__ */ new Set()), { data: r, isFetching: b } = R({
18
+ companyId: t,
10
19
  terminated: !1,
11
- page: m,
12
- per: p,
13
- include: [M.AllCompensations],
14
- ...c ? { searchTerm: c } : {}
15
- }), w = S(
16
- () => (n.showEmployees ?? []).map((e) => ({
17
- uuid: e.uuid,
18
- firstName: e.firstName,
19
- lastName: e.lastName,
20
- jobTitle: e.jobs?.find((s) => s.primary)?.title ?? null,
21
- department: e.department ?? null,
22
- eligiblePaidTimeOff: e.eligiblePaidTimeOff
23
- })),
24
- [n.showEmployees]
25
- ), E = S(
26
- () => b(n.httpMeta.response.headers, r),
27
- // eslint-disable-next-line react-hooks/exhaustive-deps
28
- [n.httpMeta.response.headers, r, m, p]
29
- ), C = l((e, s) => {
30
- i((o) => {
31
- const t = new Set(o);
32
- return s ? t.add(e.uuid) : t.delete(e.uuid), t;
33
- });
34
- }, []), N = l((e, s) => {
35
- i((o) => {
36
- const t = new Set(o);
37
- for (const f of s)
38
- e ? t.add(f.uuid) : t.delete(f.uuid);
39
- return t;
20
+ page: 1,
21
+ per: g,
22
+ include: [h.AllCompensations]
23
+ }), C = Number(r.httpMeta.response.headers.get("x-total-pages") ?? 1), u = T({
24
+ queries: Array.from(
25
+ { length: Math.max(0, C - 1) },
26
+ (s, e) => _(y, {
27
+ companyId: t,
28
+ terminated: !1,
29
+ page: e + 2,
30
+ per: g,
31
+ include: [h.AllCompensations]
32
+ })
33
+ )
34
+ }), n = M(() => [
35
+ ...r.showEmployees ?? [],
36
+ ...u.flatMap((e) => e.data.showEmployees ?? [])
37
+ ].filter((e) => v((e.jobs?.find((i) => i.primary) ?? e.jobs?.[0])?.hireDate)).filter((e) => !a?.has(e.uuid)).map((e) => ({
38
+ uuid: e.uuid,
39
+ firstName: e.firstName,
40
+ lastName: e.lastName,
41
+ jobTitle: e.jobs?.find((i) => i.primary)?.title ?? e.jobs?.[0]?.title ?? null,
42
+ department: e.department ?? null,
43
+ eligiblePaidTimeOff: e.eligiblePaidTimeOff
44
+ })), [r.showEmployees, u, a]), {
45
+ data: w,
46
+ pagination: P,
47
+ searchValue: l,
48
+ actions: d
49
+ } = O(n, {
50
+ searchPredicate: S
51
+ }), A = u.some((s) => s.isFetching), N = b || A, F = f((s, e) => {
52
+ m((i) => {
53
+ const o = new Set(i);
54
+ return e ? o.add(s.uuid) : o.delete(s.uuid), o;
40
55
  });
41
- }, []), T = l(
42
- (e) => {
43
- u(e), a();
56
+ }, []), j = f(
57
+ (s, e) => {
58
+ const i = l ? n.filter((o) => S(o, l)) : n;
59
+ m((o) => {
60
+ const c = new Set(o);
61
+ for (const p of i)
62
+ s ? c.add(p.uuid) : c.delete(p.uuid);
63
+ return c;
64
+ });
44
65
  },
45
- [a]
46
- ), V = l(() => {
47
- u(""), a();
48
- }, [a]);
66
+ [n, l]
67
+ );
49
68
  return {
50
69
  filteredEmployees: w,
51
- selectedUuids: y,
52
- searchValue: d,
53
- pagination: E,
54
- isFetching: r,
55
- handleSelect: C,
56
- handleSelectAll: N,
57
- handleSearchChange: T,
58
- handleSearchClear: V
70
+ eligibleEmployees: n,
71
+ eligibleCount: n.length,
72
+ selectedUuids: E,
73
+ searchValue: l,
74
+ pagination: P,
75
+ isFetching: N,
76
+ handleSelect: F,
77
+ handleSelectAll: j,
78
+ handleSearchChange: d.onSearchChange,
79
+ handleSearchClear: d.onSearchClear
59
80
  };
60
81
  }
61
82
  export {
62
- F as useSelectEmployeesData
83
+ v as isStartedByToday,
84
+ S as matchesEmployeeSearch,
85
+ k as useSelectEmployeesData
63
86
  };
64
87
  //# sourceMappingURL=useSelectEmployeesData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectEmployeesData.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.ts"],"sourcesContent":["import { useCallback, useDeferredValue, useMemo, useState } from 'react'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { Include } from '@gusto/embedded-api/models/operations/getv1companiescompanyidemployees'\nimport type { PaidTimeOff } from '@gusto/embedded-api/models/components/paidtimeoff'\nimport type { EmployeeItem } from './SelectEmployeesPresentationTypes'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\nexport function useSelectEmployeesData(companyId: string, initialSelectedUuids?: Set<string>) {\n const [selectedUuids, setSelectedUuids] = useState<Set<string>>(\n () => new Set(initialSelectedUuids ?? []),\n )\n const [searchValue, setSearchValue] = useState('')\n const deferredSearchValue = useDeferredValue(searchValue)\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\n\n // include: all_compensations is required to populate eligiblePaidTimeOff,\n // which carries each employee's current balance on their existing time-off\n // policies — used to pre-fill carry-over balances for selection.\n const { data: employeesData, isFetching } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n page: currentPage,\n per: itemsPerPage,\n include: [Include.AllCompensations],\n ...(deferredSearchValue ? { searchTerm: deferredSearchValue } : {}),\n })\n\n const filteredEmployees = useMemo<EmployeeItem[]>(\n () =>\n (employeesData.showEmployees ?? []).map(e => ({\n uuid: e.uuid,\n firstName: e.firstName,\n lastName: e.lastName,\n jobTitle: e.jobs?.find(job => job.primary)?.title ?? null,\n department: e.department ?? null,\n eligiblePaidTimeOff: e.eligiblePaidTimeOff as PaidTimeOff[] | undefined,\n })),\n [employeesData.showEmployees],\n )\n\n const pagination = useMemo(\n () => getPaginationProps(employeesData.httpMeta.response.headers, isFetching),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [employeesData.httpMeta.response.headers, isFetching, currentPage, itemsPerPage],\n )\n\n const handleSelect = useCallback((item: EmployeeItem, checked: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (checked) next.add(item.uuid)\n else next.delete(item.uuid)\n return next\n })\n }, [])\n\n const handleSelectAll = useCallback((checked: boolean, visibleItems: EmployeeItem[]) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of visibleItems) {\n if (checked) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n const handleSearchChange = useCallback(\n (value: string) => {\n setSearchValue(value)\n resetPage()\n },\n [resetPage],\n )\n\n const handleSearchClear = useCallback(() => {\n setSearchValue('')\n resetPage()\n }, [resetPage])\n\n return {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n }\n}\n"],"names":["useSelectEmployeesData","companyId","initialSelectedUuids","selectedUuids","setSelectedUuids","useState","searchValue","setSearchValue","deferredSearchValue","useDeferredValue","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","employeesData","isFetching","useEmployeesListSuspense","Include","filteredEmployees","useMemo","job","pagination","handleSelect","useCallback","item","checked","prev","next","handleSelectAll","visibleItems","handleSearchChange","value","handleSearchClear"],"mappings":";;;;AAOO,SAASA,EAAuBC,GAAmBC,GAAoC;AAC5F,QAAM,CAACC,GAAeC,CAAgB,IAAIC;AAAA,IACxC,MAAM,IAAI,IAAIH,KAAwB,CAAA,CAAE;AAAA,EAAA,GAEpC,CAACI,GAAaC,CAAc,IAAIF,EAAS,EAAE,GAC3CG,IAAsBC,EAAiBH,CAAW,GAClD,EAAE,aAAAI,GAAa,cAAAC,GAAc,oBAAAC,GAAoB,WAAAC,EAAA,IAAcC,EAAA,GAK/D,EAAE,MAAMC,GAAe,YAAAC,EAAA,IAAeC,EAAyB;AAAA,IACnE,WAAAhB;AAAA,IACA,YAAY;AAAA,IACZ,MAAMS;AAAA,IACN,KAAKC;AAAA,IACL,SAAS,CAACO,EAAQ,gBAAgB;AAAA,IAClC,GAAIV,IAAsB,EAAE,YAAYA,MAAwB,CAAA;AAAA,EAAC,CAClE,GAEKW,IAAoBC;AAAA,IACxB,OACGL,EAAc,iBAAiB,CAAA,GAAI,IAAI,CAAA,OAAM;AAAA,MAC5C,MAAM,EAAE;AAAA,MACR,WAAW,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,UAAU,EAAE,MAAM,KAAK,OAAOM,EAAI,OAAO,GAAG,SAAS;AAAA,MACrD,YAAY,EAAE,cAAc;AAAA,MAC5B,qBAAqB,EAAE;AAAA,IAAA,EACvB;AAAA,IACJ,CAACN,EAAc,aAAa;AAAA,EAAA,GAGxBO,IAAaF;AAAA,IACjB,MAAMR,EAAmBG,EAAc,SAAS,SAAS,SAASC,CAAU;AAAA;AAAA,IAE5E,CAACD,EAAc,SAAS,SAAS,SAASC,GAAYN,GAAaC,CAAY;AAAA,EAAA,GAG3EY,IAAeC,EAAY,CAACC,GAAoBC,MAAqB;AACzE,IAAAtB,EAAiB,CAAAuB,MAAQ;AACvB,YAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,aAAID,IAASE,EAAK,IAAIH,EAAK,IAAI,IAC1BG,EAAK,OAAOH,EAAK,IAAI,GACnBG;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECC,IAAkBL,EAAY,CAACE,GAAkBI,MAAiC;AACtF,IAAA1B,EAAiB,CAAAuB,MAAQ;AACvB,YAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,iBAAWF,KAAQK;AACjB,QAAIJ,IAASE,EAAK,IAAIH,EAAK,IAAI,IAC1BG,EAAK,OAAOH,EAAK,IAAI;AAE5B,aAAOG;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECG,IAAqBP;AAAA,IACzB,CAACQ,MAAkB;AACjB,MAAAzB,EAAeyB,CAAK,GACpBnB,EAAA;AAAA,IACF;AAAA,IACA,CAACA,CAAS;AAAA,EAAA,GAGNoB,IAAoBT,EAAY,MAAM;AAC1C,IAAAjB,EAAe,EAAE,GACjBM,EAAA;AAAA,EACF,GAAG,CAACA,CAAS,CAAC;AAEd,SAAO;AAAA,IACL,mBAAAM;AAAA,IACA,eAAAhB;AAAA,IACA,aAAAG;AAAA,IACA,YAAAgB;AAAA,IACA,YAAAN;AAAA,IACA,cAAAO;AAAA,IACA,iBAAAM;AAAA,IACA,oBAAAE;AAAA,IACA,mBAAAE;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useSelectEmployeesData.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport {\n buildEmployeesListQuery,\n useEmployeesListSuspense,\n} from '@gusto/embedded-api/react-query/employeesList'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { useSuspenseQueries } from '@tanstack/react-query'\nimport { Include } from '@gusto/embedded-api/models/operations/getv1companiescompanyidemployees'\nimport type { PaidTimeOff } from '@gusto/embedded-api/models/components/paidtimeoff'\nimport type { EmployeeItem } from './SelectEmployeesPresentationTypes'\nimport { useClientPagination } from '@/hooks/useClientPagination/useClientPagination'\n\nconst SERVER_MAX_PER_PAGE = 100\n\n// Employees whose primary job's hire_date is in the future are rejected by\n// `POST /time_off_policies/:uuid/add_employees` as \"ineligible\" with no\n// per-uuid reason in the response. We can detect this from the employees\n// list response, so we drop them client-side to prevent the error.\nexport function isStartedByToday(hireDate: string | undefined): boolean {\n if (!hireDate) return false\n const today = new Date().toISOString().slice(0, 10)\n return hireDate <= today\n}\n\n// Single source of truth for the search predicate so the client-pagination\n// hook and the select-all handler agree on what's \"in scope\" for a query.\nexport function matchesEmployeeSearch(employee: EmployeeItem, query: string): boolean {\n return `${employee.firstName ?? ''} ${employee.lastName ?? ''}`\n .toLowerCase()\n .includes(query.toLowerCase())\n}\n\nexport function useSelectEmployeesData(companyId: string, excludeUuids?: Set<string>) {\n const gustoClient = useGustoEmbeddedContext()\n const [selectedUuids, setSelectedUuids] = useState<Set<string>>(() => new Set())\n\n // Fetch the full employees list up front so filter, search, and pagination\n // can all be applied client-side. include: all_compensations is required to\n // populate eligiblePaidTimeOff, which carries each employee's current\n // balance on their existing time-off policies — used to pre-fill carry-over\n // balances for selection.\n const { data: firstPage, isFetching: isFirstPageFetching } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n page: 1,\n per: SERVER_MAX_PER_PAGE,\n include: [Include.AllCompensations],\n })\n\n const totalServerPages = Number(firstPage.httpMeta.response.headers.get('x-total-pages') ?? 1)\n\n // For each additional server page we fire a suspense query in parallel.\n // No explicit concurrency cap: typical embedded customers are <100\n // employees (one server page, zero extra requests). For larger companies\n // the browser's per-origin connection limit (~6) acts as the natural\n // ceiling. If this flow ever needs to support thousands of employees,\n // reconsider — either a server-side eligibility filter or a paginated\n // fetch-as-you-scroll strategy would be the right escape hatches.\n const restPageResults = useSuspenseQueries({\n queries: Array.from({ length: Math.max(0, totalServerPages - 1) }, (_, i) =>\n buildEmployeesListQuery(gustoClient, {\n companyId,\n terminated: false,\n page: i + 2,\n per: SERVER_MAX_PER_PAGE,\n include: [Include.AllCompensations],\n }),\n ),\n })\n\n const eligibleEmployees = useMemo<EmployeeItem[]>(() => {\n const showEmployees = [\n ...(firstPage.showEmployees ?? []),\n ...restPageResults.flatMap(r => r.data.showEmployees ?? []),\n ]\n return showEmployees\n .filter(e => isStartedByToday((e.jobs?.find(job => job.primary) ?? e.jobs?.[0])?.hireDate))\n .filter(e => !excludeUuids?.has(e.uuid))\n .map(e => ({\n uuid: e.uuid,\n firstName: e.firstName,\n lastName: e.lastName,\n jobTitle: e.jobs?.find(job => job.primary)?.title ?? e.jobs?.[0]?.title ?? null,\n department: e.department ?? null,\n eligiblePaidTimeOff: e.eligiblePaidTimeOff as PaidTimeOff[] | undefined,\n }))\n }, [firstPage.showEmployees, restPageResults, excludeUuids])\n\n const {\n data: filteredEmployees,\n pagination,\n searchValue,\n actions: paginationActions,\n } = useClientPagination(eligibleEmployees, {\n searchPredicate: matchesEmployeeSearch,\n })\n\n const isRestFetching = restPageResults.some(r => r.isFetching)\n const isFetching = isFirstPageFetching || isRestFetching\n\n const handleSelect = useCallback((item: EmployeeItem, checked: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (checked) next.add(item.uuid)\n else next.delete(item.uuid)\n return next\n })\n }, [])\n\n // Select-all scopes to the full search-filtered list (every page), not just\n // the rendered page slice that DataView passes in. This matches the user\n // expectation that \"select all\" actually means \"all\" — including any\n // employees the current pagination has scrolled off-screen. The second\n // argument from DataView (the visible page slice) is intentionally ignored.\n const handleSelectAll = useCallback(\n (checked: boolean, _visibleItems?: EmployeeItem[]) => {\n const scope = searchValue\n ? eligibleEmployees.filter(employee => matchesEmployeeSearch(employee, searchValue))\n : eligibleEmployees\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of scope) {\n if (checked) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n },\n [eligibleEmployees, searchValue],\n )\n\n return {\n filteredEmployees,\n eligibleEmployees,\n eligibleCount: eligibleEmployees.length,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange: paginationActions.onSearchChange,\n handleSearchClear: paginationActions.onSearchClear,\n }\n}\n"],"names":["SERVER_MAX_PER_PAGE","isStartedByToday","hireDate","today","matchesEmployeeSearch","employee","query","useSelectEmployeesData","companyId","excludeUuids","gustoClient","useGustoEmbeddedContext","selectedUuids","setSelectedUuids","useState","firstPage","isFirstPageFetching","useEmployeesListSuspense","Include","totalServerPages","restPageResults","useSuspenseQueries","_","i","buildEmployeesListQuery","eligibleEmployees","useMemo","r","job","filteredEmployees","pagination","searchValue","paginationActions","useClientPagination","isRestFetching","isFetching","handleSelect","useCallback","item","checked","prev","next","handleSelectAll","_visibleItems","scope"],"mappings":";;;;;;AAYA,MAAMA,IAAsB;AAMrB,SAASC,EAAiBC,GAAuC;AACtE,MAAI,CAACA,EAAU,QAAO;AACtB,QAAMC,yBAAY,KAAA,GAAO,cAAc,MAAM,GAAG,EAAE;AAClD,SAAOD,KAAYC;AACrB;AAIO,SAASC,EAAsBC,GAAwBC,GAAwB;AACpF,SAAO,GAAGD,EAAS,aAAa,EAAE,IAAIA,EAAS,YAAY,EAAE,GAC1D,YAAA,EACA,SAASC,EAAM,aAAa;AACjC;AAEO,SAASC,EAAuBC,GAAmBC,GAA4B;AACpF,QAAMC,IAAcC,EAAA,GACd,CAACC,GAAeC,CAAgB,IAAIC,EAAsB,MAAM,oBAAI,KAAK,GAOzE,EAAE,MAAMC,GAAW,YAAYC,EAAA,IAAwBC,EAAyB;AAAA,IACpF,WAAAT;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,KAAKR;AAAA,IACL,SAAS,CAACkB,EAAQ,gBAAgB;AAAA,EAAA,CACnC,GAEKC,IAAmB,OAAOJ,EAAU,SAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GASvFK,IAAkBC,EAAmB;AAAA,IACzC,SAAS,MAAM;AAAA,MAAK,EAAE,QAAQ,KAAK,IAAI,GAAGF,IAAmB,CAAC,EAAA;AAAA,MAAK,CAACG,GAAGC,MACrEC,EAAwBd,GAAa;AAAA,QACnC,WAAAF;AAAA,QACA,YAAY;AAAA,QACZ,MAAMe,IAAI;AAAA,QACV,KAAKvB;AAAA,QACL,SAAS,CAACkB,EAAQ,gBAAgB;AAAA,MAAA,CACnC;AAAA,IAAA;AAAA,EACH,CACD,GAEKO,IAAoBC,EAAwB,MAC1B;AAAA,IACpB,GAAIX,EAAU,iBAAiB,CAAA;AAAA,IAC/B,GAAGK,EAAgB,QAAQ,CAAAO,MAAKA,EAAE,KAAK,iBAAiB,CAAA,CAAE;AAAA,EAAA,EAGzD,OAAO,CAAA,MAAK1B,GAAkB,EAAE,MAAM,KAAK,CAAA2B,MAAOA,EAAI,OAAO,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,EACzF,OAAO,CAAA,MAAK,CAACnB,GAAc,IAAI,EAAE,IAAI,CAAC,EACtC,IAAI,CAAA,OAAM;AAAA,IACT,MAAM,EAAE;AAAA,IACR,WAAW,EAAE;AAAA,IACb,UAAU,EAAE;AAAA,IACZ,UAAU,EAAE,MAAM,KAAK,CAAAmB,MAAOA,EAAI,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,SAAS;AAAA,IAC3E,YAAY,EAAE,cAAc;AAAA,IAC5B,qBAAqB,EAAE;AAAA,EAAA,EACvB,GACH,CAACb,EAAU,eAAeK,GAAiBX,CAAY,CAAC,GAErD;AAAA,IACJ,MAAMoB;AAAA,IACN,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAASC;AAAA,EAAA,IACPC,EAAoBR,GAAmB;AAAA,IACzC,iBAAiBrB;AAAA,EAAA,CAClB,GAEK8B,IAAiBd,EAAgB,KAAK,CAAAO,MAAKA,EAAE,UAAU,GACvDQ,IAAanB,KAAuBkB,GAEpCE,IAAeC,EAAY,CAACC,GAAoBC,MAAqB;AACzE,IAAA1B,EAAiB,CAAA2B,MAAQ;AACvB,YAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,aAAID,IAASE,EAAK,IAAIH,EAAK,IAAI,IAC1BG,EAAK,OAAOH,EAAK,IAAI,GACnBG;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAOCC,IAAkBL;AAAA,IACtB,CAACE,GAAkBI,MAAmC;AACpD,YAAMC,IAAQb,IACVN,EAAkB,OAAO,OAAYrB,EAAsBC,GAAU0B,CAAW,CAAC,IACjFN;AACJ,MAAAZ,EAAiB,CAAA2B,MAAQ;AACvB,cAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,mBAAWF,KAAQM;AACjB,UAAIL,IAASE,EAAK,IAAIH,EAAK,IAAI,IAC1BG,EAAK,OAAOH,EAAK,IAAI;AAE5B,eAAOG;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAChB,GAAmBM,CAAW;AAAA,EAAA;AAGjC,SAAO;AAAA,IACL,mBAAAF;AAAA,IACA,mBAAAJ;AAAA,IACA,eAAeA,EAAkB;AAAA,IACjC,eAAAb;AAAA,IACA,aAAAmB;AAAA,IACA,YAAAD;AAAA,IACA,YAAAK;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAM;AAAA,IACA,oBAAoBV,EAAkB;AAAA,IACtC,mBAAmBA,EAAkB;AAAA,EAAA;AAEzC;"}
@@ -1,4 +1,4 @@
1
- import { jsx as a, jsxs as c } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
2
  import { useState as b, useEffect as x } from "react";
3
3
  import { useTranslation as g } from "react-i18next";
4
4
  import { Flex as D } from "../../Common/Flex/Flex.js";
@@ -7,7 +7,7 @@ import "../../../shared/constants.js";
7
7
  import { ActionsLayout as M } from "../../Common/ActionsLayout/ActionsLayout.js";
8
8
  import { useComponentContext as B } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
9
  import { useI18n as T } from "../../../i18n/I18n.js";
10
- function H({
10
+ function q({
11
11
  isOpen: s,
12
12
  onClose: t,
13
13
  employeeName: d,
@@ -17,30 +17,31 @@ function H({
17
17
  error: n
18
18
  }) {
19
19
  T("Company.TimeOff.TimeOffPolicyDetails");
20
- const { t: e } = g("Company.TimeOff.TimeOffPolicyDetails"), { Modal: p, Heading: u, NumberInput: h, Button: l, Alert: y } = B(), [m, r] = b(i);
20
+ const { t: a } = g("Company.TimeOff.TimeOffPolicyDetails"), { Modal: p, Heading: u, NumberInput: h, Button: l, Alert: y } = B(), [m, r] = b(i);
21
21
  x(() => {
22
22
  r(i);
23
23
  }, [i]);
24
24
  const C = () => {
25
25
  f(m);
26
26
  };
27
- return /* @__PURE__ */ a(
27
+ return /* @__PURE__ */ e(
28
28
  p,
29
29
  {
30
30
  isOpen: s,
31
31
  onClose: t,
32
32
  footer: /* @__PURE__ */ c(M, { children: [
33
- /* @__PURE__ */ a(l, { variant: "secondary", onClick: t, isDisabled: o, children: e("editBalanceModal.cancelCta") }),
34
- /* @__PURE__ */ a(l, { variant: "primary", onClick: C, isLoading: o, children: e("editBalanceModal.updateCta") })
33
+ /* @__PURE__ */ e(l, { variant: "secondary", onClick: t, isDisabled: o, children: a("editBalanceModal.cancelCta") }),
34
+ /* @__PURE__ */ e(l, { variant: "primary", onClick: C, isLoading: o, children: a("editBalanceModal.updateCta") })
35
35
  ] }),
36
36
  children: /* @__PURE__ */ c(D, { flexDirection: "column", gap: 16, children: [
37
- /* @__PURE__ */ a(u, { as: "h3", styledAs: "h3", children: e("editBalanceModal.title", { name: d }) }),
38
- n && /* @__PURE__ */ a(y, { status: "error", label: n.message }),
39
- /* @__PURE__ */ a(
37
+ /* @__PURE__ */ e(u, { as: "h3", styledAs: "h3", children: a("editBalanceModal.title", { name: d }) }),
38
+ n && /* @__PURE__ */ e(y, { status: "error", label: n.message }),
39
+ /* @__PURE__ */ e(
40
40
  h,
41
41
  {
42
42
  name: "balance",
43
- label: e("editBalanceModal.balanceLabel"),
43
+ label: a("editBalanceModal.balanceLabel"),
44
+ isRequired: !0,
44
45
  value: m,
45
46
  onChange: r,
46
47
  minimumFractionDigits: 1,
@@ -53,6 +54,6 @@ function H({
53
54
  );
54
55
  }
55
56
  export {
56
- H as EditEmployeeBalanceModal
57
+ q as EditEmployeeBalanceModal
57
58
  };
58
59
  //# sourceMappingURL=EditEmployeeBalanceModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditEmployeeBalanceModal.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { SDKError } from '@/types/sdkError'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nexport interface EditEmployeeBalanceModalProps {\n isOpen: boolean\n onClose: () => void\n employeeName: string\n currentBalance: number\n onConfirm: (newBalance: number) => void\n isPending: boolean\n error?: SDKError | null\n}\n\nexport function EditEmployeeBalanceModal({\n isOpen,\n onClose,\n employeeName,\n currentBalance,\n onConfirm,\n isPending,\n error,\n}: EditEmployeeBalanceModalProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Modal, Heading, NumberInput, Button, Alert } = useComponentContext()\n\n const [balance, setBalance] = useState(currentBalance)\n\n useEffect(() => {\n setBalance(currentBalance)\n }, [currentBalance])\n\n const handleConfirm = () => {\n onConfirm(balance)\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onClose}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onClose} isDisabled={isPending}>\n {t('editBalanceModal.cancelCta')}\n </Button>\n <Button variant=\"primary\" onClick={handleConfirm} isLoading={isPending}>\n {t('editBalanceModal.updateCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\" styledAs=\"h3\">\n {t('editBalanceModal.title', { name: employeeName })}\n </Heading>\n {error && <Alert status=\"error\" label={error.message} />}\n <NumberInput\n name=\"balance\"\n label={t('editBalanceModal.balanceLabel')}\n value={balance}\n onChange={setBalance}\n minimumFractionDigits={1}\n maximumFractionDigits={2}\n min={0}\n />\n </Flex>\n </Modal>\n )\n}\n"],"names":["EditEmployeeBalanceModal","isOpen","onClose","employeeName","currentBalance","onConfirm","isPending","error","useI18n","t","useTranslation","Modal","Heading","NumberInput","Button","Alert","useComponentContext","balance","setBalance","useState","useEffect","handleConfirm","jsx","ActionsLayout","jsxs","Flex"],"mappings":";;;;;;;;;AAiBO,SAASA,EAAyB;AAAA,EACvC,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AACF,GAAkC;AAChC,EAAAC,EAAQ,sCAAsC;AAC9C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sCAAsC,GAC7D,EAAE,OAAAC,GAAO,SAAAC,GAAS,aAAAC,GAAa,QAAAC,GAAQ,OAAAC,EAAA,IAAUC,EAAA,GAEjD,CAACC,GAASC,CAAU,IAAIC,EAASf,CAAc;AAErD,EAAAgB,EAAU,MAAM;AACd,IAAAF,EAAWd,CAAc;AAAA,EAC3B,GAAG,CAACA,CAAc,CAAC;AAEnB,QAAMiB,IAAgB,MAAM;AAC1B,IAAAhB,EAAUY,CAAO;AAAA,EACnB;AAEA,SACE,gBAAAK;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,QAAAV;AAAA,MACA,SAAAC;AAAA,MACA,0BACGqB,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAD,EAACR,GAAA,EAAO,SAAQ,aAAY,SAASZ,GAAS,YAAYI,GACvD,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,QACA,gBAAAa,EAACR,GAAA,EAAO,SAAQ,WAAU,SAASO,GAAe,WAAWf,GAC1D,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,MAAA,GACF;AAAA,MAGF,UAAA,gBAAAe,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAH,EAACV,GAAA,EAAQ,IAAG,MAAK,UAAS,MACvB,UAAAH,EAAE,0BAA0B,EAAE,MAAMN,EAAA,CAAc,EAAA,CACrD;AAAA,QACCI,KAAS,gBAAAe,EAACP,GAAA,EAAM,QAAO,SAAQ,OAAOR,EAAM,SAAS;AAAA,QACtD,gBAAAe;AAAA,UAACT;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOJ,EAAE,+BAA+B;AAAA,YACxC,OAAOQ;AAAA,YACP,UAAUC;AAAA,YACV,uBAAuB;AAAA,YACvB,uBAAuB;AAAA,YACvB,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACP,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"EditEmployeeBalanceModal.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { SDKError } from '@/types/sdkError'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nexport interface EditEmployeeBalanceModalProps {\n isOpen: boolean\n onClose: () => void\n employeeName: string\n currentBalance: number\n onConfirm: (newBalance: number) => void\n isPending: boolean\n error?: SDKError | null\n}\n\nexport function EditEmployeeBalanceModal({\n isOpen,\n onClose,\n employeeName,\n currentBalance,\n onConfirm,\n isPending,\n error,\n}: EditEmployeeBalanceModalProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Modal, Heading, NumberInput, Button, Alert } = useComponentContext()\n\n const [balance, setBalance] = useState(currentBalance)\n\n useEffect(() => {\n setBalance(currentBalance)\n }, [currentBalance])\n\n const handleConfirm = () => {\n onConfirm(balance)\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onClose}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onClose} isDisabled={isPending}>\n {t('editBalanceModal.cancelCta')}\n </Button>\n <Button variant=\"primary\" onClick={handleConfirm} isLoading={isPending}>\n {t('editBalanceModal.updateCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\" styledAs=\"h3\">\n {t('editBalanceModal.title', { name: employeeName })}\n </Heading>\n {error && <Alert status=\"error\" label={error.message} />}\n <NumberInput\n name=\"balance\"\n label={t('editBalanceModal.balanceLabel')}\n isRequired\n value={balance}\n onChange={setBalance}\n minimumFractionDigits={1}\n maximumFractionDigits={2}\n min={0}\n />\n </Flex>\n </Modal>\n )\n}\n"],"names":["EditEmployeeBalanceModal","isOpen","onClose","employeeName","currentBalance","onConfirm","isPending","error","useI18n","t","useTranslation","Modal","Heading","NumberInput","Button","Alert","useComponentContext","balance","setBalance","useState","useEffect","handleConfirm","jsx","ActionsLayout","jsxs","Flex"],"mappings":";;;;;;;;;AAiBO,SAASA,EAAyB;AAAA,EACvC,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AACF,GAAkC;AAChC,EAAAC,EAAQ,sCAAsC;AAC9C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sCAAsC,GAC7D,EAAE,OAAAC,GAAO,SAAAC,GAAS,aAAAC,GAAa,QAAAC,GAAQ,OAAAC,EAAA,IAAUC,EAAA,GAEjD,CAACC,GAASC,CAAU,IAAIC,EAASf,CAAc;AAErD,EAAAgB,EAAU,MAAM;AACd,IAAAF,EAAWd,CAAc;AAAA,EAC3B,GAAG,CAACA,CAAc,CAAC;AAEnB,QAAMiB,IAAgB,MAAM;AAC1B,IAAAhB,EAAUY,CAAO;AAAA,EACnB;AAEA,SACE,gBAAAK;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,QAAAV;AAAA,MACA,SAAAC;AAAA,MACA,0BACGqB,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAD,EAACR,GAAA,EAAO,SAAQ,aAAY,SAASZ,GAAS,YAAYI,GACvD,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,QACA,gBAAAa,EAACR,GAAA,EAAO,SAAQ,WAAU,SAASO,GAAe,WAAWf,GAC1D,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,MAAA,GACF;AAAA,MAGF,UAAA,gBAAAe,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAH,EAACV,GAAA,EAAQ,IAAG,MAAK,UAAS,MACvB,UAAAH,EAAE,0BAA0B,EAAE,MAAMN,EAAA,CAAc,EAAA,CACrD;AAAA,QACCI,KAAS,gBAAAe,EAACP,GAAA,EAAM,QAAO,SAAQ,OAAOR,EAAM,SAAS;AAAA,QACtD,gBAAAe;AAAA,UAACT;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOJ,EAAE,+BAA+B;AAAA,YACxC,YAAU;AAAA,YACV,OAAOQ;AAAA,YACP,UAAUC;AAAA,YACV,uBAAuB;AAAA,YACvB,uBAAuB;AAAA,YACvB,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACP,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}