@gusto/embedded-react-sdk 0.13.0 → 0.13.1

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 (183) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/_virtual/dynamic-import-helper.js +8 -1
  3. package/dist/_virtual/dynamic-import-helper.js.map +1 -1
  4. package/dist/components/Base/Base.js +4 -4
  5. package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
  6. package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
  7. package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
  8. package/dist/components/Common/Fields/hooks/useField.js +31 -24
  9. package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
  10. package/dist/components/Common/SignatureForm/SignatureForm.js +3 -4
  11. package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
  12. package/dist/components/Common/SignatureForm/SignatureFormActions.js +6 -7
  13. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +1 -1
  14. package/dist/components/Common/SignatureForm/SignatureFormFields.js +7 -8
  15. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +1 -1
  16. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
  17. package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
  18. package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
  19. package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
  20. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
  21. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
  22. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
  23. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
  24. package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
  25. package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
  26. package/dist/components/Company/AssignSignatory/AssignSignatory.js +6 -7
  27. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  28. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +7 -8
  29. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  30. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +2 -3
  31. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +8 -3
  33. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +9 -10
  35. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  36. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +9 -10
  37. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  38. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +8 -3
  39. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  40. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +10 -5
  41. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  42. package/dist/components/Company/BankAccount/BankAccount.js +1 -1
  43. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
  44. package/dist/components/Company/BankAccount/BankAccountForm/context.js +8 -3
  45. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  46. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
  47. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
  48. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +10 -11
  49. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  50. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +8 -3
  51. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  52. package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
  53. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +9 -10
  54. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  55. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +8 -3
  56. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  57. package/dist/components/Company/FederalTaxes/FederalTaxes.js +15 -16
  58. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  59. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  60. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +14 -9
  61. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  62. package/dist/components/Company/Industry/Context.js +11 -6
  63. package/dist/components/Company/Industry/Context.js.map +1 -1
  64. package/dist/components/Company/Industry/Industry.js +2 -2
  65. package/dist/components/Company/Locations/LocationForm/Form.js +4 -5
  66. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  67. package/dist/components/Company/Locations/LocationForm/LocationForm.js +13 -14
  68. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  69. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +8 -3
  70. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  71. package/dist/components/Company/Locations/LocationsList/LocationsList.js +7 -8
  72. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  73. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +8 -3
  74. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  75. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +3 -4
  76. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  77. package/dist/components/Company/OnboardingOverview/context.js +8 -3
  78. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  79. package/dist/components/Company/PaySchedule/PaySchedule.js +37 -38
  80. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  81. package/dist/components/Company/PaySchedule/_parts/Edit.js +2 -3
  82. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  83. package/dist/components/Company/PaySchedule/usePaySchedule.js +11 -6
  84. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  85. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
  86. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +8 -3
  87. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  88. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
  89. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +8 -3
  90. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  91. package/dist/components/Contractor/Address/Address.js +7 -8
  92. package/dist/components/Contractor/Address/Address.js.map +1 -1
  93. package/dist/components/Contractor/Address/Form.js +2 -3
  94. package/dist/components/Contractor/Address/Form.js.map +1 -1
  95. package/dist/components/Contractor/Address/useAddress.js +10 -5
  96. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  97. package/dist/components/Contractor/ContractorList/index.js +1 -1
  98. package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
  99. package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
  100. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
  101. package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
  102. package/dist/components/Contractor/Profile/useContractorProfile.js +39 -34
  103. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  104. package/dist/components/Contractor/Submit/Submit.js +3 -3
  105. package/dist/components/Employee/Compensation/Compensation.js +10 -10
  106. package/dist/components/Employee/Deductions/Deductions.js +1 -1
  107. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
  108. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
  109. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
  110. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +8 -9
  111. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  112. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +8 -3
  113. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  114. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +12 -13
  115. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  116. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +8 -3
  117. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  118. package/dist/components/Employee/EmployeeList/EmployeeList.js +4 -4
  119. package/dist/components/Employee/EmployeeList/useEmployeeList.js +8 -3
  120. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  121. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
  122. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +8 -3
  123. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  124. package/dist/components/Employee/Landing/Landing.js +2 -2
  125. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
  126. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
  127. package/dist/components/Employee/PaymentMethod/Split.js +1 -1
  128. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +14 -9
  129. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  130. package/dist/components/Employee/Profile/HomeAddress.js +4 -5
  131. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  132. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +20 -21
  133. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  134. package/dist/components/Employee/Profile/Profile.js +13 -13
  135. package/dist/components/Employee/Profile/useProfile.js +8 -3
  136. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  137. package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
  138. package/dist/components/Employee/StateTaxes/useStateTaxes.js +8 -3
  139. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  140. package/dist/components/Employee/Taxes/Taxes.js +5 -5
  141. package/dist/components/Employee/Taxes/useTaxes.js +8 -3
  142. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  143. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +60 -65
  144. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  145. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +60 -57
  146. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  147. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
  148. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
  149. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  150. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
  151. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -19
  152. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  153. package/dist/components/Payroll/PayrollList/PayrollList.js +3 -3
  154. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +8 -8
  155. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  156. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
  157. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -36
  158. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  159. package/dist/components/Payroll/helpers.d.ts +7 -6
  160. package/dist/components/Payroll/helpers.js +44 -43
  161. package/dist/components/Payroll/helpers.js.map +1 -1
  162. package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
  163. package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
  164. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
  165. package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
  166. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
  167. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  168. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  169. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  170. package/dist/i18n/I18n.js +5 -5
  171. package/dist/i18n/I18n.js.map +1 -1
  172. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +20 -18
  173. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
  174. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
  175. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
  176. package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
  177. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
  178. package/dist/shared/constants.d.ts +6 -0
  179. package/dist/shared/constants.js +43 -34
  180. package/dist/shared/constants.js.map +1 -1
  181. package/dist/style.css +1 -1
  182. package/dist/types/i18next.d.ts +52 -1
  183. package/package.json +14 -13
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as c, Fragment as l } from "react/jsx-runtime";
2
- import { useTaxRequirementsGetAllSuspense as d } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/taxRequirementsGetAll.js";
2
+ import { useTaxRequirementsGetAllSuspense as d } from "@gusto/embedded-api/react-query/taxRequirementsGetAll";
3
3
  import { Head as f } from "./Head.js";
4
4
  import { StateTaxesListProvider as p } from "./context.js";
5
5
  import { Actions as u } from "./Actions.js";
@@ -2,16 +2,21 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "react-error-boundary";
4
4
  import "react-i18next";
5
+ import "@gusto/embedded-api/models/errors/apierror";
6
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
7
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
8
+ import "@tanstack/react-query";
5
9
  import "../../../Base/useBase.js";
6
10
  import "../../../../shared/constants.js";
7
11
  import "classnames";
8
12
  import "dompurify";
9
13
  import "../../../../contexts/LocaleProvider/useLocale.js";
10
14
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
11
16
  import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
12
- const [L, S] = t("StateTaxesListContext");
17
+ const [u, f] = t("StateTaxesListContext");
13
18
  export {
14
- S as StateTaxesListProvider,
15
- L as useStateTaxesList
19
+ f as StateTaxesListProvider,
20
+ u as useStateTaxesList
16
21
  };
17
22
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/context.ts"],"sourcesContent":["import type { ResponseBody } from '@gusto/embedded-api/models/operations/getv1companiescompanyuuidtaxrequirements'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesListContextType = {\n isPending: boolean\n stateTaxRequirements: ResponseBody[]\n handleContinue: () => void\n handleChange: (state: string) => void\n}\n\nconst [useStateTaxesList, StateTaxesListProvider] =\n createCompoundContext<StateTaxesListContextType>('StateTaxesListContext')\n\nexport { useStateTaxesList, StateTaxesListProvider }\n"],"names":["useStateTaxesList","StateTaxesListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;AAUA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAAiD,uBAAuB;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/context.ts"],"sourcesContent":["import type { ResponseBody } from '@gusto/embedded-api/models/operations/getv1companiescompanyuuidtaxrequirements'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesListContextType = {\n isPending: boolean\n stateTaxRequirements: ResponseBody[]\n handleContinue: () => void\n handleChange: (state: string) => void\n}\n\nconst [useStateTaxesList, StateTaxesListProvider] =\n createCompoundContext<StateTaxesListContextType>('StateTaxesListContext')\n\nexport { useStateTaxesList, StateTaxesListProvider }\n"],"names":["useStateTaxesList","StateTaxesListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAAiD,uBAAuB;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as t, jsxs as F, Fragment as R } from "react/jsx-runtime";
2
- import { useContractorsGetSuspense as g } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGet.js";
3
- import { useContractorsGetAddressSuspense as z } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGetAddress.js";
4
- import { useContractorsUpdateAddressMutation as E } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsUpdateAddress.js";
2
+ import { useContractorsGetSuspense as g } from "@gusto/embedded-api/react-query/contractorsGet";
3
+ import { useContractorsGetAddressSuspense as z } from "@gusto/embedded-api/react-query/contractorsGetAddress";
4
+ import { useContractorsUpdateAddressMutation as E } from "@gusto/embedded-api/react-query/contractorsUpdateAddress";
5
5
  import { useForm as P, FormProvider as T } from "react-hook-form";
6
- import { zodResolver as U } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
6
+ import { zodResolver as U } from "@hookform/resolvers/zod";
7
7
  import { AddressFormSchema as b, AddressProvider as x } from "./useAddress.js";
8
8
  import { Head as O } from "./Head.js";
9
9
  import { Form as _ } from "./Form.js";
@@ -13,10 +13,9 @@ import { useComponentDictionary as j, useI18n as q } from "../../../i18n/I18n.js
13
13
  import { Flex as w } from "../../Common/Flex/Flex.js";
14
14
  import "classnames";
15
15
  import { contractorEvents as d } from "../../../shared/constants.js";
16
- import "react-i18next";
17
16
  import { BaseComponent as G } from "../../Base/Base.js";
18
17
  import { useBase as H } from "../../Base/useBase.js";
19
- function it(r) {
18
+ function nt(r) {
20
19
  return /* @__PURE__ */ t(G, { ...r, children: /* @__PURE__ */ t(M, { ...r, children: r.children }) });
21
20
  }
22
21
  function M({ contractorId: r, defaultValues: e, children: n, className: a, dictionary: p }) {
@@ -66,7 +65,7 @@ function M({ contractorId: r, defaultValues: e, children: n, className: a, dicti
66
65
  ) });
67
66
  }
68
67
  export {
69
- it as Address,
70
- it as default
68
+ nt as Address,
69
+ nt as default
71
70
  };
72
71
  //# sourceMappingURL=Address.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Address.js","sources":["../../../../src/components/Contractor/Address/Address.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddressSuspense } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport { useContractorsUpdateAddressMutation } from '@gusto/embedded-api/react-query/contractorsUpdateAddress'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { AddressFormSchema, AddressProvider } from './useAddress'\nimport { Head } from './Head'\nimport { Form } from './Form'\nimport { Actions } from './Actions'\nimport type { AddressDefaultValues, AddressFormValues } from './useAddress'\nimport { Form as HtmlForm } from '@/components/Common/Form/Form'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { Flex } from '@/components/Common'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { contractorEvents } from '@/shared/constants'\n\nexport interface AddressProps extends BaseComponentInterface<'Contractor.Address'> {\n contractorId: string\n defaultValues?: AddressDefaultValues\n children?: ReactNode\n className?: string\n}\n\nexport function Address(props: AddressProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, defaultValues, children, className, dictionary }: AddressProps) {\n useComponentDictionary('Contractor.Address', dictionary)\n useI18n('Contractor.Address')\n\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const { data: addressData } = useContractorsGetAddressSuspense({ contractorUuid: contractorId })\n\n const { mutateAsync: updateAddress, isPending: isUpdatingAddressPending } =\n useContractorsUpdateAddressMutation()\n\n const contractor = contractorData.contractor\n const contractorType = contractorData.contractor?.type\n const address = addressData.contractorAddress\n\n const formDefaultValues = {\n street1: address?.street1 || defaultValues?.street1 || '',\n street2: address?.street2 || defaultValues?.street2 || '',\n city: address?.city || defaultValues?.city || '',\n state: address?.state || defaultValues?.state || '',\n zip: address?.zip || defaultValues?.zip || '',\n }\n\n const formMethods = useForm<AddressFormValues>({\n resolver: zodResolver(AddressFormSchema),\n defaultValues: formDefaultValues,\n })\n\n const onSubmit = async (data: AddressFormValues) => {\n await baseSubmitHandler(data, async payload => {\n const { contractorAddress } = await updateAddress({\n request: {\n contractorUuid: contractorId,\n requestBody: {\n version: address?.version as string,\n street1: payload.street1,\n street2: payload.street2,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n },\n },\n })\n\n onEvent(contractorEvents.CONTRACTOR_ADDRESS_UPDATED, contractorAddress)\n onEvent(contractorEvents.CONTRACTOR_ADDRESS_DONE)\n })\n }\n\n return (\n <section className={className}>\n <AddressProvider\n value={{\n contractor,\n contractorType,\n address,\n isPending: isUpdatingAddressPending,\n }}\n >\n <FormProvider {...formMethods}>\n <HtmlForm onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <Form />\n <Actions />\n </>\n )}\n </Flex>\n </HtmlForm>\n </FormProvider>\n </AddressProvider>\n </section>\n )\n}\n\nexport default Address\n"],"names":["Address","props","jsx","BaseComponent","Root","contractorId","defaultValues","children","className","dictionary","useComponentDictionary","useI18n","onEvent","baseSubmitHandler","useBase","contractorData","useContractorsGetSuspense","addressData","useContractorsGetAddressSuspense","updateAddress","isUpdatingAddressPending","useContractorsUpdateAddressMutation","contractor","contractorType","address","formDefaultValues","formMethods","useForm","zodResolver","AddressFormSchema","onSubmit","data","payload","contractorAddress","contractorEvents","AddressProvider","FormProvider","HtmlForm","Flex","jsxs","Fragment","Head","Form","Actions"],"mappings":";;;;;;;;;;;;;;;;;;AA0BO,SAASA,GAAQC,GAAqB;AAC3C,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,cAAAC,GAAc,eAAAC,GAAe,UAAAC,GAAU,WAAAC,GAAW,YAAAC,KAA4B;AAC5F,EAAAC,EAAuB,sBAAsBD,CAAU,GACvDE,EAAQ,oBAAoB;AAE5B,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAMC,EAAA,IAAmBC,EAA0B,EAAE,gBAAgBX,GAAc,GACrF,EAAE,MAAMY,EAAA,IAAgBC,EAAiC,EAAE,gBAAgBb,GAAc,GAEzF,EAAE,aAAac,GAAe,WAAWC,EAAA,IAC7CC,EAAA,GAEIC,IAAaP,EAAe,YAC5BQ,IAAiBR,EAAe,YAAY,MAC5CS,IAAUP,EAAY,mBAEtBQ,IAAoB;AAAA,IACxB,SAASD,GAAS,WAAWlB,GAAe,WAAW;AAAA,IACvD,SAASkB,GAAS,WAAWlB,GAAe,WAAW;AAAA,IACvD,MAAMkB,GAAS,QAAQlB,GAAe,QAAQ;AAAA,IAC9C,OAAOkB,GAAS,SAASlB,GAAe,SAAS;AAAA,IACjD,KAAKkB,GAAS,OAAOlB,GAAe,OAAO;AAAA,EAAA,GAGvCoB,IAAcC,EAA2B;AAAA,IAC7C,UAAUC,EAAYC,CAAiB;AAAA,IACvC,eAAeJ;AAAA,EAAA,CAChB,GAEKK,IAAW,OAAOC,MAA4B;AAClD,UAAMlB,EAAkBkB,GAAM,OAAMC,MAAW;AAC7C,YAAM,EAAE,mBAAAC,MAAsB,MAAMd,EAAc;AAAA,QAChD,SAAS;AAAA,UACP,gBAAgBd;AAAA,UAChB,aAAa;AAAA,YACX,SAASmB,GAAS;AAAA,YAClB,SAASQ,EAAQ;AAAA,YACjB,SAASA,EAAQ;AAAA,YACjB,MAAMA,EAAQ;AAAA,YACd,OAAOA,EAAQ;AAAA,YACf,KAAKA,EAAQ;AAAA,UAAA;AAAA,QACf;AAAA,MACF,CACD;AAED,MAAApB,EAAQsB,EAAiB,4BAA4BD,CAAiB,GACtErB,EAAQsB,EAAiB,uBAAuB;AAAA,IAClD,CAAC;AAAA,EACH;AAEA,SACE,gBAAAhC,EAAC,aAAQ,WAAAM,GACP,UAAA,gBAAAN;AAAA,IAACiC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,YAAAb;AAAA,QACA,gBAAAC;AAAA,QACA,SAAAC;AAAA,QACA,WAAWJ;AAAA,MAAA;AAAA,MAGb,4BAACgB,GAAA,EAAc,GAAGV,GAChB,UAAA,gBAAAxB,EAACmC,GAAA,EAAS,UAAUX,EAAY,aAAaI,CAAQ,GACnD,UAAA,gBAAA5B,EAACoC,KAAK,eAAc,UAAS,KAAK,IAC/B,UAAA/B,KAGC,gBAAAgC,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAtC,EAACuC,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAK;AAAA,0BACLC,GAAA,CAAA,CAAQ;AAAA,MAAA,GACX,EAAA,CAEJ,GACF,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"Address.js","sources":["../../../../src/components/Contractor/Address/Address.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddressSuspense } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport { useContractorsUpdateAddressMutation } from '@gusto/embedded-api/react-query/contractorsUpdateAddress'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { AddressFormSchema, AddressProvider } from './useAddress'\nimport { Head } from './Head'\nimport { Form } from './Form'\nimport { Actions } from './Actions'\nimport type { AddressDefaultValues, AddressFormValues } from './useAddress'\nimport { Form as HtmlForm } from '@/components/Common/Form/Form'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { Flex } from '@/components/Common'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { contractorEvents } from '@/shared/constants'\n\nexport interface AddressProps extends BaseComponentInterface<'Contractor.Address'> {\n contractorId: string\n defaultValues?: AddressDefaultValues\n children?: ReactNode\n className?: string\n}\n\nexport function Address(props: AddressProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, defaultValues, children, className, dictionary }: AddressProps) {\n useComponentDictionary('Contractor.Address', dictionary)\n useI18n('Contractor.Address')\n\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const { data: addressData } = useContractorsGetAddressSuspense({ contractorUuid: contractorId })\n\n const { mutateAsync: updateAddress, isPending: isUpdatingAddressPending } =\n useContractorsUpdateAddressMutation()\n\n const contractor = contractorData.contractor\n const contractorType = contractorData.contractor?.type\n const address = addressData.contractorAddress\n\n const formDefaultValues = {\n street1: address?.street1 || defaultValues?.street1 || '',\n street2: address?.street2 || defaultValues?.street2 || '',\n city: address?.city || defaultValues?.city || '',\n state: address?.state || defaultValues?.state || '',\n zip: address?.zip || defaultValues?.zip || '',\n }\n\n const formMethods = useForm<AddressFormValues>({\n resolver: zodResolver(AddressFormSchema),\n defaultValues: formDefaultValues,\n })\n\n const onSubmit = async (data: AddressFormValues) => {\n await baseSubmitHandler(data, async payload => {\n const { contractorAddress } = await updateAddress({\n request: {\n contractorUuid: contractorId,\n requestBody: {\n version: address?.version as string,\n street1: payload.street1,\n street2: payload.street2,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n },\n },\n })\n\n onEvent(contractorEvents.CONTRACTOR_ADDRESS_UPDATED, contractorAddress)\n onEvent(contractorEvents.CONTRACTOR_ADDRESS_DONE)\n })\n }\n\n return (\n <section className={className}>\n <AddressProvider\n value={{\n contractor,\n contractorType,\n address,\n isPending: isUpdatingAddressPending,\n }}\n >\n <FormProvider {...formMethods}>\n <HtmlForm onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <Form />\n <Actions />\n </>\n )}\n </Flex>\n </HtmlForm>\n </FormProvider>\n </AddressProvider>\n </section>\n )\n}\n\nexport default Address\n"],"names":["Address","props","jsx","BaseComponent","Root","contractorId","defaultValues","children","className","dictionary","useComponentDictionary","useI18n","onEvent","baseSubmitHandler","useBase","contractorData","useContractorsGetSuspense","addressData","useContractorsGetAddressSuspense","updateAddress","isUpdatingAddressPending","useContractorsUpdateAddressMutation","contractor","contractorType","address","formDefaultValues","formMethods","useForm","zodResolver","AddressFormSchema","onSubmit","data","payload","contractorAddress","contractorEvents","AddressProvider","FormProvider","HtmlForm","Flex","jsxs","Fragment","Head","Form","Actions"],"mappings":";;;;;;;;;;;;;;;;;AA0BO,SAASA,GAAQC,GAAqB;AAC3C,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,cAAAC,GAAc,eAAAC,GAAe,UAAAC,GAAU,WAAAC,GAAW,YAAAC,KAA4B;AAC5F,EAAAC,EAAuB,sBAAsBD,CAAU,GACvDE,EAAQ,oBAAoB;AAE5B,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAMC,EAAA,IAAmBC,EAA0B,EAAE,gBAAgBX,GAAc,GACrF,EAAE,MAAMY,EAAA,IAAgBC,EAAiC,EAAE,gBAAgBb,GAAc,GAEzF,EAAE,aAAac,GAAe,WAAWC,EAAA,IAC7CC,EAAA,GAEIC,IAAaP,EAAe,YAC5BQ,IAAiBR,EAAe,YAAY,MAC5CS,IAAUP,EAAY,mBAEtBQ,IAAoB;AAAA,IACxB,SAASD,GAAS,WAAWlB,GAAe,WAAW;AAAA,IACvD,SAASkB,GAAS,WAAWlB,GAAe,WAAW;AAAA,IACvD,MAAMkB,GAAS,QAAQlB,GAAe,QAAQ;AAAA,IAC9C,OAAOkB,GAAS,SAASlB,GAAe,SAAS;AAAA,IACjD,KAAKkB,GAAS,OAAOlB,GAAe,OAAO;AAAA,EAAA,GAGvCoB,IAAcC,EAA2B;AAAA,IAC7C,UAAUC,EAAYC,CAAiB;AAAA,IACvC,eAAeJ;AAAA,EAAA,CAChB,GAEKK,IAAW,OAAOC,MAA4B;AAClD,UAAMlB,EAAkBkB,GAAM,OAAMC,MAAW;AAC7C,YAAM,EAAE,mBAAAC,MAAsB,MAAMd,EAAc;AAAA,QAChD,SAAS;AAAA,UACP,gBAAgBd;AAAA,UAChB,aAAa;AAAA,YACX,SAASmB,GAAS;AAAA,YAClB,SAASQ,EAAQ;AAAA,YACjB,SAASA,EAAQ;AAAA,YACjB,MAAMA,EAAQ;AAAA,YACd,OAAOA,EAAQ;AAAA,YACf,KAAKA,EAAQ;AAAA,UAAA;AAAA,QACf;AAAA,MACF,CACD;AAED,MAAApB,EAAQsB,EAAiB,4BAA4BD,CAAiB,GACtErB,EAAQsB,EAAiB,uBAAuB;AAAA,IAClD,CAAC;AAAA,EACH;AAEA,SACE,gBAAAhC,EAAC,aAAQ,WAAAM,GACP,UAAA,gBAAAN;AAAA,IAACiC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,YAAAb;AAAA,QACA,gBAAAC;AAAA,QACA,SAAAC;AAAA,QACA,WAAWJ;AAAA,MAAA;AAAA,MAGb,4BAACgB,GAAA,EAAc,GAAGV,GAChB,UAAA,gBAAAxB,EAACmC,GAAA,EAAS,UAAUX,EAAY,aAAaI,CAAQ,GACnD,UAAA,gBAAA5B,EAACoC,KAAK,eAAc,UAAS,KAAK,IAC/B,UAAA/B,KAGC,gBAAAgC,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAtC,EAACuC,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAK;AAAA,0BACLC,GAAA,CAAA,CAAQ;AAAA,MAAA,GACX,EAAA,CAEJ,GACF,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,11 +1,10 @@
1
1
  import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
2
  import { useTranslation as i } from "react-i18next";
3
3
  import { Grid as o } from "../../Common/Grid/Grid.js";
4
- import "classnames";
5
4
  import { TextInputField as t } from "../../Common/Fields/TextInputField/TextInputField.js";
6
5
  import { STATES_ABBR as l } from "../../../shared/constants.js";
7
6
  import { SelectField as m } from "../../Common/Fields/SelectField/SelectField.js";
8
- function v() {
7
+ function g() {
9
8
  const { t: e } = i("Contractor.Address");
10
9
  return /* @__PURE__ */ s(o, { gridTemplateColumns: { base: "1fr", small: ["1fr", "1fr"] }, gap: 20, children: [
11
10
  /* @__PURE__ */ r(
@@ -45,6 +44,6 @@ function v() {
45
44
  ] });
46
45
  }
47
46
  export {
48
- v as Form
47
+ g as Form
49
48
  };
50
49
  //# sourceMappingURL=Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../../src/components/Contractor/Address/Form.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { TextInputField, SelectField, Grid } from '@/components/Common'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport function Form() {\n const { t } = useTranslation('Contractor.Address')\n\n return (\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n label={t('city')}\n isRequired\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map(stateAbbr => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common', defaultValue: stateAbbr }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField name=\"zip\" label={t('zip')} isRequired errorMessage={t('validations.zip')} />\n </Grid>\n )\n}\n"],"names":["Form","t","useTranslation","jsxs","Grid","jsx","TextInputField","SelectField","STATES_ABBR","stateAbbr"],"mappings":";;;;;;;AAIO,SAASA,IAAO;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oBAAoB;AAEjD,SACE,gBAAAC,EAACC,GAAA,EAAK,qBAAqB,EAAE,MAAM,OAAO,OAAO,CAAC,OAAO,KAAK,EAAA,GAAK,KAAK,IACtE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,SAAS;AAAA,QAClB,YAAU;AAAA,QACV,cAAcA,EAAE,qBAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEtCK,GAAA,EAAe,MAAK,WAAU,OAAOL,EAAE,SAAS,GAAG;AAAA,IACpD,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,MAAM;AAAA,QACf,YAAU;AAAA,QACV,cAAcA,EAAE,kBAAkB;AAAA,MAAA;AAAA,IAAA;AAAA,IAEpC,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASC,EAAY,IAAI,CAAAC,OAAc;AAAA,UACrC,OAAOR,EAAE,cAAcQ,CAAS,IAAI,EAAE,IAAI,UAAU,cAAcA,GAAW;AAAA,UAC7E,OAAOA;AAAA,QAAA,EACP;AAAA,QACF,OAAOR,EAAE,OAAO;AAAA,QAChB,aAAaA,EAAE,kBAAkB;AAAA,QACjC,cAAcA,EAAE,mBAAmB;AAAA,QACnC,YAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZ,gBAAAI,EAACC,GAAA,EAAe,MAAK,OAAM,OAAOL,EAAE,KAAK,GAAG,YAAU,IAAC,cAAcA,EAAE,iBAAiB,EAAA,CAAG;AAAA,EAAA,GAC7F;AAEJ;"}
1
+ {"version":3,"file":"Form.js","sources":["../../../../src/components/Contractor/Address/Form.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { TextInputField, SelectField, Grid } from '@/components/Common'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport function Form() {\n const { t } = useTranslation('Contractor.Address')\n\n return (\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n label={t('city')}\n isRequired\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map(stateAbbr => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common', defaultValue: stateAbbr }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField name=\"zip\" label={t('zip')} isRequired errorMessage={t('validations.zip')} />\n </Grid>\n )\n}\n"],"names":["Form","t","useTranslation","jsxs","Grid","jsx","TextInputField","SelectField","STATES_ABBR","stateAbbr"],"mappings":";;;;;;AAIO,SAASA,IAAO;AACrB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oBAAoB;AAEjD,SACE,gBAAAC,EAACC,GAAA,EAAK,qBAAqB,EAAE,MAAM,OAAO,OAAO,CAAC,OAAO,KAAK,EAAA,GAAK,KAAK,IACtE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,SAAS;AAAA,QAClB,YAAU;AAAA,QACV,cAAcA,EAAE,qBAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEtCK,GAAA,EAAe,MAAK,WAAU,OAAOL,EAAE,SAAS,GAAG;AAAA,IACpD,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,MAAM;AAAA,QACf,YAAU;AAAA,QACV,cAAcA,EAAE,kBAAkB;AAAA,MAAA;AAAA,IAAA;AAAA,IAEpC,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASC,EAAY,IAAI,CAAAC,OAAc;AAAA,UACrC,OAAOR,EAAE,cAAcQ,CAAS,IAAI,EAAE,IAAI,UAAU,cAAcA,GAAW;AAAA,UAC7E,OAAOA;AAAA,QAAA,EACP;AAAA,QACF,OAAOR,EAAE,OAAO;AAAA,QAChB,aAAaA,EAAE,kBAAkB;AAAA,QACjC,cAAcA,EAAE,mBAAmB;AAAA,QACnC,YAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZ,gBAAAI,EAACC,GAAA,EAAe,MAAK,OAAM,OAAOL,EAAE,KAAK,GAAG,YAAU,IAAC,cAAcA,EAAE,iBAAiB,EAAA,CAAG;AAAA,EAAA,GAC7F;AAEJ;"}
@@ -3,25 +3,30 @@ import "react/jsx-runtime";
3
3
  import "react";
4
4
  import "react-error-boundary";
5
5
  import "react-i18next";
6
+ import "@gusto/embedded-api/models/errors/apierror";
7
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
8
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
9
+ import "@tanstack/react-query";
6
10
  import "../../Base/useBase.js";
7
11
  import "../../../shared/constants.js";
8
12
  import "classnames";
9
13
  import "dompurify";
10
14
  import "../../../contexts/LocaleProvider/useLocale.js";
11
15
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
16
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
12
17
  import { createCompoundContext as r } from "../../Base/createCompoundContext.js";
13
- const C = t.object({
18
+ const b = t.object({
14
19
  street1: t.string().min(1),
15
20
  street2: t.string().optional(),
16
21
  city: t.string().min(1),
17
22
  state: t.string().min(1),
18
23
  zip: t.string().min(1)
19
- }), [x, f] = r(
24
+ }), [h, j] = r(
20
25
  "ContractorAddressContext"
21
26
  );
22
27
  export {
23
- C as AddressFormSchema,
24
- f as AddressProvider,
25
- x as useAddress
28
+ b as AddressFormSchema,
29
+ j as AddressProvider,
30
+ h as useAddress
26
31
  };
27
32
  //# sourceMappingURL=useAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAddress.js","sources":["../../../../src/components/Contractor/Address/useAddress.ts"],"sourcesContent":["import type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { z } from 'zod'\nimport { createCompoundContext } from '@/components/Base'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport interface AddressContextType {\n contractor?: Contractor\n contractorType?: ContractorType\n address?: ContractorAddress\n isPending: boolean\n}\n\nexport type AddressDefaultValues = RequireAtLeastOne<\n Pick<ContractorAddress, 'street1' | 'street2' | 'city' | 'state' | 'zip'>\n>\n\nexport const AddressFormSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().min(1),\n})\n\nexport type AddressFormValues = z.infer<typeof AddressFormSchema>\n\nconst [useAddress, AddressProvider] = createCompoundContext<AddressContextType>(\n 'ContractorAddressContext',\n)\n\nexport { useAddress, AddressProvider }\n"],"names":["AddressFormSchema","z","useAddress","AddressProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;AAiBO,MAAMA,IAAoBC,EAAE,OAAO;AAAA,EACxC,SAASA,EAAE,SAAS,IAAI,CAAC;AAAA,EACzB,SAASA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,MAAMA,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,OAAOA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,KAAKA,EAAE,OAAA,EAAS,IAAI,CAAC;AACvB,CAAC,GAIK,CAACC,GAAYC,CAAe,IAAIC;AAAA,EACpC;AACF;"}
1
+ {"version":3,"file":"useAddress.js","sources":["../../../../src/components/Contractor/Address/useAddress.ts"],"sourcesContent":["import type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { z } from 'zod'\nimport { createCompoundContext } from '@/components/Base'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport interface AddressContextType {\n contractor?: Contractor\n contractorType?: ContractorType\n address?: ContractorAddress\n isPending: boolean\n}\n\nexport type AddressDefaultValues = RequireAtLeastOne<\n Pick<ContractorAddress, 'street1' | 'street2' | 'city' | 'state' | 'zip'>\n>\n\nexport const AddressFormSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().min(1),\n})\n\nexport type AddressFormValues = z.infer<typeof AddressFormSchema>\n\nconst [useAddress, AddressProvider] = createCompoundContext<AddressContextType>(\n 'ContractorAddressContext',\n)\n\nexport { useAddress, AddressProvider }\n"],"names":["AddressFormSchema","z","useAddress","AddressProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AAiBO,MAAMA,IAAoBC,EAAE,OAAO;AAAA,EACxC,SAASA,EAAE,SAAS,IAAI,CAAC;AAAA,EACzB,SAASA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,MAAMA,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,OAAOA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,KAAKA,EAAE,OAAA,EAAS,IAAI,CAAC;AACvB,CAAC,GAIK,CAACC,GAAYC,CAAe,IAAIC;AAAA,EACpC;AACF;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
2
  import { useTranslation as d } from "react-i18next";
3
- import { useContractorsDeleteMutation as x } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsDelete.js";
3
+ import { useContractorsDeleteMutation as x } from "@gusto/embedded-api/react-query/contractorsDelete";
4
4
  import { useContractors as w } from "./useContractorList.js";
5
5
  import { Flex as p } from "../../Common/Flex/Flex.js";
6
6
  import "classnames";
@@ -1,4 +1,4 @@
1
- import { useContractorsListSuspense as u } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsList.js";
1
+ import { useContractorsListSuspense as u } from "@gusto/embedded-api/react-query/contractorsList";
2
2
  import { useState as o } from "react";
3
3
  function C({ companyUuid: r }) {
4
4
  const [s, e] = o(1), [g, P] = o(5), {
@@ -3,9 +3,9 @@ import { useTranslation as S } from "react-i18next";
3
3
  import { useForm as E, useWatch as T, FormProvider as y } from "react-hook-form";
4
4
  import { useMemo as O } from "react";
5
5
  import r from "zod";
6
- import { zodResolver as _ } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
7
- import { useContractorsGetSuspense as D } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGet.js";
8
- import { useContractorsUpdateMutation as F } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsUpdate.js";
6
+ import { zodResolver as _ } from "@hookform/resolvers/zod";
7
+ import { useContractorsGetSuspense as D } from "@gusto/embedded-api/react-query/contractorsGet";
8
+ import { useContractorsUpdateMutation as F } from "@gusto/embedded-api/react-query/contractorsUpdate";
9
9
  import { useComponentDictionary as x, useI18n as g } from "../../../i18n/I18n.js";
10
10
  import { BaseComponent as A } from "../../Base/Base.js";
11
11
  import { useBase as B } from "../../Base/useBase.js";
@@ -1,15 +1,15 @@
1
1
  import { jsx as t, jsxs as H } from "react/jsx-runtime";
2
2
  import { useTranslation as j } from "react-i18next";
3
3
  import { useForm as G, useWatch as Q, FormProvider as V } from "react-hook-form";
4
- import { useContractorPaymentMethodGetSuspense as Y, buildContractorPaymentMethodGetQuery as z } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorPaymentMethodGet.js";
5
- import { useContractorPaymentMethodGetBankAccountsSuspense as L } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorPaymentMethodGetBankAccounts.js";
6
- import { useContractorPaymentMethodsCreateBankAccountMutation as K } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorPaymentMethodsCreateBankAccount.js";
4
+ import { useContractorPaymentMethodGetSuspense as Y, buildContractorPaymentMethodGetQuery as z } from "@gusto/embedded-api/react-query/contractorPaymentMethodGet";
5
+ import { useContractorPaymentMethodGetBankAccountsSuspense as L } from "@gusto/embedded-api/react-query/contractorPaymentMethodGetBankAccounts";
6
+ import { useContractorPaymentMethodsCreateBankAccountMutation as K } from "@gusto/embedded-api/react-query/contractorPaymentMethodsCreateBankAccount";
7
7
  import { useState as W, useMemo as J } from "react";
8
8
  import n from "zod";
9
- import { zodResolver as X } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
10
- import { useContractorPaymentMethodUpdateMutation as Z } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorPaymentMethodUpdate.js";
11
- import { useQueryClient as $ } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@tanstack/react-query/build/modern/index.js";
12
- import { useGustoEmbeddedContext as I } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/_context.js";
9
+ import { zodResolver as X } from "@hookform/resolvers/zod";
10
+ import { useContractorPaymentMethodUpdateMutation as Z } from "@gusto/embedded-api/react-query/contractorPaymentMethodUpdate";
11
+ import { useQueryClient as $ } from "@tanstack/react-query";
12
+ import { useGustoEmbeddedContext as I } from "@gusto/embedded-api/react-query/_context";
13
13
  import { BankAccountForm as tt } from "./BankAccountForm.js";
14
14
  import { PaymentTypeForm as et } from "./PaymentTypeForm.js";
15
15
  import { useComponentDictionary as ot, useI18n as nt } from "../../../i18n/I18n.js";
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useContractorsGetSuspense as m } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGet.js";
2
+ import { useContractorsGetSuspense as m } from "@gusto/embedded-api/react-query/contractorsGet";
3
3
  import { useContractorProfile as f } from "./useContractorProfile.js";
4
4
  import { ContractorType as W, WageType as g } from "./useContractorProfile.js";
5
5
  import { ContractorProfileForm as d } from "./ContractorProfileForm.js";
@@ -1,29 +1,34 @@
1
1
  import { useMemo as z } from "react";
2
2
  import { useTranslation as G } from "react-i18next";
3
- import { zodResolver as V } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
3
+ import { zodResolver as V } from "@hookform/resolvers/zod";
4
4
  import { useForm as $, useWatch as y } from "react-hook-form";
5
5
  import { z as s } from "zod";
6
- import { useContractorsCreateMutation as X } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsCreate.js";
7
- import { useContractorsUpdateMutation as j } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsUpdate.js";
8
- import { WageType as L, ContractorType as k } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/models/components/contractor.js";
6
+ import { useContractorsCreateMutation as X } from "@gusto/embedded-api/react-query/contractorsCreate";
7
+ import { useContractorsUpdateMutation as j } from "@gusto/embedded-api/react-query/contractorsUpdate";
8
+ import { WageType as L, ContractorType as k } from "@gusto/embedded-api/models/components/contractor";
9
9
  import "react/jsx-runtime";
10
10
  import "react-error-boundary";
11
+ import "@gusto/embedded-api/models/errors/apierror";
12
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
13
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
14
+ import "@tanstack/react-query";
11
15
  import { useBase as J } from "../../Base/useBase.js";
12
16
  import { ContractorSelfOnboardingStatuses as K, componentEvents as v, ContractorOnboardingStatus as Q } from "../../../shared/constants.js";
13
17
  import "classnames";
14
18
  import { removeNonDigits as Y } from "../../../helpers/formattedStrings.js";
15
19
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
20
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
16
21
  import { useI18n as x } from "../../../i18n/I18n.js";
17
22
  import { SSN_REGEX as ee, NAME_REGEX as T } from "../../../helpers/validations.js";
18
23
  import { formatDateToStringDate as oe } from "../../../helpers/dateFormatting.js";
19
24
  import { normalizeEin as se } from "../../../helpers/federalEin.js";
20
- const i = L, n = k, ae = s.object({
25
+ const n = L, i = k, ae = s.object({
21
26
  // Self-onboarding toggle
22
27
  selfOnboarding: s.boolean(),
23
28
  email: s.string().email().optional(),
24
29
  // Required contractor fields
25
- contractorType: s.enum([n.Individual, n.Business]),
26
- wageType: s.enum([i.Hourly, i.Fixed]),
30
+ contractorType: s.enum([i.Individual, i.Business]),
31
+ wageType: s.enum([n.Hourly, n.Fixed]),
27
32
  startDate: s.date(),
28
33
  // Individual contractor fields
29
34
  firstName: s.string().min(1).regex(T).optional(),
@@ -35,13 +40,13 @@ const i = L, n = k, ae = s.object({
35
40
  ein: s.string().optional(),
36
41
  // Wage fields
37
42
  hourlyRate: s.number().min(0).optional()
38
- }), te = (a, p, m) => ae.superRefine(
43
+ }), te = (a, p, d) => ae.superRefine(
39
44
  (e, t) => {
40
45
  if (e.selfOnboarding && !e.email && t.addIssue({
41
46
  code: s.ZodIssueCode.custom,
42
47
  path: ["email"],
43
48
  message: a("validations.email")
44
- }), e.contractorType === n.Individual)
49
+ }), e.contractorType === i.Individual)
45
50
  if (e.firstName || t.addIssue({
46
51
  code: s.ZodIssueCode.custom,
47
52
  path: ["firstName"],
@@ -64,13 +69,13 @@ const i = L, n = k, ae = s.object({
64
69
  message: a("validations.ssnFormat")
65
70
  });
66
71
  }
67
- if (e.contractorType === n.Business)
72
+ if (e.contractorType === i.Business)
68
73
  if (e.businessName || t.addIssue({
69
74
  code: s.ZodIssueCode.custom,
70
75
  path: ["businessName"],
71
76
  message: a("validations.businessName")
72
77
  }), !e.ein)
73
- m || t.addIssue({
78
+ d || t.addIssue({
74
79
  code: s.ZodIssueCode.custom,
75
80
  path: ["ein"],
76
81
  message: a("validations.ein")
@@ -83,17 +88,17 @@ const i = L, n = k, ae = s.object({
83
88
  message: a("validations.einFormat")
84
89
  });
85
90
  }
86
- e.wageType === i.Hourly && (e.hourlyRate === void 0 || e.hourlyRate < 0) && t.addIssue({
91
+ e.wageType === n.Hourly && (e.hourlyRate === void 0 || e.hourlyRate < 0) && t.addIssue({
87
92
  code: s.ZodIssueCode.custom,
88
93
  path: ["hourlyRate"],
89
94
  message: a("validations.hourlyRate")
90
95
  });
91
96
  }
92
97
  );
93
- function Se({
98
+ function Pe({
94
99
  companyId: a,
95
100
  contractorId: p,
96
- defaultValues: m,
101
+ defaultValues: d,
97
102
  existingContractor: e
98
103
  }) {
99
104
  x("Contractor.Profile");
@@ -104,18 +109,18 @@ function Se({
104
109
  ), { mutateAsync: I, isPending: R } = X(), { mutateAsync: S, isPending: w } = j(), O = z(
105
110
  () => ({
106
111
  selfOnboarding: !1,
107
- contractorType: n.Business,
108
- wageType: i.Fixed,
112
+ contractorType: i.Business,
113
+ wageType: n.Fixed,
109
114
  startDate: /* @__PURE__ */ new Date(),
110
- ...m,
115
+ ...d,
111
116
  // Override with existing contractor data if available
112
117
  ...e && {
113
118
  selfOnboarding: e.onboardingStatus ? (
114
119
  // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses
115
120
  K.has(e.onboardingStatus)
116
121
  ) : !1,
117
- contractorType: e.type || n.Business,
118
- wageType: e.wageType || i.Fixed,
122
+ contractorType: e.type || i.Business,
123
+ wageType: e.wageType || n.Fixed,
119
124
  startDate: e.startDate ? new Date(e.startDate) : /* @__PURE__ */ new Date(),
120
125
  firstName: e.firstName || void 0,
121
126
  middleInitial: e.middleInitial || void 0,
@@ -128,12 +133,12 @@ function Se({
128
133
  })() : void 0
129
134
  }
130
135
  }),
131
- [e, m]
132
- ), d = $({
136
+ [e, d]
137
+ ), m = $({
133
138
  resolver: V(g),
134
139
  defaultValues: O
135
- }), { handleSubmit: D, formState: E } = d, h = y({ control: d.control, name: "contractorType" }), P = y({ control: d.control, name: "wageType" }), F = y({
136
- control: d.control,
140
+ }), { handleSubmit: D, formState: E } = m, h = y({ control: m.control, name: "contractorType" }), P = y({ control: m.control, name: "wageType" }), F = y({
141
+ control: m.control,
137
142
  name: "selfOnboarding"
138
143
  }), N = (o) => {
139
144
  const r = {
@@ -142,10 +147,10 @@ function Se({
142
147
  startDate: oe(o.startDate) || "",
143
148
  selfOnboarding: o.selfOnboarding,
144
149
  email: o.selfOnboarding ? o.email : void 0,
145
- hourlyRate: o.wageType === i.Hourly ? String(o.hourlyRate) : void 0,
150
+ hourlyRate: o.wageType === n.Hourly ? String(o.hourlyRate) : void 0,
146
151
  isActive: !0
147
152
  };
148
- return o.contractorType === n.Individual ? {
153
+ return o.contractorType === i.Individual ? {
149
154
  ...r,
150
155
  firstName: o.firstName,
151
156
  middleInitial: o.middleInitial || void 0,
@@ -190,16 +195,16 @@ function Se({
190
195
  contractorId: u
191
196
  });
192
197
  });
193
- }, A = !!F, H = h === n.Business, Z = h === n.Individual, _ = P === i.Hourly, M = [
194
- { label: "Individual", value: n.Individual },
195
- { label: "Business", value: n.Business }
198
+ }, A = !!F, H = h === i.Business, Z = h === i.Individual, _ = P === n.Hourly, M = [
199
+ { label: "Individual", value: i.Individual },
200
+ { label: "Business", value: i.Business }
196
201
  ], U = [
197
- { label: "Hourly", value: i.Hourly },
198
- { label: "Fixed", value: i.Fixed }
202
+ { label: "Hourly", value: n.Hourly },
203
+ { label: "Fixed", value: n.Fixed }
199
204
  ], W = R || w;
200
205
  return {
201
206
  // Form methods and submission
202
- formMethods: d,
207
+ formMethods: m,
203
208
  handleSubmit: D(B),
204
209
  formState: {
205
210
  ...E,
@@ -218,9 +223,9 @@ function Se({
218
223
  };
219
224
  }
220
225
  export {
221
- n as ContractorType,
222
- i as WageType,
226
+ i as ContractorType,
227
+ n as WageType,
223
228
  te as createContractorProfileValidationSchema,
224
- Se as useContractorProfile
229
+ Pe as useContractorProfile
225
230
  };
226
231
  //# sourceMappingURL=useContractorProfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/useContractorProfile.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { useForm, useWatch } from 'react-hook-form'\nimport { z } from 'zod'\nimport { useContractorsCreateMutation } from '@gusto/embedded-api/react-query/contractorsCreate'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport type { PostV1CompaniesCompanyUuidContractorsRequestBody } from '@gusto/embedded-api/models/operations/postv1companiescompanyuuidcontractors'\nimport type { PutV1ContractorsContractorUuidRequestBody } from '@gusto/embedded-api/models/operations/putv1contractorscontractoruuid'\nimport {\n WageType as ApiWageType,\n ContractorType as ApiContractorType,\n type Contractor,\n} from '@gusto/embedded-api/models/components/contractor'\nimport { useBase } from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n ContractorOnboardingStatus,\n ContractorSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { SSN_REGEX, NAME_REGEX } from '@/helpers/validations'\nimport { removeNonDigits } from '@/helpers/formattedStrings'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { normalizeEin } from '@/helpers/federalEin'\n\n// Re-export the API types for convenience\nexport const WageType = ApiWageType\nexport const ContractorType = ApiContractorType\n\n// Form schema definition - exported for use in stories and tests\nconst ContractorProfileSchema = z.object({\n // Self-onboarding toggle\n selfOnboarding: z.boolean(),\n email: z.string().email().optional(),\n\n // Required contractor fields\n contractorType: z.enum([ContractorType.Individual, ContractorType.Business]),\n wageType: z.enum([WageType.Hourly, WageType.Fixed]),\n startDate: z.date(),\n\n // Individual contractor fields\n firstName: z.string().min(1).regex(NAME_REGEX).optional(),\n middleInitial: z.string().optional(),\n lastName: z.string().min(1).regex(NAME_REGEX).optional(),\n ssn: z.string().optional(),\n\n // Business contractor fields\n businessName: z.string().optional(),\n ein: z.string().optional(),\n\n // Wage fields\n hourlyRate: z.number().min(0).optional(),\n})\n\nexport type ContractorProfileFormData = z.infer<typeof ContractorProfileSchema>\n\n// Create validation schema - exported for stories\nexport const createContractorProfileValidationSchema = (\n t: (key: string) => string,\n hasSsn: boolean,\n hasEin: boolean,\n) => {\n return ContractorProfileSchema.superRefine(\n (data: ContractorProfileFormData, ctx: z.RefinementCtx) => {\n // Email validation for contractor invitation\n if (data.selfOnboarding && !data.email) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['email'],\n message: t('validations.email'),\n })\n }\n\n // Individual contractor validations\n if (data.contractorType === ContractorType.Individual) {\n if (!data.firstName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['firstName'],\n message: t('validations.firstName'),\n })\n }\n\n if (!data.lastName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['lastName'],\n message: t('validations.lastName'),\n })\n }\n\n if (!data.ssn) {\n if (!hasSsn) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssn'),\n })\n }\n } else {\n // Validate SSN format\n const cleanSSN = removeNonDigits(data.ssn)\n if (!SSN_REGEX.test(cleanSSN)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssnFormat'),\n })\n }\n }\n }\n\n // Business contractor validations\n if (data.contractorType === ContractorType.Business) {\n if (!data.businessName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['businessName'],\n message: t('validations.businessName'),\n })\n }\n\n if (!data.ein) {\n if (!hasEin) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.ein'),\n })\n }\n } else {\n // Validate EIN format after normalization (XX-XXXXXXX)\n const normalizedEin = normalizeEin(data.ein)\n if (!/^\\d{2}-\\d{7}$/.test(normalizedEin)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.einFormat'),\n })\n }\n }\n }\n\n // Hourly rate validation for hourly contractors\n if (data.wageType === WageType.Hourly) {\n if (data.hourlyRate === undefined || data.hourlyRate < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['hourlyRate'],\n message: t('validations.hourlyRate'),\n })\n }\n }\n },\n )\n}\n\nexport interface UseContractorProfileProps {\n companyId: string\n contractorId?: string\n defaultValues?: Partial<ContractorProfileFormData>\n existingContractor?: Contractor\n}\n\nexport function useContractorProfile({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n}: UseContractorProfileProps) {\n useI18n('Contractor.Profile')\n const { t } = useTranslation('Contractor.Profile')\n const { onEvent, baseSubmitHandler } = useBase()\n\n // Create validation schema with translations\n const validationSchema = createContractorProfileValidationSchema(\n t as (key: string) => string,\n existingContractor?.hasSsn ?? false,\n existingContractor?.hasEin ?? false,\n )\n\n // API mutations\n const { mutateAsync: createContractor, isPending: isCreating } = useContractorsCreateMutation()\n const { mutateAsync: updateContractor, isPending: isUpdating } = useContractorsUpdateMutation()\n\n // Prepare default values from existing contractor or provided defaults\n const formDefaultValues = useMemo(\n () => ({\n selfOnboarding: false,\n contractorType: ContractorType.Business,\n wageType: WageType.Fixed,\n startDate: new Date(),\n ...defaultValues,\n // Override with existing contractor data if available\n ...(existingContractor && {\n selfOnboarding: existingContractor.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n ContractorSelfOnboardingStatuses.has(existingContractor.onboardingStatus)\n : false,\n contractorType: existingContractor.type || ContractorType.Business,\n wageType: existingContractor.wageType || WageType.Fixed,\n startDate: existingContractor.startDate\n ? new Date(existingContractor.startDate)\n : new Date(),\n firstName: existingContractor.firstName || undefined,\n middleInitial: existingContractor.middleInitial || undefined,\n lastName: existingContractor.lastName || undefined,\n businessName: existingContractor.businessName || undefined,\n email: existingContractor.email || undefined,\n hourlyRate: existingContractor.hourlyRate\n ? (() => {\n const parsed = parseFloat(existingContractor.hourlyRate)\n return isNaN(parsed) ? undefined : parsed\n })()\n : undefined,\n }),\n }),\n [existingContractor, defaultValues],\n )\n\n // Form setup\n const formMethods = useForm<ContractorProfileFormData, unknown, ContractorProfileFormData>({\n resolver: zodResolver(validationSchema),\n defaultValues: formDefaultValues,\n })\n\n const { handleSubmit, formState } = formMethods\n\n // Watch form values for conditional rendering\n const watchedType = useWatch({ control: formMethods.control, name: 'contractorType' })\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const watchedSelfOnboarding = useWatch({\n control: formMethods.control,\n name: 'selfOnboarding',\n })\n\n // Helper function to transform form data to API payload\n const transformFormDataToCreatePayload = (\n data: ContractorProfileFormData,\n ): PostV1CompaniesCompanyUuidContractorsRequestBody => {\n const basePayload = {\n type: data.contractorType,\n wageType: data.wageType,\n startDate: formatDateToStringDate(data.startDate) || '',\n selfOnboarding: data.selfOnboarding,\n email: data.selfOnboarding ? data.email : undefined,\n hourlyRate: data.wageType === WageType.Hourly ? String(data.hourlyRate) : undefined,\n isActive: true,\n }\n\n if (data.contractorType === ContractorType.Individual) {\n return {\n ...basePayload,\n firstName: data.firstName,\n middleInitial: data.middleInitial || undefined,\n lastName: data.lastName,\n ssn: data.ssn,\n fileNewHireReport: false, // Default value\n }\n } else {\n return {\n ...basePayload,\n fileNewHireReport: false, // Default value\n businessName: data.businessName,\n ein: data.ein?.replace(/-/g, ''),\n }\n }\n }\n\n const transformFormDataToUpdatePayload = (\n data: ContractorProfileFormData,\n version: string,\n ): PutV1ContractorsContractorUuidRequestBody => {\n const createPayload = transformFormDataToCreatePayload(data)\n return {\n ...createPayload,\n version,\n }\n }\n\n // Event handlers\n const onSubmit: SubmitHandler<ContractorProfileFormData> = async data => {\n await baseSubmitHandler(data, async payload => {\n let contractorId = existingContractor?.uuid\n if (existingContractor) {\n // Update existing contractor\n if (!existingContractor.version) {\n throw new Error('Contractor version is required for updates')\n }\n const version = existingContractor.version\n const apiPayload = transformFormDataToUpdatePayload(payload, version)\n\n const updateResponse = await updateContractor({\n request: {\n contractorUuid: contractorId!,\n requestBody: apiPayload,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, updateResponse.contractor)\n } else {\n // Create new contractor\n const apiPayload = transformFormDataToCreatePayload(payload)\n\n const createResponse = await createContractor({\n request: {\n companyUuid: companyId,\n requestBody: apiPayload,\n },\n })\n\n contractorId = createResponse.contractor?.uuid\n onEvent(componentEvents.CONTRACTOR_CREATED, createResponse.contractor)\n }\n\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n selfOnboarding:\n payload.selfOnboarding &&\n existingContractor?.onboardingStatus !==\n ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW,\n contractorId,\n })\n })\n }\n\n // Conditional rendering helpers\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion\n const shouldShowEmailField = !!watchedSelfOnboarding\n const shouldShowBusinessFields = watchedType === ContractorType.Business\n const shouldShowIndividualFields = watchedType === ContractorType.Individual\n const shouldShowHourlyRate = watchedWageType === WageType.Hourly\n\n // Form field options\n const contractorTypeOptions = [\n { label: 'Individual', value: ContractorType.Individual },\n { label: 'Business', value: ContractorType.Business },\n ]\n\n const wageTypeOptions = [\n { label: 'Hourly', value: WageType.Hourly },\n { label: 'Fixed', value: WageType.Fixed },\n ]\n\n // Determine if we're currently submitting (creating or updating)\n const isSubmitting = isCreating || isUpdating\n // Return only what the component actually needs\n return {\n // Form methods and submission\n formMethods,\n handleSubmit: handleSubmit(onSubmit),\n formState: {\n ...formState,\n isSubmitting,\n },\n\n // Conditional rendering flags\n shouldShowEmailField,\n shouldShowBusinessFields,\n shouldShowIndividualFields,\n shouldShowHourlyRate,\n\n // Form options\n contractorTypeOptions,\n wageTypeOptions,\n\n // Component state\n isEditing: !!contractorId,\n }\n}\n"],"names":["WageType","ApiWageType","ContractorType","ApiContractorType","ContractorProfileSchema","z","NAME_REGEX","createContractorProfileValidationSchema","t","hasSsn","hasEin","data","ctx","cleanSSN","removeNonDigits","SSN_REGEX","normalizedEin","normalizeEin","useContractorProfile","companyId","contractorId","defaultValues","existingContractor","useI18n","useTranslation","onEvent","baseSubmitHandler","useBase","validationSchema","createContractor","isCreating","useContractorsCreateMutation","updateContractor","isUpdating","useContractorsUpdateMutation","formDefaultValues","useMemo","ContractorSelfOnboardingStatuses","parsed","formMethods","useForm","zodResolver","handleSubmit","formState","watchedType","useWatch","watchedWageType","watchedSelfOnboarding","transformFormDataToCreatePayload","basePayload","formatDateToStringDate","transformFormDataToUpdatePayload","version","onSubmit","payload","apiPayload","updateResponse","componentEvents","createResponse","ContractorOnboardingStatus","shouldShowEmailField","shouldShowBusinessFields","shouldShowIndividualFields","shouldShowHourlyRate","contractorTypeOptions","wageTypeOptions","isSubmitting"],"mappings":"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"}
1
+ {"version":3,"file":"useContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/useContractorProfile.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { useForm, useWatch } from 'react-hook-form'\nimport { z } from 'zod'\nimport { useContractorsCreateMutation } from '@gusto/embedded-api/react-query/contractorsCreate'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport type { PostV1CompaniesCompanyUuidContractorsRequestBody } from '@gusto/embedded-api/models/operations/postv1companiescompanyuuidcontractors'\nimport type { PutV1ContractorsContractorUuidRequestBody } from '@gusto/embedded-api/models/operations/putv1contractorscontractoruuid'\nimport {\n WageType as ApiWageType,\n ContractorType as ApiContractorType,\n type Contractor,\n} from '@gusto/embedded-api/models/components/contractor'\nimport { useBase } from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n ContractorOnboardingStatus,\n ContractorSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { SSN_REGEX, NAME_REGEX } from '@/helpers/validations'\nimport { removeNonDigits } from '@/helpers/formattedStrings'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { normalizeEin } from '@/helpers/federalEin'\n\n// Re-export the API types for convenience\nexport const WageType = ApiWageType\nexport const ContractorType = ApiContractorType\n\n// Form schema definition - exported for use in stories and tests\nconst ContractorProfileSchema = z.object({\n // Self-onboarding toggle\n selfOnboarding: z.boolean(),\n email: z.string().email().optional(),\n\n // Required contractor fields\n contractorType: z.enum([ContractorType.Individual, ContractorType.Business]),\n wageType: z.enum([WageType.Hourly, WageType.Fixed]),\n startDate: z.date(),\n\n // Individual contractor fields\n firstName: z.string().min(1).regex(NAME_REGEX).optional(),\n middleInitial: z.string().optional(),\n lastName: z.string().min(1).regex(NAME_REGEX).optional(),\n ssn: z.string().optional(),\n\n // Business contractor fields\n businessName: z.string().optional(),\n ein: z.string().optional(),\n\n // Wage fields\n hourlyRate: z.number().min(0).optional(),\n})\n\nexport type ContractorProfileFormData = z.infer<typeof ContractorProfileSchema>\n\n// Create validation schema - exported for stories\nexport const createContractorProfileValidationSchema = (\n t: (key: string) => string,\n hasSsn: boolean,\n hasEin: boolean,\n) => {\n return ContractorProfileSchema.superRefine(\n (data: ContractorProfileFormData, ctx: z.RefinementCtx) => {\n // Email validation for contractor invitation\n if (data.selfOnboarding && !data.email) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['email'],\n message: t('validations.email'),\n })\n }\n\n // Individual contractor validations\n if (data.contractorType === ContractorType.Individual) {\n if (!data.firstName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['firstName'],\n message: t('validations.firstName'),\n })\n }\n\n if (!data.lastName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['lastName'],\n message: t('validations.lastName'),\n })\n }\n\n if (!data.ssn) {\n if (!hasSsn) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssn'),\n })\n }\n } else {\n // Validate SSN format\n const cleanSSN = removeNonDigits(data.ssn)\n if (!SSN_REGEX.test(cleanSSN)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ssn'],\n message: t('validations.ssnFormat'),\n })\n }\n }\n }\n\n // Business contractor validations\n if (data.contractorType === ContractorType.Business) {\n if (!data.businessName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['businessName'],\n message: t('validations.businessName'),\n })\n }\n\n if (!data.ein) {\n if (!hasEin) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.ein'),\n })\n }\n } else {\n // Validate EIN format after normalization (XX-XXXXXXX)\n const normalizedEin = normalizeEin(data.ein)\n if (!/^\\d{2}-\\d{7}$/.test(normalizedEin)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['ein'],\n message: t('validations.einFormat'),\n })\n }\n }\n }\n\n // Hourly rate validation for hourly contractors\n if (data.wageType === WageType.Hourly) {\n if (data.hourlyRate === undefined || data.hourlyRate < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['hourlyRate'],\n message: t('validations.hourlyRate'),\n })\n }\n }\n },\n )\n}\n\nexport interface UseContractorProfileProps {\n companyId: string\n contractorId?: string\n defaultValues?: Partial<ContractorProfileFormData>\n existingContractor?: Contractor\n}\n\nexport function useContractorProfile({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n}: UseContractorProfileProps) {\n useI18n('Contractor.Profile')\n const { t } = useTranslation('Contractor.Profile')\n const { onEvent, baseSubmitHandler } = useBase()\n\n // Create validation schema with translations\n const validationSchema = createContractorProfileValidationSchema(\n t as (key: string) => string,\n existingContractor?.hasSsn ?? false,\n existingContractor?.hasEin ?? false,\n )\n\n // API mutations\n const { mutateAsync: createContractor, isPending: isCreating } = useContractorsCreateMutation()\n const { mutateAsync: updateContractor, isPending: isUpdating } = useContractorsUpdateMutation()\n\n // Prepare default values from existing contractor or provided defaults\n const formDefaultValues = useMemo(\n () => ({\n selfOnboarding: false,\n contractorType: ContractorType.Business,\n wageType: WageType.Fixed,\n startDate: new Date(),\n ...defaultValues,\n // Override with existing contractor data if available\n ...(existingContractor && {\n selfOnboarding: existingContractor.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n ContractorSelfOnboardingStatuses.has(existingContractor.onboardingStatus)\n : false,\n contractorType: existingContractor.type || ContractorType.Business,\n wageType: existingContractor.wageType || WageType.Fixed,\n startDate: existingContractor.startDate\n ? new Date(existingContractor.startDate)\n : new Date(),\n firstName: existingContractor.firstName || undefined,\n middleInitial: existingContractor.middleInitial || undefined,\n lastName: existingContractor.lastName || undefined,\n businessName: existingContractor.businessName || undefined,\n email: existingContractor.email || undefined,\n hourlyRate: existingContractor.hourlyRate\n ? (() => {\n const parsed = parseFloat(existingContractor.hourlyRate)\n return isNaN(parsed) ? undefined : parsed\n })()\n : undefined,\n }),\n }),\n [existingContractor, defaultValues],\n )\n\n // Form setup\n const formMethods = useForm<ContractorProfileFormData, unknown, ContractorProfileFormData>({\n resolver: zodResolver(validationSchema),\n defaultValues: formDefaultValues,\n })\n\n const { handleSubmit, formState } = formMethods\n\n // Watch form values for conditional rendering\n const watchedType = useWatch({ control: formMethods.control, name: 'contractorType' })\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const watchedSelfOnboarding = useWatch({\n control: formMethods.control,\n name: 'selfOnboarding',\n })\n\n // Helper function to transform form data to API payload\n const transformFormDataToCreatePayload = (\n data: ContractorProfileFormData,\n ): PostV1CompaniesCompanyUuidContractorsRequestBody => {\n const basePayload = {\n type: data.contractorType,\n wageType: data.wageType,\n startDate: formatDateToStringDate(data.startDate) || '',\n selfOnboarding: data.selfOnboarding,\n email: data.selfOnboarding ? data.email : undefined,\n hourlyRate: data.wageType === WageType.Hourly ? String(data.hourlyRate) : undefined,\n isActive: true,\n }\n\n if (data.contractorType === ContractorType.Individual) {\n return {\n ...basePayload,\n firstName: data.firstName,\n middleInitial: data.middleInitial || undefined,\n lastName: data.lastName,\n ssn: data.ssn,\n fileNewHireReport: false, // Default value\n }\n } else {\n return {\n ...basePayload,\n fileNewHireReport: false, // Default value\n businessName: data.businessName,\n ein: data.ein?.replace(/-/g, ''),\n }\n }\n }\n\n const transformFormDataToUpdatePayload = (\n data: ContractorProfileFormData,\n version: string,\n ): PutV1ContractorsContractorUuidRequestBody => {\n const createPayload = transformFormDataToCreatePayload(data)\n return {\n ...createPayload,\n version,\n }\n }\n\n // Event handlers\n const onSubmit: SubmitHandler<ContractorProfileFormData> = async data => {\n await baseSubmitHandler(data, async payload => {\n let contractorId = existingContractor?.uuid\n if (existingContractor) {\n // Update existing contractor\n if (!existingContractor.version) {\n throw new Error('Contractor version is required for updates')\n }\n const version = existingContractor.version\n const apiPayload = transformFormDataToUpdatePayload(payload, version)\n\n const updateResponse = await updateContractor({\n request: {\n contractorUuid: contractorId!,\n requestBody: apiPayload,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, updateResponse.contractor)\n } else {\n // Create new contractor\n const apiPayload = transformFormDataToCreatePayload(payload)\n\n const createResponse = await createContractor({\n request: {\n companyUuid: companyId,\n requestBody: apiPayload,\n },\n })\n\n contractorId = createResponse.contractor?.uuid\n onEvent(componentEvents.CONTRACTOR_CREATED, createResponse.contractor)\n }\n\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n selfOnboarding:\n payload.selfOnboarding &&\n existingContractor?.onboardingStatus !==\n ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW,\n contractorId,\n })\n })\n }\n\n // Conditional rendering helpers\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion\n const shouldShowEmailField = !!watchedSelfOnboarding\n const shouldShowBusinessFields = watchedType === ContractorType.Business\n const shouldShowIndividualFields = watchedType === ContractorType.Individual\n const shouldShowHourlyRate = watchedWageType === WageType.Hourly\n\n // Form field options\n const contractorTypeOptions = [\n { label: 'Individual', value: ContractorType.Individual },\n { label: 'Business', value: ContractorType.Business },\n ]\n\n const wageTypeOptions = [\n { label: 'Hourly', value: WageType.Hourly },\n { label: 'Fixed', value: WageType.Fixed },\n ]\n\n // Determine if we're currently submitting (creating or updating)\n const isSubmitting = isCreating || isUpdating\n // Return only what the component actually needs\n return {\n // Form methods and submission\n formMethods,\n handleSubmit: handleSubmit(onSubmit),\n formState: {\n ...formState,\n isSubmitting,\n },\n\n // Conditional rendering flags\n shouldShowEmailField,\n shouldShowBusinessFields,\n shouldShowIndividualFields,\n shouldShowHourlyRate,\n\n // Form options\n contractorTypeOptions,\n wageTypeOptions,\n\n // Component state\n isEditing: !!contractorId,\n }\n}\n"],"names":["WageType","ApiWageType","ContractorType","ApiContractorType","ContractorProfileSchema","z","NAME_REGEX","createContractorProfileValidationSchema","t","hasSsn","hasEin","data","ctx","cleanSSN","removeNonDigits","SSN_REGEX","normalizedEin","normalizeEin","useContractorProfile","companyId","contractorId","defaultValues","existingContractor","useI18n","useTranslation","onEvent","baseSubmitHandler","useBase","validationSchema","createContractor","isCreating","useContractorsCreateMutation","updateContractor","isUpdating","useContractorsUpdateMutation","formDefaultValues","useMemo","ContractorSelfOnboardingStatuses","parsed","formMethods","useForm","zodResolver","handleSubmit","formState","watchedType","useWatch","watchedWageType","watchedSelfOnboarding","transformFormDataToCreatePayload","basePayload","formatDateToStringDate","transformFormDataToUpdatePayload","version","onSubmit","payload","apiPayload","updateResponse","componentEvents","createResponse","ContractorOnboardingStatus","shouldShowEmailField","shouldShowBusinessFields","shouldShowIndividualFields","shouldShowHourlyRate","contractorTypeOptions","wageTypeOptions","isSubmitting"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAMA,IAAWC,GACXC,IAAiBC,GAGxBC,KAA0BC,EAAE,OAAO;AAAA;AAAA,EAEvC,gBAAgBA,EAAE,QAAA;AAAA,EAClB,OAAOA,EAAE,OAAA,EAAS,MAAA,EAAQ,SAAA;AAAA;AAAA,EAG1B,gBAAgBA,EAAE,KAAK,CAACH,EAAe,YAAYA,EAAe,QAAQ,CAAC;AAAA,EAC3E,UAAUG,EAAE,KAAK,CAACL,EAAS,QAAQA,EAAS,KAAK,CAAC;AAAA,EAClD,WAAWK,EAAE,KAAA;AAAA;AAAA,EAGb,WAAWA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,MAAMC,CAAU,EAAE,SAAA;AAAA,EAC/C,eAAeD,EAAE,OAAA,EAAS,SAAA;AAAA,EAC1B,UAAUA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,MAAMC,CAAU,EAAE,SAAA;AAAA,EAC9C,KAAKD,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAGhB,cAAcA,EAAE,OAAA,EAAS,SAAA;AAAA,EACzB,KAAKA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAGhB,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,SAAA;AAChC,CAAC,GAKYE,KAA0C,CACrDC,GACAC,GACAC,MAEON,GAAwB;AAAA,EAC7B,CAACO,GAAiCC,MAAyB;AAWzD,QATID,EAAK,kBAAkB,CAACA,EAAK,SAC/BC,EAAI,SAAS;AAAA,MACX,MAAMP,EAAE,aAAa;AAAA,MACrB,MAAM,CAAC,OAAO;AAAA,MACd,SAASG,EAAE,mBAAmB;AAAA,IAAA,CAC/B,GAICG,EAAK,mBAAmBT,EAAe;AAiBzC,UAhBKS,EAAK,aACRC,EAAI,SAAS;AAAA,QACX,MAAMP,EAAE,aAAa;AAAA,QACrB,MAAM,CAAC,WAAW;AAAA,QAClB,SAASG,EAAE,uBAAuB;AAAA,MAAA,CACnC,GAGEG,EAAK,YACRC,EAAI,SAAS;AAAA,QACX,MAAMP,EAAE,aAAa;AAAA,QACrB,MAAM,CAAC,UAAU;AAAA,QACjB,SAASG,EAAE,sBAAsB;AAAA,MAAA,CAClC,GAGC,CAACG,EAAK;AACR,QAAKF,KACHG,EAAI,SAAS;AAAA,UACX,MAAMP,EAAE,aAAa;AAAA,UACrB,MAAM,CAAC,KAAK;AAAA,UACZ,SAASG,EAAE,iBAAiB;AAAA,QAAA,CAC7B;AAAA,WAEE;AAEL,cAAMK,IAAWC,EAAgBH,EAAK,GAAG;AACzC,QAAKI,GAAU,KAAKF,CAAQ,KAC1BD,EAAI,SAAS;AAAA,UACX,MAAMP,EAAE,aAAa;AAAA,UACrB,MAAM,CAAC,KAAK;AAAA,UACZ,SAASG,EAAE,uBAAuB;AAAA,QAAA,CACnC;AAAA,MAEL;AAIF,QAAIG,EAAK,mBAAmBT,EAAe;AASzC,UARKS,EAAK,gBACRC,EAAI,SAAS;AAAA,QACX,MAAMP,EAAE,aAAa;AAAA,QACrB,MAAM,CAAC,cAAc;AAAA,QACrB,SAASG,EAAE,0BAA0B;AAAA,MAAA,CACtC,GAGC,CAACG,EAAK;AACR,QAAKD,KACHE,EAAI,SAAS;AAAA,UACX,MAAMP,EAAE,aAAa;AAAA,UACrB,MAAM,CAAC,KAAK;AAAA,UACZ,SAASG,EAAE,iBAAiB;AAAA,QAAA,CAC7B;AAAA,WAEE;AAEL,cAAMQ,IAAgBC,GAAaN,EAAK,GAAG;AAC3C,QAAK,gBAAgB,KAAKK,CAAa,KACrCJ,EAAI,SAAS;AAAA,UACX,MAAMP,EAAE,aAAa;AAAA,UACrB,MAAM,CAAC,KAAK;AAAA,UACZ,SAASG,EAAE,uBAAuB;AAAA,QAAA,CACnC;AAAA,MAEL;AAIF,IAAIG,EAAK,aAAaX,EAAS,WACzBW,EAAK,eAAe,UAAaA,EAAK,aAAa,MACrDC,EAAI,SAAS;AAAA,MACX,MAAMP,EAAE,aAAa;AAAA,MACrB,MAAM,CAAC,YAAY;AAAA,MACnB,SAASG,EAAE,wBAAwB;AAAA,IAAA,CACpC;AAAA,EAGP;AAAA;AAWG,SAASU,GAAqB;AAAA,EACnC,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AACF,GAA8B;AAC5B,EAAAC,EAAQ,oBAAoB;AAC5B,QAAM,EAAE,EAAA,IAAMC,EAAe,oBAAoB,GAC3C,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAGjCC,IAAmBrB;AAAA,IACvB;AAAA,IACAe,GAAoB,UAAU;AAAA,IAC9BA,GAAoB,UAAU;AAAA,EAAA,GAI1B,EAAE,aAAaO,GAAkB,WAAWC,EAAA,IAAeC,EAAA,GAC3D,EAAE,aAAaC,GAAkB,WAAWC,EAAA,IAAeC,EAAA,GAG3DC,IAAoBC;AAAA,IACxB,OAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,gBAAgBlC,EAAe;AAAA,MAC/B,UAAUF,EAAS;AAAA,MACnB,+BAAe,KAAA;AAAA,MACf,GAAGqB;AAAA;AAAA,MAEH,GAAIC,KAAsB;AAAA,QACxB,gBAAgBA,EAAmB;AAAA;AAAA,UAE/Be,EAAiC,IAAIf,EAAmB,gBAAgB;AAAA,YACxE;AAAA,QACJ,gBAAgBA,EAAmB,QAAQpB,EAAe;AAAA,QAC1D,UAAUoB,EAAmB,YAAYtB,EAAS;AAAA,QAClD,WAAWsB,EAAmB,YAC1B,IAAI,KAAKA,EAAmB,SAAS,IACrC,oBAAI,KAAA;AAAA,QACR,WAAWA,EAAmB,aAAa;AAAA,QAC3C,eAAeA,EAAmB,iBAAiB;AAAA,QACnD,UAAUA,EAAmB,YAAY;AAAA,QACzC,cAAcA,EAAmB,gBAAgB;AAAA,QACjD,OAAOA,EAAmB,SAAS;AAAA,QACnC,YAAYA,EAAmB,cAC1B,MAAM;AACL,gBAAMgB,IAAS,WAAWhB,EAAmB,UAAU;AACvD,iBAAO,MAAMgB,CAAM,IAAI,SAAYA;AAAA,QACrC,OACA;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,CAAChB,GAAoBD,CAAa;AAAA,EAAA,GAI9BkB,IAAcC,EAAuE;AAAA,IACzF,UAAUC,EAAYb,CAAgB;AAAA,IACtC,eAAeO;AAAA,EAAA,CAChB,GAEK,EAAE,cAAAO,GAAc,WAAAC,EAAA,IAAcJ,GAG9BK,IAAcC,EAAS,EAAE,SAASN,EAAY,SAAS,MAAM,kBAAkB,GAC/EO,IAAkBD,EAAS,EAAE,SAASN,EAAY,SAAS,MAAM,YAAY,GAC7EQ,IAAwBF,EAAS;AAAA,IACrC,SAASN,EAAY;AAAA,IACrB,MAAM;AAAA,EAAA,CACP,GAGKS,IAAmC,CACvCrC,MACqD;AACrD,UAAMsC,IAAc;AAAA,MAClB,MAAMtC,EAAK;AAAA,MACX,UAAUA,EAAK;AAAA,MACf,WAAWuC,GAAuBvC,EAAK,SAAS,KAAK;AAAA,MACrD,gBAAgBA,EAAK;AAAA,MACrB,OAAOA,EAAK,iBAAiBA,EAAK,QAAQ;AAAA,MAC1C,YAAYA,EAAK,aAAaX,EAAS,SAAS,OAAOW,EAAK,UAAU,IAAI;AAAA,MAC1E,UAAU;AAAA,IAAA;AAGZ,WAAIA,EAAK,mBAAmBT,EAAe,aAClC;AAAA,MACL,GAAG+C;AAAA,MACH,WAAWtC,EAAK;AAAA,MAChB,eAAeA,EAAK,iBAAiB;AAAA,MACrC,UAAUA,EAAK;AAAA,MACf,KAAKA,EAAK;AAAA,MACV,mBAAmB;AAAA;AAAA,IAAA,IAGd;AAAA,MACL,GAAGsC;AAAA,MACH,mBAAmB;AAAA;AAAA,MACnB,cAActC,EAAK;AAAA,MACnB,KAAKA,EAAK,KAAK,QAAQ,MAAM,EAAE;AAAA,IAAA;AAAA,EAGrC,GAEMwC,IAAmC,CACvCxC,GACAyC,OAGO;AAAA,IACL,GAFoBJ,EAAiCrC,CAAI;AAAA,IAGzD,SAAAyC;AAAA,EAAA,IAKEC,IAAqD,OAAM1C,MAAQ;AACvE,UAAMe,EAAkBf,GAAM,OAAM2C,MAAW;AAC7C,UAAIlC,IAAeE,GAAoB;AACvC,UAAIA,GAAoB;AAEtB,YAAI,CAACA,EAAmB;AACtB,gBAAM,IAAI,MAAM,4CAA4C;AAE9D,cAAM8B,IAAU9B,EAAmB,SAC7BiC,IAAaJ,EAAiCG,GAASF,CAAO,GAE9DI,IAAiB,MAAMxB,EAAiB;AAAA,UAC5C,SAAS;AAAA,YACP,gBAAgBZ;AAAAA,YAChB,aAAamC;AAAA,UAAA;AAAA,QACf,CACD;AAED,QAAA9B,EAAQgC,EAAgB,oBAAoBD,EAAe,UAAU;AAAA,MACvE,OAAO;AAEL,cAAMD,IAAaP,EAAiCM,CAAO,GAErDI,IAAiB,MAAM7B,EAAiB;AAAA,UAC5C,SAAS;AAAA,YACP,aAAaV;AAAA,YACb,aAAaoC;AAAA,UAAA;AAAA,QACf,CACD;AAEDnC,QAAAA,IAAesC,EAAe,YAAY,MAC1CjC,EAAQgC,EAAgB,oBAAoBC,EAAe,UAAU;AAAA,MACvE;AAEA,MAAAjC,EAAQgC,EAAgB,yBAAyB;AAAA,QAC/C,gBACEH,EAAQ,kBACRhC,GAAoB,qBAClBqC,EAA2B;AAAA,QAC/B,cAAAvC;AAAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EACH,GAIMwC,IAAuB,CAAC,CAACb,GACzBc,IAA2BjB,MAAgB1C,EAAe,UAC1D4D,IAA6BlB,MAAgB1C,EAAe,YAC5D6D,IAAuBjB,MAAoB9C,EAAS,QAGpDgE,IAAwB;AAAA,IAC5B,EAAE,OAAO,cAAc,OAAO9D,EAAe,WAAA;AAAA,IAC7C,EAAE,OAAO,YAAY,OAAOA,EAAe,SAAA;AAAA,EAAS,GAGhD+D,IAAkB;AAAA,IACtB,EAAE,OAAO,UAAU,OAAOjE,EAAS,OAAA;AAAA,IACnC,EAAE,OAAO,SAAS,OAAOA,EAAS,MAAA;AAAA,EAAM,GAIpCkE,IAAepC,KAAcG;AAEnC,SAAO;AAAA;AAAA,IAEL,aAAAM;AAAA,IACA,cAAcG,EAAaW,CAAQ;AAAA,IACnC,WAAW;AAAA,MACT,GAAGV;AAAA,MACH,cAAAuB;AAAA,IAAA;AAAA;AAAA,IAIF,sBAAAN;AAAA,IACA,0BAAAC;AAAA,IACA,4BAAAC;AAAA,IACA,sBAAAC;AAAA;AAAA,IAGA,uBAAAC;AAAA,IACA,iBAAAC;AAAA;AAAA,IAGA,WAAW,CAAC,CAAC7C;AAAA,EAAA;AAEjB;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as t, jsxs as a, Fragment as p } from "react/jsx-runtime";
2
2
  import { useTranslation as O } from "react-i18next";
3
- import { useContractorsUpdateOnboardingStatusMutation as _ } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsUpdateOnboardingStatus.js";
4
- import { useContractorsGetOnboardingStatusSuspense as R } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGetOnboardingStatus.js";
5
- import { useContractorsGetSuspense as A } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/contractorsGet.js";
3
+ import { useContractorsUpdateOnboardingStatusMutation as _ } from "@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus";
4
+ import { useContractorsGetOnboardingStatusSuspense as R } from "@gusto/embedded-api/react-query/contractorsGetOnboardingStatus";
5
+ import { useContractorsGetSuspense as A } from "@gusto/embedded-api/react-query/contractorsGet";
6
6
  import { SubmitDone as E } from "./SubmitDone.js";
7
7
  import { Flex as C } from "../../Common/Flex/Flex.js";
8
8
  import "classnames";
@@ -1,17 +1,17 @@
1
1
  import { jsx as s, jsxs as te, Fragment as oe } from "react/jsx-runtime";
2
- import { zodResolver as ne } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@hookform/resolvers/zod/dist/zod.mjs";
2
+ import { zodResolver as ne } from "@hookform/resolvers/zod";
3
3
  import { useState as P, useMemo as U, useEffect as se } from "react";
4
4
  import { useForm as ae, FormProvider as re } from "react-hook-form";
5
5
  import { useTranslation as ie } from "react-i18next";
6
- import { useJobsAndCompensationsGetJobsSuspense as me } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/jobsAndCompensationsGetJobs.js";
7
- import { useJobsAndCompensationsCreateJobMutation as ue } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/jobsAndCompensationsCreateJob.js";
8
- import { useJobsAndCompensationsUpdateMutation as de } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/jobsAndCompensationsUpdate.js";
9
- import { useJobsAndCompensationsDeleteMutation as le } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/jobsAndCompensationsDelete.js";
10
- import { useJobsAndCompensationsUpdateCompensationMutation as ce } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/jobsAndCompensationsUpdateCompensation.js";
11
- import { useLocationsGetMinimumWagesSuspense as pe } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/locationsGetMinimumWages.js";
12
- import { useEmployeeAddressesGetWorkAddressesSuspense as fe } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeeAddressesGetWorkAddresses.js";
13
- import { useFederalTaxDetailsGetSuspense as Ce } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/federalTaxDetailsGet.js";
14
- import { useEmployeesGetSuspense as Ee } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/react-query/employeesGet.js";
6
+ import { useJobsAndCompensationsGetJobsSuspense as me } from "@gusto/embedded-api/react-query/jobsAndCompensationsGetJobs";
7
+ import { useJobsAndCompensationsCreateJobMutation as ue } from "@gusto/embedded-api/react-query/jobsAndCompensationsCreateJob";
8
+ import { useJobsAndCompensationsUpdateMutation as de } from "@gusto/embedded-api/react-query/jobsAndCompensationsUpdate";
9
+ import { useJobsAndCompensationsDeleteMutation as le } from "@gusto/embedded-api/react-query/jobsAndCompensationsDelete";
10
+ import { useJobsAndCompensationsUpdateCompensationMutation as ce } from "@gusto/embedded-api/react-query/jobsAndCompensationsUpdateCompensation";
11
+ import { useLocationsGetMinimumWagesSuspense as pe } from "@gusto/embedded-api/react-query/locationsGetMinimumWages";
12
+ import { useEmployeeAddressesGetWorkAddressesSuspense as fe } from "@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses";
13
+ import { useFederalTaxDetailsGetSuspense as Ce } from "@gusto/embedded-api/react-query/federalTaxDetailsGet";
14
+ import { useEmployeesGetSuspense as Ee } from "@gusto/embedded-api/react-query/employeesGet";
15
15
  import { List as he } from "./List.js";
16
16
  import { Head as De } from "./Head.js";
17
17
  import { Edit as Oe } from "./Edit.js";