@gusto/embedded-react-sdk 0.46.2 → 0.46.3

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 (172) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/components/Common/DataView/DataTable/DataTable.js +76 -72
  3. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  4. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js +8 -0
  5. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js.map +1 -0
  6. package/dist/components/Common/DataView/useDataView.d.ts +2 -0
  7. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  8. package/dist/components/Common/DocumentViewer/DocumentViewer.js +10 -10
  9. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  10. package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +9 -9
  11. package/dist/components/Common/PaginationControl/PaginationControl.js +11 -10
  12. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  13. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  14. package/dist/components/Common/UI/DescriptionList/DescriptionList.js +11 -10
  15. package/dist/components/Common/UI/DescriptionList/DescriptionList.js.map +1 -1
  16. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +4 -4
  17. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
  18. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  19. package/dist/components/Common/UI/NumberInput/NumberInput.js +51 -48
  20. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  21. package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  22. package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
  23. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  24. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  27. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  28. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  29. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  30. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  31. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  32. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  33. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  34. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  35. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  36. package/dist/components/Company/Industry/Context.js +6 -7
  37. package/dist/components/Company/Industry/Context.js.map +1 -1
  38. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  39. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  40. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  41. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  42. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  43. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  45. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  46. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  47. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  48. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  49. package/dist/components/Contractor/Address/useAddress.js +5 -6
  50. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  51. package/dist/components/Contractor/Profile/useContractorProfile.js +33 -34
  52. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  53. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +14 -11
  54. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
  55. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +0 -2
  56. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -1
  57. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +18 -18
  58. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  59. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +36 -36
  60. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  61. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  62. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +140 -140
  63. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  64. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
  65. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +6 -5
  66. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +162 -131
  67. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  68. package/dist/components/Employee/Dashboard/BasicDetailsView.js +74 -88
  69. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  70. package/dist/components/Employee/Dashboard/Dashboard.js +53 -51
  71. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  72. package/dist/components/Employee/Dashboard/DocumentsView.js +17 -10
  73. package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
  74. package/dist/components/Employee/Dashboard/JobAndPayView.js +383 -357
  75. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  76. package/dist/components/Employee/Dashboard/TaxesView.js +114 -101
  77. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  78. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +36 -36
  79. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
  80. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +57 -57
  81. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -1
  82. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +14 -5
  83. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +55 -36
  84. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  85. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  86. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +18 -18
  87. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  88. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  89. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +3 -3
  90. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  91. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  92. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  93. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  94. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  95. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +157 -147
  96. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  97. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +56 -55
  98. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  99. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +20 -20
  100. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  101. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  102. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +1 -1
  103. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  104. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  105. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  106. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
  107. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +0 -1
  108. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js +11 -12
  109. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
  110. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts +1 -0
  111. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +6 -1
  112. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +95 -94
  113. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  114. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  115. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +6 -1
  116. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +87 -86
  117. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  118. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +18 -18
  119. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
  120. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  121. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  122. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  123. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +5 -1
  124. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  125. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +61 -60
  126. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  127. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  128. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  129. package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
  130. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  131. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +6 -7
  132. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  133. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  134. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +52 -68
  135. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  136. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +4 -4
  137. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -11
  138. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +137 -163
  139. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  140. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +36 -35
  141. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  142. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +34 -34
  143. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  144. package/dist/helpers/breadcrumbHelpers.d.ts +1 -1
  145. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  146. package/dist/helpers/federalEin.d.ts +1 -0
  147. package/dist/helpers/federalEin.js.map +1 -1
  148. package/dist/helpers/mask.d.ts +8 -4
  149. package/dist/helpers/mask.js.map +1 -1
  150. package/dist/helpers/rem.d.ts +2 -1
  151. package/dist/helpers/rem.js.map +1 -1
  152. package/dist/hooks/useAsyncError.d.ts +1 -0
  153. package/dist/hooks/useAsyncError.js.map +1 -1
  154. package/dist/hooks/useForkRef/useForkRef.d.ts +1 -0
  155. package/dist/hooks/useForkRef/useForkRef.js.map +1 -1
  156. package/dist/i18n/I18n.d.ts +9 -1
  157. package/dist/i18n/I18n.js.map +1 -1
  158. package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +14 -14
  159. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +12 -18
  160. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
  161. package/dist/i18n/en/Employee.Compensation.json.js +24 -24
  162. package/dist/i18n/en/Employee.Dashboard.json.js +22 -20
  163. package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
  164. package/dist/i18n/en/Employee.PaymentMethod.json.js +25 -25
  165. package/dist/i18n/en/Employee.StateTaxes.json.js +12 -10
  166. package/dist/i18n/en/Employee.StateTaxes.json.js.map +1 -1
  167. package/dist/style.css +1 -1
  168. package/dist/types/hooks.d.ts +1 -1
  169. package/dist/types/i18next.d.ts +4 -17
  170. package/dist/types/observability.d.ts +1 -1
  171. package/package.json +30 -27
  172. package/dist/components/Employee/Dashboard/CompensationCard.d.ts +0 -13
@@ -1,147 +1,148 @@
1
- import { useMemo as F } from "react";
2
- import { useForm as j } from "react-hook-form";
3
- import { zodResolver as J } from "@hookform/resolvers/zod";
4
- import { useLocationsGet as N } from "@gusto/embedded-api/react-query/locationsGet";
5
- import { useEmployeeAddressesRetrieveWorkAddress as X } from "@gusto/embedded-api/react-query/employeeAddressesRetrieveWorkAddress";
6
- import { useEmployeeAddressesCreateWorkAddressMutation as Y } from "@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress";
7
- import { useEmployeeAddressesUpdateWorkAddressMutation as Z } from "@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress";
8
- import { RFCDate as _ } from "@gusto/embedded-api/types/rfcdate";
9
- import { createWorkAddressSchema as $ } from "./workAddressSchema.js";
10
- import { EffectiveDateField as T, LocationField as ee } from "./fields.js";
11
- import { useDeriveFieldsMetadata as oe } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
12
- import { useHookFormInternals as te } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
13
- import { createGetFormSubmissionValues as re } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
14
- import { withOptions as se } from "../../../../../partner-hook-utils/form/withOptions.js";
15
- import { composeErrorHandler as ae } from "../../../../../partner-hook-utils/composeErrorHandler.js";
16
- import { useBaseSubmit as ie } from "../../../../Base/useBaseSubmit.js";
17
- import { SDKInternalError as c } from "../../../../../types/sdkError.js";
18
- import { addressInline as de } from "../../../../../helpers/formattedStrings.js";
19
- function he({
1
+ import { useMemo as C } from "react";
2
+ import { useForm as N } from "react-hook-form";
3
+ import { zodResolver as X } from "@hookform/resolvers/zod";
4
+ import { useLocationsGet as Y } from "@gusto/embedded-api/react-query/locationsGet";
5
+ import { useEmployeeAddressesRetrieveWorkAddress as Z } from "@gusto/embedded-api/react-query/employeeAddressesRetrieveWorkAddress";
6
+ import { useEmployeeAddressesCreateWorkAddressMutation as _ } from "@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress";
7
+ import { useEmployeeAddressesUpdateWorkAddressMutation as $ } from "@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress";
8
+ import { RFCDate as T } from "@gusto/embedded-api/types/rfcdate";
9
+ import { createWorkAddressSchema as ee } from "./workAddressSchema.js";
10
+ import { EffectiveDateField as oe, LocationField as te } from "./fields.js";
11
+ import { useDeriveFieldsMetadata as re } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
12
+ import { useHookFormInternals as se } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
13
+ import { createGetFormSubmissionValues as ae } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
14
+ import { withOptions as ie } from "../../../../../partner-hook-utils/form/withOptions.js";
15
+ import { composeErrorHandler as ne } from "../../../../../partner-hook-utils/composeErrorHandler.js";
16
+ import { useBaseSubmit as de } from "../../../../Base/useBaseSubmit.js";
17
+ import { SDKInternalError as u } from "../../../../../types/sdkError.js";
18
+ import { addressInline as me } from "../../../../../helpers/formattedStrings.js";
19
+ function we({
20
20
  companyId: a,
21
- employeeId: C,
21
+ employeeId: q,
22
22
  workAddressUuid: e,
23
+ initialAddress: W,
23
24
  withEffectiveDateField: i = !0,
24
- optionalFieldsToRequire: k,
25
+ optionalFieldsToRequire: y,
25
26
  defaultValues: f,
26
- validationMode: I = "onSubmit",
27
- shouldFocusError: U = !0
27
+ validationMode: P = "onSubmit",
28
+ shouldFocusError: V = !0
28
29
  }) {
29
- const l = N({ companyId: a ?? "" }, { enabled: !!a }), p = X(
30
+ const l = Y({ companyId: a ?? "" }, { enabled: !!a }), k = !!e && W?.uuid === e, p = Z(
30
31
  { workAddressUuid: e ?? "" },
31
- { enabled: !!e }
32
- ), d = l.data?.companyLocationsList, n = !e, o = e ? p.data?.employeeWorkAddress : void 0, W = n ? "create" : "update", [y, q] = F(
33
- () => $({
34
- mode: W,
35
- optionalFieldsToRequire: k,
32
+ { enabled: !!e && !k }
33
+ ), n = l.data?.companyLocationsList, d = !e, o = e ? k ? W : p.data?.employeeWorkAddress : void 0, A = d ? "create" : "update", [D, H] = C(
34
+ () => ee({
35
+ mode: A,
36
+ optionalFieldsToRequire: y,
36
37
  withEffectiveDateField: i
37
38
  }),
38
- [W, k, i]
39
- ), A = F(
39
+ [A, y, i]
40
+ ), b = C(
40
41
  () => ({
41
42
  locationUuid: o?.locationUuid ?? f?.locationUuid ?? "",
42
43
  effectiveDate: o?.effectiveDate ?? f?.effectiveDate ?? ""
43
44
  }),
44
45
  [o, f]
45
- ), m = j({
46
- resolver: J(y),
47
- mode: I,
48
- shouldFocusError: U,
49
- defaultValues: A,
50
- values: A,
46
+ ), m = N({
47
+ resolver: X(D),
48
+ mode: P,
49
+ shouldFocusError: V,
50
+ defaultValues: b,
51
+ values: b,
51
52
  resetOptions: { keepDirtyValues: !0 }
52
- }), D = Y(), b = Z(), P = D.isPending || b.isPending, {
53
- baseSubmitHandler: V,
54
- error: H,
55
- setError: B
56
- } = ie("WorkAddressForm"), O = [l, ...e ? [p] : []], v = ae(O, { submitError: H, setSubmitError: B }), R = (d ?? []).map((t) => ({
53
+ }), g = _(), h = $(), U = g.isPending || h.isPending, {
54
+ baseSubmitHandler: B,
55
+ error: O,
56
+ setError: R
57
+ } = de("WorkAddressForm"), G = [l, ...e ? [p] : []], v = ne(G, { submitError: O, setSubmitError: R }), Q = (n ?? []).map((t) => ({
57
58
  value: t.uuid,
58
- label: de(t)
59
- })), g = oe(q, m.control), G = {
60
- locationUuid: se(
61
- g.locationUuid,
62
- R,
63
- d ?? []
59
+ label: me(t)
60
+ })), L = re(H, m.control), x = {
61
+ locationUuid: ie(
62
+ L.locationUuid,
63
+ Q,
64
+ n ?? []
64
65
  ),
65
- effectiveDate: g.effectiveDate
66
- }, Q = async (t, L) => {
67
- let w;
68
- return await new Promise((M) => {
66
+ effectiveDate: L.effectiveDate
67
+ }, z = async (t, M) => {
68
+ let E;
69
+ return await new Promise((S) => {
69
70
  m.handleSubmit(
70
- async (K) => {
71
- await V(K, async (u) => {
72
- const h = L?.employeeId ?? C;
73
- if (!h)
74
- throw new c("employeeId is required to submit work address");
75
- const E = i && u.effectiveDate ? u.effectiveDate : L?.effectiveDate, S = E ? new _(new Date(E)) : void 0;
71
+ async (J) => {
72
+ await B(J, async (c) => {
73
+ const w = M?.employeeId ?? q;
74
+ if (!w)
75
+ throw new u("employeeId is required to submit work address");
76
+ const F = i && c.effectiveDate ? c.effectiveDate : M?.effectiveDate, I = F ? new T(new Date(F)) : void 0;
76
77
  let r;
77
- if (n) {
78
- const s = await D.mutateAsync({
78
+ if (d) {
79
+ const s = await g.mutateAsync({
79
80
  request: {
80
- employeeId: h,
81
+ employeeId: w,
81
82
  requestBody: {
82
- locationUuid: u.locationUuid,
83
- effectiveDate: S
83
+ locationUuid: c.locationUuid,
84
+ effectiveDate: I
84
85
  }
85
86
  }
86
87
  });
87
88
  if (!s.employeeWorkAddress)
88
- throw new c("Work address creation failed");
89
+ throw new u("Work address creation failed");
89
90
  r = s.employeeWorkAddress, t?.onWorkAddressCreated?.(r);
90
91
  } else {
91
92
  if (!o || !e)
92
- throw new c(
93
+ throw new u(
93
94
  "Cannot update work address: no matching address on file"
94
95
  );
95
- const s = await b.mutateAsync({
96
+ const s = await h.mutateAsync({
96
97
  request: {
97
98
  workAddressUuid: o.uuid,
98
99
  requestBody: {
99
100
  version: o.version,
100
- locationUuid: u.locationUuid,
101
- effectiveDate: S
101
+ locationUuid: c.locationUuid,
102
+ effectiveDate: I
102
103
  }
103
104
  }
104
105
  });
105
106
  if (!s.employeeWorkAddress)
106
- throw new c("Work address update failed");
107
+ throw new u("Work address update failed");
107
108
  r = s.employeeWorkAddress, t?.onWorkAddressUpdated?.(r);
108
109
  }
109
- w = {
110
- mode: n ? "create" : "update",
110
+ E = {
111
+ mode: d ? "create" : "update",
111
112
  data: r
112
113
  };
113
- }), M();
114
+ }), S();
114
115
  },
115
116
  () => {
116
- M();
117
+ S();
117
118
  }
118
119
  )();
119
- }), w;
120
- }, x = te(m), z = !!a && l.isLoading || !!e && p.isLoading;
121
- return !a || z || !d ? { isLoading: !0, errorHandling: v } : e && !o ? { isLoading: !0, errorHandling: v } : {
120
+ }), E;
121
+ }, K = se(m), j = !!a && l.isLoading || !!e && p.isLoading;
122
+ return !a || j || !n ? { isLoading: !0, errorHandling: v } : e && !o ? { isLoading: !0, errorHandling: v } : {
122
123
  isLoading: !1,
123
124
  data: {
124
125
  workAddress: o ?? null,
125
- companyLocations: d
126
+ companyLocations: n
126
127
  },
127
128
  status: {
128
- isPending: P,
129
- mode: n ? "create" : "update"
129
+ isPending: U,
130
+ mode: d ? "create" : "update"
130
131
  },
131
- actions: { onSubmit: Q },
132
+ actions: { onSubmit: z },
132
133
  errorHandling: v,
133
134
  form: {
134
135
  Fields: {
135
- Location: ee,
136
- EffectiveDate: i ? T : void 0
136
+ Location: te,
137
+ EffectiveDate: i ? oe : void 0
137
138
  },
138
- fieldsMetadata: G,
139
- hookFormInternals: x,
140
- getFormSubmissionValues: re(m, y)
139
+ fieldsMetadata: x,
140
+ hookFormInternals: K,
141
+ getFormSubmissionValues: ae(m, D)
141
142
  }
142
143
  };
143
144
  }
144
145
  export {
145
- he as useWorkAddressForm
146
+ we as useWorkAddressForm
146
147
  };
147
148
  //# sourceMappingURL=useWorkAddressForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useLocationsGet } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeeAddressesRetrieveWorkAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveWorkAddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createWorkAddressSchema,\n type WorkAddressOptionalFieldsToRequire,\n type WorkAddressFormData,\n type WorkAddressFormOutputs,\n} from './workAddressSchema'\nimport { LocationField, EffectiveDateField } from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { addressInline } from '@/helpers/formattedStrings'\n\nexport type { WorkAddressOptionalFieldsToRequire } from './workAddressSchema'\n\nexport interface WorkAddressSubmitCallbacks {\n onWorkAddressCreated?: (workAddress: EmployeeWorkAddress) => void\n onWorkAddressUpdated?: (workAddress: EmployeeWorkAddress) => void\n}\n\nexport interface WorkAddressSubmitOptions {\n employeeId?: string\n effectiveDate?: string\n}\n\nexport interface UseWorkAddressFormProps {\n /** Company UUID for locations; omit or leave unset while resolving from the employee record. */\n companyId?: string\n employeeId: string\n /**\n * When set, loads that work address via GET `/v1/work_addresses/{work_address_uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n workAddressUuid?: string\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: WorkAddressOptionalFieldsToRequire\n defaultValues?: Partial<WorkAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface WorkAddressFields {\n Location: typeof LocationField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseWorkAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n WorkAddressFormData,\n WorkAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n workAddress: EmployeeWorkAddress | null\n companyLocations: Location[] | undefined\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n callbacks?: WorkAddressSubmitCallbacks,\n options?: WorkAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeWorkAddress> | undefined>\n }\n}\n\nexport function useWorkAddressForm({\n companyId,\n employeeId,\n workAddressUuid,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady {\n const locationsQuery = useLocationsGet({ companyId: companyId ?? '' }, { enabled: !!companyId })\n\n const retrieveWorkAddressQuery = useEmployeeAddressesRetrieveWorkAddress(\n { workAddressUuid: workAddressUuid ?? '' },\n { enabled: !!workAddressUuid },\n )\n\n const companyLocations = locationsQuery.data?.companyLocationsList\n\n const isCreateMode = !workAddressUuid\n\n const fetchedWorkAddress = workAddressUuid\n ? retrieveWorkAddressQuery.data?.employeeWorkAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createWorkAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: WorkAddressFormData = useMemo(\n () => ({\n locationUuid: fetchedWorkAddress?.locationUuid ?? partnerDefaults?.locationUuid ?? '',\n effectiveDate: fetchedWorkAddress?.effectiveDate ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedWorkAddress, partnerDefaults],\n )\n\n const formMethods = useForm<WorkAddressFormData, unknown, WorkAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createWorkAddressMutation = useEmployeeAddressesCreateWorkAddressMutation()\n const updateWorkAddressMutation = useEmployeeAddressesUpdateWorkAddressMutation()\n\n const isPending = createWorkAddressMutation.isPending || updateWorkAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('WorkAddressForm')\n\n const queriesForErrors = [locationsQuery, ...(workAddressUuid ? [retrieveWorkAddressQuery] : [])]\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const locationOptions = (companyLocations ?? []).map(location => ({\n value: location.uuid,\n label: addressInline(location),\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n locationUuid: withOptions<Location>(\n baseMetadata.locationUuid,\n locationOptions,\n companyLocations ?? [],\n ),\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n callbacks?: WorkAddressSubmitCallbacks,\n options?: WorkAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeWorkAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeWorkAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: WorkAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n if (!resolvedEmployeeId) {\n throw new SDKInternalError('employeeId is required to submit work address')\n }\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : options?.effectiveDate\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedWorkAddress: EmployeeWorkAddress\n\n if (isCreateMode) {\n const result = await createWorkAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n locationUuid: payload.locationUuid,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeWorkAddress) {\n throw new SDKInternalError('Work address creation failed')\n }\n\n updatedWorkAddress = result.employeeWorkAddress\n callbacks?.onWorkAddressCreated?.(updatedWorkAddress)\n } else {\n if (!fetchedWorkAddress || !workAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update work address: no matching address on file',\n )\n }\n\n const result = await updateWorkAddressMutation.mutateAsync({\n request: {\n workAddressUuid: fetchedWorkAddress.uuid,\n requestBody: {\n version: fetchedWorkAddress.version,\n locationUuid: payload.locationUuid,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeWorkAddress) {\n throw new SDKInternalError('Work address update failed')\n }\n\n updatedWorkAddress = result.employeeWorkAddress\n callbacks?.onWorkAddressUpdated?.(updatedWorkAddress)\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedWorkAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading =\n (!!companyId && locationsQuery.isLoading) ||\n (!!workAddressUuid && retrieveWorkAddressQuery.isLoading)\n\n if (!companyId || isDataLoading || !companyLocations) {\n return { isLoading: true as const, errorHandling }\n }\n\n if (workAddressUuid && !fetchedWorkAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n workAddress: fetchedWorkAddress ?? null,\n companyLocations,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Location: LocationField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseWorkAddressFormResult = HookLoadingResult | UseWorkAddressFormReady\nexport type WorkAddressFieldsMetadata = UseWorkAddressFormReady['form']['fieldsMetadata']\nexport type WorkAddressFormFields = UseWorkAddressFormReady['form']['Fields']\n"],"names":["useWorkAddressForm","companyId","employeeId","workAddressUuid","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","locationsQuery","useLocationsGet","retrieveWorkAddressQuery","useEmployeeAddressesRetrieveWorkAddress","companyLocations","isCreateMode","fetchedWorkAddress","schemaMode","schema","metadataConfig","useMemo","createWorkAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createWorkAddressMutation","useEmployeeAddressesCreateWorkAddressMutation","updateWorkAddressMutation","useEmployeeAddressesUpdateWorkAddressMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","queriesForErrors","errorHandling","composeErrorHandler","locationOptions","location","addressInline","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","callbacks","options","submitResult","resolve","data","payload","resolvedEmployeeId","SDKInternalError","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedWorkAddress","result","hookFormInternals","useHookFormInternals","isDataLoading","LocationField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":";;;;;;;;;;;;;;;;;;AAqFO,SAASA,GAAmB;AAAA,EACjC,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,wBAAAC,IAAyB;AAAA,EACzB,yBAAAC;AAAA,EACA,eAAeC;AAAA,EACf,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC,IAAmB;AACrB,GAAyE;AACvE,QAAMC,IAAiBC,EAAgB,EAAE,WAAWT,KAAa,GAAA,GAAM,EAAE,SAAS,CAAC,CAACA,GAAW,GAEzFU,IAA2BC;AAAA,IAC/B,EAAE,iBAAiBT,KAAmB,GAAA;AAAA,IACtC,EAAE,SAAS,CAAC,CAACA,EAAA;AAAA,EAAgB,GAGzBU,IAAmBJ,EAAe,MAAM,sBAExCK,IAAe,CAACX,GAEhBY,IAAqBZ,IACvBQ,EAAyB,MAAM,sBAC/B,QAEEK,IAAaF,IAAe,WAAW,UAEvC,CAACG,GAAQC,CAAc,IAAIC;AAAA,IAC/B,MACEC,EAAwB;AAAA,MACtB,MAAMJ;AAAA,MACN,yBAAAX;AAAA,MACA,wBAAAD;AAAA,IAAA,CACD;AAAA,IACH,CAACY,GAAYX,GAAyBD,CAAsB;AAAA,EAAA,GAGxDiB,IAAwCF;AAAA,IAC5C,OAAO;AAAA,MACL,cAAcJ,GAAoB,gBAAgBT,GAAiB,gBAAgB;AAAA,MACnF,eAAeS,GAAoB,iBAAiBT,GAAiB,iBAAiB;AAAA,IAAA;AAAA,IAExF,CAACS,GAAoBT,CAAe;AAAA,EAAA,GAGhCgB,IAAcC,EAA8D;AAAA,IAChF,UAAUC,EAAYP,CAAM;AAAA,IAC5B,MAAMV;AAAA,IACN,kBAAAC;AAAA,IACA,eAAea;AAAA,IACf,QAAQA;AAAA,IACR,cAAc,EAAE,iBAAiB,GAAA;AAAA,EAAK,CACvC,GAEKI,IAA4BC,EAAA,GAC5BC,IAA4BC,EAAA,GAE5BC,IAAYJ,EAA0B,aAAaE,EAA0B,WAE7E;AAAA,IACJ,mBAAAG;AAAA,IACA,OAAOC;AAAA,IACP,UAAUC;AAAA,EAAA,IACRC,GAAc,iBAAiB,GAE7BC,IAAmB,CAACzB,GAAgB,GAAIN,IAAkB,CAACQ,CAAwB,IAAI,EAAG,GAC1FwB,IAAgBC,GAAoBF,GAAkB,EAAE,aAAAH,GAAa,gBAAAC,GAAgB,GAErFK,KAAmBxB,KAAoB,CAAA,GAAI,IAAI,CAAAyB,OAAa;AAAA,IAChE,OAAOA,EAAS;AAAA,IAChB,OAAOC,GAAcD,CAAQ;AAAA,EAAA,EAC7B,GAEIE,IAAeC,GAAwBvB,GAAgBI,EAAY,OAAO,GAC1EoB,IAAiB;AAAA,IACrB,cAAcC;AAAA,MACZH,EAAa;AAAA,MACbH;AAAA,MACAxB,KAAoB,CAAA;AAAA,IAAC;AAAA,IAEvB,eAAe2B,EAAa;AAAA,EAAA,GAGxBI,IAAW,OACfC,GACAC,MAC+D;AAC/D,QAAIC;AAEJ,iBAAM,IAAI,QAAc,CAAAC,MAAW;AACjC,MAAK1B,EAAY;AAAA,QACf,OAAO2B,MAAiC;AACtC,gBAAMnB,EAAkBmB,GAAM,OAAMC,MAAW;AAC7C,kBAAMC,IAAqBL,GAAS,cAAc5C;AAElD,gBAAI,CAACiD;AACH,oBAAM,IAAIC,EAAiB,+CAA+C;AAG5E,kBAAMC,IACJjD,KAA0B8C,EAAQ,gBAC9BA,EAAQ,gBACRJ,GAAS,eAETQ,IAAqBD,IACvB,IAAIE,EAAQ,IAAI,KAAKF,CAAqB,CAAC,IAC3C;AAEJ,gBAAIG;AAEJ,gBAAI1C,GAAc;AAChB,oBAAM2C,IAAS,MAAMhC,EAA0B,YAAY;AAAA,gBACzD,SAAS;AAAA,kBACP,YAAY0B;AAAA,kBACZ,aAAa;AAAA,oBACX,cAAcD,EAAQ;AAAA,oBACtB,eAAeI;AAAA,kBAAA;AAAA,gBACjB;AAAA,cACF,CACD;AAED,kBAAI,CAACG,EAAO;AACV,sBAAM,IAAIL,EAAiB,8BAA8B;AAG3D,cAAAI,IAAqBC,EAAO,qBAC5BZ,GAAW,uBAAuBW,CAAkB;AAAA,YACtD,OAAO;AACL,kBAAI,CAACzC,KAAsB,CAACZ;AAC1B,sBAAM,IAAIiD;AAAA,kBACR;AAAA,gBAAA;AAIJ,oBAAMK,IAAS,MAAM9B,EAA0B,YAAY;AAAA,gBACzD,SAAS;AAAA,kBACP,iBAAiBZ,EAAmB;AAAA,kBACpC,aAAa;AAAA,oBACX,SAASA,EAAmB;AAAA,oBAC5B,cAAcmC,EAAQ;AAAA,oBACtB,eAAeI;AAAA,kBAAA;AAAA,gBACjB;AAAA,cACF,CACD;AAED,kBAAI,CAACG,EAAO;AACV,sBAAM,IAAIL,EAAiB,4BAA4B;AAGzD,cAAAI,IAAqBC,EAAO,qBAC5BZ,GAAW,uBAAuBW,CAAkB;AAAA,YACtD;AAEA,YAAAT,IAAe;AAAA,cACb,MAAMjC,IAAe,WAAW;AAAA,cAChC,MAAM0C;AAAA,YAAA;AAAA,UAEV,CAAC,GACDR,EAAA;AAAA,QACF;AAAA,QACA,MAAM;AACJ,UAAAA,EAAA;AAAA,QACF;AAAA,MAAA,EACF;AAAA,IACF,CAAC,GAEMD;AAAA,EACT,GAEMW,IAAoBC,GAAqBrC,CAAW,GAEpDsC,IACH,CAAC,CAAC3D,KAAaQ,EAAe,aAC9B,CAAC,CAACN,KAAmBQ,EAAyB;AAEjD,SAAI,CAACV,KAAa2D,KAAiB,CAAC/C,IAC3B,EAAE,WAAW,IAAe,eAAAsB,EAAA,IAGjChC,KAAmB,CAACY,IACf,EAAE,WAAW,IAAe,eAAAoB,EAAA,IAG9B;AAAA,IACL,WAAW;AAAA,IACX,MAAM;AAAA,MACJ,aAAapB,KAAsB;AAAA,MACnC,kBAAAF;AAAA,IAAA;AAAA,IAEF,QAAQ;AAAA,MACN,WAAAgB;AAAA,MACA,MAAMf,IAAgB,WAAsB;AAAA,IAAA;AAAA,IAE9C,SAAS,EAAE,UAAA8B,EAAA;AAAA,IACX,eAAAT;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,UAAU0B;AAAA,QACV,eAAezD,IAAyB0D,IAAqB;AAAA,MAAA;AAAA,MAE/D,gBAAApB;AAAA,MACA,mBAAAgB;AAAA,MACA,yBAAyBK,GAA8BzC,GAAaL,CAAM;AAAA,IAAA;AAAA,EAC5E;AAEJ;"}
1
+ {"version":3,"file":"useWorkAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useLocationsGet } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeeAddressesRetrieveWorkAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveWorkAddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createWorkAddressSchema,\n type WorkAddressOptionalFieldsToRequire,\n type WorkAddressFormData,\n type WorkAddressFormOutputs,\n} from './workAddressSchema'\nimport { LocationField, EffectiveDateField } from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { addressInline } from '@/helpers/formattedStrings'\n\nexport type { WorkAddressOptionalFieldsToRequire } from './workAddressSchema'\n\nexport interface WorkAddressSubmitCallbacks {\n onWorkAddressCreated?: (workAddress: EmployeeWorkAddress) => void\n onWorkAddressUpdated?: (workAddress: EmployeeWorkAddress) => void\n}\n\nexport interface WorkAddressSubmitOptions {\n employeeId?: string\n effectiveDate?: string\n}\n\nexport interface UseWorkAddressFormProps {\n /** Company UUID for locations; omit or leave unset while resolving from the employee record. */\n companyId?: string\n employeeId: string\n /**\n * When set, loads that work address via GET `/v1/work_addresses/{work_address_uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n workAddressUuid?: string\n /**\n * Pre-loaded address matching `workAddressUuid`. When supplied, the form uses it directly\n * instead of issuing a GET — useful when the parent already has the row from a list query.\n */\n initialAddress?: EmployeeWorkAddress\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: WorkAddressOptionalFieldsToRequire\n defaultValues?: Partial<WorkAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface WorkAddressFields {\n Location: typeof LocationField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseWorkAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n WorkAddressFormData,\n WorkAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n workAddress: EmployeeWorkAddress | null\n companyLocations: Location[] | undefined\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n callbacks?: WorkAddressSubmitCallbacks,\n options?: WorkAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeWorkAddress> | undefined>\n }\n}\n\nexport function useWorkAddressForm({\n companyId,\n employeeId,\n workAddressUuid,\n initialAddress,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady {\n const locationsQuery = useLocationsGet({ companyId: companyId ?? '' }, { enabled: !!companyId })\n\n const hasInitialAddressMatch = !!workAddressUuid && initialAddress?.uuid === workAddressUuid\n\n const retrieveWorkAddressQuery = useEmployeeAddressesRetrieveWorkAddress(\n { workAddressUuid: workAddressUuid ?? '' },\n { enabled: !!workAddressUuid && !hasInitialAddressMatch },\n )\n\n const companyLocations = locationsQuery.data?.companyLocationsList\n\n const isCreateMode = !workAddressUuid\n\n const fetchedWorkAddress = workAddressUuid\n ? hasInitialAddressMatch\n ? initialAddress\n : retrieveWorkAddressQuery.data?.employeeWorkAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createWorkAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: WorkAddressFormData = useMemo(\n () => ({\n locationUuid: fetchedWorkAddress?.locationUuid ?? partnerDefaults?.locationUuid ?? '',\n effectiveDate: fetchedWorkAddress?.effectiveDate ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedWorkAddress, partnerDefaults],\n )\n\n const formMethods = useForm<WorkAddressFormData, unknown, WorkAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createWorkAddressMutation = useEmployeeAddressesCreateWorkAddressMutation()\n const updateWorkAddressMutation = useEmployeeAddressesUpdateWorkAddressMutation()\n\n const isPending = createWorkAddressMutation.isPending || updateWorkAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('WorkAddressForm')\n\n const queriesForErrors = [locationsQuery, ...(workAddressUuid ? [retrieveWorkAddressQuery] : [])]\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const locationOptions = (companyLocations ?? []).map(location => ({\n value: location.uuid,\n label: addressInline(location),\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n locationUuid: withOptions<Location>(\n baseMetadata.locationUuid,\n locationOptions,\n companyLocations ?? [],\n ),\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n callbacks?: WorkAddressSubmitCallbacks,\n options?: WorkAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeWorkAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeWorkAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: WorkAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n if (!resolvedEmployeeId) {\n throw new SDKInternalError('employeeId is required to submit work address')\n }\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : options?.effectiveDate\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedWorkAddress: EmployeeWorkAddress\n\n if (isCreateMode) {\n const result = await createWorkAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n locationUuid: payload.locationUuid,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeWorkAddress) {\n throw new SDKInternalError('Work address creation failed')\n }\n\n updatedWorkAddress = result.employeeWorkAddress\n callbacks?.onWorkAddressCreated?.(updatedWorkAddress)\n } else {\n if (!fetchedWorkAddress || !workAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update work address: no matching address on file',\n )\n }\n\n const result = await updateWorkAddressMutation.mutateAsync({\n request: {\n workAddressUuid: fetchedWorkAddress.uuid,\n requestBody: {\n version: fetchedWorkAddress.version,\n locationUuid: payload.locationUuid,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeWorkAddress) {\n throw new SDKInternalError('Work address update failed')\n }\n\n updatedWorkAddress = result.employeeWorkAddress\n callbacks?.onWorkAddressUpdated?.(updatedWorkAddress)\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedWorkAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading =\n (!!companyId && locationsQuery.isLoading) ||\n (!!workAddressUuid && retrieveWorkAddressQuery.isLoading)\n\n if (!companyId || isDataLoading || !companyLocations) {\n return { isLoading: true as const, errorHandling }\n }\n\n if (workAddressUuid && !fetchedWorkAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n workAddress: fetchedWorkAddress ?? null,\n companyLocations,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Location: LocationField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseWorkAddressFormResult = HookLoadingResult | UseWorkAddressFormReady\nexport type WorkAddressFieldsMetadata = UseWorkAddressFormReady['form']['fieldsMetadata']\nexport type WorkAddressFormFields = UseWorkAddressFormReady['form']['Fields']\n"],"names":["useWorkAddressForm","companyId","employeeId","workAddressUuid","initialAddress","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","locationsQuery","useLocationsGet","hasInitialAddressMatch","retrieveWorkAddressQuery","useEmployeeAddressesRetrieveWorkAddress","companyLocations","isCreateMode","fetchedWorkAddress","schemaMode","schema","metadataConfig","useMemo","createWorkAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createWorkAddressMutation","useEmployeeAddressesCreateWorkAddressMutation","updateWorkAddressMutation","useEmployeeAddressesUpdateWorkAddressMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","queriesForErrors","errorHandling","composeErrorHandler","locationOptions","location","addressInline","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","callbacks","options","submitResult","resolve","data","payload","resolvedEmployeeId","SDKInternalError","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedWorkAddress","result","hookFormInternals","useHookFormInternals","isDataLoading","LocationField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":"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"}
@@ -1,31 +1,31 @@
1
- import { jsx as o, jsxs as e } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as s } from "react/jsx-runtime";
2
2
  import { Fragment as x } from "react";
3
- import { useTranslation as m } from "react-i18next";
3
+ import { useTranslation as i } from "react-i18next";
4
4
  import y from "classnames";
5
5
  import C from "./EmployeeStateTaxesView.module.scss.js";
6
6
  import { BaseLayout as F } from "../../../Base/Base.js";
7
7
  import "../../../Base/useBase.js";
8
8
  import { Form as H } from "../../../Common/Form/Form.js";
9
- import { SDKFormProvider as N } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
10
- import { useComponentContext as S } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { SDKFormProvider as T } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
10
+ import { useComponentContext as g } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
11
  function K({
12
12
  stateTaxes: r,
13
- onSubmit: s,
14
- actions: n,
15
- alert: i,
16
- className: a
13
+ onSubmit: a,
14
+ actions: l,
15
+ alert: c,
16
+ className: p
17
17
  }) {
18
- const { t: c } = m("Employee.StateTaxes"), { t: l } = m("common"), p = S(), f = r.form.Fields;
19
- return /* @__PURE__ */ o("section", { className: y(C.container, a), children: /* @__PURE__ */ o(F, { error: r.errorHandling.errors, children: /* @__PURE__ */ o(N, { formHookResult: r, children: /* @__PURE__ */ e(H, { onSubmit: s, children: [
20
- i,
21
- f.map((t) => {
22
- const d = l(`statesHash.${t.state}`, t.state);
23
- return /* @__PURE__ */ e(x, { children: [
24
- /* @__PURE__ */ o(p.Heading, { as: "h2", children: c("stateTaxesTitle", { state: d }) }),
25
- t.questions.map(({ questionId: h, Field: u }) => /* @__PURE__ */ o(u, {}, h))
26
- ] }, t.state);
18
+ const { t: e } = i("Employee.StateTaxes"), { t: d } = i("common"), m = g(), n = r.form.Fields;
19
+ return /* @__PURE__ */ t("section", { className: y(C.container, p), children: /* @__PURE__ */ t(F, { error: r.errorHandling.errors, children: /* @__PURE__ */ t(T, { formHookResult: r, children: /* @__PURE__ */ s(H, { onSubmit: a, children: [
20
+ c,
21
+ n.length === 0 ? /* @__PURE__ */ t(m.Text, { children: e("noWithholding") }) : n.map((o) => {
22
+ const f = d(`statesHash.${o.state}`, o.state);
23
+ return /* @__PURE__ */ s(x, { children: [
24
+ /* @__PURE__ */ t(m.Heading, { as: "h2", children: e("stateTaxesTitle", { state: f }) }),
25
+ o.questions.map(({ questionId: h, Field: u }) => /* @__PURE__ */ t(u, {}, h))
26
+ ] }, o.state);
27
27
  }),
28
- n
28
+ l
29
29
  ] }) }) }) });
30
30
  }
31
31
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"EmployeeStateTaxesView.js","sources":["../../../../../src/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.tsx"],"sourcesContent":["import { Fragment, type ReactNode } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { type useEmployeeStateTaxesForm } from './useEmployeeStateTaxesForm'\nimport styles from './EmployeeStateTaxesView.module.scss'\nimport { BaseLayout } from '@/components/Base'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ntype ReadyEmployeeStateTaxesForm = Extract<\n ReturnType<typeof useEmployeeStateTaxesForm>,\n { isLoading: false }\n>\n\nexport interface EmployeeStateTaxesViewProps {\n stateTaxes: ReadyEmployeeStateTaxesForm\n onSubmit: () => void | Promise<void>\n actions: ReactNode\n alert?: ReactNode\n className?: string\n}\n\nexport function EmployeeStateTaxesView({\n stateTaxes,\n onSubmit,\n actions,\n alert,\n className,\n}: EmployeeStateTaxesViewProps) {\n const { t } = useTranslation('Employee.StateTaxes')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n const groups = stateTaxes.form.Fields\n\n return (\n <section className={classNames(styles.container, className)}>\n <BaseLayout error={stateTaxes.errorHandling.errors}>\n <SDKFormProvider formHookResult={stateTaxes}>\n <Form onSubmit={onSubmit}>\n {alert}\n\n {groups.map(group => {\n const stateName = tCommon(`statesHash.${group.state}`, group.state)\n return (\n <Fragment key={group.state}>\n <Components.Heading as=\"h2\">\n {t('stateTaxesTitle', { state: stateName })}\n </Components.Heading>\n\n {group.questions.map(({ questionId, Field }) => {\n return <Field key={questionId} />\n })}\n </Fragment>\n )\n })}\n\n {actions}\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["EmployeeStateTaxesView","stateTaxes","onSubmit","actions","alert","className","t","useTranslation","tCommon","Components","useComponentContext","groups","jsx","classNames","styles","BaseLayout","SDKFormProvider","jsxs","Form","group","stateName","Fragment","questionId","Field"],"mappings":";;;;;;;;;;AAuBO,SAASA,EAAuB;AAAA,EACrC,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AACF,GAAgC;AAC9B,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5C,EAAE,GAAGC,MAAYD,EAAe,QAAQ,GACxCE,IAAaC,EAAA,GACbC,IAASV,EAAW,KAAK;AAE/B,SACE,gBAAAW,EAAC,aAAQ,WAAWC,EAAWC,EAAO,WAAWT,CAAS,GACxD,UAAA,gBAAAO,EAACG,GAAA,EAAW,OAAOd,EAAW,cAAc,QAC1C,UAAA,gBAAAW,EAACI,GAAA,EAAgB,gBAAgBf,GAC/B,UAAA,gBAAAgB,EAACC,KAAK,UAAAhB,GACH,UAAA;AAAA,IAAAE;AAAA,IAEAO,EAAO,IAAI,CAAAQ,MAAS;AACnB,YAAMC,IAAYZ,EAAQ,cAAcW,EAAM,KAAK,IAAIA,EAAM,KAAK;AAClE,+BACGE,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAT,EAACH,EAAW,SAAX,EAAmB,IAAG,MACpB,UAAAH,EAAE,mBAAmB,EAAE,OAAOc,EAAA,CAAW,EAAA,CAC5C;AAAA,QAECD,EAAM,UAAU,IAAI,CAAC,EAAE,YAAAG,GAAY,OAAAC,QAC3B,gBAAAX,EAACW,OAAWD,CAAY,CAChC;AAAA,MAAA,EAAA,GAPYH,EAAM,KAQrB;AAAA,IAEJ,CAAC;AAAA,IAEAhB;AAAA,EAAA,GACH,EAAA,CACF,GACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"EmployeeStateTaxesView.js","sources":["../../../../../src/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.tsx"],"sourcesContent":["import { Fragment, type ReactNode } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { type useEmployeeStateTaxesForm } from './useEmployeeStateTaxesForm'\nimport styles from './EmployeeStateTaxesView.module.scss'\nimport { BaseLayout } from '@/components/Base'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ntype ReadyEmployeeStateTaxesForm = Extract<\n ReturnType<typeof useEmployeeStateTaxesForm>,\n { isLoading: false }\n>\n\nexport interface EmployeeStateTaxesViewProps {\n stateTaxes: ReadyEmployeeStateTaxesForm\n onSubmit: () => void | Promise<void>\n actions: ReactNode\n alert?: ReactNode\n className?: string\n}\n\nexport function EmployeeStateTaxesView({\n stateTaxes,\n onSubmit,\n actions,\n alert,\n className,\n}: EmployeeStateTaxesViewProps) {\n const { t } = useTranslation('Employee.StateTaxes')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n const groups = stateTaxes.form.Fields\n\n return (\n <section className={classNames(styles.container, className)}>\n <BaseLayout error={stateTaxes.errorHandling.errors}>\n <SDKFormProvider formHookResult={stateTaxes}>\n <Form onSubmit={onSubmit}>\n {alert}\n\n {groups.length === 0 ? (\n <Components.Text>{t('noWithholding')}</Components.Text>\n ) : (\n groups.map(group => {\n const stateName = tCommon(`statesHash.${group.state}`, group.state)\n return (\n <Fragment key={group.state}>\n <Components.Heading as=\"h2\">\n {t('stateTaxesTitle', { state: stateName })}\n </Components.Heading>\n\n {group.questions.map(({ questionId, Field }) => {\n return <Field key={questionId} />\n })}\n </Fragment>\n )\n })\n )}\n\n {actions}\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["EmployeeStateTaxesView","stateTaxes","onSubmit","actions","alert","className","t","useTranslation","tCommon","Components","useComponentContext","groups","jsx","classNames","styles","BaseLayout","SDKFormProvider","jsxs","Form","group","stateName","Fragment","questionId","Field"],"mappings":";;;;;;;;;;AAuBO,SAASA,EAAuB;AAAA,EACrC,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AACF,GAAgC;AAC9B,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5C,EAAE,GAAGC,MAAYD,EAAe,QAAQ,GACxCE,IAAaC,EAAA,GACbC,IAASV,EAAW,KAAK;AAE/B,SACE,gBAAAW,EAAC,aAAQ,WAAWC,EAAWC,EAAO,WAAWT,CAAS,GACxD,UAAA,gBAAAO,EAACG,GAAA,EAAW,OAAOd,EAAW,cAAc,QAC1C,UAAA,gBAAAW,EAACI,GAAA,EAAgB,gBAAgBf,GAC/B,UAAA,gBAAAgB,EAACC,KAAK,UAAAhB,GACH,UAAA;AAAA,IAAAE;AAAA,IAEAO,EAAO,WAAW,IACjB,gBAAAC,EAACH,EAAW,MAAX,EAAiB,UAAAH,EAAE,eAAe,EAAA,CAAE,IAErCK,EAAO,IAAI,CAAAQ,MAAS;AAClB,YAAMC,IAAYZ,EAAQ,cAAcW,EAAM,KAAK,IAAIA,EAAM,KAAK;AAClE,+BACGE,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAT,EAACH,EAAW,SAAX,EAAmB,IAAG,MACpB,UAAAH,EAAE,mBAAmB,EAAE,OAAOc,EAAA,CAAW,EAAA,CAC5C;AAAA,QAECD,EAAM,UAAU,IAAI,CAAC,EAAE,YAAAG,GAAY,OAAAC,QAC3B,gBAAAX,EAACW,OAAWD,CAAY,CAChC;AAAA,MAAA,EAAA,GAPYH,EAAM,KAQrB;AAAA,IAEJ,CAAC;AAAA,IAGFhB;AAAA,EAAA,GACH,EAAA,CACF,GACF,GACF;AAEJ;"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { useTranslation as l } from "react-i18next";
3
3
  import { EmployeeStateTaxesErrorCodes as s } from "./employeeStateTaxesSchema.js";
4
- import { TextInputHookField as d } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
5
- import { SelectHookField as c } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
4
+ import { DatePickerHookField as d } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
6
5
  import { NumberInputHookField as r } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
7
- import { DatePickerHookField as m } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
8
- import { RadioGroupHookField as u } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
6
+ import { TextInputHookField as c } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
7
+ import { RadioGroupHookField as m } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
8
+ import { SelectHookField as u } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
9
9
  function f() {
10
10
  const { t: o } = l("Employee.StateTaxes");
11
11
  return { [s.REQUIRED]: o("validations.required") };
@@ -26,21 +26,21 @@ function h({ meta: o, ...e }) {
26
26
  placeholder: e.placeholder,
27
27
  FieldComponent: e.FieldComponent
28
28
  };
29
- return /* @__PURE__ */ i(c, { ...t });
29
+ return /* @__PURE__ */ i(u, { ...t });
30
30
  }
31
31
  function P({ meta: o, ...e }) {
32
32
  const t = {
33
33
  ...a(o, e),
34
34
  FieldComponent: e.FieldComponent
35
35
  };
36
- return /* @__PURE__ */ i(u, { ...t });
36
+ return /* @__PURE__ */ i(m, { ...t });
37
37
  }
38
38
  function H({ meta: o, ...e }) {
39
39
  const t = {
40
40
  ...a(o, e),
41
41
  placeholder: e.placeholder
42
42
  };
43
- return /* @__PURE__ */ i(d, { ...t });
43
+ return /* @__PURE__ */ i(c, { ...t });
44
44
  }
45
45
  function R({ meta: o, ...e }) {
46
46
  const t = {
@@ -63,7 +63,7 @@ function D({ meta: o, ...e }) {
63
63
  ...a(o, e),
64
64
  FieldComponent: e.FieldComponent
65
65
  };
66
- return /* @__PURE__ */ i(m, { ...t });
66
+ return /* @__PURE__ */ i(d, { ...t });
67
67
  }
68
68
  export {
69
69
  v as CurrencyStateTaxField,
@@ -14,11 +14,10 @@ import "../../../contexts/LocaleProvider/useLocale.js";
14
14
  import "../../../shared/constants.js";
15
15
  import "classnames";
16
16
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
17
- import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
18
17
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
19
- const [b, g] = o("TaxesContext");
18
+ const [P, b] = o("TaxesContext");
20
19
  export {
21
- g as TaxesProvider,
22
- b as useTaxes
20
+ b as TaxesProvider,
21
+ P as useTaxes
23
22
  };
24
23
  //# sourceMappingURL=useTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
1
+ {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
@@ -215,7 +215,11 @@ function Je({
215
215
  L ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("changePendingTitle"), children: /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("changePendingDescription", {
216
216
  possessiveLabel: ie,
217
217
  newAddress: Q(L, p),
218
- effectiveDate: L.effectiveDate ? S(L.effectiveDate) : "—"
218
+ effectiveDate: L.effectiveDate ? S(L.effectiveDate) : "—",
219
+ // Values are inserted into JSX text, so the browser already
220
+ // escapes them. Telling i18next to escape too produces
221
+ // double-encoded entities like `&#39;` showing as text.
222
+ interpolation: { escapeValue: !1 }
219
223
  }) }) }) : null
220
224
  ] })
221
225
  }