@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,145 +1,112 @@
1
- import { jsx as P } from "react/jsx-runtime";
2
- import { useState as k, useCallback as u, useMemo as g } from "react";
3
- import { useQueryClient as x } from "@tanstack/react-query";
4
- import { useHolidayPayPoliciesAddEmployeesMutation as z } from "@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees";
5
- import { useHolidayPayPoliciesRemoveEmployeesMutation as G } from "@gusto/embedded-api/react-query/holidayPayPoliciesRemoveEmployees";
6
- import { queryKeyHolidayPayPoliciesGet as T, invalidateAllHolidayPayPoliciesGet as Q, useHolidayPayPoliciesGetSuspense as V } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
7
- import { SelectEmployeesPresentation as j } from "./SelectEmployeesPresentation.js";
8
- import { useSelectEmployeesData as K } from "./useSelectEmployeesData.js";
9
- import { useBase as W } from "../../../Base/useBase.js";
10
- import { componentEvents as f } from "../../../../shared/constants.js";
11
- function ae(n) {
12
- return n.mode === "wizard" ? /* @__PURE__ */ P(D, { ...n, mode: "wizard" }) : /* @__PURE__ */ P(J, { ...n });
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { useCallback as p, useMemo as w } from "react";
3
+ import { useQueryClient as L } from "@tanstack/react-query";
4
+ import { useHolidayPayPoliciesAddEmployeesMutation as M } from "@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees";
5
+ import { queryKeyHolidayPayPoliciesGet as F, invalidateAllHolidayPayPoliciesGet as U, useHolidayPayPoliciesGetSuspense as Y } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
6
+ import { SelectEmployeesPresentation as v } from "./SelectEmployeesPresentation.js";
7
+ import { useSelectEmployeesData as I } from "./useSelectEmployeesData.js";
8
+ import { useBase as q } from "../../../Base/useBase.js";
9
+ import { componentEvents as l } from "../../../../shared/constants.js";
10
+ function K(e) {
11
+ return e.mode === "wizard" ? /* @__PURE__ */ r(E, { ...e, mode: "wizard" }) : /* @__PURE__ */ r(x, { ...e });
13
12
  }
14
- function J(n) {
15
- const { data: c } = V({
16
- companyUuid: n.companyId
17
- }), e = c.holidayPayPolicy;
18
- if (!e) throw new Error("Unexpected response: missing holidayPayPolicy");
19
- const m = g(() => {
20
- const i = /* @__PURE__ */ new Set();
21
- for (const y of e.employees)
22
- y.uuid && i.add(y.uuid);
23
- return i;
24
- }, [e.employees]);
25
- return /* @__PURE__ */ P(
26
- D,
13
+ function x(e) {
14
+ const { data: t } = Y({
15
+ companyUuid: e.companyId
16
+ }), n = t.holidayPayPolicy;
17
+ if (!n) throw new Error("Unexpected response: missing holidayPayPolicy");
18
+ const a = w(() => {
19
+ const o = /* @__PURE__ */ new Set();
20
+ for (const i of n.employees)
21
+ i.uuid && o.add(i.uuid);
22
+ return o;
23
+ }, [n.employees]);
24
+ return /* @__PURE__ */ r(
25
+ E,
27
26
  {
28
- ...n,
27
+ ...e,
29
28
  mode: "standalone",
30
- originalUuids: m,
31
- version: e.version
29
+ existingAssigneeUuids: a,
30
+ version: n.version
32
31
  }
33
32
  );
34
33
  }
35
- function D({
36
- companyId: n,
37
- mode: c = "standalone",
38
- originalUuids: e,
39
- version: m
34
+ function E({
35
+ companyId: e,
36
+ mode: t = "standalone",
37
+ existingAssigneeUuids: n,
38
+ version: a
40
39
  }) {
41
- const { onEvent: i, baseSubmitHandler: y } = W(), p = x(), {
42
- filteredEmployees: O,
43
- selectedUuids: s,
44
- searchValue: w,
45
- pagination: A,
46
- isFetching: _,
47
- handleSelect: H,
48
- handleSelectAll: M,
49
- handleSearchChange: L,
50
- handleSearchClear: R
51
- } = K(n, e), { mutateAsync: S, isPending: F } = z(), { mutateAsync: v, isPending: C } = G(), q = F || C, [Y, h] = k(!1), d = u(
52
- async (t, a) => {
53
- await y({}, async () => {
54
- let l = m ?? "", o;
55
- if (a.length > 0) {
56
- const r = await v({
57
- request: {
58
- companyUuid: n,
59
- requestBody: {
60
- version: l,
61
- employees: a.map((E) => ({ uuid: E }))
62
- }
63
- }
64
- });
65
- r.holidayPayPolicy?.version && (l = r.holidayPayPolicy.version), o = r.holidayPayPolicy;
66
- }
67
- t.length > 0 && (o = (await S({
68
- request: {
69
- companyUuid: n,
70
- requestBody: {
71
- version: l,
72
- employees: t.map((E) => ({ uuid: E }))
73
- }
74
- }
75
- })).holidayPayPolicy), o && p.setQueryData(
76
- T(n, {}),
77
- (r) => r ? { ...r, holidayPayPolicy: o } : void 0
78
- ), await Q(p), i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, o);
79
- });
80
- },
81
- [y, v, S, n, m, p, i]
82
- ), b = u(async () => {
83
- if (c === "wizard") {
84
- i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {
85
- employeeUuids: [...s]
40
+ const { onEvent: o, baseSubmitHandler: i } = q(), c = L(), {
41
+ filteredEmployees: P,
42
+ selectedUuids: d,
43
+ searchValue: f,
44
+ pagination: h,
45
+ isFetching: S,
46
+ handleSelect: A,
47
+ handleSelectAll: _,
48
+ handleSearchChange: D,
49
+ handleSearchClear: g
50
+ } = I(e, n), { mutateAsync: m, isPending: O } = M(), C = p(async () => {
51
+ const y = [...d];
52
+ if (t === "wizard") {
53
+ o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {
54
+ employeeUuids: y
86
55
  });
87
56
  return;
88
57
  }
89
- const t = e ?? /* @__PURE__ */ new Set(), a = [...s].filter((o) => !t.has(o)), l = [...t].filter((o) => !s.has(o));
90
- if (a.length === 0 && l.length === 0) {
91
- i(f.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE);
58
+ if (y.length === 0) {
59
+ o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE);
92
60
  return;
93
61
  }
94
- if (l.length > 0) {
95
- h(!0);
96
- return;
97
- }
98
- await d(a, l);
99
- }, [c, e, s, i, d]), B = u(async () => {
100
- const t = e ?? /* @__PURE__ */ new Set(), a = [...s].filter((o) => !t.has(o)), l = [...t].filter((o) => !s.has(o));
101
- h(!1), await d(a, l);
102
- }, [e, s, d]), I = g(() => {
103
- if (!e) return 0;
104
- let t = 0;
105
- for (const a of e) s.has(a) || (t += 1);
106
- return t;
107
- }, [e, s]), N = u(() => {
108
- i(f.CANCEL);
109
- }, [i]);
110
- return /* @__PURE__ */ P(
111
- j,
62
+ await i({}, async () => {
63
+ const u = (await m({
64
+ request: {
65
+ companyUuid: e,
66
+ requestBody: {
67
+ version: a ?? "",
68
+ employees: y.map((s) => ({ uuid: s }))
69
+ }
70
+ }
71
+ })).holidayPayPolicy;
72
+ u && c.setQueryData(
73
+ F(e, {}),
74
+ (s) => s ? { ...s, holidayPayPolicy: u } : void 0
75
+ ), await U(c), o(l.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, u);
76
+ });
77
+ }, [
78
+ t,
79
+ d,
80
+ i,
81
+ m,
82
+ e,
83
+ a,
84
+ c,
85
+ o
86
+ ]), H = p(() => {
87
+ o(l.CANCEL);
88
+ }, [o]);
89
+ return /* @__PURE__ */ r(
90
+ v,
112
91
  {
113
- employees: O,
114
- selectedUuids: s,
115
- searchValue: w,
116
- onSelect: H,
117
- onSelectAll: M,
118
- onSearchChange: L,
119
- onSearchClear: R,
120
- onBack: N,
121
- onContinue: b,
92
+ employees: P,
93
+ selectedUuids: d,
94
+ searchValue: f,
95
+ onSelect: A,
96
+ onSelectAll: _,
97
+ onSearchChange: D,
98
+ onSearchClear: g,
99
+ onBack: H,
100
+ onContinue: C,
122
101
  showReassignmentWarning: !1,
123
102
  isHolidayPolicy: !0,
124
- pagination: A,
125
- isFetching: _,
126
- isPending: q,
127
- originallyOnPolicyUuids: e,
128
- removeConfirmDialog: c === "standalone" ? {
129
- isOpen: Y,
130
- count: I,
131
- onConfirm: () => {
132
- B();
133
- },
134
- onClose: () => {
135
- h(!1);
136
- },
137
- isPending: C
138
- } : void 0
103
+ pagination: h,
104
+ isFetching: S,
105
+ isPending: O
139
106
  }
140
107
  );
141
108
  }
142
109
  export {
143
- ae as SelectEmployeesHoliday
110
+ K as SelectEmployeesHoliday
144
111
  };
145
112
  //# sourceMappingURL=SelectEmployeesHoliday.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesRemoveEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const originalUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n originalUuids={originalUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n originalUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n originalUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, originalUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n const { mutateAsync: removeEmployees, isPending: isRemovePending } =\n useHolidayPayPoliciesRemoveEmployeesMutation()\n const isSubmitPending = isAddPending || isRemovePending\n\n const [confirmRemoveOpen, setConfirmRemoveOpen] = useState(false)\n\n const submitDiff = useCallback(\n async (toAdd: string[], toRemove: string[]) => {\n await baseSubmitHandler({}, async () => {\n let currentVersion = version ?? ''\n let latestPolicy: HolidayPayPolicy | undefined\n if (toRemove.length > 0) {\n const response = await removeEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: currentVersion,\n employees: toRemove.map(uuid => ({ uuid })),\n },\n },\n })\n if (response.holidayPayPolicy?.version) {\n currentVersion = response.holidayPayPolicy.version\n }\n latestPolicy = response.holidayPayPolicy\n }\n if (toAdd.length > 0) {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: currentVersion,\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n latestPolicy = response.holidayPayPolicy\n }\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n },\n [baseSubmitHandler, removeEmployees, addEmployees, companyId, version, queryClient, onEvent],\n )\n\n const handleContinue = useCallback(async () => {\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: [...selectedUuids],\n })\n return\n }\n\n const original = originalUuids ?? new Set<string>()\n const toAdd = [...selectedUuids].filter(uuid => !original.has(uuid))\n const toRemove = [...original].filter(uuid => !selectedUuids.has(uuid))\n\n if (toAdd.length === 0 && toRemove.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n if (toRemove.length > 0) {\n setConfirmRemoveOpen(true)\n return\n }\n\n await submitDiff(toAdd, toRemove)\n }, [mode, originalUuids, selectedUuids, onEvent, submitDiff])\n\n const handleConfirmRemove = useCallback(async () => {\n const original = originalUuids ?? new Set<string>()\n const toAdd = [...selectedUuids].filter(uuid => !original.has(uuid))\n const toRemove = [...original].filter(uuid => !selectedUuids.has(uuid))\n setConfirmRemoveOpen(false)\n await submitDiff(toAdd, toRemove)\n }, [originalUuids, selectedUuids, submitDiff])\n\n const removeCount = useMemo(() => {\n if (!originalUuids) return 0\n let count = 0\n for (const uuid of originalUuids) if (!selectedUuids.has(uuid)) count += 1\n return count\n }, [originalUuids, selectedUuids])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n showReassignmentWarning={false}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isSubmitPending}\n originallyOnPolicyUuids={originalUuids}\n removeConfirmDialog={\n mode === 'standalone'\n ? {\n isOpen: confirmRemoveOpen,\n count: removeCount,\n onConfirm: () => {\n void handleConfirmRemove()\n },\n onClose: () => {\n setConfirmRemoveOpen(false)\n },\n isPending: isRemovePending,\n }\n : undefined\n }\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","originalUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","removeEmployees","isRemovePending","useHolidayPayPoliciesRemoveEmployeesMutation","isSubmitPending","confirmRemoveOpen","setConfirmRemoveOpen","useState","submitDiff","useCallback","toAdd","toRemove","currentVersion","latestPolicy","response","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","componentEvents","handleContinue","original","handleConfirmRemove","removeCount","count","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const existingAssigneeUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n existingAssigneeUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n existingAssigneeUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: toAdd,\n })\n return\n }\n\n if (toAdd.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n await baseSubmitHandler({}, async () => {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: version ?? '',\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n const latestPolicy: HolidayPayPolicy | undefined = response.holidayPayPolicy\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n }, [\n mode,\n selectedUuids,\n baseSubmitHandler,\n addEmployees,\n companyId,\n version,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n showReassignmentWarning={false}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isAddPending}\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","existingAssigneeUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","handleContinue","useCallback","toAdd","componentEvents","latestPolicy","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { SelectEmployeesPresentationProps } from './SelectEmployeesPresentationTypes';
2
- export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, showReassignmentWarning, isHolidayPolicy, policyTypeLabel, balances, onBalanceChange, pagination, isFetching, originallyOnPolicyUuids, originalBalances, removeConfirmDialog, addConfirmDialog, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, showReassignmentWarning, isHolidayPolicy, policyTypeLabel, balances, onBalanceChange, pagination, isFetching, addConfirmDialog, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
@@ -1,81 +1,80 @@
1
- import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
- import { useTranslation as D } from "react-i18next";
3
- import { useId as N } from "react";
4
- import { EmployeeTable as v } from "../../shared/EmployeeTable/EmployeeTable.js";
5
- import w from "./SelectEmployeesPresentation.module.scss.js";
6
- import { Flex as C } from "../../../Common/Flex/Flex.js";
1
+ import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
+ import { useTranslation as H } from "react-i18next";
3
+ import { useId as P } from "react";
4
+ import { EmployeeTable as j } from "../../shared/EmployeeTable/EmployeeTable.js";
5
+ import v from "./SelectEmployeesPresentation.module.scss.js";
6
+ import { Flex as a } from "../../../Common/Flex/Flex.js";
7
7
  import "classnames";
8
8
  import "../../../../shared/constants.js";
9
- import { ActionsLayout as F } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
- import { useComponentContext as M } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
- import { useI18n as V } from "../../../../i18n/I18n.js";
12
- const W = (r) => /^\d*\.?\d*$/.test(r);
13
- function _({
14
- employees: r,
9
+ import { ActionsLayout as B } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
+ import { useComponentContext as N } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
+ import { useI18n as w } from "../../../../i18n/I18n.js";
12
+ const z = (o) => /^\d*\.?\d*$/.test(o);
13
+ function X({
14
+ employees: o,
15
15
  selectedUuids: f,
16
- searchValue: y,
16
+ searchValue: c,
17
17
  onSelect: h,
18
- onSelectAll: b,
19
- onSearchChange: g,
20
- onSearchClear: A,
21
- onBack: x,
22
- onContinue: I,
23
- showReassignmentWarning: L,
24
- isHolidayPolicy: k = !1,
25
- policyTypeLabel: T,
26
- balances: O,
27
- onBalanceChange: c,
28
- pagination: P,
29
- isFetching: E,
30
- originallyOnPolicyUuids: S,
31
- originalBalances: $,
32
- removeConfirmDialog: i,
33
- addConfirmDialog: o,
34
- isPending: s = !1
18
+ onSelectAll: y,
19
+ onSearchChange: C,
20
+ onSearchClear: g,
21
+ onBack: b,
22
+ onContinue: x,
23
+ showReassignmentWarning: I,
24
+ isHolidayPolicy: A = !1,
25
+ policyTypeLabel: S,
26
+ balances: T,
27
+ onBalanceChange: s,
28
+ pagination: k,
29
+ isFetching: L,
30
+ addConfirmDialog: n,
31
+ isPending: m = !1
35
32
  }) {
36
- V("Company.TimeOff.SelectEmployees");
37
- const { t } = D("Company.TimeOff.SelectEmployees"), u = M(), { Heading: H, Text: m, Button: d, Alert: j, Dialog: p } = u, B = N();
38
- return /* @__PURE__ */ l(C, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
39
- /* @__PURE__ */ l(C, { flexDirection: "column", gap: 4, children: [
40
- /* @__PURE__ */ n(H, { as: "h2", children: t("title") }),
41
- /* @__PURE__ */ n(m, { variant: "supporting", children: t(k ? "holidayDescription" : "description") })
33
+ w("Company.TimeOff.SelectEmployees");
34
+ const { t: e } = H("Company.TimeOff.SelectEmployees"), p = N(), { Heading: D, Text: u, Button: d, Alert: E, Dialog: O } = p, $ = P();
35
+ return /* @__PURE__ */ r(a, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
36
+ /* @__PURE__ */ r(a, { flexDirection: "column", gap: 4, children: [
37
+ /* @__PURE__ */ t(D, { as: "h2", children: e("title") }),
38
+ /* @__PURE__ */ t(u, { variant: "supporting", children: e(A ? "holidayDescription" : "description") })
42
39
  ] }),
43
- L && /* @__PURE__ */ n(j, { status: "warning", label: t("reassignmentWarning", { policyType: T }) }),
44
- /* @__PURE__ */ n(
45
- v,
40
+ I && /* @__PURE__ */ t(E, { status: "warning", label: e("reassignmentWarning", { policyType: S }) }),
41
+ /* @__PURE__ */ t(
42
+ j,
46
43
  {
47
- data: r,
48
- searchValue: y,
49
- onSearchChange: g,
50
- onSearchClear: A,
44
+ data: o,
45
+ searchValue: c,
46
+ onSearchChange: C,
47
+ onSearchClear: g,
48
+ hideSearch: o.length === 0 && c.length === 0,
51
49
  selectionMode: "multiple",
52
50
  onSelect: h,
53
- onSelectAll: b,
54
- getIsItemSelected: (e) => f.has(e.uuid),
55
- isFetching: E,
56
- pagination: P,
51
+ onSelectAll: y,
52
+ getIsItemSelected: (i) => f.has(i.uuid),
53
+ isFetching: L,
54
+ pagination: k,
55
+ emptyState: () => /* @__PURE__ */ t(a, { flexDirection: "column", alignItems: "center", gap: 8, children: /* @__PURE__ */ t(u, { size: "sm", textAlign: "center", children: e("emptyState") }) }),
57
56
  additionalColumns: [
58
57
  {
59
58
  key: "department",
60
- title: t("departmentColumn")
59
+ title: e("departmentColumn")
61
60
  },
62
- ...c ? [
61
+ ...s ? [
63
62
  {
64
63
  key: "balance",
65
- title: t("startingBalanceColumn"),
66
- render: (e) => S?.has(e.uuid) ? /* @__PURE__ */ n(m, { children: $?.[e.uuid] ?? "0" }) : /* @__PURE__ */ n(
67
- u.TextInput,
64
+ title: e("startingBalanceColumn"),
65
+ render: (i) => /* @__PURE__ */ t(
66
+ p.TextInput,
68
67
  {
69
- name: `balance-${e.uuid}`,
70
- label: t("startingBalanceColumn"),
68
+ name: `balance-${i.uuid}`,
69
+ label: e("startingBalanceColumn"),
71
70
  shouldVisuallyHideLabel: !0,
72
- "aria-labelledby": `employee-name-${e.uuid} ${B}`,
73
- value: O?.[e.uuid] ?? "",
74
- onChange: (a) => {
75
- a !== "" && !W(a) || c(e.uuid, a);
71
+ "aria-labelledby": `employee-name-${i.uuid} ${$}`,
72
+ value: T?.[i.uuid] ?? "",
73
+ onChange: (l) => {
74
+ l !== "" && !z(l) || s(i.uuid, l);
76
75
  },
77
76
  placeholder: "0",
78
- className: w.balanceInput
77
+ className: v.balanceInput
79
78
  }
80
79
  )
81
80
  }
@@ -83,40 +82,26 @@ function _({
83
82
  ]
84
83
  }
85
84
  ),
86
- /* @__PURE__ */ l(F, { children: [
87
- /* @__PURE__ */ n(d, { variant: "secondary", onClick: x, isDisabled: s, children: t("backCta") }),
88
- /* @__PURE__ */ n(d, { variant: "primary", onClick: I, isLoading: s, children: t("continueCta") })
85
+ /* @__PURE__ */ r(B, { children: [
86
+ /* @__PURE__ */ t(d, { variant: "secondary", onClick: b, isDisabled: m, children: e("backCta") }),
87
+ /* @__PURE__ */ t(d, { variant: "primary", onClick: x, isLoading: m, children: e("continueCta") })
89
88
  ] }),
90
- i && /* @__PURE__ */ n(
91
- p,
89
+ n && /* @__PURE__ */ t(
90
+ O,
92
91
  {
93
- isOpen: i.isOpen,
94
- onClose: i.onClose,
95
- onPrimaryActionClick: i.onConfirm,
96
- isPrimaryActionLoading: i.isPending,
97
- isDestructive: !0,
98
- title: t("removeConfirmDialog.title", { count: i.count }),
99
- primaryActionLabel: t("removeConfirmDialog.confirmCta"),
100
- closeActionLabel: t("removeConfirmDialog.cancelCta"),
101
- children: t("removeConfirmDialog.description", { count: i.count })
102
- }
103
- ),
104
- o && /* @__PURE__ */ n(
105
- p,
106
- {
107
- isOpen: o.isOpen,
108
- onClose: o.onClose,
109
- onPrimaryActionClick: o.onConfirm,
110
- isPrimaryActionLoading: o.isPending,
111
- title: t("addConfirmDialog.title", { count: o.count }),
112
- primaryActionLabel: t("addConfirmDialog.confirmCta"),
113
- closeActionLabel: t("addConfirmDialog.cancelCta"),
114
- children: t("addConfirmDialog.description", { count: o.count })
92
+ isOpen: n.isOpen,
93
+ onClose: n.onClose,
94
+ onPrimaryActionClick: n.onConfirm,
95
+ isPrimaryActionLoading: n.isPending,
96
+ title: e("addConfirmDialog.title", { count: n.count }),
97
+ primaryActionLabel: e("addConfirmDialog.confirmCta"),
98
+ closeActionLabel: e("addConfirmDialog.cancelCta"),
99
+ children: e("addConfirmDialog.description", { count: n.count })
115
100
  }
116
101
  )
117
102
  ] });
118
103
  }
119
104
  export {
120
- _ as SelectEmployeesPresentation
105
+ X as SelectEmployeesPresentation
121
106
  };
122
107
  //# sourceMappingURL=SelectEmployeesPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n showReassignmentWarning,\n isHolidayPolicy = false,\n policyTypeLabel,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n originallyOnPolicyUuids,\n originalBalances,\n\n removeConfirmDialog,\n addConfirmDialog,\n isPending = false,\n}: SelectEmployeesPresentationProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const Components = useComponentContext()\n const { Heading, Text, Button, Alert, Dialog } = Components\n const balanceColHeaderId = useId()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {isHolidayPolicy ? t('holidayDescription') : t('description')}\n </Text>\n </Flex>\n\n {showReassignmentWarning && (\n <Alert status=\"warning\" label={t('reassignmentWarning', { policyType: policyTypeLabel })} />\n )}\n\n <EmployeeTable<EmployeeItem>\n data={employees}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchClear={onSearchClear}\n selectionMode=\"multiple\"\n onSelect={onSelect}\n onSelectAll={onSelectAll}\n getIsItemSelected={item => selectedUuids.has(item.uuid)}\n isFetching={isFetching}\n pagination={pagination}\n additionalColumns={[\n {\n key: 'department' as keyof EmployeeItem,\n title: t('departmentColumn'),\n },\n ...(onBalanceChange\n ? [\n {\n key: 'balance' as keyof EmployeeItem,\n title: t('startingBalanceColumn'),\n render: (employee: EmployeeItem) => {\n if (originallyOnPolicyUuids?.has(employee.uuid)) {\n return <Text>{originalBalances?.[employee.uuid] ?? '0'}</Text>\n }\n return (\n <Components.TextInput\n name={`balance-${employee.uuid}`}\n label={t('startingBalanceColumn')}\n shouldVisuallyHideLabel\n aria-labelledby={`employee-name-${employee.uuid} ${balanceColHeaderId}`}\n value={balances?.[employee.uuid] ?? ''}\n onChange={(value: string) => {\n if (value !== '' && !isNumericInput(value)) return\n onBalanceChange(employee.uuid, value)\n }}\n placeholder=\"0\"\n className={styles.balanceInput}\n />\n )\n },\n },\n ]\n : []),\n ]}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={onContinue} isLoading={isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n\n {removeConfirmDialog && (\n <Dialog\n isOpen={removeConfirmDialog.isOpen}\n onClose={removeConfirmDialog.onClose}\n onPrimaryActionClick={removeConfirmDialog.onConfirm}\n isPrimaryActionLoading={removeConfirmDialog.isPending}\n isDestructive\n title={t('removeConfirmDialog.title', { count: removeConfirmDialog.count })}\n primaryActionLabel={t('removeConfirmDialog.confirmCta')}\n closeActionLabel={t('removeConfirmDialog.cancelCta')}\n >\n {t('removeConfirmDialog.description', { count: removeConfirmDialog.count })}\n </Dialog>\n )}\n\n {addConfirmDialog && (\n <Dialog\n isOpen={addConfirmDialog.isOpen}\n onClose={addConfirmDialog.onClose}\n onPrimaryActionClick={addConfirmDialog.onConfirm}\n isPrimaryActionLoading={addConfirmDialog.isPending}\n title={t('addConfirmDialog.title', { count: addConfirmDialog.count })}\n primaryActionLabel={t('addConfirmDialog.confirmCta')}\n closeActionLabel={t('addConfirmDialog.cancelCta')}\n >\n {t('addConfirmDialog.description', { count: addConfirmDialog.count })}\n </Dialog>\n )}\n </Flex>\n )\n}\n"],"names":["isNumericInput","value","SelectEmployeesPresentation","employees","selectedUuids","searchValue","onSelect","onSelectAll","onSearchChange","onSearchClear","onBack","onContinue","showReassignmentWarning","isHolidayPolicy","policyTypeLabel","balances","onBalanceChange","pagination","isFetching","originallyOnPolicyUuids","originalBalances","removeConfirmDialog","addConfirmDialog","isPending","useI18n","useTranslation","Components","useComponentContext","Heading","Text","Button","Alert","Dialog","balanceColHeaderId","useId","Flex","jsxs","jsx","EmployeeTable","item","employee","styles","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n showReassignmentWarning,\n isHolidayPolicy = false,\n policyTypeLabel,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n addConfirmDialog,\n isPending = false,\n}: SelectEmployeesPresentationProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const Components = useComponentContext()\n const { Heading, Text, Button, Alert, Dialog } = Components\n const balanceColHeaderId = useId()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {isHolidayPolicy ? t('holidayDescription') : t('description')}\n </Text>\n </Flex>\n\n {showReassignmentWarning && (\n <Alert status=\"warning\" label={t('reassignmentWarning', { policyType: policyTypeLabel })} />\n )}\n\n <EmployeeTable<EmployeeItem>\n data={employees}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchClear={onSearchClear}\n hideSearch={employees.length === 0 && searchValue.length === 0}\n selectionMode=\"multiple\"\n onSelect={onSelect}\n onSelectAll={onSelectAll}\n getIsItemSelected={item => selectedUuids.has(item.uuid)}\n isFetching={isFetching}\n pagination={pagination}\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" textAlign=\"center\">\n {t('emptyState')}\n </Text>\n </Flex>\n )}\n additionalColumns={[\n {\n key: 'department' as keyof EmployeeItem,\n title: t('departmentColumn'),\n },\n ...(onBalanceChange\n ? [\n {\n key: 'balance' as keyof EmployeeItem,\n title: t('startingBalanceColumn'),\n render: (employee: EmployeeItem) => (\n <Components.TextInput\n name={`balance-${employee.uuid}`}\n label={t('startingBalanceColumn')}\n shouldVisuallyHideLabel\n aria-labelledby={`employee-name-${employee.uuid} ${balanceColHeaderId}`}\n value={balances?.[employee.uuid] ?? ''}\n onChange={(value: string) => {\n if (value !== '' && !isNumericInput(value)) return\n onBalanceChange(employee.uuid, value)\n }}\n placeholder=\"0\"\n className={styles.balanceInput}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={onContinue} isLoading={isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n\n {addConfirmDialog && (\n <Dialog\n isOpen={addConfirmDialog.isOpen}\n onClose={addConfirmDialog.onClose}\n onPrimaryActionClick={addConfirmDialog.onConfirm}\n isPrimaryActionLoading={addConfirmDialog.isPending}\n title={t('addConfirmDialog.title', { count: addConfirmDialog.count })}\n primaryActionLabel={t('addConfirmDialog.confirmCta')}\n closeActionLabel={t('addConfirmDialog.cancelCta')}\n >\n {t('addConfirmDialog.description', { count: addConfirmDialog.count })}\n </Dialog>\n )}\n </Flex>\n )\n}\n"],"names":["isNumericInput","value","SelectEmployeesPresentation","employees","selectedUuids","searchValue","onSelect","onSelectAll","onSearchChange","onSearchClear","onBack","onContinue","showReassignmentWarning","isHolidayPolicy","policyTypeLabel","balances","onBalanceChange","pagination","isFetching","addConfirmDialog","isPending","useI18n","t","useTranslation","Components","useComponentContext","Heading","Text","Button","Alert","Dialog","balanceColHeaderId","useId","Flex","jsxs","jsx","EmployeeTable","item","employee","styles","ActionsLayout"],"mappings":"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"}
@@ -33,12 +33,7 @@ export interface SelectEmployeesPresentationProps {
33
33
  onBalanceChange?: (uuid: string, value: string) => void;
34
34
  pagination?: PaginationControlProps;
35
35
  isFetching?: boolean;
36
- /** UUIDs of employees already on the policy. These render with read-only balances and cannot have their balance edited from this screen. */
37
- originallyOnPolicyUuids?: Set<string>;
38
- /** Current policy balances keyed by employee uuid. Used to render read-only balance text for originally-on-policy employees. */
39
- originalBalances?: Record<string, string>;
40
- /** Optional confirm dialog shown before submitting when the user is about to remove employees from the policy. */
41
- removeConfirmDialog?: ConfirmDialogState;
36
+ /** Optional confirm dialog shown before submitting an add to the policy. */
42
37
  addConfirmDialog?: ConfirmDialogState;
43
38
  /** Disables the back button and shows a spinner on the continue button while a submit is in flight. */
44
39
  isPending?: boolean;