@gusto/embedded-react-sdk 0.21.0 → 0.23.0-rc.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 (260) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +32 -17
  3. package/dist/assets/icons/eye.svg.js +10 -0
  4. package/dist/assets/icons/eye.svg.js.map +1 -0
  5. package/dist/assets/icons/icon-file-outline.svg.js +10 -0
  6. package/dist/assets/icons/icon-file-outline.svg.js.map +1 -0
  7. package/dist/assets/icons/icon-receipt-outline.svg.js +10 -0
  8. package/dist/assets/icons/icon-receipt-outline.svg.js.map +1 -0
  9. package/dist/components/Base/Base.js.map +1 -1
  10. package/dist/components/Base/index.d.ts +1 -1
  11. package/dist/components/Common/Fields/CheckboxField/CheckboxField.js.map +1 -1
  12. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  13. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js.map +1 -1
  14. package/dist/components/Common/Fields/DatePickerField/DatePickerField.js.map +1 -1
  15. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  16. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
  17. package/dist/components/Common/Fields/SelectField/SelectField.js.map +1 -1
  18. package/dist/components/Common/Fields/SwitchField/SwitchField.js.map +1 -1
  19. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js.map +1 -1
  20. package/dist/components/Common/Fields/TextInputField/TextInputField.js.map +1 -1
  21. package/dist/components/Common/Fieldset/Fieldset.js.map +1 -1
  22. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +1 -0
  23. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +14 -0
  24. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -0
  25. package/dist/components/Common/FlowBreadcrumbs/index.d.ts +1 -0
  26. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  27. package/dist/components/Common/ReorderableList/ReorderableItem.d.ts +1 -1
  28. package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
  29. package/dist/components/Common/ReorderableList/ReorderableList.js +7 -7
  30. package/dist/components/Common/ReorderableList/ReorderableList.js.map +1 -1
  31. package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
  32. package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Button/ButtonIcon.d.ts +1 -1
  34. package/dist/components/Common/UI/Button/ButtonIcon.js +10 -7
  35. package/dist/components/Common/UI/Button/ButtonIcon.js.map +1 -1
  36. package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
  37. package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
  38. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  39. package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +1 -1
  40. package/dist/components/Common/UI/DatePicker/DatePicker.module.scss.js +7 -7
  41. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  42. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
  43. package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
  44. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  45. package/dist/components/Common/UI/Select/Select.module.scss.js +6 -6
  46. package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
  47. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  48. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  49. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +5 -5
  50. package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
  51. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  52. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  53. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  54. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  55. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  56. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  57. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  59. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  60. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  61. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  62. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  63. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  64. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  65. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  66. package/dist/components/Company/Industry/Context.js +6 -7
  67. package/dist/components/Company/Industry/Context.js.map +1 -1
  68. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  69. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  70. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  71. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  72. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  73. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  74. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  75. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -6
  76. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  80. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  81. package/dist/components/Company/index.d.ts +2 -0
  82. package/dist/components/Company/index.js +20 -16
  83. package/dist/components/Company/index.js.map +1 -1
  84. package/dist/components/Contractor/Address/useAddress.js +5 -6
  85. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  86. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +7 -0
  87. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +204 -0
  88. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -0
  89. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +15 -9
  90. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +140 -0
  91. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -0
  92. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +39 -0
  93. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +131 -0
  94. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -0
  95. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +11 -0
  96. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +139 -0
  97. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -0
  98. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +2 -0
  99. package/dist/components/Contractor/Payments/CreatePayment/helpers.js +6 -0
  100. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -0
  101. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +2 -0
  102. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +26 -0
  103. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -0
  104. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +16 -0
  105. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +31 -0
  106. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -0
  107. package/dist/components/Contractor/Payments/PaymentFlow/index.d.ts +3 -0
  108. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +7 -0
  109. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +122 -0
  110. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -0
  111. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +8 -0
  112. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +26 -0
  113. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -0
  114. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +17 -15
  115. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +114 -0
  116. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -0
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +9 -0
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +49 -0
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -0
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +12 -0
  121. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +116 -0
  122. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -0
  123. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js +10 -0
  124. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js.map +1 -0
  125. package/dist/components/Contractor/Payments/types.d.ts +8 -0
  126. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +26 -26
  127. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  128. package/dist/components/Contractor/index.d.ts +1 -0
  129. package/dist/components/Contractor/index.js +4 -2
  130. package/dist/components/Contractor/index.js.map +1 -1
  131. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +2 -3
  132. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  133. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +0 -3
  134. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +62 -77
  135. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  136. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +83 -50
  137. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  138. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +56 -0
  139. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +159 -0
  140. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -0
  141. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  142. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  143. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  144. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  145. package/dist/components/Employee/EmployeeList/useEmployeeList.js +3 -4
  146. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  147. package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +22 -7
  148. package/dist/components/Employee/FederalTaxes/FederalForm.js +86 -32
  149. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  150. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +62 -46
  151. package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
  152. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -4
  153. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  154. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +25 -23
  155. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  156. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +116 -106
  157. package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
  158. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  159. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -6
  160. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  161. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +6 -6
  162. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  163. package/dist/components/Employee/Profile/useProfile.js +3 -4
  164. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  165. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -4
  166. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  167. package/dist/components/Employee/Taxes/FederalForm.d.ts +22 -7
  168. package/dist/components/Employee/Taxes/FederalForm.js +86 -32
  169. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  170. package/dist/components/Employee/Taxes/Taxes.js +97 -81
  171. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  172. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  173. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  174. package/dist/components/Flow/Flow.d.ts +3 -3
  175. package/dist/components/Flow/Flow.js +35 -31
  176. package/dist/components/Flow/Flow.js.map +1 -1
  177. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +46 -39
  178. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  179. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js +8 -0
  180. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js.map +1 -0
  181. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  182. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
  183. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +71 -72
  184. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  185. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +21 -22
  186. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  187. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +2 -2
  188. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +19 -19
  189. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  190. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  191. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  192. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +75 -68
  193. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  194. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +66 -65
  195. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  196. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +127 -103
  197. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  198. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +254 -185
  199. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  200. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/{FastAchThresholdExceeded.d.ts → FastAchSubmissionBlockerBanner.d.ts} +2 -2
  201. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +55 -0
  202. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -0
  203. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/index.d.ts +1 -1
  204. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +1 -1
  205. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +1 -1
  206. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  207. package/dist/components/Payroll/index.d.ts +1 -1
  208. package/dist/components/Payroll/index.js +8 -6
  209. package/dist/components/Payroll/index.js.map +1 -1
  210. package/dist/components/Payroll/usePreparedPayrollData.js +6 -7
  211. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  212. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -1
  213. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +9 -11
  214. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  215. package/dist/contexts/LocaleProvider/useLocale.d.ts +6 -3
  216. package/dist/contexts/LocaleProvider/useLocale.js +12 -9
  217. package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
  218. package/dist/helpers/currencyHelpers.d.ts +2 -0
  219. package/dist/helpers/currencyHelpers.js +6 -0
  220. package/dist/helpers/currencyHelpers.js.map +1 -0
  221. package/dist/helpers/formattedStrings.js +11 -12
  222. package/dist/helpers/formattedStrings.js.map +1 -1
  223. package/dist/i18n/I18n.js +10 -10
  224. package/dist/i18n/I18n.js.map +1 -1
  225. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +40 -0
  226. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -0
  227. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +24 -0
  228. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -0
  229. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +36 -0
  230. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js.map +1 -0
  231. package/dist/i18n/en/Employee.Deductions.json.js +58 -46
  232. package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
  233. package/dist/i18n/en/Employee.FederalTaxes.json.js +49 -41
  234. package/dist/i18n/en/Employee.FederalTaxes.json.js.map +1 -1
  235. package/dist/i18n/en/Employee.Taxes.json.js +53 -45
  236. package/dist/i18n/en/Employee.Taxes.json.js.map +1 -1
  237. package/dist/i18n/en/Payroll.ConfirmWireDetailsForm.json.js +5 -5
  238. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +1 -1
  239. package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
  240. package/dist/i18n/en/Payroll.PayrollOverview.json.js +35 -31
  241. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  242. package/dist/shared/constants.d.ts +18 -0
  243. package/dist/shared/constants.js +73 -59
  244. package/dist/shared/constants.js.map +1 -1
  245. package/dist/style.css +1 -1
  246. package/dist/types/i18next.d.ts +182 -125
  247. package/package.json +18 -18
  248. package/dist/components/Contractor/Payments/Detail/DetailPresentation.d.ts +0 -19
  249. package/dist/components/Contractor/Payments/Overview/OverviewPresentation.d.ts +0 -18
  250. package/dist/components/Contractor/Payments/PaymentEdit/PaymentEditPresentation.d.ts +0 -6
  251. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js +0 -52
  252. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js.map +0 -1
  253. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js +0 -32
  254. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js.map +0 -1
  255. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js +0 -24
  256. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js.map +0 -1
  257. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js +0 -32
  258. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js.map +0 -1
  259. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js +0 -32
  260. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js.map +0 -1
@@ -11,13 +11,12 @@ import "classnames";
11
11
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
13
  import "dompurify";
14
- import "../../../../contexts/LocaleProvider/useLocale.js";
15
14
  import { createCompoundContext as o } from "../../../Base/createCompoundContext.js";
16
- const [L, f] = o(
15
+ const [d, L] = o(
17
16
  "CompanyDocumentFormContext"
18
17
  );
19
18
  export {
20
- f as LocationsFormProvider,
21
- L as useLocationsForm
19
+ L as LocationsFormProvider,
20
+ d as useLocationsForm
22
21
  };
23
22
  //# sourceMappingURL=useLocationForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocationForm.js","sources":["../../../../../src/components/Company/Locations/LocationForm/useLocationForm.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype LocationsFormContextType = {\n isPending: boolean\n handleCancel: () => void\n}\n\nconst [useLocationsForm, LocationsFormProvider] = createCompoundContext<LocationsFormContextType>(\n 'CompanyDocumentFormContext',\n)\n\nexport { useLocationsForm, LocationsFormProvider }\n"],"names":["useLocationsForm","LocationsFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAOA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
1
+ {"version":3,"file":"useLocationForm.js","sources":["../../../../../src/components/Company/Locations/LocationForm/useLocationForm.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype LocationsFormContextType = {\n isPending: boolean\n handleCancel: () => void\n}\n\nconst [useLocationsForm, LocationsFormProvider] = createCompoundContext<LocationsFormContextType>(\n 'CompanyDocumentFormContext',\n)\n\nexport { useLocationsForm, LocationsFormProvider }\n"],"names":["useLocationsForm","LocationsFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
@@ -11,13 +11,12 @@ import "classnames";
11
11
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
13
  import "dompurify";
14
- import "../../../../contexts/LocaleProvider/useLocale.js";
15
14
  import { createCompoundContext as o } from "../../../Base/createCompoundContext.js";
16
- const [f, v] = o(
15
+ const [d, f] = o(
17
16
  "CompanyDocumentListContext"
18
17
  );
19
18
  export {
20
- v as LocationsListProvider,
21
- f as useLocationsList
19
+ f as LocationsListProvider,
20
+ d as useLocationsList
22
21
  };
23
22
  //# sourceMappingURL=useLocationsList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocationsList.js","sources":["../../../../../src/components/Company/Locations/LocationsList/useLocationsList.ts"],"sourcesContent":["import { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\nimport type { PaginationItemsPerPage } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype LocationsListContextType = {\n locationList: Location[]\n totalPages: number\n currentPage: number\n itemsPerPage: PaginationItemsPerPage\n handleItemsPerPageChange: (n: PaginationItemsPerPage) => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleEditLocation: (uuid: string) => void\n handleAddLocation: () => void\n handleContinue: () => void\n}\n\nconst [useLocationsList, LocationsListProvider] = createCompoundContext<LocationsListContextType>(\n 'CompanyDocumentListContext',\n)\n\nexport { useLocationsList, LocationsListProvider }\n"],"names":["useLocationsList","LocationsListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
1
+ {"version":3,"file":"useLocationsList.js","sources":["../../../../../src/components/Company/Locations/LocationsList/useLocationsList.ts"],"sourcesContent":["import { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\nimport type { PaginationItemsPerPage } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype LocationsListContextType = {\n locationList: Location[]\n totalPages: number\n currentPage: number\n itemsPerPage: PaginationItemsPerPage\n handleItemsPerPageChange: (n: PaginationItemsPerPage) => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleEditLocation: (uuid: string) => void\n handleAddLocation: () => void\n handleContinue: () => void\n}\n\nconst [useLocationsList, LocationsListProvider] = createCompoundContext<LocationsListContextType>(\n 'CompanyDocumentListContext',\n)\n\nexport { useLocationsList, LocationsListProvider }\n"],"names":["useLocationsList","LocationsListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAmBA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
@@ -11,11 +11,10 @@ import "classnames";
11
11
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
13
  import "dompurify";
14
- import "../../../contexts/LocaleProvider/useLocale.js";
15
14
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
16
- const [C, c] = o("OnboardingOverviewContext");
15
+ const [x, C] = o("OnboardingOverviewContext");
17
16
  export {
18
- c as OnboardingOverviewProvider,
19
- C as useOnboardingOverview
17
+ C as OnboardingOverviewProvider,
18
+ x as useOnboardingOverview
20
19
  };
21
20
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../src/components/Company/OnboardingOverview/context.ts"],"sourcesContent":["import type { OnboardingStep } from '@gusto/embedded-api/models/components/companyonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\ntype OnboardingOverviewContextType = {\n onboardingCompleted?: boolean\n onboardingSteps?: OnboardingStep[]\n handleDone: () => void\n handleContinue: () => void\n}\n\nconst [useOnboardingOverview, OnboardingOverviewProvider] =\n createCompoundContext<OnboardingOverviewContextType>('OnboardingOverviewContext')\n\nexport { useOnboardingOverview, OnboardingOverviewProvider }\n"],"names":["useOnboardingOverview","OnboardingOverviewProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAuBC,CAA0B,IACtDC,EAAqD,2BAA2B;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../src/components/Company/OnboardingOverview/context.ts"],"sourcesContent":["import type { OnboardingStep } from '@gusto/embedded-api/models/components/companyonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\ntype OnboardingOverviewContextType = {\n onboardingCompleted?: boolean\n onboardingSteps?: OnboardingStep[]\n handleDone: () => void\n handleContinue: () => void\n}\n\nconst [useOnboardingOverview, OnboardingOverviewProvider] =\n createCompoundContext<OnboardingOverviewContextType>('OnboardingOverviewContext')\n\nexport { useOnboardingOverview, OnboardingOverviewProvider }\n"],"names":["useOnboardingOverview","OnboardingOverviewProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAuBC,CAA0B,IACtDC,EAAqD,2BAA2B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/PaySchedule.tsx"],"sourcesContent":["import type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useEffect, useState } from 'react'\nimport { usePaySchedulesGetPreview } from '@gusto/embedded-api/react-query/paySchedulesGetPreview'\nimport { usePaySchedulesUpdateMutation } from '@gusto/embedded-api/react-query/paySchedulesUpdate'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePaySchedulesCreateMutation } from '@gusto/embedded-api/react-query/paySchedulesCreate'\nimport type { PayScheduleObject as PayScheduleType } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { Frequency } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayschedules'\nimport type { MODE, PayScheduleInputs, PayScheduleOutputs } from './usePaySchedule'\nimport {\n PayScheduleProvider,\n PayScheduleSchema,\n type PayScheduleDefaultValues,\n} from './usePaySchedule'\nimport { Actions, Edit, Head, List } from './_parts'\nimport { Form } from '@/components/Common/Form'\nimport type { BaseComponentInterface, CommonComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface PayScheduleProps extends CommonComponentInterface<'Company.PaySchedule'> {\n companyId: string\n defaultValues?: PayScheduleDefaultValues\n}\n\nexport const PaySchedule = ({\n companyId,\n defaultValues,\n dictionary,\n ...props\n}: PayScheduleProps & BaseComponentInterface) => {\n useI18n('Company.PaySchedule')\n useComponentDictionary('Company.PaySchedule', dictionary)\n return (\n <BaseComponent {...props}>\n <Root companyId={companyId} defaultValues={defaultValues}>\n {props.children}\n </Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, children, defaultValues }: PayScheduleProps) => {\n const { baseSubmitHandler, onEvent, fieldErrors, setError: setBaseError } = useBase()\n\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n\n const [mode, setMode] = useState<MODE>(\n paySchedules.payScheduleList?.length === 0 ? 'ADD_PAY_SCHEDULE' : 'LIST_PAY_SCHEDULES',\n )\n const [currentPaySchedule, setCurrentPaySchedule] = useState<PayScheduleType | null>(null)\n const transformedDefaultValues: PayScheduleInputs = {\n frequency: defaultValues?.frequency ?? 'Every week',\n anchorPayDate: defaultValues?.anchorPayDate ? new Date(defaultValues.anchorPayDate) : undefined,\n anchorEndOfPayPeriod: defaultValues?.anchorEndOfPayPeriod\n ? new Date(defaultValues.anchorEndOfPayPeriod)\n : undefined,\n day1: defaultValues?.day1 ?? undefined,\n day2: defaultValues?.day2 ?? undefined,\n customName: defaultValues?.customName ?? '',\n customTwicePerMonth: 'false',\n }\n\n const createPayScheduleMutation = usePaySchedulesCreateMutation()\n const updatePayScheduleMutation = usePaySchedulesUpdateMutation()\n\n const formMethods = useForm<PayScheduleInputs, unknown, PayScheduleOutputs>({\n resolver: zodResolver(PayScheduleSchema),\n defaultValues: transformedDefaultValues,\n })\n const { watch, setValue, reset, clearErrors, setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors) {\n // TODO: These error messages are not being localized correctly\n fieldErrors.forEach(error => {\n setError(error.errorKey as keyof PayScheduleInputs, { message: error.message })\n })\n }\n }, [setError, fieldErrors])\n\n const allValues = watch()\n\n const formattedAnchorPayDate = allValues.anchorPayDate\n ? formatDateToStringDate(allValues.anchorPayDate) || ''\n : ''\n const formattedAnchorEndOfPayPeriod = allValues.anchorEndOfPayPeriod\n ? formatDateToStringDate(allValues.anchorEndOfPayPeriod) || ''\n : ''\n\n const { data: payPreviewData, isLoading } = usePaySchedulesGetPreview(\n {\n companyId,\n frequency: allValues.frequency,\n anchorPayDate: formattedAnchorPayDate,\n anchorEndOfPayPeriod: formattedAnchorEndOfPayPeriod,\n day1: allValues.day1 ?? undefined,\n day2: allValues.day2 ?? undefined,\n },\n {\n enabled: Boolean(\n allValues.anchorPayDate &&\n allValues.anchorEndOfPayPeriod &&\n (mode === 'ADD_PAY_SCHEDULE' || mode === 'EDIT_PAY_SCHEDULE'),\n ),\n },\n )\n\n // Set the custom_twice_per_month value based on the frequency and day_1 and day_2 values as it is not set by the API call\n useEffect(() => {\n if (\n allValues.frequency === 'Twice per month' &&\n allValues.day1 === 15 &&\n allValues.day2 === 31 &&\n allValues.customTwicePerMonth === undefined\n ) {\n setValue('customTwicePerMonth', `1st15th`)\n } else if (\n allValues.frequency === 'Twice per month' &&\n allValues.customTwicePerMonth === undefined\n ) {\n setValue('customTwicePerMonth', `custom`)\n }\n }, [allValues.frequency, allValues.day1, allValues.day2, setValue, allValues.customTwicePerMonth])\n\n const handleAdd = () => {\n setMode('ADD_PAY_SCHEDULE')\n reset({})\n }\n const handleCancel = () => {\n setMode('LIST_PAY_SCHEDULES')\n reset({})\n clearErrors()\n setBaseError(null)\n }\n const handleEdit = (schedule: PayScheduleType) => {\n reset({\n frequency: schedule.frequency as Frequency,\n anchorPayDate: schedule.anchorPayDate ? new Date(schedule.anchorPayDate) : undefined,\n anchorEndOfPayPeriod: schedule.anchorEndOfPayPeriod\n ? new Date(schedule.anchorEndOfPayPeriod)\n : undefined,\n day1: schedule.day1 ?? undefined,\n day2: schedule.day2 ?? undefined,\n customName: schedule.customName ?? '',\n })\n setCurrentPaySchedule(schedule)\n setMode('EDIT_PAY_SCHEDULE')\n }\n const handleContinue = () => {\n onEvent(componentEvents.PAY_SCHEDULE_DONE)\n }\n const onSubmit: SubmitHandler<PayScheduleOutputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const formatPayloadDate = (date: Date | undefined): string => {\n return date ? formatDateToStringDate(date) || '' : ''\n }\n\n if (mode === 'ADD_PAY_SCHEDULE') {\n const createPayScheduleResponse = await createPayScheduleMutation.mutateAsync({\n request: {\n companyId,\n requestBody: {\n frequency: payload.frequency,\n anchorPayDate: formatPayloadDate(payload.anchorPayDate),\n anchorEndOfPayPeriod: formatPayloadDate(payload.anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1,\n day2: payload.day2,\n },\n },\n })\n onEvent(componentEvents.PAY_SCHEDULE_CREATED, createPayScheduleResponse)\n reset()\n } else if (mode === 'EDIT_PAY_SCHEDULE') {\n const version = currentPaySchedule?.version\n const updatePayScheduleResponse = await updatePayScheduleMutation.mutateAsync({\n request: {\n payScheduleId: currentPaySchedule?.uuid as string,\n companyId,\n requestBody: {\n frequency: payload.frequency,\n anchorPayDate: formatPayloadDate(payload.anchorPayDate),\n anchorEndOfPayPeriod: formatPayloadDate(payload.anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1,\n day2: payload.day2,\n version: version as string,\n },\n },\n })\n onEvent(componentEvents.PAY_SCHEDULE_UPDATED, updatePayScheduleResponse)\n reset()\n }\n setMode('LIST_PAY_SCHEDULES')\n })\n }\n\n return (\n <PayScheduleProvider\n value={{\n companyId,\n handleAdd,\n handleEdit,\n handleCancel,\n handleContinue,\n mode,\n paySchedules: paySchedules.payScheduleList,\n payPeriodPreview: payPreviewData?.object?.payPeriods,\n payPreviewLoading: isLoading,\n currentPaySchedule,\n }}\n >\n <span data-testid=\"pay-schedule-edit-form\">\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Edit />\n <Actions />\n </Flex>\n )}\n </Form>\n </FormProvider>\n </span>\n </PayScheduleProvider>\n )\n}\n"],"names":["PaySchedule","companyId","defaultValues","dictionary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","children","baseSubmitHandler","onEvent","fieldErrors","setBaseError","useBase","paySchedules","usePaySchedulesGetAllSuspense","mode","setMode","useState","currentPaySchedule","setCurrentPaySchedule","transformedDefaultValues","createPayScheduleMutation","usePaySchedulesCreateMutation","updatePayScheduleMutation","usePaySchedulesUpdateMutation","formMethods","useForm","zodResolver","PayScheduleSchema","watch","setValue","reset","clearErrors","setError","useEffect","error","allValues","formattedAnchorPayDate","formatDateToStringDate","formattedAnchorEndOfPayPeriod","payPreviewData","isLoading","usePaySchedulesGetPreview","handleAdd","handleCancel","handleEdit","schedule","handleContinue","componentEvents","onSubmit","data","payload","formatPayloadDate","date","createPayScheduleResponse","version","updatePayScheduleResponse","PayScheduleProvider","FormProvider","Form","jsxs","Flex","Head","List","Edit","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"PaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/PaySchedule.tsx"],"sourcesContent":["import type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useEffect, useState } from 'react'\nimport { usePaySchedulesGetPreview } from '@gusto/embedded-api/react-query/paySchedulesGetPreview'\nimport { usePaySchedulesUpdateMutation } from '@gusto/embedded-api/react-query/paySchedulesUpdate'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePaySchedulesCreateMutation } from '@gusto/embedded-api/react-query/paySchedulesCreate'\nimport type { PayScheduleObject as PayScheduleType } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { Frequency } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayschedules'\nimport type { MODE, PayScheduleInputs, PayScheduleOutputs } from './usePaySchedule'\nimport {\n PayScheduleProvider,\n PayScheduleSchema,\n type PayScheduleDefaultValues,\n} from './usePaySchedule'\nimport { Actions, Edit, Head, List } from './_parts'\nimport { Form } from '@/components/Common/Form'\nimport type { BaseComponentInterface, CommonComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface PayScheduleProps extends CommonComponentInterface<'Company.PaySchedule'> {\n companyId: string\n defaultValues?: PayScheduleDefaultValues\n}\n\nexport const PaySchedule = ({\n companyId,\n defaultValues,\n dictionary,\n ...props\n}: PayScheduleProps & BaseComponentInterface) => {\n useI18n('Company.PaySchedule')\n useComponentDictionary('Company.PaySchedule', dictionary)\n return (\n <BaseComponent {...props}>\n <Root companyId={companyId} defaultValues={defaultValues}>\n {props.children}\n </Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, children, defaultValues }: PayScheduleProps) => {\n const { baseSubmitHandler, onEvent, fieldErrors, setError: setBaseError } = useBase()\n\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n\n const [mode, setMode] = useState<MODE>(\n paySchedules.payScheduleList?.length === 0 ? 'ADD_PAY_SCHEDULE' : 'LIST_PAY_SCHEDULES',\n )\n const [currentPaySchedule, setCurrentPaySchedule] = useState<PayScheduleType | null>(null)\n const transformedDefaultValues: PayScheduleInputs = {\n frequency: defaultValues?.frequency ?? 'Every week',\n anchorPayDate: defaultValues?.anchorPayDate ? new Date(defaultValues.anchorPayDate) : undefined,\n anchorEndOfPayPeriod: defaultValues?.anchorEndOfPayPeriod\n ? new Date(defaultValues.anchorEndOfPayPeriod)\n : undefined,\n day1: defaultValues?.day1 ?? undefined,\n day2: defaultValues?.day2 ?? undefined,\n customName: defaultValues?.customName ?? '',\n customTwicePerMonth: 'false',\n }\n\n const createPayScheduleMutation = usePaySchedulesCreateMutation()\n const updatePayScheduleMutation = usePaySchedulesUpdateMutation()\n\n const formMethods = useForm<PayScheduleInputs, unknown, PayScheduleOutputs>({\n resolver: zodResolver(PayScheduleSchema),\n defaultValues: transformedDefaultValues,\n })\n const { watch, setValue, reset, clearErrors, setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors) {\n // TODO: These error messages are not being localized correctly\n fieldErrors.forEach(error => {\n setError(error.errorKey as keyof PayScheduleInputs, { message: error.message })\n })\n }\n }, [setError, fieldErrors])\n\n const allValues = watch()\n\n const formattedAnchorPayDate = allValues.anchorPayDate\n ? formatDateToStringDate(allValues.anchorPayDate) || ''\n : ''\n const formattedAnchorEndOfPayPeriod = allValues.anchorEndOfPayPeriod\n ? formatDateToStringDate(allValues.anchorEndOfPayPeriod) || ''\n : ''\n\n const { data: payPreviewData, isLoading } = usePaySchedulesGetPreview(\n {\n companyId,\n frequency: allValues.frequency,\n anchorPayDate: formattedAnchorPayDate,\n anchorEndOfPayPeriod: formattedAnchorEndOfPayPeriod,\n day1: allValues.day1 ?? undefined,\n day2: allValues.day2 ?? undefined,\n },\n {\n enabled: Boolean(\n allValues.anchorPayDate &&\n allValues.anchorEndOfPayPeriod &&\n (mode === 'ADD_PAY_SCHEDULE' || mode === 'EDIT_PAY_SCHEDULE'),\n ),\n },\n )\n\n // Set the custom_twice_per_month value based on the frequency and day_1 and day_2 values as it is not set by the API call\n useEffect(() => {\n if (\n allValues.frequency === 'Twice per month' &&\n allValues.day1 === 15 &&\n allValues.day2 === 31 &&\n allValues.customTwicePerMonth === undefined\n ) {\n setValue('customTwicePerMonth', `1st15th`)\n } else if (\n allValues.frequency === 'Twice per month' &&\n allValues.customTwicePerMonth === undefined\n ) {\n setValue('customTwicePerMonth', `custom`)\n }\n }, [allValues.frequency, allValues.day1, allValues.day2, setValue, allValues.customTwicePerMonth])\n\n const handleAdd = () => {\n setMode('ADD_PAY_SCHEDULE')\n reset({})\n }\n const handleCancel = () => {\n setMode('LIST_PAY_SCHEDULES')\n reset({})\n clearErrors()\n setBaseError(null)\n }\n const handleEdit = (schedule: PayScheduleType) => {\n reset({\n frequency: schedule.frequency as Frequency,\n anchorPayDate: schedule.anchorPayDate ? new Date(schedule.anchorPayDate) : undefined,\n anchorEndOfPayPeriod: schedule.anchorEndOfPayPeriod\n ? new Date(schedule.anchorEndOfPayPeriod)\n : undefined,\n day1: schedule.day1 ?? undefined,\n day2: schedule.day2 ?? undefined,\n customName: schedule.customName ?? '',\n })\n setCurrentPaySchedule(schedule)\n setMode('EDIT_PAY_SCHEDULE')\n }\n const handleContinue = () => {\n onEvent(componentEvents.PAY_SCHEDULE_DONE)\n }\n const onSubmit: SubmitHandler<PayScheduleOutputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const formatPayloadDate = (date: Date | undefined): string => {\n return date ? formatDateToStringDate(date) || '' : ''\n }\n\n if (mode === 'ADD_PAY_SCHEDULE') {\n const createPayScheduleResponse = await createPayScheduleMutation.mutateAsync({\n request: {\n companyId,\n requestBody: {\n frequency: payload.frequency,\n anchorPayDate: formatPayloadDate(payload.anchorPayDate),\n anchorEndOfPayPeriod: formatPayloadDate(payload.anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1,\n day2: payload.day2,\n },\n },\n })\n onEvent(componentEvents.PAY_SCHEDULE_CREATED, createPayScheduleResponse)\n reset()\n } else if (mode === 'EDIT_PAY_SCHEDULE') {\n const version = currentPaySchedule?.version\n const updatePayScheduleResponse = await updatePayScheduleMutation.mutateAsync({\n request: {\n payScheduleId: currentPaySchedule?.uuid as string,\n companyId,\n requestBody: {\n frequency: payload.frequency,\n anchorPayDate: formatPayloadDate(payload.anchorPayDate),\n anchorEndOfPayPeriod: formatPayloadDate(payload.anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1,\n day2: payload.day2,\n version: version as string,\n },\n },\n })\n onEvent(componentEvents.PAY_SCHEDULE_UPDATED, updatePayScheduleResponse)\n reset()\n }\n setMode('LIST_PAY_SCHEDULES')\n })\n }\n\n return (\n <PayScheduleProvider\n value={{\n companyId,\n handleAdd,\n handleEdit,\n handleCancel,\n handleContinue,\n mode,\n paySchedules: paySchedules.payScheduleList,\n payPeriodPreview: payPreviewData?.object?.payPeriods,\n payPreviewLoading: isLoading,\n currentPaySchedule,\n }}\n >\n <span data-testid=\"pay-schedule-edit-form\">\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Edit />\n <Actions />\n </Flex>\n )}\n </Form>\n </FormProvider>\n </span>\n </PayScheduleProvider>\n )\n}\n"],"names":["PaySchedule","companyId","defaultValues","dictionary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","children","baseSubmitHandler","onEvent","fieldErrors","setBaseError","useBase","paySchedules","usePaySchedulesGetAllSuspense","mode","setMode","useState","currentPaySchedule","setCurrentPaySchedule","transformedDefaultValues","createPayScheduleMutation","usePaySchedulesCreateMutation","updatePayScheduleMutation","usePaySchedulesUpdateMutation","formMethods","useForm","zodResolver","PayScheduleSchema","watch","setValue","reset","clearErrors","setError","useEffect","error","allValues","formattedAnchorPayDate","formatDateToStringDate","formattedAnchorEndOfPayPeriod","payPreviewData","isLoading","usePaySchedulesGetPreview","handleAdd","handleCancel","handleEdit","schedule","handleContinue","componentEvents","onSubmit","data","payload","formatPayloadDate","date","createPayScheduleResponse","version","updatePayScheduleResponse","PayScheduleProvider","FormProvider","Form","jsxs","Flex","Head","List","Edit","Actions"],"mappings":"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"}
@@ -12,9 +12,8 @@ import "classnames";
12
12
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
13
13
  import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
14
14
  import "dompurify";
15
- import "../../../contexts/LocaleProvider/useLocale.js";
16
15
  import { createCompoundContext as t } from "../../Base/createCompoundContext.js";
17
- const S = o.object({
16
+ const x = o.object({
18
17
  frequency: o.enum(["Every week", "Every other week", "Twice per month", "Monthly"]),
19
18
  anchorPayDate: o.date().optional(),
20
19
  anchorEndOfPayPeriod: o.date().optional(),
@@ -22,10 +21,10 @@ const S = o.object({
22
21
  day2: o.number().min(1).max(31).optional(),
23
22
  customName: o.string().optional(),
24
23
  customTwicePerMonth: o.string().optional()
25
- }), [f, w] = t("PayScheduleContext");
24
+ }), [S, f] = t("PayScheduleContext");
26
25
  export {
27
- w as PayScheduleProvider,
28
- S as PayScheduleSchema,
29
- f as usePaySchedule
26
+ f as PayScheduleProvider,
27
+ x as PayScheduleSchema,
28
+ S as usePaySchedule
30
29
  };
31
30
  //# sourceMappingURL=usePaySchedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/usePaySchedule.ts"],"sourcesContent":["import type { PayScheduleCreateUpdate } from '@gusto/embedded-api/models/components/payschedulecreateupdate'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport type { PayScheduleObject as PayScheduleType } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { PayPeriods } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayschedulespreview'\nimport { z } from 'zod'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport { createCompoundContext } from '@/components/Base'\n\nexport type MODE =\n | 'LIST_PAY_SCHEDULES'\n | 'ADD_PAY_SCHEDULE'\n | 'EDIT_PAY_SCHEDULE'\n | 'PREVIEW_PAY_SCHEDULE'\n\ntype PayScheduleContextType = {\n companyId: string\n handleAdd: () => void\n handleEdit: (schedule: PayScheduleType) => void\n handleCancel: () => void\n handleContinue: () => void\n mode: MODE\n paySchedules: PayScheduleList[] | undefined | null\n currentPaySchedule: PayScheduleType | undefined | null\n payPeriodPreview?: PayPeriods[]\n payPreviewLoading?: boolean\n}\n\nexport const PayScheduleSchema = z.object({\n frequency: z.enum(['Every week', 'Every other week', 'Twice per month', 'Monthly']),\n anchorPayDate: z.date().optional(),\n anchorEndOfPayPeriod: z.date().optional(),\n day1: z.number().min(1).max(31).optional(),\n day2: z.number().min(1).max(31).optional(),\n customName: z.string().optional(),\n customTwicePerMonth: z.string().optional(),\n})\n\nexport type PayScheduleInputs = z.input<typeof PayScheduleSchema>\nexport type PayScheduleOutputs = z.output<typeof PayScheduleSchema>\n\nexport type PayScheduleDefaultValues = RequireAtLeastOne<\n Partial<\n Pick<\n PayScheduleCreateUpdate,\n 'anchorPayDate' | 'anchorEndOfPayPeriod' | 'day1' | 'day2' | 'customName' | 'frequency'\n >\n >\n>\n\nconst [usePaySchedule, PayScheduleProvider] =\n createCompoundContext<PayScheduleContextType>('PayScheduleContext')\nexport { usePaySchedule, PayScheduleProvider }\n"],"names":["PayScheduleSchema","z","usePaySchedule","PayScheduleProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AA2BO,MAAMA,IAAoBC,EAAE,OAAO;AAAA,EACxC,WAAWA,EAAE,KAAK,CAAC,cAAc,oBAAoB,mBAAmB,SAAS,CAAC;AAAA,EAClF,eAAeA,EAAE,KAAA,EAAO,SAAA;AAAA,EACxB,sBAAsBA,EAAE,KAAA,EAAO,SAAA;AAAA,EAC/B,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA,EAChC,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA,EAChC,YAAYA,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,qBAAqBA,EAAE,OAAA,EAAS,SAAA;AAClC,CAAC,GAcK,CAACC,GAAgBC,CAAmB,IACxCC,EAA8C,oBAAoB;"}
1
+ {"version":3,"file":"usePaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/usePaySchedule.ts"],"sourcesContent":["import type { PayScheduleCreateUpdate } from '@gusto/embedded-api/models/components/payschedulecreateupdate'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport type { PayScheduleObject as PayScheduleType } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { PayPeriods } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayschedulespreview'\nimport { z } from 'zod'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport { createCompoundContext } from '@/components/Base'\n\nexport type MODE =\n | 'LIST_PAY_SCHEDULES'\n | 'ADD_PAY_SCHEDULE'\n | 'EDIT_PAY_SCHEDULE'\n | 'PREVIEW_PAY_SCHEDULE'\n\ntype PayScheduleContextType = {\n companyId: string\n handleAdd: () => void\n handleEdit: (schedule: PayScheduleType) => void\n handleCancel: () => void\n handleContinue: () => void\n mode: MODE\n paySchedules: PayScheduleList[] | undefined | null\n currentPaySchedule: PayScheduleType | undefined | null\n payPeriodPreview?: PayPeriods[]\n payPreviewLoading?: boolean\n}\n\nexport const PayScheduleSchema = z.object({\n frequency: z.enum(['Every week', 'Every other week', 'Twice per month', 'Monthly']),\n anchorPayDate: z.date().optional(),\n anchorEndOfPayPeriod: z.date().optional(),\n day1: z.number().min(1).max(31).optional(),\n day2: z.number().min(1).max(31).optional(),\n customName: z.string().optional(),\n customTwicePerMonth: z.string().optional(),\n})\n\nexport type PayScheduleInputs = z.input<typeof PayScheduleSchema>\nexport type PayScheduleOutputs = z.output<typeof PayScheduleSchema>\n\nexport type PayScheduleDefaultValues = RequireAtLeastOne<\n Partial<\n Pick<\n PayScheduleCreateUpdate,\n 'anchorPayDate' | 'anchorEndOfPayPeriod' | 'day1' | 'day2' | 'customName' | 'frequency'\n >\n >\n>\n\nconst [usePaySchedule, PayScheduleProvider] =\n createCompoundContext<PayScheduleContextType>('PayScheduleContext')\nexport { usePaySchedule, PayScheduleProvider }\n"],"names":["PayScheduleSchema","z","usePaySchedule","PayScheduleProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AA2BO,MAAMA,IAAoBC,EAAE,OAAO;AAAA,EACxC,WAAWA,EAAE,KAAK,CAAC,cAAc,oBAAoB,mBAAmB,SAAS,CAAC;AAAA,EAClF,eAAeA,EAAE,KAAA,EAAO,SAAA;AAAA,EACxB,sBAAsBA,EAAE,KAAA,EAAO,SAAA;AAAA,EAC/B,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA,EAChC,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA,EAChC,YAAYA,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,qBAAqBA,EAAE,OAAA,EAAS,SAAA;AAClC,CAAC,GAcK,CAACC,GAAgBC,CAAmB,IACxCC,EAA8C,oBAAoB;"}
@@ -11,11 +11,10 @@ import "classnames";
11
11
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
13
  import "dompurify";
14
- import "../../../../contexts/LocaleProvider/useLocale.js";
15
14
  import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
16
- const [d, u] = t("StateTaxesFormContext");
15
+ const [c, d] = t("StateTaxesFormContext");
17
16
  export {
18
- u as StateTaxesFormProvider,
19
- d as useStateTaxesForm
17
+ d as StateTaxesFormProvider,
18
+ c as useStateTaxesForm
20
19
  };
21
20
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/context.ts"],"sourcesContent":["import type { TaxRequirementsState } from '@gusto/embedded-api/models/components/taxrequirementsstate'\nimport { createCompoundContext } from '@/components/Base'\n\ninterface StateTaxFormContext {\n isPending: boolean\n state: string\n stateTaxRequirements: TaxRequirementsState\n handleCancel: () => void\n}\n\nconst [useStateTaxesForm, StateTaxesFormProvider] =\n createCompoundContext<StateTaxFormContext>('StateTaxesFormContext')\n\nexport { useStateTaxesForm, StateTaxesFormProvider }\n"],"names":["useStateTaxesForm","StateTaxesFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAA2C,uBAAuB;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/context.ts"],"sourcesContent":["import type { TaxRequirementsState } from '@gusto/embedded-api/models/components/taxrequirementsstate'\nimport { createCompoundContext } from '@/components/Base'\n\ninterface StateTaxFormContext {\n isPending: boolean\n state: string\n stateTaxRequirements: TaxRequirementsState\n handleCancel: () => void\n}\n\nconst [useStateTaxesForm, StateTaxesFormProvider] =\n createCompoundContext<StateTaxFormContext>('StateTaxesFormContext')\n\nexport { useStateTaxesForm, StateTaxesFormProvider }\n"],"names":["useStateTaxesForm","StateTaxesFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAA2C,uBAAuB;"}
@@ -11,11 +11,10 @@ import "classnames";
11
11
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
13
  import "dompurify";
14
- import "../../../../contexts/LocaleProvider/useLocale.js";
15
14
  import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
16
- const [d, u] = t("StateTaxesListContext");
15
+ const [c, d] = t("StateTaxesListContext");
17
16
  export {
18
- u as StateTaxesListProvider,
19
- d as useStateTaxesList
17
+ d as StateTaxesListProvider,
18
+ c as useStateTaxesList
20
19
  };
21
20
  //# 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,6 +1,8 @@
1
1
  import "./types/i18next.d.ts"
2
2
  export { Industry } from './Industry';
3
3
  export { AssignSignatory } from './AssignSignatory';
4
+ export { CreateSignatory } from './AssignSignatory/CreateSignatory';
5
+ export { InviteSignatory } from './AssignSignatory/InviteSignatory';
4
6
  export { DocumentList } from './DocumentSigner/DocumentList';
5
7
  export { SignatureForm } from './DocumentSigner/SignatureForm';
6
8
  export { DocumentSigner } from './DocumentSigner';
@@ -1,27 +1,31 @@
1
1
  import { OnboardingOverview as e } from "./OnboardingOverview/OnboardingOverview.js";
2
2
  import { Locations as m } from "./Locations/Locations.js";
3
3
  import { BankAccount as x } from "./BankAccount/BankAccount.js";
4
- import { StateTaxes as p } from "./StateTaxes/StateTaxes.js";
4
+ import { StateTaxes as f } from "./StateTaxes/StateTaxes.js";
5
5
  import { OnboardingFlow as i } from "./OnboardingFlow/OnboardingFlow.js";
6
- import { Industry as c } from "./Industry/Industry.js";
7
- import { AssignSignatory as u } from "./AssignSignatory/AssignSignatory.js";
8
- import { DocumentList as S } from "./DocumentSigner/DocumentList/DocumentList.js";
9
- import { SignatureForm as y } from "./DocumentSigner/SignatureForm/SignatureForm.js";
10
- import { DocumentSigner as O } from "./DocumentSigner/DocumentSigner.js";
11
- import { PaySchedule as v } from "./PaySchedule/PaySchedule.js";
12
- import { FederalTaxes as A } from "./FederalTaxes/FederalTaxes.js";
6
+ import { Industry as s } from "./Industry/Industry.js";
7
+ import { AssignSignatory as c } from "./AssignSignatory/AssignSignatory.js";
8
+ import { CreateSignatory as d } from "./AssignSignatory/CreateSignatory/CreateSignatory.js";
9
+ import { InviteSignatory as l } from "./AssignSignatory/InviteSignatory/InviteSignatory.js";
10
+ import { DocumentList as F } from "./DocumentSigner/DocumentList/DocumentList.js";
11
+ import { SignatureForm as b } from "./DocumentSigner/SignatureForm/SignatureForm.js";
12
+ import { DocumentSigner as A } from "./DocumentSigner/DocumentSigner.js";
13
+ import { PaySchedule as I } from "./PaySchedule/PaySchedule.js";
14
+ import { FederalTaxes as T } from "./FederalTaxes/FederalTaxes.js";
13
15
  export {
14
- u as AssignSignatory,
16
+ c as AssignSignatory,
15
17
  x as BankAccount,
16
- S as DocumentList,
17
- O as DocumentSigner,
18
- A as FederalTaxes,
19
- c as Industry,
18
+ d as CreateSignatory,
19
+ F as DocumentList,
20
+ A as DocumentSigner,
21
+ T as FederalTaxes,
22
+ s as Industry,
23
+ l as InviteSignatory,
20
24
  m as Locations,
21
25
  i as OnboardingFlow,
22
26
  e as OnboardingOverview,
23
- v as PaySchedule,
24
- y as SignatureForm,
25
- p as StateTaxes
27
+ I as PaySchedule,
28
+ b as SignatureForm,
29
+ f as StateTaxes
26
30
  };
27
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -12,20 +12,19 @@ import "classnames";
12
12
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
13
13
  import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
14
14
  import "dompurify";
15
- import "../../../contexts/LocaleProvider/useLocale.js";
16
15
  import { createCompoundContext as r } from "../../Base/createCompoundContext.js";
17
- const z = t.object({
16
+ const u = t.object({
18
17
  street1: t.string().min(1),
19
18
  street2: t.string().optional(),
20
19
  city: t.string().min(1),
21
20
  state: t.string().min(1),
22
21
  zip: t.string().min(1)
23
- }), [b, h] = r(
22
+ }), [z, b] = r(
24
23
  "ContractorAddressContext"
25
24
  );
26
25
  export {
27
- z as AddressFormSchema,
28
- h as AddressProvider,
29
- b as useAddress
26
+ u as AddressFormSchema,
27
+ b as AddressProvider,
28
+ z as useAddress
30
29
  };
31
30
  //# 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;"}
@@ -0,0 +1,7 @@
1
+ import { BaseComponentInterface } from '../../../Base';
2
+ interface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {
3
+ companyId: string;
4
+ }
5
+ export declare function CreatePayment(props: CreatePaymentProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare const Root: ({ companyId, dictionary, onEvent }: CreatePaymentProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,204 @@
1
+ import { jsx as d, jsxs as B, Fragment as L } from "react/jsx-runtime";
2
+ import { useContractorsListSuspense as H } from "@gusto/embedded-api/react-query/contractorsList";
3
+ import { useContractorPaymentGroupsCreateMutation as I } from "@gusto/embedded-api/react-query/contractorPaymentGroupsCreate";
4
+ import { useContractorPaymentGroupsPreviewMutation as Y } from "@gusto/embedded-api/react-query/contractorPaymentGroupsPreview";
5
+ import { useState as l, useMemo as A } from "react";
6
+ import { RFCDate as N } from "@gusto/embedded-api/types/rfcdate";
7
+ import { useForm as q } from "react-hook-form";
8
+ import { zodResolver as x } from "@hookform/resolvers/zod";
9
+ import { useTranslation as F } from "react-i18next";
10
+ import { CreatePaymentPresentation as V } from "./CreatePaymentPresentation.js";
11
+ import { EditContractorPaymentFormSchema as j, EditContractorPaymentPresentation as W } from "./EditContractorPaymentPresentation.js";
12
+ import { PreviewPresentation as z } from "./PreviewPresentation.js";
13
+ import { useComponentDictionary as K } from "../../../../i18n/I18n.js";
14
+ import { BaseComponent as J } from "../../../Base/Base.js";
15
+ import { useBase as Q } from "../../../Base/useBase.js";
16
+ import { ContractorOnboardingStatus as X, componentEvents as y } from "../../../../shared/constants.js";
17
+ import { firstLastName as Z } from "../../../../helpers/formattedStrings.js";
18
+ function gt(a) {
19
+ return /* @__PURE__ */ d(J, { ...a, children: /* @__PURE__ */ d($, { ...a, children: a.children }) });
20
+ }
21
+ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
22
+ K("Contractor.Payments.CreatePayment", E);
23
+ const { t: T } = F("Contractor.Payments.CreatePayment"), [M, p] = l(!1), [P, O] = l(
24
+ (/* @__PURE__ */ new Date()).toISOString().split("T")[0] || ""
25
+ ), { baseSubmitHandler: h } = Q(), [b, i] = l({}), [m, w] = l(null), { mutateAsync: _, isPending: g } = I(), {
26
+ mutateAsync: v,
27
+ isPending: D
28
+ } = Y(), { data: G } = H({ companyUuid: a }), s = (G.contractorList || []).filter(
29
+ (t) => t.isActive && t.onboardingStatus === X.ONBOARDING_COMPLETED
30
+ ), S = A(
31
+ () => s.map((t) => ({
32
+ contractorUuid: t.uuid,
33
+ paymentMethod: t.paymentMethod || "Direct Deposit",
34
+ wage: 0,
35
+ hours: 0,
36
+ bonus: 0,
37
+ reimbursement: 0,
38
+ isTouched: !1
39
+ })),
40
+ [s]
41
+ ), [c, U] = l(S), k = A(
42
+ () => c.reduce(
43
+ (t, e) => {
44
+ const o = s.find((f) => f.uuid === e.contractorUuid), r = o?.wageType === "Hourly", n = r ? (e.hours || 0) * Number(o.hourlyRate || 0) : 0, C = r ? 0 : e.wage || 0;
45
+ return {
46
+ wage: t.wage + C,
47
+ bonus: t.bonus + (e.bonus || 0),
48
+ reimbursement: t.reimbursement + (e.reimbursement || 0),
49
+ total: t.total + n + C + (e.bonus || 0) + (e.reimbursement || 0)
50
+ };
51
+ },
52
+ { wage: 0, bonus: 0, reimbursement: 0, total: 0 }
53
+ ),
54
+ [c, s]
55
+ ), R = q({
56
+ resolver: x(j),
57
+ defaultValues: {
58
+ wageType: "Hourly",
59
+ hours: 0,
60
+ wage: 0,
61
+ bonus: 0,
62
+ reimbursement: 0,
63
+ paymentMethod: "Direct Deposit",
64
+ hourlyRate: 0,
65
+ contractorUuid: ""
66
+ }
67
+ });
68
+ return /* @__PURE__ */ B(L, { children: [
69
+ m && /* @__PURE__ */ d(
70
+ z,
71
+ {
72
+ contractorPaymentGroup: m,
73
+ contractors: s,
74
+ onBackToEdit: () => {
75
+ w(null), u(y.CONTRACTOR_PAYMENT_BACK_TO_EDIT);
76
+ },
77
+ onSubmit: async () => {
78
+ await h(null, async () => {
79
+ const t = c.filter((r) => r.isTouched);
80
+ if (t.length === 0 || !m?.creationToken)
81
+ return;
82
+ const e = m.creationToken, o = await _({
83
+ request: {
84
+ companyId: a,
85
+ requestBody: {
86
+ checkDate: new N(P),
87
+ contractorPayments: t,
88
+ creationToken: e
89
+ }
90
+ }
91
+ });
92
+ i({}), u(y.CONTRACTOR_PAYMENT_CREATED, o.contractorPaymentGroup || {});
93
+ });
94
+ },
95
+ isLoading: g || D
96
+ }
97
+ ),
98
+ !m && /* @__PURE__ */ d(
99
+ V,
100
+ {
101
+ contractors: s,
102
+ contractorPayments: c,
103
+ paymentDate: P,
104
+ onPaymentDateChange: O,
105
+ onSaveAndContinue: async () => {
106
+ await h(null, async () => {
107
+ const t = c.filter((o) => o.isTouched);
108
+ if (t.length === 0) {
109
+ i({
110
+ ...b,
111
+ error: {
112
+ type: "error",
113
+ title: T("alerts.noContractorPayments")
114
+ }
115
+ });
116
+ return;
117
+ }
118
+ i({});
119
+ const e = await v({
120
+ request: {
121
+ companyId: a,
122
+ requestBody: {
123
+ contractorPayments: t.map((o) => {
124
+ const { isTouched: r, ...n } = o;
125
+ return n;
126
+ }),
127
+ checkDate: new N(P)
128
+ }
129
+ }
130
+ });
131
+ w(e.contractorPaymentGroupPreview || null), u(y.CONTRACTOR_PAYMENT_PREVIEW, e.contractorPaymentGroupPreview);
132
+ });
133
+ },
134
+ onEditContractor: (t) => {
135
+ const e = s.find((r) => r.uuid === t), o = c.find(
136
+ (r) => r.contractorUuid === t
137
+ );
138
+ R.reset(
139
+ {
140
+ wageType: e?.wageType || "Hourly",
141
+ hours: o?.hours || 0,
142
+ wage: o?.wage || 0,
143
+ bonus: o?.bonus || 0,
144
+ reimbursement: o?.reimbursement || 0,
145
+ paymentMethod: o?.paymentMethod || "Direct Deposit",
146
+ hourlyRate: e?.hourlyRate ? Number(e.hourlyRate) : 0,
147
+ contractorUuid: t
148
+ },
149
+ { keepDirty: !1, keepValues: !1 }
150
+ ), i({}), p(!0), u(y.CONTRACTOR_PAYMENT_EDIT);
151
+ },
152
+ totals: k,
153
+ alerts: b,
154
+ isLoading: g || D
155
+ }
156
+ ),
157
+ /* @__PURE__ */ d(
158
+ W,
159
+ {
160
+ isOpen: M,
161
+ onClose: () => {
162
+ p(!1);
163
+ },
164
+ formMethods: R,
165
+ onSubmit: (t) => {
166
+ U(
167
+ (r) => r.map(
168
+ (n) => n.contractorUuid === t.contractorUuid ? {
169
+ contractorUuid: n.contractorUuid,
170
+ wage: t.wage,
171
+ hours: t.hours,
172
+ bonus: t.bonus,
173
+ reimbursement: t.reimbursement,
174
+ paymentMethod: t.paymentMethod,
175
+ isTouched: !0
176
+ } : n
177
+ )
178
+ );
179
+ const e = s.find((r) => r.uuid === t.contractorUuid), o = e?.type === "Individual" ? Z({ first_name: e.firstName, last_name: e.lastName }) : e?.businessName;
180
+ i((r) => ({
181
+ ...r,
182
+ [t.contractorUuid]: {
183
+ type: "success",
184
+ title: T("alerts.contractorPaymentUpdated", {
185
+ contractorName: o
186
+ }),
187
+ onDismiss: () => {
188
+ i((n) => {
189
+ const { [t.contractorUuid]: C, ...f } = n;
190
+ return f;
191
+ });
192
+ }
193
+ }
194
+ })), p(!1), u(y.CONTRACTOR_PAYMENT_UPDATE, t);
195
+ }
196
+ }
197
+ )
198
+ ] });
199
+ };
200
+ export {
201
+ gt as CreatePayment,
202
+ $ as Root
203
+ };
204
+ //# sourceMappingURL=CreatePayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreatePayment.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePayment.tsx"],"sourcesContent":["import { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useContractorPaymentGroupsCreateMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsCreate'\nimport type { ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useContractorPaymentGroupsPreviewMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsPreview'\nimport { useMemo, useState } from 'react'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupPreview } from '@gusto/embedded-api/models/components/contractorpaymentgrouppreview'\nimport type { InternalAlert } from '../types'\nimport { CreatePaymentPresentation } from './CreatePaymentPresentation'\nimport {\n EditContractorPaymentPresentation,\n EditContractorPaymentFormSchema,\n type EditContractorPaymentFormValues,\n} from './EditContractorPaymentPresentation'\nimport { PreviewPresentation } from './PreviewPresentation'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\ninterface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {\n companyId: string\n}\n\nexport function CreatePayment(props: CreatePaymentProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ companyId, dictionary, onEvent }: CreatePaymentProps) => {\n useComponentDictionary('Contractor.Payments.CreatePayment', dictionary)\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [paymentDate, setPaymentDate] = useState<string>(\n new Date().toISOString().split('T')[0] || '',\n )\n const { baseSubmitHandler } = useBase()\n const [alerts, setAlerts] = useState<Record<string, InternalAlert>>({})\n const [previewData, setPreviewData] = useState<ContractorPaymentGroupPreview | null>(null)\n\n const { mutateAsync: createContractorPaymentGroup, isPending: isCreatingContractorPaymentGroup } =\n useContractorPaymentGroupsCreateMutation()\n const {\n mutateAsync: previewContractorPaymentGroup,\n isPending: isPreviewingContractorPaymentGroup,\n } = useContractorPaymentGroupsPreviewMutation()\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractorList || []).filter(\n contractor =>\n contractor.isActive &&\n contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n )\n const initialContractorPayments: (ContractorPayments & { isTouched: boolean })[] = useMemo(\n () =>\n contractors.map(contractor => ({\n contractorUuid: contractor.uuid,\n paymentMethod: contractor.paymentMethod || 'Direct Deposit',\n wage: 0,\n hours: 0,\n bonus: 0,\n reimbursement: 0,\n isTouched: false,\n })),\n [contractors],\n )\n const [virtualContractorPayments, setVirtualContractorPayments] =\n useState<(ContractorPayments & { isTouched: boolean })[]>(initialContractorPayments)\n const totals = useMemo(\n () =>\n virtualContractorPayments.reduce<{\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }>(\n (acc, payment) => {\n const contractor = contractors.find(c => c.uuid === payment.contractorUuid)\n const isHourly = contractor?.wageType === 'Hourly'\n const hourlyAmount = isHourly\n ? (payment.hours || 0) * Number(contractor.hourlyRate || 0)\n : 0\n const fixedWage = isHourly ? 0 : payment.wage || 0\n\n return {\n wage: acc.wage + fixedWage,\n bonus: acc.bonus + (payment.bonus || 0),\n reimbursement: acc.reimbursement + (payment.reimbursement || 0),\n total:\n acc.total +\n hourlyAmount +\n fixedWage +\n (payment.bonus || 0) +\n (payment.reimbursement || 0),\n }\n },\n { wage: 0, bonus: 0, reimbursement: 0, total: 0 },\n ),\n [virtualContractorPayments, contractors],\n )\n\n const formMethods = useForm<EditContractorPaymentFormValues>({\n resolver: zodResolver(EditContractorPaymentFormSchema),\n defaultValues: {\n wageType: 'Hourly',\n hours: 0,\n wage: 0,\n bonus: 0,\n reimbursement: 0,\n paymentMethod: 'Direct Deposit',\n hourlyRate: 0,\n contractorUuid: '',\n },\n })\n\n const onCreatePaymentGroup = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0 || !previewData?.creationToken) {\n return\n }\n const creationToken = previewData.creationToken\n const response = await createContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n checkDate: new RFCDate(paymentDate),\n contractorPayments: contractorPayments,\n creationToken,\n },\n },\n })\n setAlerts({})\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATED, response.contractorPaymentGroup || {})\n })\n }\n const onEditContractor = (contractorUuid: string) => {\n const contractor = contractors.find(contractor => contractor.uuid === contractorUuid)\n const contractorPayment = virtualContractorPayments.find(\n payment => payment.contractorUuid === contractorUuid,\n )\n formMethods.reset(\n {\n wageType: contractor?.wageType || 'Hourly',\n hours: contractorPayment?.hours || 0,\n wage: contractorPayment?.wage || 0,\n bonus: contractorPayment?.bonus || 0,\n reimbursement: contractorPayment?.reimbursement || 0,\n paymentMethod: contractorPayment?.paymentMethod || 'Direct Deposit',\n hourlyRate: contractor?.hourlyRate ? Number(contractor.hourlyRate) : 0,\n contractorUuid: contractorUuid,\n },\n { keepDirty: false, keepValues: false },\n )\n setAlerts({})\n setIsModalOpen(true)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EDIT)\n }\n\n const onEditContractorSubmit = (data: EditContractorPaymentFormValues) => {\n setVirtualContractorPayments(prevPayments =>\n prevPayments.map(payment =>\n payment.contractorUuid === data.contractorUuid\n ? {\n contractorUuid: payment.contractorUuid,\n wage: data.wage,\n hours: data.hours,\n bonus: data.bonus,\n reimbursement: data.reimbursement,\n paymentMethod: data.paymentMethod,\n isTouched: true,\n }\n : payment,\n ),\n )\n const contractor = contractors.find(contractor => contractor.uuid === data.contractorUuid)\n const displayName =\n contractor?.type === 'Individual'\n ? firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n : contractor?.businessName\n setAlerts(prevAlerts => ({\n ...prevAlerts,\n [data.contractorUuid]: {\n type: 'success',\n title: t('alerts.contractorPaymentUpdated', {\n contractorName: displayName,\n }),\n onDismiss: () => {\n setAlerts(prevAlerts => {\n const { [data.contractorUuid]: _, ...rest } = prevAlerts\n return rest\n })\n },\n },\n }))\n setIsModalOpen(false)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_UPDATE, data)\n }\n\n const onContinueToPreview = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0) {\n setAlerts({\n ...alerts,\n error: {\n type: 'error',\n title: t('alerts.noContractorPayments'),\n },\n })\n return\n }\n setAlerts({})\n const response = await previewContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n contractorPayments: contractorPayments.map(payment => {\n const { isTouched, ...rest } = payment\n return rest\n }),\n checkDate: new RFCDate(paymentDate),\n },\n },\n })\n\n setPreviewData(response.contractorPaymentGroupPreview || null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_PREVIEW, response.contractorPaymentGroupPreview)\n })\n }\n const onBackToEdit = () => {\n setPreviewData(null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_BACK_TO_EDIT)\n }\n\n return (\n <>\n {previewData && (\n <PreviewPresentation\n contractorPaymentGroup={previewData}\n contractors={contractors}\n onBackToEdit={onBackToEdit}\n onSubmit={onCreatePaymentGroup}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n />\n )}\n {!previewData && (\n <CreatePaymentPresentation\n contractors={contractors}\n contractorPayments={virtualContractorPayments}\n paymentDate={paymentDate}\n onPaymentDateChange={setPaymentDate}\n onSaveAndContinue={onContinueToPreview}\n onEditContractor={onEditContractor}\n totals={totals}\n alerts={alerts}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n />\n )}\n <EditContractorPaymentPresentation\n isOpen={isModalOpen}\n onClose={() => {\n setIsModalOpen(false)\n }}\n formMethods={formMethods}\n onSubmit={onEditContractorSubmit}\n />\n </>\n )\n}\n"],"names":["CreatePayment","props","jsx","BaseComponent","Root","companyId","dictionary","onEvent","useComponentDictionary","t","useTranslation","isModalOpen","setIsModalOpen","useState","paymentDate","setPaymentDate","baseSubmitHandler","useBase","alerts","setAlerts","previewData","setPreviewData","createContractorPaymentGroup","isCreatingContractorPaymentGroup","useContractorPaymentGroupsCreateMutation","previewContractorPaymentGroup","isPreviewingContractorPaymentGroup","useContractorPaymentGroupsPreviewMutation","contractorList","useContractorsListSuspense","contractors","contractor","ContractorOnboardingStatus","initialContractorPayments","useMemo","virtualContractorPayments","setVirtualContractorPayments","totals","acc","payment","c","isHourly","hourlyAmount","fixedWage","formMethods","useForm","zodResolver","EditContractorPaymentFormSchema","jsxs","Fragment","PreviewPresentation","componentEvents","contractorPayments","creationToken","response","RFCDate","CreatePaymentPresentation","isTouched","rest","contractorUuid","contractorPayment","EditContractorPaymentPresentation","data","prevPayments","displayName","firstLastName","prevAlerts","_"],"mappings":"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"}