@gusto/embedded-react-sdk 0.51.2 → 0.52.0

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 (213) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +1 -1
  3. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
  4. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  5. package/dist/components/Common/UI/FormBox/FormBox.d.ts +9 -0
  6. package/dist/components/Common/UI/FormBox/FormBox.js +13 -0
  7. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -0
  8. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +14 -0
  9. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -0
  10. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +26 -0
  11. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.d.ts +9 -0
  12. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js +23 -0
  13. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js.map +1 -0
  14. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js +8 -0
  15. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js.map +1 -0
  16. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.d.ts +36 -0
  17. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js +7 -0
  18. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js.map +1 -0
  19. package/dist/components/Common/UI/FormBoxHeader/index.d.ts +1 -0
  20. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -0
  21. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +1 -2
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +1 -1
  24. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -1
  25. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -1
  26. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -1
  27. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
  28. package/dist/components/Company/Locations/LocationForm/Form.d.ts +1 -1
  29. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +3 -3
  30. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
  31. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +10 -1
  32. package/dist/components/Company/StateTaxes/StateTaxes.js +23 -17
  33. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  34. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  35. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +17 -10
  36. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  37. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +26 -26
  38. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  39. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +9 -0
  40. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +24 -24
  41. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  42. package/dist/components/Contractor/Address/Address.d.ts +4 -3
  43. package/dist/components/Contractor/Address/Address.js.map +1 -1
  44. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +2 -2
  45. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +1 -1
  46. package/dist/components/Contractor/ContractorList/index.js +95 -92
  47. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  48. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +22 -19
  49. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  50. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +1 -1
  51. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +1 -1
  52. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
  53. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +1 -1
  54. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +1 -1
  55. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -1
  56. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +2 -2
  57. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  58. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -1
  59. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  60. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +2 -2
  61. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  62. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +17 -5
  63. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +32 -31
  64. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  65. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +16 -4
  66. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +33 -29
  67. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  68. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +1 -1
  69. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -1
  70. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +6 -6
  71. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  72. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
  73. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +0 -4
  74. package/dist/components/Employee/Compensation/onboarding/Compensation.js +38 -42
  75. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  76. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +2 -2
  77. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +1 -1
  78. package/dist/components/Employee/Dashboard/index.d.ts +1 -1
  79. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
  80. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +1 -1
  81. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -2
  82. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +2 -2
  83. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -4
  84. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  85. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -2
  86. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js +27 -32
  87. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  88. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -2
  89. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  90. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +2 -2
  91. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
  92. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +1 -1
  93. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +1 -3
  94. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  95. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +55 -49
  96. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  97. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -1
  98. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +1 -1
  99. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  100. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  101. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
  102. package/dist/components/Employee/exports/employeeManagement.d.ts +1 -1
  103. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +4 -5
  104. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +101 -125
  105. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  106. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +0 -5
  107. package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -13
  108. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  109. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +4 -4
  110. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  111. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +1 -1
  112. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +8 -8
  113. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  114. package/dist/components/Payroll/OffCycle/index.d.ts +1 -1
  115. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
  116. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +97 -92
  117. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  118. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -3
  119. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  120. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -2
  121. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
  122. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  123. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +57 -56
  124. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  125. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  126. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +23 -6
  127. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +37 -33
  128. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  129. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +2 -2
  130. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +6 -6
  131. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  132. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -1
  133. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  134. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
  135. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  136. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  137. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -1
  138. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
  139. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  140. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
  141. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +31 -31
  142. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  143. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +9 -5
  144. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  145. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -1
  146. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
  147. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  148. package/dist/components/Payroll/Transition/index.d.ts +1 -1
  149. package/dist/components/Payroll/helpers.d.ts +22 -8
  150. package/dist/components/Payroll/helpers.js +1 -1
  151. package/dist/components/Payroll/helpers.js.map +1 -1
  152. package/dist/components/Payroll/index.d.ts +3 -2
  153. package/dist/components/Payroll/payrollTypes.d.ts +1 -1
  154. package/dist/components/Payroll/payrollTypes.js +1 -1
  155. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  156. package/dist/components/Payroll/usePreparedPayrollData.d.ts +1 -1
  157. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  158. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
  159. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +19 -19
  160. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  161. package/dist/contexts/ApiProvider/ApiProvider.d.ts +5 -5
  162. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  163. package/dist/contexts/ApiProvider/apiVersion.d.ts +2 -2
  164. package/dist/contexts/ApiProvider/apiVersion.js +1 -1
  165. package/dist/contexts/ApiProvider/apiVersion.js.map +1 -1
  166. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +40 -36
  167. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  168. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +2 -0
  169. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  170. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +18 -16
  171. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  172. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +6 -0
  173. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  174. package/dist/contexts/GustoProvider/GustoProvider.d.ts +4 -5
  175. package/dist/contexts/GustoProvider/GustoProvider.js +6 -6
  176. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  177. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +7 -7
  178. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -8
  179. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  180. package/dist/contexts/GustoProvider/index.d.ts +1 -1
  181. package/dist/contexts/index.d.ts +2 -6
  182. package/dist/i18n/en/Contractor.ContractorList.json.js +18 -16
  183. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  184. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  185. package/dist/i18n/en/Employee.OnboardingSummary.json.js +24 -20
  186. package/dist/i18n/en/Employee.OnboardingSummary.json.js.map +1 -1
  187. package/dist/i18n/types.d.ts +8 -0
  188. package/dist/index.d.ts +8 -7
  189. package/dist/index.js +121 -134
  190. package/dist/index.js.map +1 -1
  191. package/dist/models/WA_RISK_CODES.d.ts +5 -2
  192. package/dist/models/WA_RISK_CODES.js.map +1 -1
  193. package/dist/models/external.d.ts +67 -57
  194. package/dist/partner-hook-utils/composeErrorHandler.d.ts +9 -4
  195. package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
  196. package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +10 -2
  197. package/dist/partner-hook-utils/form/SDKFormProvider.js +7 -1
  198. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  199. package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +7 -4
  200. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  201. package/dist/partner-hook-utils/form/fields/index.d.ts +1 -0
  202. package/dist/partner-hook-utils/form/index.d.ts +3 -3
  203. package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
  204. package/dist/partner-hook-utils/index.d.ts +1 -1
  205. package/dist/partner-hook-utils/types.d.ts +7 -3
  206. package/dist/shared/constants.d.ts +2 -2
  207. package/dist/shared/constants.js +4 -4
  208. package/dist/shared/constants.js.map +1 -1
  209. package/dist/style.css +1 -1
  210. package/dist/types/Helpers.d.ts +11 -0
  211. package/dist/types/hooks.d.ts +1 -1
  212. package/docs/guides/endpoint-inventory.json +379 -379
  213. package/package.json +7 -7
@@ -1,53 +1,51 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { useState as c, useMemo as f } from "react";
3
- import { createMachine as d } from "robot3";
4
- import { useTranslation as C } from "react-i18next";
5
- import { useJobsAndCompensationsGetJobsSuspense as b } from "@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs";
6
- import { JobsListContextual as J, InitialEditCompensationContextual as E } from "./CompensationFlowComponents.js";
7
- import { compensationStateMachine as S } from "./compensationStateMachine.js";
8
- import { FlsaStatus as w } from "../../../../shared/constants.js";
9
- import { useComponentDictionary as I } from "../../../../i18n/I18n.js";
10
- import { BaseComponent as h } from "../../../Base/Base.js";
2
+ import { useState as p, useMemo as c } from "react";
3
+ import { createMachine as f } from "robot3";
4
+ import { useTranslation as d } from "react-i18next";
5
+ import { useJobsAndCompensationsGetJobsSuspense as C } from "@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs";
6
+ import { JobsListContextual as b, InitialEditCompensationContextual as J } from "./CompensationFlowComponents.js";
7
+ import { compensationStateMachine as E } from "./compensationStateMachine.js";
8
+ import { FlsaStatus as S } from "../../../../shared/constants.js";
9
+ import { useComponentDictionary as w } from "../../../../i18n/I18n.js";
10
+ import { BaseComponent as I } from "../../../Base/Base.js";
11
11
  import "../../../Base/useBase.js";
12
- import { Flow as v } from "../../../Flow/Flow.js";
13
- import { useFlow as x } from "../../../Flow/useFlow.js";
14
- import { JobsList as F } from "./JobsList/JobsList.js";
15
- import { EditCompensation as T } from "./EditCompensation/EditCompensation.js";
16
- const g = {
17
- initialEditJob: E,
18
- viewJobs: J
12
+ import { Flow as h } from "../../../Flow/Flow.js";
13
+ import { useFlow as v } from "../../../Flow/useFlow.js";
14
+ const x = {
15
+ initialEditJob: J,
16
+ viewJobs: b
19
17
  };
20
- function M(t) {
18
+ function F(t) {
21
19
  if (t.length === 0)
22
20
  return { initialState: "initialEditJob", currentJobId: null };
23
- const o = t.length === 1 ? t[0] ?? null : null, n = N(o);
24
- return o && n?.flsaStatus !== w.NONEXEMPT ? { initialState: "initialEditJob", currentJobId: o.uuid } : { initialState: "viewJobs", currentJobId: null };
21
+ const o = t.length === 1 ? t[0] ?? null : null, n = g(o);
22
+ return o && n?.flsaStatus !== S.NONEXEMPT ? { initialState: "initialEditJob", currentJobId: o.uuid } : { initialState: "viewJobs", currentJobId: null };
25
23
  }
26
- function s(t) {
27
- return /* @__PURE__ */ i(h, { ...t, children: /* @__PURE__ */ i(D, { ...t }) });
24
+ function T(t) {
25
+ return /* @__PURE__ */ i(I, { ...t, children: /* @__PURE__ */ i(M, { ...t }) });
28
26
  }
29
- const N = (t) => t?.compensations?.find((o) => o.uuid === t.currentCompensationUuid);
30
- function D({
27
+ const g = (t) => t?.compensations?.find((o) => o.uuid === t.currentCompensationUuid);
28
+ function M({
31
29
  employeeId: t,
32
30
  startDate: o,
33
31
  defaultValues: n,
34
32
  dictionary: e,
35
33
  onEvent: r
36
34
  }) {
37
- I("Employee.Compensation", e);
38
- const { data: u } = b({ employeeId: t }), [{ initialState: a, currentJobId: m }] = c(
39
- () => M(u.jobs ?? [])
40
- ), l = f(
41
- () => d(
35
+ w("Employee.Compensation", e);
36
+ const { data: m } = C({ employeeId: t }), [{ initialState: a, currentJobId: s }] = p(
37
+ () => F(m.jobs ?? [])
38
+ ), u = c(
39
+ () => f(
42
40
  a,
43
- S,
44
- (p) => ({
45
- ...p,
46
- component: g[a],
41
+ E,
42
+ (l) => ({
43
+ ...l,
44
+ component: x[a],
47
45
  employeeId: t,
48
46
  startDate: o,
49
47
  partnerDefaultValues: n,
50
- currentJobId: m
48
+ currentJobId: s
51
49
  })
52
50
  ),
53
51
  // `defaultValues` is intentionally omitted: a partner-supplied prop that may
@@ -55,12 +53,12 @@ function D({
55
53
  // once. `initialState` and `currentJobId` are stable values from useState
56
54
  // above, so they're listed here as honest deps but never trigger recompute.
57
55
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
- [t, o, a, m]
56
+ [t, o, a, s]
59
57
  );
60
- return /* @__PURE__ */ i(v, { machine: l, onEvent: r });
58
+ return /* @__PURE__ */ i(h, { machine: u, onEvent: r });
61
59
  }
62
- const z = () => {
63
- const { employeeId: t, onEvent: o, startDate: n, defaultValues: e } = x(), { t: r } = C("common");
60
+ const X = () => {
61
+ const { employeeId: t, onEvent: o, startDate: n, defaultValues: e } = v(), { t: r } = d("common");
64
62
  if (!t || !n)
65
63
  throw new Error(
66
64
  r("errors.missingParamsOrContext", {
@@ -70,7 +68,7 @@ const z = () => {
70
68
  })
71
69
  );
72
70
  return /* @__PURE__ */ i(
73
- s,
71
+ T,
74
72
  {
75
73
  employeeId: t,
76
74
  startDate: n,
@@ -79,10 +77,8 @@ const z = () => {
79
77
  }
80
78
  );
81
79
  };
82
- s.JobsList = F;
83
- s.EditCompensation = T;
84
80
  export {
85
- s as Compensation,
86
- z as CompensationContextual
81
+ T as Compensation,
82
+ X as CompensationContextual
87
83
  };
88
84
  //# sourceMappingURL=Compensation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Compensation.js","sources":["../../../../../src/components/Employee/Compensation/onboarding/Compensation.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { createMachine } from 'robot3'\nimport { useTranslation } from 'react-i18next'\nimport { useJobsAndCompensationsGetJobsSuspense } from '@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs'\nimport { type Job } from '@gusto/embedded-api/models/components/job'\nimport type { FlsaStatusType } from '@gusto/embedded-api/models/components/flsastatustype'\nimport type { OnboardingContextInterface } from '../../OnboardingFlow/OnboardingFlowComponents'\nimport {\n InitialEditCompensationContextual,\n JobsListContextual,\n type CompensationFlowContextInterface,\n} from './CompensationFlowComponents'\nimport { compensationStateMachine } from './compensationStateMachine'\nimport { JobsList } from './JobsList'\nimport { EditCompensation } from './EditCompensation'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { PAY_PERIODS } from '@/shared/constants'\nimport { FlsaStatus } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flow } from '@/components/Flow/Flow'\nimport { useFlow } from '@/components/Flow/useFlow'\n\ntype CompensationInitialState = 'initialEditJob' | 'viewJobs'\n\ninterface InitialFlowConfig {\n initialState: CompensationInitialState\n currentJobId: string | null\n}\n\nconst INITIAL_COMPONENT_BY_STATE: Record<\n CompensationInitialState,\n React.ComponentType<CommonComponentInterface>\n> = {\n initialEditJob: InitialEditCompensationContextual,\n viewJobs: JobsListContextual,\n}\n\nfunction deriveInitialFlowConfig(employeeJobs: Job[]): InitialFlowConfig {\n if (employeeJobs.length === 0) {\n return { initialState: 'initialEditJob', currentJobId: null }\n }\n\n const onlyJob = employeeJobs.length === 1 ? (employeeJobs[0] ?? null) : null\n const onlyJobCompensation = findCurrentCompensation(onlyJob)\n\n if (onlyJob && onlyJobCompensation?.flsaStatus !== FlsaStatus.NONEXEMPT) {\n return { initialState: 'initialEditJob', currentJobId: onlyJob.uuid }\n }\n\n return { initialState: 'viewJobs', currentJobId: null }\n}\n\n/**\n * Default values for the compensation form fields.\n *\n * @remarks\n * At least one of the fields must be provided. If employee data is available\n * via the API, these values are overwritten.\n *\n * @public\n */\nexport type CompensationDefaultValues = RequireAtLeastOne<{\n /** The compensation rate (an amount in dollars). */\n rate?: Job['rate']\n /** The job title. */\n title?: Job['title']\n /** The pay period — one of `Hour`, `Week`, `Month`, `Year`, `Paycheck`. */\n paymentUnit?: (typeof PAY_PERIODS)[keyof typeof PAY_PERIODS]\n /** The FLSA classification — drives whether the role is treated as exempt, nonexempt, etc. */\n flsaStatus?: FlsaStatusType\n}>\n\n/**\n * Props for {@link Compensation}.\n *\n * @public\n */\nexport interface CompensationProps extends BaseComponentInterface<'Employee.Compensation'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The date the employee will start work. */\n startDate: string\n /** Default values for the compensation form fields. If employee data is available via the API, these values are overwritten. */\n defaultValues?: CompensationDefaultValues\n}\n\n/**\n * Onboarding step for collecting an employee's role and compensation details.\n *\n * @remarks\n * Collects the job title, employee type (hourly, salary), compensation\n * amount, and pay period. For hourly employees, allows configuring multiple\n * roles. Automatically routes between editing the only job (when an employee\n * has zero or one non-Nonexempt job) and a jobs-list view (when multiple\n * roles need to be managed) on first mount; on subsequent refetches the user\n * stays on their current step.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/job/created` | Fired after a job is successfully created | {@link Job} |\n * | `employee/job/updated` | Fired after a job is successfully updated | {@link Job} |\n * | `employee/job/deleted` | Fired after a job is successfully deleted | — |\n * | `employee/compensation/updated` | Fired after compensation details are updated | {@link Compensation} |\n * | `employee/compensation/done` | Fired when compensation setup is complete and the parent flow can advance | — |\n *\n * @param props - See {@link CompensationProps}.\n * @returns The compensation onboarding step.\n * @public\n * @group Block components\n *\n * @example\n * ```tsx\n * import { EmployeeOnboarding } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <EmployeeOnboarding.Compensation\n * employeeId=\"4b3f930f-82cd-48a8-b797-798686e12e5e\"\n * startDate=\"2025-01-01\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function Compensation(props: CompensationProps) {\n return (\n <BaseComponent {...props}>\n <CompensationFlow {...props} />\n </BaseComponent>\n )\n}\n\nconst findCurrentCompensation = (job?: Job | null) => {\n return job?.compensations?.find(comp => comp.uuid === job.currentCompensationUuid)\n}\n\nfunction CompensationFlow({\n employeeId,\n startDate,\n defaultValues,\n dictionary,\n onEvent,\n}: CompensationProps) {\n useComponentDictionary('Employee.Compensation', dictionary)\n\n const { data: jobsData } = useJobsAndCompensationsGetJobsSuspense({ employeeId })\n\n // Capture the routing decision from the first jobsData snapshot only. Suspense\n // guarantees that snapshot is fresh on first render. Subsequent refetches (e.g.\n // the getJobs invalidation that fires between EditCompensation's awaited job +\n // compensation mutations) must NOT re-seat the machine and reset the user's\n // place in the flow. Callers needing to re-derive routing for a different\n // employee should remount via `key`, matching the contract used by\n // OnboardingFlow / PayrollExecutionFlow / DismissalFlow.\n const [{ initialState, currentJobId }] = useState<InitialFlowConfig>(() =>\n deriveInitialFlowConfig(jobsData.jobs ?? []),\n )\n\n const manageCompensation = useMemo(\n () =>\n createMachine(\n initialState,\n compensationStateMachine,\n (initialContext: CompensationFlowContextInterface) => ({\n ...initialContext,\n component: INITIAL_COMPONENT_BY_STATE[initialState],\n employeeId,\n startDate,\n partnerDefaultValues: defaultValues,\n currentJobId,\n }),\n ),\n // `defaultValues` is intentionally omitted: a partner-supplied prop that may\n // arrive as a fresh object reference each render and only seeds the form\n // once. `initialState` and `currentJobId` are stable values from useState\n // above, so they're listed here as honest deps but never trigger recompute.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [employeeId, startDate, initialState, currentJobId],\n )\n\n return <Flow machine={manageCompensation} onEvent={onEvent} />\n}\n\n/** @internal */\nexport const CompensationContextual = () => {\n const { employeeId, onEvent, startDate, defaultValues } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId || !startDate) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Compensation',\n param: !employeeId ? 'employeeId' : 'startDate',\n provider: 'FlowProvider',\n }),\n )\n }\n return (\n <Compensation\n employeeId={employeeId}\n startDate={startDate}\n onEvent={onEvent}\n defaultValues={defaultValues?.compensation}\n />\n )\n}\n\nCompensation.JobsList = JobsList\nCompensation.EditCompensation = EditCompensation\n"],"names":["INITIAL_COMPONENT_BY_STATE","InitialEditCompensationContextual","JobsListContextual","deriveInitialFlowConfig","employeeJobs","onlyJob","onlyJobCompensation","findCurrentCompensation","FlsaStatus","Compensation","props","jsx","BaseComponent","CompensationFlow","job","comp","employeeId","startDate","defaultValues","dictionary","onEvent","useComponentDictionary","jobsData","useJobsAndCompensationsGetJobsSuspense","initialState","currentJobId","useState","manageCompensation","useMemo","createMachine","compensationStateMachine","initialContext","Flow","CompensationContextual","useFlow","t","useTranslation","JobsList","EditCompensation"],"mappings":";;;;;;;;;;;;;;;AAkCA,MAAMA,IAGF;AAAA,EACF,gBAAgBC;AAAA,EAChB,UAAUC;AACZ;AAEA,SAASC,EAAwBC,GAAwC;AACvE,MAAIA,EAAa,WAAW;AAC1B,WAAO,EAAE,cAAc,kBAAkB,cAAc,KAAA;AAGzD,QAAMC,IAAUD,EAAa,WAAW,IAAKA,EAAa,CAAC,KAAK,OAAQ,MAClEE,IAAsBC,EAAwBF,CAAO;AAE3D,SAAIA,KAAWC,GAAqB,eAAeE,EAAW,YACrD,EAAE,cAAc,kBAAkB,cAAcH,EAAQ,KAAA,IAG1D,EAAE,cAAc,YAAY,cAAc,KAAA;AACnD;AA4EO,SAASI,EAAaC,GAA0B;AACrD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAkB,GAAGH,GAAO,EAAA,CAC/B;AAEJ;AAEA,MAAMH,IAA0B,CAACO,MACxBA,GAAK,eAAe,KAAK,OAAQC,EAAK,SAASD,EAAI,uBAAuB;AAGnF,SAASD,EAAiB;AAAA,EACxB,YAAAG;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AACF,GAAsB;AACpB,EAAAC,EAAuB,yBAAyBF,CAAU;AAE1D,QAAM,EAAE,MAAMG,EAAA,IAAaC,EAAuC,EAAE,YAAAP,GAAY,GAS1E,CAAC,EAAE,cAAAQ,GAAc,cAAAC,EAAA,CAAc,IAAIC;AAAA,IAA4B,MACnEvB,EAAwBmB,EAAS,QAAQ,CAAA,CAAE;AAAA,EAAA,GAGvCK,IAAqBC;AAAA,IACzB,MACEC;AAAA,MACEL;AAAA,MACAM;AAAA,MACA,CAACC,OAAsD;AAAA,QACrD,GAAGA;AAAA,QACH,WAAW/B,EAA2BwB,CAAY;AAAA,QAClD,YAAAR;AAAA,QACA,WAAAC;AAAA,QACA,sBAAsBC;AAAA,QACtB,cAAAO;AAAA,MAAA;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOJ,CAACT,GAAYC,GAAWO,GAAcC,CAAY;AAAA,EAAA;AAGpD,SAAO,gBAAAd,EAACqB,GAAA,EAAK,SAASL,GAAoB,SAAAP,EAAA,CAAkB;AAC9D;AAGO,MAAMa,IAAyB,MAAM;AAC1C,QAAM,EAAE,YAAAjB,GAAY,SAAAI,GAAS,WAAAH,GAAW,eAAAC,EAAA,IAAkBgB,EAAA,GACpD,EAAE,GAAAC,EAAA,IAAMC,EAAe,QAAQ;AAErC,MAAI,CAACpB,KAAc,CAACC;AAClB,UAAM,IAAI;AAAA,MACRkB,EAAE,iCAAiC;AAAA,QACjC,WAAW;AAAA,QACX,OAAQnB,IAA4B,cAAf;AAAA,QACrB,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAGL,SACE,gBAAAL;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,YAAAO;AAAA,MACA,WAAAC;AAAA,MACA,SAAAG;AAAA,MACA,eAAeF,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEAT,EAAa,WAAW4B;AACxB5B,EAAa,mBAAmB6B;"}
1
+ {"version":3,"file":"Compensation.js","sources":["../../../../../src/components/Employee/Compensation/onboarding/Compensation.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { createMachine } from 'robot3'\nimport { useTranslation } from 'react-i18next'\nimport { useJobsAndCompensationsGetJobsSuspense } from '@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs'\nimport { type Job } from '@gusto/embedded-api/models/components/job'\nimport type { FlsaStatusType } from '@gusto/embedded-api/models/components/flsastatustype'\nimport type { OnboardingContextInterface } from '../../OnboardingFlow/OnboardingFlowComponents'\nimport {\n InitialEditCompensationContextual,\n JobsListContextual,\n type CompensationFlowContextInterface,\n} from './CompensationFlowComponents'\nimport { compensationStateMachine } from './compensationStateMachine'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { PAY_PERIODS } from '@/shared/constants'\nimport { FlsaStatus } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flow } from '@/components/Flow/Flow'\nimport { useFlow } from '@/components/Flow/useFlow'\n\ntype CompensationInitialState = 'initialEditJob' | 'viewJobs'\n\ninterface InitialFlowConfig {\n initialState: CompensationInitialState\n currentJobId: string | null\n}\n\nconst INITIAL_COMPONENT_BY_STATE: Record<\n CompensationInitialState,\n React.ComponentType<CommonComponentInterface>\n> = {\n initialEditJob: InitialEditCompensationContextual,\n viewJobs: JobsListContextual,\n}\n\nfunction deriveInitialFlowConfig(employeeJobs: Job[]): InitialFlowConfig {\n if (employeeJobs.length === 0) {\n return { initialState: 'initialEditJob', currentJobId: null }\n }\n\n const onlyJob = employeeJobs.length === 1 ? (employeeJobs[0] ?? null) : null\n const onlyJobCompensation = findCurrentCompensation(onlyJob)\n\n if (onlyJob && onlyJobCompensation?.flsaStatus !== FlsaStatus.NONEXEMPT) {\n return { initialState: 'initialEditJob', currentJobId: onlyJob.uuid }\n }\n\n return { initialState: 'viewJobs', currentJobId: null }\n}\n\n/**\n * Default values for the compensation form fields.\n *\n * @remarks\n * At least one of the fields must be provided. If employee data is available\n * via the API, these values are overwritten.\n *\n * @public\n */\nexport type CompensationDefaultValues = RequireAtLeastOne<{\n /** The compensation rate (an amount in dollars). */\n rate?: Job['rate']\n /** The job title. */\n title?: Job['title']\n /** The pay period — one of `Hour`, `Week`, `Month`, `Year`, `Paycheck`. */\n paymentUnit?: (typeof PAY_PERIODS)[keyof typeof PAY_PERIODS]\n /** The FLSA classification — drives whether the role is treated as exempt, nonexempt, etc. */\n flsaStatus?: FlsaStatusType\n}>\n\n/**\n * Props for {@link Compensation}.\n *\n * @public\n */\nexport interface CompensationProps extends BaseComponentInterface<'Employee.Compensation'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The date the employee will start work. */\n startDate: string\n /** Default values for the compensation form fields. If employee data is available via the API, these values are overwritten. */\n defaultValues?: CompensationDefaultValues\n}\n\n/**\n * Onboarding step for collecting an employee's role and compensation details.\n *\n * @remarks\n * Collects the job title, employee type (hourly, salary), compensation\n * amount, and pay period. For hourly employees, allows configuring multiple\n * roles. Automatically routes between editing the only job (when an employee\n * has zero or one non-Nonexempt job) and a jobs-list view (when multiple\n * roles need to be managed) on first mount; on subsequent refetches the user\n * stays on their current step.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/job/created` | Fired after a job is successfully created | {@link Job} |\n * | `employee/job/updated` | Fired after a job is successfully updated | {@link Job} |\n * | `employee/job/deleted` | Fired after a job is successfully deleted | — |\n * | `employee/compensation/updated` | Fired after compensation details are updated | {@link Compensation} |\n * | `employee/compensation/done` | Fired when compensation setup is complete and the parent flow can advance | — |\n *\n * @param props - See {@link CompensationProps}.\n * @returns The compensation onboarding step.\n * @public\n * @group Block components\n *\n * @example\n * ```tsx\n * import { EmployeeOnboarding } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <EmployeeOnboarding.Compensation\n * employeeId=\"4b3f930f-82cd-48a8-b797-798686e12e5e\"\n * startDate=\"2025-01-01\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function Compensation(props: CompensationProps) {\n return (\n <BaseComponent {...props}>\n <CompensationFlow {...props} />\n </BaseComponent>\n )\n}\n\nconst findCurrentCompensation = (job?: Job | null) => {\n return job?.compensations?.find(comp => comp.uuid === job.currentCompensationUuid)\n}\n\nfunction CompensationFlow({\n employeeId,\n startDate,\n defaultValues,\n dictionary,\n onEvent,\n}: CompensationProps) {\n useComponentDictionary('Employee.Compensation', dictionary)\n\n const { data: jobsData } = useJobsAndCompensationsGetJobsSuspense({ employeeId })\n\n // Capture the routing decision from the first jobsData snapshot only. Suspense\n // guarantees that snapshot is fresh on first render. Subsequent refetches (e.g.\n // the getJobs invalidation that fires between EditCompensation's awaited job +\n // compensation mutations) must NOT re-seat the machine and reset the user's\n // place in the flow. Callers needing to re-derive routing for a different\n // employee should remount via `key`, matching the contract used by\n // OnboardingFlow / PayrollExecutionFlow / DismissalFlow.\n const [{ initialState, currentJobId }] = useState<InitialFlowConfig>(() =>\n deriveInitialFlowConfig(jobsData.jobs ?? []),\n )\n\n const manageCompensation = useMemo(\n () =>\n createMachine(\n initialState,\n compensationStateMachine,\n (initialContext: CompensationFlowContextInterface) => ({\n ...initialContext,\n component: INITIAL_COMPONENT_BY_STATE[initialState],\n employeeId,\n startDate,\n partnerDefaultValues: defaultValues,\n currentJobId,\n }),\n ),\n // `defaultValues` is intentionally omitted: a partner-supplied prop that may\n // arrive as a fresh object reference each render and only seeds the form\n // once. `initialState` and `currentJobId` are stable values from useState\n // above, so they're listed here as honest deps but never trigger recompute.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [employeeId, startDate, initialState, currentJobId],\n )\n\n return <Flow machine={manageCompensation} onEvent={onEvent} />\n}\n\n/** @internal */\nexport const CompensationContextual = () => {\n const { employeeId, onEvent, startDate, defaultValues } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId || !startDate) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Compensation',\n param: !employeeId ? 'employeeId' : 'startDate',\n provider: 'FlowProvider',\n }),\n )\n }\n return (\n <Compensation\n employeeId={employeeId}\n startDate={startDate}\n onEvent={onEvent}\n defaultValues={defaultValues?.compensation}\n />\n )\n}\n"],"names":["INITIAL_COMPONENT_BY_STATE","InitialEditCompensationContextual","JobsListContextual","deriveInitialFlowConfig","employeeJobs","onlyJob","onlyJobCompensation","findCurrentCompensation","FlsaStatus","Compensation","props","jsx","BaseComponent","CompensationFlow","job","comp","employeeId","startDate","defaultValues","dictionary","onEvent","useComponentDictionary","jobsData","useJobsAndCompensationsGetJobsSuspense","initialState","currentJobId","useState","manageCompensation","useMemo","createMachine","compensationStateMachine","initialContext","Flow","CompensationContextual","useFlow","t","useTranslation"],"mappings":";;;;;;;;;;;;;AAgCA,MAAMA,IAGF;AAAA,EACF,gBAAgBC;AAAA,EAChB,UAAUC;AACZ;AAEA,SAASC,EAAwBC,GAAwC;AACvE,MAAIA,EAAa,WAAW;AAC1B,WAAO,EAAE,cAAc,kBAAkB,cAAc,KAAA;AAGzD,QAAMC,IAAUD,EAAa,WAAW,IAAKA,EAAa,CAAC,KAAK,OAAQ,MAClEE,IAAsBC,EAAwBF,CAAO;AAE3D,SAAIA,KAAWC,GAAqB,eAAeE,EAAW,YACrD,EAAE,cAAc,kBAAkB,cAAcH,EAAQ,KAAA,IAG1D,EAAE,cAAc,YAAY,cAAc,KAAA;AACnD;AA4EO,SAASI,EAAaC,GAA0B;AACrD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAkB,GAAGH,GAAO,EAAA,CAC/B;AAEJ;AAEA,MAAMH,IAA0B,CAACO,MACxBA,GAAK,eAAe,KAAK,OAAQC,EAAK,SAASD,EAAI,uBAAuB;AAGnF,SAASD,EAAiB;AAAA,EACxB,YAAAG;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AACF,GAAsB;AACpB,EAAAC,EAAuB,yBAAyBF,CAAU;AAE1D,QAAM,EAAE,MAAMG,EAAA,IAAaC,EAAuC,EAAE,YAAAP,GAAY,GAS1E,CAAC,EAAE,cAAAQ,GAAc,cAAAC,EAAA,CAAc,IAAIC;AAAA,IAA4B,MACnEvB,EAAwBmB,EAAS,QAAQ,CAAA,CAAE;AAAA,EAAA,GAGvCK,IAAqBC;AAAA,IACzB,MACEC;AAAA,MACEL;AAAA,MACAM;AAAA,MACA,CAACC,OAAsD;AAAA,QACrD,GAAGA;AAAA,QACH,WAAW/B,EAA2BwB,CAAY;AAAA,QAClD,YAAAR;AAAA,QACA,WAAAC;AAAA,QACA,sBAAsBC;AAAA,QACtB,cAAAO;AAAA,MAAA;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOJ,CAACT,GAAYC,GAAWO,GAAcC,CAAY;AAAA,EAAA;AAGpD,SAAO,gBAAAd,EAACqB,GAAA,EAAK,SAASL,GAAoB,SAAAP,EAAA,CAAkB;AAC9D;AAGO,MAAMa,IAAyB,MAAM;AAC1C,QAAM,EAAE,YAAAjB,GAAY,SAAAI,GAAS,WAAAH,GAAW,eAAAC,EAAA,IAAkBgB,EAAA,GACpD,EAAE,GAAAC,EAAA,IAAMC,EAAe,QAAQ;AAErC,MAAI,CAACpB,KAAc,CAACC;AAClB,UAAM,IAAI;AAAA,MACRkB,EAAE,iCAAiC;AAAA,QACjC,WAAW;AAAA,QACX,OAAQnB,IAA4B,cAAf;AAAA,QACrB,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAGL,SACE,gBAAAL;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,YAAAO;AAAA,MACA,WAAAC;AAAA,MACA,SAAAG;AAAA,MACA,eAAeF,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;"}
@@ -74,7 +74,7 @@ export type CompensationFormData = {
74
74
  */
75
75
  title: string
76
76
  flsaStatus: "Exempt" | "Salaried Nonexempt" | "Nonexempt" | "Owner" | "Commission Only Exempt" | "Commission Only Nonexempt" | undefined
77
- paymentUnit: "Hour" | "Week" | "Month" | "Year" | "Paycheck"
77
+ paymentUnit: "Hour" | "Month" | "Paycheck" | "Week" | "Year"
78
78
  rate: number
79
79
  /**
80
80
  * The effective date a new compensation should take effect on.
@@ -125,7 +125,7 @@ export type CompensationFormData = {
125
125
  * })
126
126
  * ```
127
127
  */
128
- export type CompensationOptionalFieldsToRequire = { create?: ("title" | "minimumWageId")[] | undefined; update?: ("title" | "flsaStatus" | "paymentUnit" | "rate" | "effectiveDate" | "minimumWageId")[] | undefined; };
128
+ export type CompensationOptionalFieldsToRequire = { create?: ("minimumWageId" | "title")[] | undefined; update?: ("effectiveDate" | "flsaStatus" | "minimumWageId" | "paymentUnit" | "rate" | "title")[] | undefined; };
129
129
  /** @internal */
130
130
  export type CompensationFormOutputs = CompensationFormData;
131
131
  /** @internal */
@@ -85,7 +85,7 @@ export type JobFormOutputs = JobFormData;
85
85
  * })
86
86
  * ```
87
87
  */
88
- export type JobOptionalFieldsToRequire = { create?: ("twoPercentShareholder" | "stateWcCovered" | "stateWcClassCode")[] | undefined; update?: ("title" | "hireDate" | "twoPercentShareholder" | "stateWcCovered" | "stateWcClassCode")[] | undefined; };
88
+ export type JobOptionalFieldsToRequire = { create?: ("stateWcClassCode" | "stateWcCovered" | "twoPercentShareholder")[] | undefined; update?: ("hireDate" | "stateWcClassCode" | "stateWcCovered" | "title" | "twoPercentShareholder")[] | undefined; };
89
89
  interface JobSchemaOptions {
90
90
  mode?: 'create' | 'update';
91
91
  optionalFieldsToRequire?: JobOptionalFieldsToRequire;
@@ -1,4 +1,4 @@
1
1
  export { DashboardFlow } from './DashboardFlow';
2
2
  export type { DashboardFlowProps } from './DashboardFlow';
3
3
  export { Dashboard } from './Dashboard';
4
- export type { DashboardProps } from './Dashboard';
4
+ export type { DashboardProps, DashboardTab } from './Dashboard';
@@ -42,7 +42,7 @@ export declare function getRequiredAttrKeys(agency?: Agencies | null): Set<Suppo
42
42
  * @public
43
43
  * @interface
44
44
  */
45
- export type ChildSupportGarnishmentFormData = { state: string; fipsCode: string; caseNumber: string; orderNumber: string; remittanceNumber: string; payPeriodMaximum: number; amount: number; paymentPeriod: "Every week" | "Every other week" | "Twice per month" | "Monthly"; };
45
+ export type ChildSupportGarnishmentFormData = { state: string; fipsCode: string; caseNumber: string; orderNumber: string; remittanceNumber: string; payPeriodMaximum: number; amount: number; paymentPeriod: "Every other week" | "Every week" | "Monthly" | "Twice per month"; };
46
46
  /** @internal */
47
47
  export type ChildSupportGarnishmentFormOutputs = ChildSupportGarnishmentFormData;
48
48
  /** @internal */
@@ -187,5 +187,5 @@ export declare function useChildSupportGarnishmentForm({ employeeId, garnishment
187
187
  *
188
188
  * @public
189
189
  */
190
- export type ChildSupportGarnishmentFormFieldsMetadata = { state: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<StateFieldEntry>; fipsCode: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<CountyEntry>; caseNumber: FieldMetadata; orderNumber: FieldMetadata; remittanceNumber: FieldMetadata; payPeriodMaximum: FieldMetadata; amount: FieldMetadata; paymentPeriod: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<"Every week" | "Every other week" | "Twice per month" | "Monthly">; };
190
+ export type ChildSupportGarnishmentFormFieldsMetadata = { state: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<StateFieldEntry>; fipsCode: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<CountyEntry>; caseNumber: FieldMetadata; orderNumber: FieldMetadata; remittanceNumber: FieldMetadata; payPeriodMaximum: FieldMetadata; amount: FieldMetadata; paymentPeriod: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<"Every other week" | "Every week" | "Monthly" | "Twice per month">; };
191
191
  export {};
@@ -22,7 +22,7 @@ export type DeductionFormErrorCode = (typeof DeductionFormErrorCodes)[keyof type
22
22
  * @public
23
23
  * @interface
24
24
  */
25
- export type DeductionFormData = { description: string; recurring: boolean; deductAsPercentage: boolean; amount: number; totalAmount: number; annualMaximum: number; garnishmentType: "child_support" | "federal_tax_lien" | "state_tax_lien" | "student_loan" | "creditor_garnishment" | "federal_loan" | "other_garnishment"; };
25
+ export type DeductionFormData = { description: string; recurring: boolean; deductAsPercentage: boolean; amount: number; totalAmount: number; annualMaximum: number; garnishmentType: "child_support" | "creditor_garnishment" | "federal_loan" | "federal_tax_lien" | "other_garnishment" | "state_tax_lien" | "student_loan"; };
26
26
  /** @internal */
27
27
  export type DeductionFormOutputs = DeductionFormData;
28
28
  /**
@@ -31,7 +31,7 @@ export type DeductionFormOutputs = DeductionFormData;
31
31
  *
32
32
  * @public
33
33
  */
34
- export type DeductionFormOptionalFieldsToRequire = { create?: ("totalAmount" | "annualMaximum")[] | undefined; update?: ("totalAmount" | "annualMaximum")[] | undefined; };
34
+ export type DeductionFormOptionalFieldsToRequire = { create?: ("annualMaximum" | "totalAmount")[] | undefined; update?: ("annualMaximum" | "totalAmount")[] | undefined; };
35
35
  /** @internal */
36
36
  interface DeductionFormSchemaOptions {
37
37
  mode?: 'create' | 'update';
@@ -17,6 +17,6 @@ export declare const generateEmploymentEligibilitySchema: (hasDocumentNumber?: b
17
17
  country: z.ZodOptional<z.ZodString>;
18
18
  }, z.core.$strip>;
19
19
  /** @internal */
20
- export type EmploymentEligibilityInputs = z.input<ReturnType<typeof generateEmploymentEligibilitySchema>>;
20
+ export type EmploymentEligibilityInputs = { authorizationStatus?: "citizen" | "noncitizen" | "permanent_resident" | "alien" | undefined; documentType?: "uscis_alien_registration_number" | "form_i94" | "foreign_passport" | undefined; documentNumber?: string | undefined; expirationDate?: Date | undefined; country?: string | undefined; };
21
21
  /** @internal */
22
- export type EmploymentEligibilityPayload = z.infer<ReturnType<typeof generateEmploymentEligibilitySchema>>;
22
+ export type EmploymentEligibilityPayload = { authorizationStatus?: "citizen" | "noncitizen" | "permanent_resident" | "alien" | undefined; documentType?: "uscis_alien_registration_number" | "form_i94" | "foreign_passport" | undefined; documentNumber?: string | undefined; expirationDate?: string | undefined; country?: string | undefined; };
@@ -14,10 +14,7 @@ function M(o) {
14
14
  }
15
15
  const P = ({ employeeId: o, dictionary: t }) => {
16
16
  b("Employee.EmployeeDocuments", t);
17
- const { onEvent: s, baseSubmitHandler: r } = S(), { data: u } = d({ employeeId: o }), e = u.employee, a = e?.onboardingDocumentsConfig?.i9Document ?? !1, c = e?.onboardingStatus ? (
18
- // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses
19
- N.has(e.onboardingStatus) || e.onboardingStatus === C.SELF_ONBOARDING_PENDING_INVITE
20
- ) : !1, { mutateAsync: p } = y(), E = D({
17
+ const { onEvent: s, baseSubmitHandler: r } = S(), { data: u } = d({ employeeId: o }), e = u.employee, a = e?.onboardingDocumentsConfig?.i9Document ?? !1, c = e?.onboardingStatus ? N.has(e.onboardingStatus) || e.onboardingStatus === C.SELF_ONBOARDING_PENDING_INVITE : !1, { mutateAsync: p } = y(), E = D({
21
18
  mutationKey: f()
22
19
  }) > 0;
23
20
  return /* @__PURE__ */ n(
@@ -1 +1 @@
1
- {"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeesUpdateOnboardingDocumentsConfigMutation,\n mutationKeyEmployeesUpdateOnboardingDocumentsConfig,\n} from '@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig'\nimport {\n EmployeeDocumentsPresentation,\n type EmployeeDocumentsFormValues,\n} from './EmployeeDocumentsPresentation'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport type { OnboardingContextInterface } from '@/components/Employee/OnboardingFlow/OnboardingFlowComponents'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeDocuments}.\n *\n * @public\n */\nexport interface EmployeeDocumentsProps extends BaseComponentInterface<'Employee.EmployeeDocuments'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Onboarding step for selecting which documents the employee must complete.\n *\n * @remarks\n * Shows the I-9 toggle when the employee is self-onboarding (so the employee\n * can choose whether their employer will collect I-9 verification) and a\n * summary otherwise. Persists the selection to the employee's onboarding\n * documents configuration and advances the parent flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/onboardingDocumentsConfig/updated` | Fired after the employee's documents configuration is saved | The updated documents configuration response |\n * | `employee/documents/done` | Fired when the step is complete and the parent flow can advance | — |\n *\n * @param props - Component props including `employeeId` and `onEvent`.\n * @returns The employee documents onboarding step.\n * @public\n */\nexport function EmployeeDocuments(props: EmployeeDocumentsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, dictionary }: EmployeeDocumentsProps) => {\n useComponentDictionary('Employee.EmployeeDocuments', dictionary)\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = useEmployeesGetSuspense({ employeeId })\n const employee = data.employee\n const currentI9Status = employee?.onboardingDocumentsConfig?.i9Document ?? false\n\n const isEmployeeSelfOnboarding = employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus) ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : false\n\n const { mutateAsync: updateOnboardingDocumentsConfig } =\n useEmployeesUpdateOnboardingDocumentsConfigMutation()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyEmployeesUpdateOnboardingDocumentsConfig(),\n })\n const isPending = isMutating > 0\n\n const onSubmit = async (formData: EmployeeDocumentsFormValues) => {\n await baseSubmitHandler(formData, async () => {\n const response = await updateOnboardingDocumentsConfig({\n request: {\n employeeId,\n employeeOnboardingDocumentsConfigRequest: {\n i9Document: formData.includeI9,\n },\n },\n })\n\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DOCUMENTS_CONFIG_UPDATED, response)\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n })\n }\n\n const handleDone = () => {\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n }\n\n return (\n <EmployeeDocumentsPresentation\n isEmployeeSelfOnboarding={isEmployeeSelfOnboarding}\n currentI9Status={currentI9Status}\n onSubmit={onSubmit}\n onDone={handleDone}\n isPending={isPending}\n />\n )\n}\n\n/** @internal */\nexport const EmployeeDocumentsContextual = () => {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n\n return <EmployeeDocuments employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n"],"names":["EmployeeDocuments","props","jsx","BaseComponent","Root","employeeId","dictionary","useComponentDictionary","onEvent","baseSubmitHandler","useBase","data","useEmployeesGetSuspense","employee","currentI9Status","isEmployeeSelfOnboarding","EmployeeSelfOnboardingStatuses","EmployeeOnboardingStatus","updateOnboardingDocumentsConfig","useEmployeesUpdateOnboardingDocumentsConfigMutation","isPending","useIsMutating","mutationKeyEmployeesUpdateOnboardingDocumentsConfig","EmployeeDocumentsPresentation","formData","response","componentEvents","EmployeeDocumentsContextual","useFlow","ensureRequired"],"mappings":";;;;;;;;;;;AAkDO,SAASA,EAAkBC,GAA+B;AAC/D,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,YAAAC,GAAY,YAAAC,QAAyC;AACnE,EAAAC,EAAuB,8BAA8BD,CAAU;AAC/D,QAAM,EAAE,SAAAE,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAAC,EAAA,IAASC,EAAwB,EAAE,YAAAP,GAAY,GACjDQ,IAAWF,EAAK,UAChBG,IAAkBD,GAAU,2BAA2B,cAAc,IAErEE,IAA2BF,GAAU;AAAA;AAAA,IAEvCG,EAA+B,IAAIH,EAAS,gBAAgB,KAC5DA,EAAS,qBAAqBI,EAAyB;AAAA,MACvD,IAEE,EAAE,aAAaC,EAAA,IACnBC,EAAA,GAKIC,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAoD,CAClE,IAC8B;AAsB/B,SACE,gBAAApB;AAAA,IAACqB;AAAA,IAAA;AAAA,MACC,0BAAAR;AAAA,MACA,iBAAAD;AAAA,MACA,UAxBa,OAAOU,MAA0C;AAChE,cAAMf,EAAkBe,GAAU,YAAY;AAC5C,gBAAMC,IAAW,MAAMP,EAAgC;AAAA,YACrD,SAAS;AAAA,cACP,YAAAb;AAAA,cACA,0CAA0C;AAAA,gBACxC,YAAYmB,EAAS;AAAA,cAAA;AAAA,YACvB;AAAA,UACF,CACD;AAED,UAAAhB,EAAQkB,EAAgB,8CAA8CD,CAAQ,GAC9EjB,EAAQkB,EAAgB,uBAAuB;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,MAWI,QATe,MAAM;AACvB,QAAAlB,EAAQkB,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MAQI,WAAAN;AAAA,IAAA;AAAA,EAAA;AAGN,GAGaO,IAA8B,MAAM;AAC/C,QAAM,EAAE,YAAAtB,GAAY,SAAAG,EAAA,IAAYoB,EAAA;AAEhC,2BAAQ5B,GAAA,EAAkB,YAAY6B,EAAexB,CAAU,GAAG,SAAAG,GAAkB;AACtF;"}
1
+ {"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeesUpdateOnboardingDocumentsConfigMutation,\n mutationKeyEmployeesUpdateOnboardingDocumentsConfig,\n} from '@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig'\nimport {\n EmployeeDocumentsPresentation,\n type EmployeeDocumentsFormValues,\n} from './EmployeeDocumentsPresentation'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport type { OnboardingContextInterface } from '@/components/Employee/OnboardingFlow/OnboardingFlowComponents'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeDocuments}.\n *\n * @public\n */\nexport interface EmployeeDocumentsProps extends BaseComponentInterface<'Employee.EmployeeDocuments'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Onboarding step for selecting which documents the employee must complete.\n *\n * @remarks\n * Shows the I-9 toggle when the employee is self-onboarding (so the employee\n * can choose whether their employer will collect I-9 verification) and a\n * summary otherwise. Persists the selection to the employee's onboarding\n * documents configuration and advances the parent flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/onboardingDocumentsConfig/updated` | Fired after the employee's documents configuration is saved | The updated documents configuration response |\n * | `employee/documents/done` | Fired when the step is complete and the parent flow can advance | — |\n *\n * @param props - Component props including `employeeId` and `onEvent`.\n * @returns The employee documents onboarding step.\n * @public\n */\nexport function EmployeeDocuments(props: EmployeeDocumentsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, dictionary }: EmployeeDocumentsProps) => {\n useComponentDictionary('Employee.EmployeeDocuments', dictionary)\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = useEmployeesGetSuspense({ employeeId })\n const employee = data.employee\n const currentI9Status = employee?.onboardingDocumentsConfig?.i9Document ?? false\n\n const isEmployeeSelfOnboarding = employee?.onboardingStatus\n ? EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus) ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : false\n\n const { mutateAsync: updateOnboardingDocumentsConfig } =\n useEmployeesUpdateOnboardingDocumentsConfigMutation()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyEmployeesUpdateOnboardingDocumentsConfig(),\n })\n const isPending = isMutating > 0\n\n const onSubmit = async (formData: EmployeeDocumentsFormValues) => {\n await baseSubmitHandler(formData, async () => {\n const response = await updateOnboardingDocumentsConfig({\n request: {\n employeeId,\n employeeOnboardingDocumentsConfigRequest: {\n i9Document: formData.includeI9,\n },\n },\n })\n\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DOCUMENTS_CONFIG_UPDATED, response)\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n })\n }\n\n const handleDone = () => {\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n }\n\n return (\n <EmployeeDocumentsPresentation\n isEmployeeSelfOnboarding={isEmployeeSelfOnboarding}\n currentI9Status={currentI9Status}\n onSubmit={onSubmit}\n onDone={handleDone}\n isPending={isPending}\n />\n )\n}\n\n/** @internal */\nexport const EmployeeDocumentsContextual = () => {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n\n return <EmployeeDocuments employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n"],"names":["EmployeeDocuments","props","jsx","BaseComponent","Root","employeeId","dictionary","useComponentDictionary","onEvent","baseSubmitHandler","useBase","data","useEmployeesGetSuspense","employee","currentI9Status","isEmployeeSelfOnboarding","EmployeeSelfOnboardingStatuses","EmployeeOnboardingStatus","updateOnboardingDocumentsConfig","useEmployeesUpdateOnboardingDocumentsConfigMutation","isPending","useIsMutating","mutationKeyEmployeesUpdateOnboardingDocumentsConfig","EmployeeDocumentsPresentation","formData","response","componentEvents","EmployeeDocumentsContextual","useFlow","ensureRequired"],"mappings":";;;;;;;;;;;AAkDO,SAASA,EAAkBC,GAA+B;AAC/D,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,YAAAC,GAAY,YAAAC,QAAyC;AACnE,EAAAC,EAAuB,8BAA8BD,CAAU;AAC/D,QAAM,EAAE,SAAAE,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAAC,EAAA,IAASC,EAAwB,EAAE,YAAAP,GAAY,GACjDQ,IAAWF,EAAK,UAChBG,IAAkBD,GAAU,2BAA2B,cAAc,IAErEE,IAA2BF,GAAU,mBACvCG,EAA+B,IAAIH,EAAS,gBAAgB,KAC5DA,EAAS,qBAAqBI,EAAyB,iCACvD,IAEE,EAAE,aAAaC,EAAA,IACnBC,EAAA,GAKIC,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAoD,CAClE,IAC8B;AAsB/B,SACE,gBAAApB;AAAA,IAACqB;AAAA,IAAA;AAAA,MACC,0BAAAR;AAAA,MACA,iBAAAD;AAAA,MACA,UAxBa,OAAOU,MAA0C;AAChE,cAAMf,EAAkBe,GAAU,YAAY;AAC5C,gBAAMC,IAAW,MAAMP,EAAgC;AAAA,YACrD,SAAS;AAAA,cACP,YAAAb;AAAA,cACA,0CAA0C;AAAA,gBACxC,YAAYmB,EAAS;AAAA,cAAA;AAAA,YACvB;AAAA,UACF,CACD;AAED,UAAAhB,EAAQkB,EAAgB,8CAA8CD,CAAQ,GAC9EjB,EAAQkB,EAAgB,uBAAuB;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,MAWI,QATe,MAAM;AACvB,QAAAlB,EAAQkB,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MAQI,WAAAN;AAAA,IAAA;AAAA,EAAA;AAGN,GAGaO,IAA8B,MAAM;AAC/C,QAAM,EAAE,YAAAtB,GAAY,SAAAG,EAAA,IAAYoB,EAAA;AAEhC,2BAAQ5B,GAAA,EAAkB,YAAY6B,EAAexB,CAAU,GAAG,SAAAG,GAAkB;AACtF;"}
@@ -98,14 +98,14 @@ export declare const PREPARER_FIELDS_BY_INDEX: SignEmployeeFormField[][];
98
98
  *
99
99
  * @public
100
100
  */
101
- export type SignEmployeeFormField = "signature" | "confirmSignature" | "usedPreparer" | "preparerFirstName" | "preparerLastName" | "preparerStreet1" | "preparerStreet2" | "preparerCity" | "preparerState" | "preparerZip" | "preparerSignature" | "preparerAgree" | "preparer2FirstName" | "preparer2LastName" | "preparer2Street1" | "preparer2Street2" | "preparer2City" | "preparer2State" | "preparer2Zip" | "preparer2Signature" | "preparer2Agree" | "preparer3FirstName" | "preparer3LastName" | "preparer3Street1" | "preparer3Street2" | "preparer3City" | "preparer3State" | "preparer3Zip" | "preparer3Signature" | "preparer3Agree" | "preparer4FirstName" | "preparer4LastName" | "preparer4Street1" | "preparer4Street2" | "preparer4City" | "preparer4State" | "preparer4Zip" | "preparer4Signature" | "preparer4Agree";
101
+ export type SignEmployeeFormField = "confirmSignature" | "preparer2Agree" | "preparer2City" | "preparer2FirstName" | "preparer2LastName" | "preparer2Signature" | "preparer2State" | "preparer2Street1" | "preparer2Street2" | "preparer2Zip" | "preparer3Agree" | "preparer3City" | "preparer3FirstName" | "preparer3LastName" | "preparer3Signature" | "preparer3State" | "preparer3Street1" | "preparer3Street2" | "preparer3Zip" | "preparer4Agree" | "preparer4City" | "preparer4FirstName" | "preparer4LastName" | "preparer4Signature" | "preparer4State" | "preparer4Street1" | "preparer4Street2" | "preparer4Zip" | "preparerAgree" | "preparerCity" | "preparerFirstName" | "preparerLastName" | "preparerSignature" | "preparerState" | "preparerStreet1" | "preparerStreet2" | "preparerZip" | "signature" | "usedPreparer";
102
102
  /**
103
103
  * Shape of the values managed by the I-9 sign-employee form.
104
104
  *
105
105
  * @public
106
106
  * @interface
107
107
  */
108
- export type SignEmployeeFormData = { signature: string; confirmSignature: boolean; usedPreparer: "yes" | "no"; preparerFirstName: string; preparerLastName: string; preparerStreet1: string; preparerStreet2: string; preparerCity: string; preparerState: string; preparerZip: string; preparerSignature: string; preparerAgree: boolean; preparer2FirstName: string; preparer2LastName: string; preparer2Street1: string; preparer2Street2: string; preparer2City: string; preparer2State: string; preparer2Zip: string; preparer2Signature: string; preparer2Agree: boolean; preparer3FirstName: string; preparer3LastName: string; preparer3Street1: string; preparer3Street2: string; preparer3City: string; preparer3State: string; preparer3Zip: string; preparer3Signature: string; preparer3Agree: boolean; preparer4FirstName: string; preparer4LastName: string; preparer4Street1: string; preparer4Street2: string; preparer4City: string; preparer4State: string; preparer4Zip: string; preparer4Signature: string; preparer4Agree: boolean; };
108
+ export type SignEmployeeFormData = { signature: string; confirmSignature: boolean; usedPreparer: "no" | "yes"; preparerFirstName: string; preparerLastName: string; preparerStreet1: string; preparerStreet2: string; preparerCity: string; preparerState: string; preparerZip: string; preparerSignature: string; preparerAgree: boolean; preparer2FirstName: string; preparer2LastName: string; preparer2Street1: string; preparer2Street2: string; preparer2City: string; preparer2State: string; preparer2Zip: string; preparer2Signature: string; preparer2Agree: boolean; preparer3FirstName: string; preparer3LastName: string; preparer3Street1: string; preparer3Street2: string; preparer3City: string; preparer3State: string; preparer3Zip: string; preparer3Signature: string; preparer3Agree: boolean; preparer4FirstName: string; preparer4LastName: string; preparer4Street1: string; preparer4Street2: string; preparer4City: string; preparer4State: string; preparer4Zip: string; preparer4Signature: string; preparer4Agree: boolean; };
109
109
  /** @internal */
110
110
  export type SignEmployeeFormOutputs = SignEmployeeFormData;
111
111
  /** @internal */
@@ -1,12 +1,8 @@
1
1
  import { z as e } from "zod";
2
2
  import { buildFormSchema as u } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
3
- const R = {
3
+ const E = {
4
4
  REQUIRED: "REQUIRED"
5
- }, S = 4;
6
- function I(i, n) {
7
- return i === 1 ? `preparer${n}` : `preparer${i}${n}`;
8
- }
9
- const r = {
5
+ }, S = 4, r = {
10
6
  firstName: "preparerFirstName",
11
7
  lastName: "preparerLastName",
12
8
  street1: "preparerStreet1",
@@ -46,21 +42,21 @@ const r = {
46
42
  zip: "preparer4Zip",
47
43
  signature: "preparer4Signature",
48
44
  agree: "preparer4Agree"
49
- }, D = [
45
+ }, I = [
50
46
  r,
51
47
  t,
52
48
  s,
53
49
  a
54
- ], l = Object.values(r), N = Object.values(t), P = Object.values(s), f = Object.values(a), m = [
50
+ ], l = Object.values(r), N = Object.values(t), P = Object.values(s), f = Object.values(a), R = [
55
51
  l,
56
52
  N,
57
53
  P,
58
54
  f
59
- ], _ = m.flat(), p = e.boolean().refine((i) => i, {
60
- message: R.REQUIRED
55
+ ], _ = R.flat(), i = e.boolean().refine((n) => n, {
56
+ message: E.REQUIRED
61
57
  }), A = {
62
58
  signature: e.string(),
63
- confirmSignature: p,
59
+ confirmSignature: i,
64
60
  usedPreparer: e.enum(["yes", "no"]),
65
61
  // Preparer 1
66
62
  [r.firstName]: e.string(),
@@ -71,7 +67,7 @@ const r = {
71
67
  [r.state]: e.string(),
72
68
  [r.zip]: e.string(),
73
69
  [r.signature]: e.string(),
74
- [r.agree]: p,
70
+ [r.agree]: i,
75
71
  // Preparer 2
76
72
  [t.firstName]: e.string(),
77
73
  [t.lastName]: e.string(),
@@ -81,7 +77,7 @@ const r = {
81
77
  [t.state]: e.string(),
82
78
  [t.zip]: e.string(),
83
79
  [t.signature]: e.string(),
84
- [t.agree]: p,
80
+ [t.agree]: i,
85
81
  // Preparer 3
86
82
  [s.firstName]: e.string(),
87
83
  [s.lastName]: e.string(),
@@ -91,7 +87,7 @@ const r = {
91
87
  [s.state]: e.string(),
92
88
  [s.zip]: e.string(),
93
89
  [s.signature]: e.string(),
94
- [s.agree]: p,
90
+ [s.agree]: i,
95
91
  // Preparer 4
96
92
  [a.firstName]: e.string(),
97
93
  [a.lastName]: e.string(),
@@ -101,36 +97,35 @@ const r = {
101
97
  [a.state]: e.string(),
102
98
  [a.zip]: e.string(),
103
99
  [a.signature]: e.string(),
104
- [a.agree]: p
105
- }, F = {
100
+ [a.agree]: i
101
+ }, d = {
106
102
  [r.street2]: "never",
107
103
  [t.street2]: "never",
108
104
  [s.street2]: "never",
109
105
  [a.street2]: "never"
110
106
  };
111
- function L(i = {}) {
112
- const { isI9: n = !1, preparerCount: c = 0 } = i, o = [];
113
- if (!n)
114
- o.push("usedPreparer", ..._);
107
+ function D(n = {}) {
108
+ const { isI9: m = !1, preparerCount: c = 0 } = n, g = [];
109
+ if (!m)
110
+ g.push("usedPreparer", ..._);
115
111
  else
116
- for (let g = 0; g < S; g++)
117
- if (g + 1 > c) {
118
- const E = m[g];
119
- E && o.push(...E);
112
+ for (let p = 0; p < S; p++)
113
+ if (p + 1 > c) {
114
+ const o = R[p];
115
+ o && g.push(...o);
120
116
  }
121
117
  return u(A, {
122
- requiredFieldsConfig: F,
123
- requiredErrorCode: R.REQUIRED,
118
+ requiredFieldsConfig: d,
119
+ requiredErrorCode: E.REQUIRED,
124
120
  mode: "create",
125
- excludeFields: o
121
+ excludeFields: g
126
122
  });
127
123
  }
128
124
  export {
129
125
  S as MAX_PREPARERS,
130
- D as PREPARERS_BY_INDEX,
131
- m as PREPARER_FIELDS_BY_INDEX,
132
- R as SignEmployeeFormErrorCodes,
133
- L as createSignEmployeeFormSchema,
134
- I as preparerFieldName
126
+ I as PREPARERS_BY_INDEX,
127
+ R as PREPARER_FIELDS_BY_INDEX,
128
+ E as SignEmployeeFormErrorCodes,
129
+ D as createSignEmployeeFormSchema
135
130
  };
136
131
  //# sourceMappingURL=signEmployeeFormSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signEmployeeFormSchema.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\n/**\n * Validation error codes emitted by the I-9 sign-employee form schema. Map\n * these codes to localized copy in `validationMessages` when composing the\n * hook.\n *\n * @public\n */\nexport const SignEmployeeFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n} as const\n\n/**\n * Union of validation error code strings emitted by the I-9 sign-employee\n * form schema.\n *\n * @public\n */\nexport type SignEmployeeFormErrorCode =\n (typeof SignEmployeeFormErrorCodes)[keyof typeof SignEmployeeFormErrorCodes]\n\n// ── Preparer naming helpers ────────────────────────────────────────────\n\n/**\n * Maximum number of I-9 preparers and translators the form supports.\n *\n * @public\n */\nexport const MAX_PREPARERS = 4\n\n/**\n * One-based preparer index used to reference preparer field groups (1–4).\n *\n * @public\n */\nexport type PreparerIndex = 1 | 2 | 3 | 4\n\n/**\n * Suffix segment of a preparer field name — the part that follows\n * `preparer` (or `preparerN`) in the field key.\n *\n * @public\n */\nexport type PreparerFieldSuffix =\n | 'FirstName'\n | 'LastName'\n | 'Street1'\n | 'Street2'\n | 'City'\n | 'State'\n | 'Zip'\n | 'Signature'\n | 'Agree'\n\n/** @internal */\nexport function preparerFieldName(index: PreparerIndex, field: PreparerFieldSuffix): string {\n return index === 1 ? `preparer${field}` : `preparer${index}${field}`\n}\n\n// ── Preparer field name constants ──────────────────────────────────────\n\ntype PreparerFieldMap = Record<\n | 'firstName'\n | 'lastName'\n | 'street1'\n | 'street2'\n | 'city'\n | 'state'\n | 'zip'\n | 'signature'\n | 'agree',\n SignEmployeeFormField\n>\n\nconst PREPARER_1 = {\n firstName: 'preparerFirstName',\n lastName: 'preparerLastName',\n street1: 'preparerStreet1',\n street2: 'preparerStreet2',\n city: 'preparerCity',\n state: 'preparerState',\n zip: 'preparerZip',\n signature: 'preparerSignature',\n agree: 'preparerAgree',\n} as const\n\nconst PREPARER_2 = {\n firstName: 'preparer2FirstName',\n lastName: 'preparer2LastName',\n street1: 'preparer2Street1',\n street2: 'preparer2Street2',\n city: 'preparer2City',\n state: 'preparer2State',\n zip: 'preparer2Zip',\n signature: 'preparer2Signature',\n agree: 'preparer2Agree',\n} as const\n\nconst PREPARER_3 = {\n firstName: 'preparer3FirstName',\n lastName: 'preparer3LastName',\n street1: 'preparer3Street1',\n street2: 'preparer3Street2',\n city: 'preparer3City',\n state: 'preparer3State',\n zip: 'preparer3Zip',\n signature: 'preparer3Signature',\n agree: 'preparer3Agree',\n} as const\n\nconst PREPARER_4 = {\n firstName: 'preparer4FirstName',\n lastName: 'preparer4LastName',\n street1: 'preparer4Street1',\n street2: 'preparer4Street2',\n city: 'preparer4City',\n state: 'preparer4State',\n zip: 'preparer4Zip',\n signature: 'preparer4Signature',\n agree: 'preparer4Agree',\n} as const\n\n/**\n * Per-preparer field name maps indexed by preparer position (0-based). Use\n * these to look up the form field name for a given preparer slot — for\n * example `PREPARERS_BY_INDEX[1].firstName` resolves to\n * `'preparer2FirstName'`.\n *\n * @public\n */\nexport const PREPARERS_BY_INDEX = [\n PREPARER_1,\n PREPARER_2,\n PREPARER_3,\n PREPARER_4,\n] satisfies PreparerFieldMap[]\n\n// ── Per-preparer field name lists (used for excludeFields) ──────────────\n\ntype ValuesOf<T> = T[keyof T]\n\nconst PREPARER_1_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_1) as ValuesOf<\n typeof PREPARER_1\n>[]\nconst PREPARER_2_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_2) as ValuesOf<\n typeof PREPARER_2\n>[]\nconst PREPARER_3_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_3) as ValuesOf<\n typeof PREPARER_3\n>[]\nconst PREPARER_4_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_4) as ValuesOf<\n typeof PREPARER_4\n>[]\n\n/**\n * Flat list of preparer field names per preparer slot (0-based), useful for\n * iterating every field that belongs to a single preparer.\n *\n * @public\n */\nexport const PREPARER_FIELDS_BY_INDEX: SignEmployeeFormField[][] = [\n PREPARER_1_FIELDS,\n PREPARER_2_FIELDS,\n PREPARER_3_FIELDS,\n PREPARER_4_FIELDS,\n]\n\nconst ALL_PREPARER_FIELDS = PREPARER_FIELDS_BY_INDEX.flat()\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst agreeValidator = z.boolean().refine(val => val, {\n message: SignEmployeeFormErrorCodes.REQUIRED,\n})\n\nconst fieldValidators = {\n signature: z.string(),\n confirmSignature: agreeValidator,\n usedPreparer: z.enum(['yes', 'no']),\n\n // Preparer 1\n [PREPARER_1.firstName]: z.string(),\n [PREPARER_1.lastName]: z.string(),\n [PREPARER_1.street1]: z.string(),\n [PREPARER_1.street2]: z.string(),\n [PREPARER_1.city]: z.string(),\n [PREPARER_1.state]: z.string(),\n [PREPARER_1.zip]: z.string(),\n [PREPARER_1.signature]: z.string(),\n [PREPARER_1.agree]: agreeValidator,\n\n // Preparer 2\n [PREPARER_2.firstName]: z.string(),\n [PREPARER_2.lastName]: z.string(),\n [PREPARER_2.street1]: z.string(),\n [PREPARER_2.street2]: z.string(),\n [PREPARER_2.city]: z.string(),\n [PREPARER_2.state]: z.string(),\n [PREPARER_2.zip]: z.string(),\n [PREPARER_2.signature]: z.string(),\n [PREPARER_2.agree]: agreeValidator,\n\n // Preparer 3\n [PREPARER_3.firstName]: z.string(),\n [PREPARER_3.lastName]: z.string(),\n [PREPARER_3.street1]: z.string(),\n [PREPARER_3.street2]: z.string(),\n [PREPARER_3.city]: z.string(),\n [PREPARER_3.state]: z.string(),\n [PREPARER_3.zip]: z.string(),\n [PREPARER_3.signature]: z.string(),\n [PREPARER_3.agree]: agreeValidator,\n\n // Preparer 4\n [PREPARER_4.firstName]: z.string(),\n [PREPARER_4.lastName]: z.string(),\n [PREPARER_4.street1]: z.string(),\n [PREPARER_4.street2]: z.string(),\n [PREPARER_4.city]: z.string(),\n [PREPARER_4.state]: z.string(),\n [PREPARER_4.zip]: z.string(),\n [PREPARER_4.signature]: z.string(),\n [PREPARER_4.agree]: agreeValidator,\n}\n\n/**\n * Field names accepted by the I-9 sign-employee form.\n *\n * @public\n */\nexport type SignEmployeeFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the I-9 sign-employee form.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n/** @internal */\nexport type SignEmployeeFormOutputs = SignEmployeeFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n [PREPARER_1.street2]: 'never',\n [PREPARER_2.street2]: 'never',\n [PREPARER_3.street2]: 'never',\n [PREPARER_4.street2]: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n// ── Schema factory ─────────────────────────────────────────────────────\n\n/** @internal */\ninterface SignEmployeeFormSchemaOptions {\n isI9?: boolean\n preparerCount?: number\n}\n\n/** @internal */\nexport function createSignEmployeeFormSchema(options: SignEmployeeFormSchemaOptions = {}) {\n const { isI9 = false, preparerCount = 0 } = options\n\n const excludeFields: SignEmployeeFormField[] = []\n\n if (!isI9) {\n excludeFields.push('usedPreparer', ...ALL_PREPARER_FIELDS)\n } else {\n for (let index = 0; index < MAX_PREPARERS; index++) {\n if (index + 1 > preparerCount) {\n const preparerFields = PREPARER_FIELDS_BY_INDEX[index]\n if (preparerFields) excludeFields.push(...preparerFields)\n }\n }\n }\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: SignEmployeeFormErrorCodes.REQUIRED,\n mode: 'create',\n excludeFields,\n })\n}\n"],"names":["SignEmployeeFormErrorCodes","MAX_PREPARERS","preparerFieldName","index","field","PREPARER_1","PREPARER_2","PREPARER_3","PREPARER_4","PREPARERS_BY_INDEX","PREPARER_1_FIELDS","PREPARER_2_FIELDS","PREPARER_3_FIELDS","PREPARER_4_FIELDS","PREPARER_FIELDS_BY_INDEX","ALL_PREPARER_FIELDS","agreeValidator","z","val","fieldValidators","requiredFieldsConfig","createSignEmployeeFormSchema","options","isI9","preparerCount","excludeFields","preparerFields","buildFormSchema"],"mappings":"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"}
1
+ {"version":3,"file":"signEmployeeFormSchema.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\n/**\n * Validation error codes emitted by the I-9 sign-employee form schema. Map\n * these codes to localized copy in `validationMessages` when composing the\n * hook.\n *\n * @public\n */\nexport const SignEmployeeFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n} as const\n\n/**\n * Union of validation error code strings emitted by the I-9 sign-employee\n * form schema.\n *\n * @public\n */\nexport type SignEmployeeFormErrorCode =\n (typeof SignEmployeeFormErrorCodes)[keyof typeof SignEmployeeFormErrorCodes]\n\n// ── Preparer naming helpers ────────────────────────────────────────────\n\n/**\n * Maximum number of I-9 preparers and translators the form supports.\n *\n * @public\n */\nexport const MAX_PREPARERS = 4\n\n/**\n * One-based preparer index used to reference preparer field groups (1–4).\n *\n * @public\n */\nexport type PreparerIndex = 1 | 2 | 3 | 4\n\n/**\n * Suffix segment of a preparer field name — the part that follows\n * `preparer` (or `preparerN`) in the field key.\n *\n * @public\n */\nexport type PreparerFieldSuffix =\n | 'FirstName'\n | 'LastName'\n | 'Street1'\n | 'Street2'\n | 'City'\n | 'State'\n | 'Zip'\n | 'Signature'\n | 'Agree'\n\n/** @internal */\nexport function preparerFieldName(index: PreparerIndex, field: PreparerFieldSuffix): string {\n return index === 1 ? `preparer${field}` : `preparer${index}${field}`\n}\n\n// ── Preparer field name constants ──────────────────────────────────────\n\ntype PreparerFieldMap = Record<\n | 'firstName'\n | 'lastName'\n | 'street1'\n | 'street2'\n | 'city'\n | 'state'\n | 'zip'\n | 'signature'\n | 'agree',\n SignEmployeeFormField\n>\n\nconst PREPARER_1 = {\n firstName: 'preparerFirstName',\n lastName: 'preparerLastName',\n street1: 'preparerStreet1',\n street2: 'preparerStreet2',\n city: 'preparerCity',\n state: 'preparerState',\n zip: 'preparerZip',\n signature: 'preparerSignature',\n agree: 'preparerAgree',\n} as const\n\nconst PREPARER_2 = {\n firstName: 'preparer2FirstName',\n lastName: 'preparer2LastName',\n street1: 'preparer2Street1',\n street2: 'preparer2Street2',\n city: 'preparer2City',\n state: 'preparer2State',\n zip: 'preparer2Zip',\n signature: 'preparer2Signature',\n agree: 'preparer2Agree',\n} as const\n\nconst PREPARER_3 = {\n firstName: 'preparer3FirstName',\n lastName: 'preparer3LastName',\n street1: 'preparer3Street1',\n street2: 'preparer3Street2',\n city: 'preparer3City',\n state: 'preparer3State',\n zip: 'preparer3Zip',\n signature: 'preparer3Signature',\n agree: 'preparer3Agree',\n} as const\n\nconst PREPARER_4 = {\n firstName: 'preparer4FirstName',\n lastName: 'preparer4LastName',\n street1: 'preparer4Street1',\n street2: 'preparer4Street2',\n city: 'preparer4City',\n state: 'preparer4State',\n zip: 'preparer4Zip',\n signature: 'preparer4Signature',\n agree: 'preparer4Agree',\n} as const\n\n/**\n * Per-preparer field name maps indexed by preparer position (0-based). Use\n * these to look up the form field name for a given preparer slot — for\n * example `PREPARERS_BY_INDEX[1].firstName` resolves to\n * `'preparer2FirstName'`.\n *\n * @public\n */\nexport const PREPARERS_BY_INDEX = [\n PREPARER_1,\n PREPARER_2,\n PREPARER_3,\n PREPARER_4,\n] satisfies PreparerFieldMap[]\n\n// ── Per-preparer field name lists (used for excludeFields) ──────────────\n\ntype ValuesOf<T> = T[keyof T]\n\nconst PREPARER_1_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_1) as ValuesOf<\n typeof PREPARER_1\n>[]\nconst PREPARER_2_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_2) as ValuesOf<\n typeof PREPARER_2\n>[]\nconst PREPARER_3_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_3) as ValuesOf<\n typeof PREPARER_3\n>[]\nconst PREPARER_4_FIELDS: SignEmployeeFormField[] = Object.values(PREPARER_4) as ValuesOf<\n typeof PREPARER_4\n>[]\n\n/**\n * Flat list of preparer field names per preparer slot (0-based), useful for\n * iterating every field that belongs to a single preparer.\n *\n * @public\n */\nexport const PREPARER_FIELDS_BY_INDEX: SignEmployeeFormField[][] = [\n PREPARER_1_FIELDS,\n PREPARER_2_FIELDS,\n PREPARER_3_FIELDS,\n PREPARER_4_FIELDS,\n]\n\nconst ALL_PREPARER_FIELDS = PREPARER_FIELDS_BY_INDEX.flat()\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst agreeValidator = z.boolean().refine(val => val, {\n message: SignEmployeeFormErrorCodes.REQUIRED,\n})\n\nconst fieldValidators = {\n signature: z.string(),\n confirmSignature: agreeValidator,\n usedPreparer: z.enum(['yes', 'no']),\n\n // Preparer 1\n [PREPARER_1.firstName]: z.string(),\n [PREPARER_1.lastName]: z.string(),\n [PREPARER_1.street1]: z.string(),\n [PREPARER_1.street2]: z.string(),\n [PREPARER_1.city]: z.string(),\n [PREPARER_1.state]: z.string(),\n [PREPARER_1.zip]: z.string(),\n [PREPARER_1.signature]: z.string(),\n [PREPARER_1.agree]: agreeValidator,\n\n // Preparer 2\n [PREPARER_2.firstName]: z.string(),\n [PREPARER_2.lastName]: z.string(),\n [PREPARER_2.street1]: z.string(),\n [PREPARER_2.street2]: z.string(),\n [PREPARER_2.city]: z.string(),\n [PREPARER_2.state]: z.string(),\n [PREPARER_2.zip]: z.string(),\n [PREPARER_2.signature]: z.string(),\n [PREPARER_2.agree]: agreeValidator,\n\n // Preparer 3\n [PREPARER_3.firstName]: z.string(),\n [PREPARER_3.lastName]: z.string(),\n [PREPARER_3.street1]: z.string(),\n [PREPARER_3.street2]: z.string(),\n [PREPARER_3.city]: z.string(),\n [PREPARER_3.state]: z.string(),\n [PREPARER_3.zip]: z.string(),\n [PREPARER_3.signature]: z.string(),\n [PREPARER_3.agree]: agreeValidator,\n\n // Preparer 4\n [PREPARER_4.firstName]: z.string(),\n [PREPARER_4.lastName]: z.string(),\n [PREPARER_4.street1]: z.string(),\n [PREPARER_4.street2]: z.string(),\n [PREPARER_4.city]: z.string(),\n [PREPARER_4.state]: z.string(),\n [PREPARER_4.zip]: z.string(),\n [PREPARER_4.signature]: z.string(),\n [PREPARER_4.agree]: agreeValidator,\n}\n\n/**\n * Field names accepted by the I-9 sign-employee form.\n *\n * @public\n */\nexport type SignEmployeeFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the I-9 sign-employee form.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n/** @internal */\nexport type SignEmployeeFormOutputs = SignEmployeeFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n [PREPARER_1.street2]: 'never',\n [PREPARER_2.street2]: 'never',\n [PREPARER_3.street2]: 'never',\n [PREPARER_4.street2]: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n// ── Schema factory ─────────────────────────────────────────────────────\n\n/** @internal */\ninterface SignEmployeeFormSchemaOptions {\n isI9?: boolean\n preparerCount?: number\n}\n\n/** @internal */\nexport function createSignEmployeeFormSchema(options: SignEmployeeFormSchemaOptions = {}) {\n const { isI9 = false, preparerCount = 0 } = options\n\n const excludeFields: SignEmployeeFormField[] = []\n\n if (!isI9) {\n excludeFields.push('usedPreparer', ...ALL_PREPARER_FIELDS)\n } else {\n for (let index = 0; index < MAX_PREPARERS; index++) {\n if (index + 1 > preparerCount) {\n const preparerFields = PREPARER_FIELDS_BY_INDEX[index]\n if (preparerFields) excludeFields.push(...preparerFields)\n }\n }\n }\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: SignEmployeeFormErrorCodes.REQUIRED,\n mode: 'create',\n excludeFields,\n })\n}\n"],"names":["SignEmployeeFormErrorCodes","MAX_PREPARERS","PREPARER_1","PREPARER_2","PREPARER_3","PREPARER_4","PREPARERS_BY_INDEX","PREPARER_1_FIELDS","PREPARER_2_FIELDS","PREPARER_3_FIELDS","PREPARER_4_FIELDS","PREPARER_FIELDS_BY_INDEX","ALL_PREPARER_FIELDS","agreeValidator","z","val","fieldValidators","requiredFieldsConfig","createSignEmployeeFormSchema","options","isI9","preparerCount","excludeFields","index","preparerFields","buildFormSchema"],"mappings":"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"}
@@ -9,8 +9,7 @@ import { composeErrorHandler as R } from "../../../../partner-hook-utils/compose
9
9
  import { EmployeeOnboardingStatus as r, EmployeeSelfOnboardingStatuses as v } from "../../../../shared/constants.js";
10
10
  function C(e, s) {
11
11
  const a = [];
12
- return s !== "terminated" && (e.onboardingStatus === r.ADMIN_ONBOARDING_INCOMPLETE || e.onboardingStatus === r.SELF_ONBOARDING_PENDING_INVITE || e.onboardingStatus === r.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW || e.onboardingStatus === r.ONBOARDING_COMPLETED) && a.push("edit"), e.onboardingStatus && // @ts-expect-error: onboardingStatus during runtime can be one of self onboarding statuses
13
- v.has(e.onboardingStatus) && a.push("cancel_self_onboarding"), e.onboardingStatus === r.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE && a.push("review"), e.onboarded || a.push("delete"), s === "active" && a.push("dismiss"), s === "terminated" && a.push("rehire"), a;
12
+ return s !== "terminated" && (e.onboardingStatus === r.ADMIN_ONBOARDING_INCOMPLETE || e.onboardingStatus === r.SELF_ONBOARDING_PENDING_INVITE || e.onboardingStatus === r.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW || e.onboardingStatus === r.ONBOARDING_COMPLETED) && a.push("edit"), e.onboardingStatus && v.has(e.onboardingStatus) && a.push("cancel_self_onboarding"), e.onboardingStatus === r.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE && a.push("review"), e.onboarded || a.push("delete"), s === "active" && a.push("dismiss"), s === "terminated" && a.push("rehire"), a;
14
13
  }
15
14
  function J({
16
15
  companyId: e,