@gusto/embedded-react-sdk 0.13.3 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/assets/icons/hamburger.svg.js +5 -5
  3. package/dist/assets/icons/hamburger.svg.js.map +1 -1
  4. package/dist/assets/icons/receipt-check.svg.js +10 -0
  5. package/dist/assets/icons/receipt-check.svg.js.map +1 -0
  6. package/dist/assets/icons/spinner_large.svg.js +10 -0
  7. package/dist/assets/icons/spinner_large.svg.js.map +1 -0
  8. package/dist/components/Common/DataView/DataTable/DataTable.js +29 -28
  9. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  10. package/dist/components/Common/DocumentViewer/DocumentViewer.d.ts +1 -1
  11. package/dist/components/Common/DocumentViewer/DocumentViewer.js +9 -9
  12. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  13. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.d.ts +1 -1
  14. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
  15. package/dist/components/Common/Flex/Flex.js +16 -12
  16. package/dist/components/Common/Flex/Flex.js.map +1 -1
  17. package/dist/components/Common/Loading/Loading.d.ts +5 -1
  18. package/dist/components/Common/Loading/Loading.js +9 -9
  19. package/dist/components/Common/Loading/Loading.js.map +1 -1
  20. package/dist/components/Common/Loading/Loading.module.scss.js +1 -1
  21. package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
  22. package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
  23. package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
  24. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinner.d.ts +3 -0
  25. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinner.js +25 -0
  26. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinner.js.map +1 -0
  27. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinner.module.scss.js +10 -0
  28. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinner.module.scss.js.map +1 -0
  29. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.d.ts +18 -0
  30. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js +8 -0
  31. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -0
  32. package/dist/components/Common/UI/LoadingSpinner/index.d.ts +4 -0
  33. package/dist/components/Common/UI/RadioGroup/RadioGroup.js +33 -31
  34. package/dist/components/Common/UI/RadioGroup/RadioGroup.js.map +1 -1
  35. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +4 -0
  36. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  37. package/dist/components/Common/UI/Table/Table.js +22 -13
  38. package/dist/components/Common/UI/Table/Table.js.map +1 -1
  39. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  40. package/dist/components/Common/UI/Table/TableTypes.d.ts +5 -0
  41. package/dist/components/Common/UI/Table/TableTypes.js +2 -1
  42. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  43. package/dist/components/Common/UI/Text/Text.module.scss.js +15 -14
  44. package/dist/components/Common/UI/Text/Text.module.scss.js.map +1 -1
  45. package/dist/components/Common/UI/Text/TextTypes.d.ts +2 -2
  46. package/dist/components/Common/UI/Text/TextTypes.js.map +1 -1
  47. package/dist/components/Company/AssignSignatory/AssignSignatory.js +6 -7
  48. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  49. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +3 -2
  50. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  51. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +3 -2
  52. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  53. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +2 -3
  54. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  55. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +13 -14
  56. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  57. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  58. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  59. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +3 -2
  60. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  61. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -6
  62. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  63. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +10 -11
  64. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  65. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  66. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  67. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  68. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  69. package/dist/components/Company/BankAccount/BankAccount.js +25 -21
  70. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  71. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +6 -6
  72. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -8
  73. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  74. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  75. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  76. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +9 -8
  77. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  78. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +8 -7
  79. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  80. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +5 -4
  81. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  82. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +3 -2
  83. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  84. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +34 -35
  85. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  86. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  87. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  88. package/dist/components/Company/DocumentSigner/DocumentSigner.js +0 -1
  89. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  90. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +6 -7
  91. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  92. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  93. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  94. package/dist/components/Company/FederalTaxes/Actions.js +6 -5
  95. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  96. package/dist/components/Company/FederalTaxes/FederalTaxes.js +12 -13
  97. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  98. package/dist/components/Company/FederalTaxes/Form.js +4 -3
  99. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  100. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -8
  101. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  102. package/dist/components/Company/Industry/Actions.js +3 -2
  103. package/dist/components/Company/Industry/Actions.js.map +1 -1
  104. package/dist/components/Company/Industry/Context.js +7 -6
  105. package/dist/components/Company/Industry/Context.js.map +1 -1
  106. package/dist/components/Company/Industry/Edit.js +5 -4
  107. package/dist/components/Company/Industry/Edit.js.map +1 -1
  108. package/dist/components/Company/Locations/LocationForm/Actions.js +7 -6
  109. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  110. package/dist/components/Company/Locations/LocationForm/Form.js +5 -6
  111. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  112. package/dist/components/Company/Locations/LocationForm/LocationForm.js +10 -11
  113. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  114. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  115. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  116. package/dist/components/Company/Locations/Locations.js +21 -17
  117. package/dist/components/Company/Locations/Locations.js.map +1 -1
  118. package/dist/components/Company/Locations/LocationsList/Actions.js +7 -6
  119. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  120. package/dist/components/Company/Locations/LocationsList/List.js +16 -16
  121. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  122. package/dist/components/Company/Locations/LocationsList/LocationsList.js +6 -7
  123. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  124. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  125. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  126. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +21 -17
  127. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  128. package/dist/components/Company/OnboardingOverview/Completed.js +11 -10
  129. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  130. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +7 -6
  131. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  132. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -3
  133. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  134. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  135. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  136. package/dist/components/Company/PaySchedule/PaySchedule.js +33 -34
  137. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  138. package/dist/components/Company/PaySchedule/_parts/Actions.js +10 -9
  139. package/dist/components/Company/PaySchedule/_parts/Actions.js.map +1 -1
  140. package/dist/components/Company/PaySchedule/_parts/Edit.js +16 -17
  141. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  142. package/dist/components/Company/PaySchedule/_parts/Head.js +7 -6
  143. package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
  144. package/dist/components/Company/PaySchedule/_parts/List.js +12 -11
  145. package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
  146. package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
  147. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  148. package/dist/components/Company/StateTaxes/StateTaxes.js +20 -16
  149. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  150. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -2
  151. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  152. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  153. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  154. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +3 -2
  155. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  156. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +3 -2
  157. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  158. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  159. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  160. package/dist/components/Contractor/Address/Address.js +4 -5
  161. package/dist/components/Contractor/Address/Address.js.map +1 -1
  162. package/dist/components/Contractor/Address/Form.js +3 -4
  163. package/dist/components/Contractor/Address/Form.js.map +1 -1
  164. package/dist/components/Contractor/Address/useAddress.js +6 -5
  165. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  166. package/dist/components/Contractor/ContractorList/index.js +17 -17
  167. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +25 -21
  168. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  169. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +6 -5
  170. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  171. package/dist/components/Contractor/Profile/ContractorProfileForm.js +13 -13
  172. package/dist/components/Contractor/Profile/useContractorProfile.js +3 -2
  173. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  174. package/dist/components/Contractor/Submit/Submit.js +1 -1
  175. package/dist/components/Employee/Compensation/Actions.js +1 -1
  176. package/dist/components/Employee/Compensation/Edit.js +12 -12
  177. package/dist/components/Employee/Compensation/List.js +23 -22
  178. package/dist/components/Employee/Compensation/List.js.map +1 -1
  179. package/dist/components/Employee/Deductions/DeductionsComponents.js +1 -1
  180. package/dist/components/Employee/Deductions/DeductionsComponents.js.map +1 -1
  181. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.d.ts +55 -0
  182. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +222 -0
  183. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -0
  184. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js +8 -0
  185. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.module.scss.js.map +1 -0
  186. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +42 -0
  187. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +133 -0
  188. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -0
  189. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +8 -8
  190. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js +14 -0
  191. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.module.scss.js.map +1 -0
  192. package/dist/components/Employee/Deductions/DeductionsForm/UNSTABLE_DeductionsForm.d.ts +7 -0
  193. package/dist/components/Employee/Deductions/DeductionsForm/UNSTABLE_DeductionsForm.js +98 -0
  194. package/dist/components/Employee/Deductions/DeductionsForm/UNSTABLE_DeductionsForm.js.map +1 -0
  195. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +1 -1
  196. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +8 -8
  197. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +7 -6
  198. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
  199. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +7 -8
  200. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  201. package/dist/components/Employee/DocumentSigner/DocumentList/List.js +3 -2
  202. package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
  203. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  204. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  205. package/dist/components/Employee/DocumentSigner/DocumentSigner.js +19 -15
  206. package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +1 -1
  207. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +9 -10
  208. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  209. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  210. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  211. package/dist/components/Employee/EmployeeList/Actions.js +3 -2
  212. package/dist/components/Employee/EmployeeList/Actions.js.map +1 -1
  213. package/dist/components/Employee/EmployeeList/EmployeeList.js +4 -3
  214. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  215. package/dist/components/Employee/EmployeeList/Head.js +6 -5
  216. package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
  217. package/dist/components/Employee/EmployeeList/List.js +12 -12
  218. package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
  219. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  220. package/dist/components/Employee/FederalTaxes/Actions.js +7 -6
  221. package/dist/components/Employee/FederalTaxes/Actions.js.map +1 -1
  222. package/dist/components/Employee/FederalTaxes/FederalForm.js +12 -11
  223. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  224. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +4 -3
  225. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  226. package/dist/components/Employee/Landing/Landing.js +8 -8
  227. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +24 -20
  228. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  229. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
  230. package/dist/components/Employee/PaymentMethod/Actions.js +6 -5
  231. package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
  232. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +1 -1
  233. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +9 -8
  234. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  235. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  236. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +6 -5
  237. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  238. package/dist/components/Employee/Profile/Actions.js +7 -6
  239. package/dist/components/Employee/Profile/Actions.js.map +1 -1
  240. package/dist/components/Employee/Profile/HomeAddress.js +5 -6
  241. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  242. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +21 -22
  243. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  244. package/dist/components/Employee/Profile/Profile.d.ts +1 -0
  245. package/dist/components/Employee/Profile/Profile.js +22 -22
  246. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  247. package/dist/components/Employee/Profile/useProfile.js +4 -3
  248. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  249. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js +17 -13
  250. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  251. package/dist/components/Employee/StateTaxes/Actions.js +8 -7
  252. package/dist/components/Employee/StateTaxes/Actions.js.map +1 -1
  253. package/dist/components/Employee/StateTaxes/useStateTaxes.js +4 -3
  254. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  255. package/dist/components/Employee/Taxes/Actions.js +9 -8
  256. package/dist/components/Employee/Taxes/Actions.js.map +1 -1
  257. package/dist/components/Employee/Taxes/FederalForm.js +13 -12
  258. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  259. package/dist/components/Employee/Taxes/useTaxes.js +4 -3
  260. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  261. package/dist/components/Payroll/PayrollBlocker/PayrollBlockerAlerts.d.ts +14 -0
  262. package/dist/components/Payroll/PayrollBlocker/PayrollBlockerAlerts.js +54 -0
  263. package/dist/components/Payroll/PayrollBlocker/PayrollBlockerAlerts.js.map +1 -0
  264. package/dist/components/Payroll/PayrollBlocker/PayrollBlockerList.d.ts +19 -0
  265. package/dist/components/Payroll/PayrollBlocker/index.d.ts +3 -0
  266. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.d.ts +27 -0
  267. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +39 -0
  268. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -0
  269. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +78 -60
  270. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  271. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +4 -2
  272. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +157 -123
  273. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  274. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.module.scss.js +8 -0
  275. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.module.scss.js.map +1 -0
  276. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +39 -36
  277. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  278. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +65 -66
  279. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  280. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +9 -8
  281. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  282. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +2 -0
  283. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +26 -0
  284. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -0
  285. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +25 -0
  286. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +59 -0
  287. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -0
  288. package/dist/components/Payroll/PayrollFlow/index.d.ts +3 -0
  289. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +7 -0
  290. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +116 -0
  291. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -0
  292. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +3 -2
  293. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  294. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +2 -1
  295. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +28 -36
  296. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  297. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +15 -0
  298. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +62 -0
  299. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -0
  300. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +5 -0
  301. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +93 -0
  302. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -0
  303. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +7 -6
  304. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  305. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +4 -1
  306. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +70 -58
  307. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  308. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +4 -1
  309. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +315 -268
  310. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  311. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +8 -0
  312. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +35 -0
  313. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -0
  314. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
  315. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +224 -0
  316. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -0
  317. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +28 -0
  318. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js.map +1 -0
  319. package/dist/components/Payroll/index.d.ts +3 -1
  320. package/dist/components/Payroll/index.js +8 -6
  321. package/dist/components/Payroll/index.js.map +1 -1
  322. package/dist/components/Payroll/usePreparedPayrollData.js +40 -24
  323. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  324. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
  325. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  326. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  327. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +28 -23
  328. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  329. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  330. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  331. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
  332. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  333. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.d.ts +3 -1
  334. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js +8 -8
  335. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js.map +1 -1
  336. package/dist/contexts/ThemeProvider/theme.d.ts +1 -0
  337. package/dist/contexts/ThemeProvider/theme.js +2 -1
  338. package/dist/contexts/ThemeProvider/theme.js.map +1 -1
  339. package/dist/hooks/useContainerBreakpoints/useContainerBreakpoints.js.map +1 -1
  340. package/dist/i18n/I18n.js +1 -1
  341. package/dist/i18n/I18n.js.map +1 -1
  342. package/dist/i18n/en/Employee.Deductions.json.js +126 -66
  343. package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
  344. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +11 -11
  345. package/dist/i18n/en/Payroll.PayrollOverview.json.js +48 -42
  346. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  347. package/dist/i18n/en/Payroll.PayrollReceipts.json.js +14 -12
  348. package/dist/i18n/en/Payroll.PayrollReceipts.json.js.map +1 -1
  349. package/dist/i18n/en/PayrollBlocker.json.js +24 -0
  350. package/dist/i18n/en/PayrollBlocker.json.js.map +1 -0
  351. package/dist/shared/constants.d.ts +13 -5
  352. package/dist/shared/constants.js +37 -33
  353. package/dist/shared/constants.js.map +1 -1
  354. package/dist/style.css +1 -1
  355. package/dist/types/i18next.d.ts +185 -5
  356. package/package.json +21 -21
  357. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +0 -117
  358. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +0 -1
  359. package/dist/components/Payroll/RunPayrollFlow/RunPayrollFlow.js +0 -22
  360. package/dist/components/Payroll/RunPayrollFlow/RunPayrollFlow.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.js","sources":["../../../../src/components/Employee/Profile/Profile.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { useRef, useState, useEffect } from 'react'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useLocationsGetSuspense } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeesCreateMutation } from '@gusto/embedded-api/react-query/employeesCreate'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { type Employee } from '@gusto/embedded-api/models/components/employee'\nimport { useEmployeeAddressesGetSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { type EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { useEmployeesUpdateMutation } from '@gusto/embedded-api/react-query/employeesUpdate'\nimport { useEmployeeAddressesGetWorkAddressesSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport {\n AdminPersonalDetails,\n AdminPersonalDetailsSchema,\n AdminSelfOnboardingPersonalDetailsSchema,\n} from './AdminPersonalDetails'\nimport { SelfPersonalDetails, SelfPersonalDetailsSchema } from './SelfPersonalDetails'\nimport { type PersonalDetailsPayload, type PersonalDetailsInputs } from './PersonalDetailsInputs'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport { HomeAddress, HomeAddressSchema, type HomeAddressInputs } from './HomeAddress'\nimport { WorkAddress } from './WorkAddress'\nimport { ProfileProvider } from './useProfile'\nimport { getEmployeeAddressForProfile } from './getEmployeeAddressForProfile'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { Form } from '@/components/Common/Form'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport type { RequireAtLeastOne, WithRequired } from '@/types/Helpers'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport type ProfileDefaultValues = RequireAtLeastOne<{\n employee?: RequireAtLeastOne<{\n firstName?: string\n middleInitial?: string\n lastName?: string\n email?: string\n dateOfBirth?: string\n }>\n homeAddress?: RequireAtLeastOne<{\n street1?: string\n street2?: string\n city?: string\n state?: string\n zip?: string\n }>\n}>\ninterface ProfileProps extends CommonComponentInterface<'Employee.Profile'> {\n employeeId?: string\n companyId: string\n defaultValues?: ProfileDefaultValues\n isAdmin?: boolean\n isSelfOnboardingEnabled?: boolean\n}\n\ninterface ProfileConditionalProps {\n employee?: Employee\n homeAddresses?: EmployeeAddress[]\n workAddresses?: EmployeeWorkAddress[]\n}\n\nexport function Profile(props: ProfileProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n {props.employeeId ? (\n <RootWithEmployee {...props} employeeId={props.employeeId}>\n {props.children}\n </RootWithEmployee>\n ) : (\n <Root {...props}>{props.children}</Root>\n )}\n </BaseComponent>\n )\n}\n\n/**Accounting for conditional logic where employee data needs to be fetched only if employeeId is present */\nfunction RootWithEmployee({ employeeId, ...props }: WithRequired<ProfileProps, 'employeeId'>) {\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const {\n data: { employeeAddressList },\n } = useEmployeeAddressesGetSuspense({ employeeId })\n const {\n data: { employeeWorkAddressesList },\n } = useEmployeeAddressesGetWorkAddressesSuspense({ employeeId })\n return (\n <Root\n {...props}\n employee={employee}\n homeAddresses={employeeAddressList}\n workAddresses={employeeWorkAddressesList}\n />\n )\n}\n\nconst Root = ({\n isAdmin = false,\n isSelfOnboardingEnabled = true,\n dictionary,\n ...props\n}: ProfileProps & ProfileConditionalProps) => {\n useI18n('Employee.Profile')\n useI18n('Employee.HomeAddress')\n useComponentDictionary('Employee.Profile', dictionary)\n const {\n companyId,\n employee,\n homeAddresses,\n workAddresses,\n children,\n className = '',\n defaultValues,\n } = props\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [AdminSchema, setAdminSchema] = useState<\n typeof AdminPersonalDetailsSchema | typeof AdminSelfOnboardingPersonalDetailsSchema\n >(AdminPersonalDetailsSchema)\n\n const { data } = useLocationsGetSuspense({ companyId })\n const companyLocations = data.locationList!\n\n const { mutateAsync: createEmployee, isPending: isPendingCreateEmployee } =\n useEmployeesCreateMutation()\n const { mutateAsync: mutateEmployee, isPending: isPendingEmployeeUpdate } =\n useEmployeesUpdateMutation()\n\n const { mutateAsync: createEmployeeWorkAddress, isPending: isPendingCreateWA } =\n useEmployeeAddressesCreateWorkAddressMutation()\n const { mutateAsync: mutateEmployeeWorkAddress, isPending: isPendingWorkAddressUpdate } =\n useEmployeeAddressesUpdateWorkAddressMutation()\n\n const { mutateAsync: createEmployeeHomeAddress, isPending: isPendingAddHA } =\n useEmployeeAddressesCreateMutation()\n const { mutateAsync: mutateEmployeeHomeAddress, isPending: isPendingUpdateHA } =\n useEmployeeAddressesUpdateMutation()\n\n const {\n mutateAsync: updateEmployeeOnboardingStatus,\n isPending: isPendingUpdateOnboardingStatus,\n } = useEmployeesUpdateOnboardingStatusMutation()\n\n const existingData = { employee, workAddresses, homeAddresses }\n\n const currentHomeAddress = getEmployeeAddressForProfile(homeAddresses)\n\n const currentWorkAddress = existingData.workAddresses?.find(address => address.active)\n const mergedData = useRef({\n employee: existingData.employee,\n homeAddress: currentHomeAddress,\n workAddress: currentWorkAddress,\n })\n const initialValues = {\n firstName: mergedData.current.employee?.firstName ?? defaultValues?.employee?.firstName ?? '',\n middleInitial:\n mergedData.current.employee?.middleInitial ?? defaultValues?.employee?.middleInitial ?? '',\n lastName: mergedData.current.employee?.lastName ?? defaultValues?.employee?.lastName ?? '',\n workAddress: mergedData.current.workAddress?.locationUuid,\n startDate: mergedData.current.employee?.jobs?.[0]?.hireDate\n ? new Date(mergedData.current.employee.jobs[0].hireDate)\n : null, // By default employee response contains only current job - therefore jobs[0]\n email: mergedData.current.employee?.email ?? defaultValues?.employee?.email ?? '',\n dateOfBirth: mergedData.current.employee?.dateOfBirth\n ? new Date(mergedData.current.employee.dateOfBirth)\n : defaultValues?.employee?.dateOfBirth\n ? new Date(defaultValues.employee.dateOfBirth)\n : null,\n\n street1: mergedData.current.homeAddress?.street1 ?? defaultValues?.homeAddress?.street1 ?? '',\n street2: mergedData.current.homeAddress?.street2 ?? defaultValues?.homeAddress?.street2 ?? '',\n city: mergedData.current.homeAddress?.city ?? defaultValues?.homeAddress?.city ?? '',\n zip: mergedData.current.homeAddress?.zip ?? defaultValues?.homeAddress?.zip ?? '',\n state: mergedData.current.homeAddress?.state ?? defaultValues?.homeAddress?.state ?? '',\n courtesyWithholding: mergedData.current.homeAddress?.courtesyWithholding ?? false,\n }\n\n const adminDefaultValues =\n mergedData.current.employee?.onboarded ||\n mergedData.current.employee?.onboardingStatus ===\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (mergedData.current.employee?.onboardingStatus !== undefined &&\n mergedData.current.employee.onboardingStatus !==\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE)\n ? { ...initialValues, enableSsn: false, selfOnboarding: true }\n : {\n ...initialValues,\n selfOnboarding: isSelfOnboardingEnabled\n ? mergedData.current.employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(mergedData.current.employee.onboarding_status)\n : false\n : false,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n } // In edit mode ssn is submitted only if it has been modified\n\n const selfDetaultValues = {\n ...initialValues,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n }\n\n const formMethods = useForm<\n PersonalDetailsInputs & HomeAddressInputs,\n unknown,\n PersonalDetailsPayload & HomeAddressInputs\n >({\n // @ts-expect-error: Complex discriminated union schema causes type inference issues with zodResolver v5.2.1\n resolver: zodResolver(\n // @ts-expect-error: Zod discriminated union intersection incompatible with zodResolver v5.2.1\n (isAdmin ? AdminSchema : SelfPersonalDetailsSchema).and(HomeAddressSchema),\n ),\n defaultValues: isAdmin ? adminDefaultValues : selfDetaultValues,\n })\n\n const { handleSubmit } = formMethods\n const watchedSelfOnboarding = useWatch({ control: formMethods.control, name: 'selfOnboarding' })\n\n useEffect(() => {\n if (isAdmin) {\n if (watchedSelfOnboarding) {\n setAdminSchema(AdminSelfOnboardingPersonalDetailsSchema)\n } else {\n setAdminSchema(AdminPersonalDetailsSchema)\n }\n }\n }, [watchedSelfOnboarding, isAdmin])\n\n const onSubmit: SubmitHandler<PersonalDetailsPayload & HomeAddressInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { workAddress, startDate, selfOnboarding, ...body } = payload\n //create or update employee\n if (!mergedData.current.employee) {\n const { employee: employeeData } = await createEmployee({\n request: {\n companyId,\n requestBody: {\n ...body,\n selfOnboarding,\n dateOfBirth: body.dateOfBirth ? new RFCDate(body.dateOfBirth) : undefined,\n },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_CREATED, employeeData)\n } else {\n // Updating self-onboarding status\n if (\n isAdmin &&\n ((selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE) ||\n (!selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE))\n ) {\n const { employeeOnboardingStatus } = await updateEmployeeOnboardingStatus({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n onboardingStatus: selfOnboarding\n ? EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n mergedData.current.employee = {\n ...mergedData.current.employee,\n onboardingStatus: employeeOnboardingStatus!\n .onboardingStatus as (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus],\n }\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, employeeOnboardingStatus)\n }\n const { employee: employeeData } = await mutateEmployee({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: { ...body, version: mergedData.current.employee.version as string },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_UPDATED, employeeData)\n }\n if (typeof mergedData.current.employee?.uuid !== 'string') {\n throw new Error('Employee id is not available')\n }\n //create or update home address - only if not intended for self onboarding\n if (!watchedSelfOnboarding || !isAdmin) {\n //typeguard: in this scenario payload will contain address information\n if (!payload.selfOnboarding) {\n const { street1, street2, city, state, zip, courtesyWithholding } = payload\n if (!mergedData.current.homeAddress) {\n // Creating home address - for new employee effective_date is the same as work start date\n const { employeeAddress } = await createEmployeeHomeAddress({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_CREATED, employeeAddress)\n } else {\n const { employeeAddress } = await mutateEmployeeHomeAddress({\n request: {\n homeAddressUuid: mergedData.current.homeAddress.uuid,\n requestBody: {\n version: mergedData.current.homeAddress.version,\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_UPDATED, employeeAddress)\n }\n }\n }\n\n if (isAdmin) {\n //create or update workaddress\n if (!mergedData.current.workAddress) {\n const { employeeWorkAddress } = await createEmployeeWorkAddress({\n request: {\n employeeId: mergedData.current.employee?.uuid as string,\n requestBody: {\n locationUuid: workAddress,\n effectiveDate: new RFCDate(payload.startDate || new Date()),\n },\n },\n })\n\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, employeeWorkAddress)\n } else {\n //effective_date is excluded from update operation since it cannot be changed on initial work address\n const { employeeWorkAddress } = await mutateEmployeeWorkAddress({\n request: {\n workAddressUuid: mergedData.current.workAddress.uuid,\n requestBody: {\n version: mergedData.current.workAddress.version,\n locationUuid: workAddress,\n },\n },\n })\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, employeeWorkAddress)\n }\n }\n\n onEvent(componentEvents.EMPLOYEE_PROFILE_DONE, {\n ...mergedData.current.employee,\n startDate,\n })\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n return (\n <section className={className}>\n <ProfileProvider\n value={{\n companyLocations,\n workAddresses,\n employee: mergedData.current.employee ?? undefined,\n isSelfOnboardingIntended: watchedSelfOnboarding,\n handleCancel,\n isAdmin,\n isSelfOnboardingEnabled,\n isPending:\n isPendingEmployeeUpdate ||\n isPendingWorkAddressUpdate ||\n isPendingAddHA ||\n isPendingUpdateHA ||\n isPendingCreateEmployee ||\n isPendingCreateWA ||\n isPendingUpdateOnboardingStatus,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Grid gridTemplateColumns=\"1fr\" gap={24}>\n <Head />\n <AdminPersonalDetails />\n <SelfPersonalDetails />\n <HomeAddress />\n <WorkAddress />\n </Grid>\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </ProfileProvider>\n </section>\n )\n}\n\nexport const ProfileContextual = () => {\n const { companyId, employeeId, onEvent, isAdmin, defaultValues, isSelfOnboardingEnabled } =\n useFlow<OnboardingContextInterface>()\n\n return (\n <Profile\n companyId={ensureRequired(companyId)}\n employeeId={employeeId}\n onEvent={onEvent}\n isAdmin={isAdmin}\n defaultValues={defaultValues?.profile}\n isSelfOnboardingEnabled={isSelfOnboardingEnabled}\n />\n )\n}\n"],"names":["Profile","props","jsx","BaseComponent","RootWithEmployee","Root","employeeId","employee","useEmployeesGetSuspense","employeeAddressList","useEmployeeAddressesGetSuspense","employeeWorkAddressesList","useEmployeeAddressesGetWorkAddressesSuspense","isAdmin","isSelfOnboardingEnabled","dictionary","useI18n","useComponentDictionary","companyId","homeAddresses","workAddresses","children","className","defaultValues","onEvent","baseSubmitHandler","useBase","AdminSchema","setAdminSchema","useState","AdminPersonalDetailsSchema","data","useLocationsGetSuspense","companyLocations","createEmployee","isPendingCreateEmployee","useEmployeesCreateMutation","mutateEmployee","isPendingEmployeeUpdate","useEmployeesUpdateMutation","createEmployeeWorkAddress","isPendingCreateWA","useEmployeeAddressesCreateWorkAddressMutation","mutateEmployeeWorkAddress","isPendingWorkAddressUpdate","useEmployeeAddressesUpdateWorkAddressMutation","createEmployeeHomeAddress","isPendingAddHA","useEmployeeAddressesCreateMutation","mutateEmployeeHomeAddress","isPendingUpdateHA","useEmployeeAddressesUpdateMutation","updateEmployeeOnboardingStatus","isPendingUpdateOnboardingStatus","useEmployeesUpdateOnboardingStatusMutation","existingData","currentHomeAddress","getEmployeeAddressForProfile","currentWorkAddress","address","mergedData","useRef","initialValues","adminDefaultValues","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","selfDetaultValues","formMethods","useForm","zodResolver","SelfPersonalDetailsSchema","HomeAddressSchema","handleSubmit","watchedSelfOnboarding","useWatch","useEffect","AdminSelfOnboardingPersonalDetailsSchema","onSubmit","payload","workAddress","startDate","selfOnboarding","body","employeeOnboardingStatus","componentEvents","employeeData","RFCDate","street1","street2","city","state","zip","courtesyWithholding","employeeAddress","employeeWorkAddress","handleCancel","ProfileProvider","FormProvider","Form","jsxs","Fragment","Grid","Head","AdminPersonalDetails","SelfPersonalDetails","HomeAddress","WorkAddress","Actions","ProfileContextual","useFlow","ensureRequired"],"mappings":"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"}
1
+ {"version":3,"file":"Profile.js","sources":["../../../../src/components/Employee/Profile/Profile.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { useRef, useState, useEffect } from 'react'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useLocationsGetSuspense } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeesCreateMutation } from '@gusto/embedded-api/react-query/employeesCreate'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { type Employee } from '@gusto/embedded-api/models/components/employee'\nimport { useEmployeeAddressesGetSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { type EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { useEmployeesUpdateMutation } from '@gusto/embedded-api/react-query/employeesUpdate'\nimport { useEmployeeAddressesGetWorkAddressesSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport {\n AdminPersonalDetails,\n AdminPersonalDetailsSchema,\n AdminSelfOnboardingPersonalDetailsSchema,\n} from './AdminPersonalDetails'\nimport { SelfPersonalDetails, SelfPersonalDetailsSchema } from './SelfPersonalDetails'\nimport { type PersonalDetailsPayload, type PersonalDetailsInputs } from './PersonalDetailsInputs'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport { HomeAddress, HomeAddressSchema, type HomeAddressInputs } from './HomeAddress'\nimport { WorkAddress } from './WorkAddress'\nimport { ProfileProvider } from './useProfile'\nimport { getEmployeeAddressForProfile } from './getEmployeeAddressForProfile'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { Form } from '@/components/Common/Form'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport type { RequireAtLeastOne, WithRequired } from '@/types/Helpers'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport type ProfileDefaultValues = RequireAtLeastOne<{\n employee?: RequireAtLeastOne<{\n firstName?: string\n middleInitial?: string\n lastName?: string\n email?: string\n dateOfBirth?: string\n }>\n homeAddress?: RequireAtLeastOne<{\n street1?: string\n street2?: string\n city?: string\n state?: string\n zip?: string\n }>\n inviteEmployeeDefault?: boolean\n}>\ninterface ProfileProps extends CommonComponentInterface<'Employee.Profile'> {\n employeeId?: string\n companyId: string\n defaultValues?: ProfileDefaultValues\n isAdmin?: boolean\n isSelfOnboardingEnabled?: boolean\n}\n\ninterface ProfileConditionalProps {\n employee?: Employee\n homeAddresses?: EmployeeAddress[]\n workAddresses?: EmployeeWorkAddress[]\n}\n\nexport function Profile(props: ProfileProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n {props.employeeId ? (\n <RootWithEmployee {...props} employeeId={props.employeeId}>\n {props.children}\n </RootWithEmployee>\n ) : (\n <Root {...props}>{props.children}</Root>\n )}\n </BaseComponent>\n )\n}\n\n/**Accounting for conditional logic where employee data needs to be fetched only if employeeId is present */\nfunction RootWithEmployee({ employeeId, ...props }: WithRequired<ProfileProps, 'employeeId'>) {\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const {\n data: { employeeAddressList },\n } = useEmployeeAddressesGetSuspense({ employeeId })\n const {\n data: { employeeWorkAddressesList },\n } = useEmployeeAddressesGetWorkAddressesSuspense({ employeeId })\n return (\n <Root\n {...props}\n employee={employee}\n homeAddresses={employeeAddressList}\n workAddresses={employeeWorkAddressesList}\n />\n )\n}\n\nconst Root = ({\n isAdmin = false,\n isSelfOnboardingEnabled = true,\n dictionary,\n ...props\n}: ProfileProps & ProfileConditionalProps) => {\n useI18n('Employee.Profile')\n useI18n('Employee.HomeAddress')\n useComponentDictionary('Employee.Profile', dictionary)\n const {\n companyId,\n employee,\n homeAddresses,\n workAddresses,\n children,\n className = '',\n defaultValues,\n } = props\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [AdminSchema, setAdminSchema] = useState<\n typeof AdminPersonalDetailsSchema | typeof AdminSelfOnboardingPersonalDetailsSchema\n >(AdminPersonalDetailsSchema)\n\n const { data } = useLocationsGetSuspense({ companyId })\n const companyLocations = data.locationList!\n\n const { mutateAsync: createEmployee, isPending: isPendingCreateEmployee } =\n useEmployeesCreateMutation()\n const { mutateAsync: mutateEmployee, isPending: isPendingEmployeeUpdate } =\n useEmployeesUpdateMutation()\n\n const { mutateAsync: createEmployeeWorkAddress, isPending: isPendingCreateWA } =\n useEmployeeAddressesCreateWorkAddressMutation()\n const { mutateAsync: mutateEmployeeWorkAddress, isPending: isPendingWorkAddressUpdate } =\n useEmployeeAddressesUpdateWorkAddressMutation()\n\n const { mutateAsync: createEmployeeHomeAddress, isPending: isPendingAddHA } =\n useEmployeeAddressesCreateMutation()\n const { mutateAsync: mutateEmployeeHomeAddress, isPending: isPendingUpdateHA } =\n useEmployeeAddressesUpdateMutation()\n\n const {\n mutateAsync: updateEmployeeOnboardingStatus,\n isPending: isPendingUpdateOnboardingStatus,\n } = useEmployeesUpdateOnboardingStatusMutation()\n\n const existingData = { employee, workAddresses, homeAddresses }\n\n const currentHomeAddress = getEmployeeAddressForProfile(homeAddresses)\n\n const currentWorkAddress = existingData.workAddresses?.find(address => address.active)\n const mergedData = useRef({\n employee: existingData.employee,\n homeAddress: currentHomeAddress,\n workAddress: currentWorkAddress,\n })\n const initialValues = {\n firstName: mergedData.current.employee?.firstName ?? defaultValues?.employee?.firstName ?? '',\n middleInitial:\n mergedData.current.employee?.middleInitial ?? defaultValues?.employee?.middleInitial ?? '',\n lastName: mergedData.current.employee?.lastName ?? defaultValues?.employee?.lastName ?? '',\n workAddress: mergedData.current.workAddress?.locationUuid,\n startDate: mergedData.current.employee?.jobs?.[0]?.hireDate\n ? new Date(mergedData.current.employee.jobs[0].hireDate)\n : null, // By default employee response contains only current job - therefore jobs[0]\n email: mergedData.current.employee?.email ?? defaultValues?.employee?.email ?? '',\n dateOfBirth: mergedData.current.employee?.dateOfBirth\n ? new Date(mergedData.current.employee.dateOfBirth)\n : defaultValues?.employee?.dateOfBirth\n ? new Date(defaultValues.employee.dateOfBirth)\n : null,\n\n street1: mergedData.current.homeAddress?.street1 ?? defaultValues?.homeAddress?.street1 ?? '',\n street2: mergedData.current.homeAddress?.street2 ?? defaultValues?.homeAddress?.street2 ?? '',\n city: mergedData.current.homeAddress?.city ?? defaultValues?.homeAddress?.city ?? '',\n zip: mergedData.current.homeAddress?.zip ?? defaultValues?.homeAddress?.zip ?? '',\n state: mergedData.current.homeAddress?.state ?? defaultValues?.homeAddress?.state ?? '',\n courtesyWithholding: mergedData.current.homeAddress?.courtesyWithholding ?? false,\n }\n\n const adminDefaultValues =\n mergedData.current.employee?.onboarded ||\n mergedData.current.employee?.onboardingStatus ===\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (mergedData.current.employee?.onboardingStatus !== undefined &&\n mergedData.current.employee.onboardingStatus !==\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE)\n ? { ...initialValues, enableSsn: false, selfOnboarding: true }\n : {\n ...initialValues,\n selfOnboarding: isSelfOnboardingEnabled\n ? mergedData.current.employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(mergedData.current.employee.onboarding_status)\n : (defaultValues?.inviteEmployeeDefault ?? false)\n : false,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n } // In edit mode ssn is submitted only if it has been modified\n\n const selfDetaultValues = {\n ...initialValues,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n }\n\n const formMethods = useForm<\n PersonalDetailsInputs & HomeAddressInputs,\n unknown,\n PersonalDetailsPayload & HomeAddressInputs\n >({\n // @ts-expect-error: Complex discriminated union schema causes type inference issues with zodResolver v5.2.1\n resolver: zodResolver(\n // @ts-expect-error: Zod discriminated union intersection incompatible with zodResolver v5.2.1\n (isAdmin ? AdminSchema : SelfPersonalDetailsSchema).and(HomeAddressSchema),\n ),\n defaultValues: isAdmin ? adminDefaultValues : selfDetaultValues,\n })\n\n const { handleSubmit } = formMethods\n const watchedSelfOnboarding = useWatch({ control: formMethods.control, name: 'selfOnboarding' })\n\n useEffect(() => {\n if (isAdmin) {\n if (watchedSelfOnboarding) {\n setAdminSchema(AdminSelfOnboardingPersonalDetailsSchema)\n } else {\n setAdminSchema(AdminPersonalDetailsSchema)\n }\n }\n }, [watchedSelfOnboarding, isAdmin])\n\n const onSubmit: SubmitHandler<PersonalDetailsPayload & HomeAddressInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { workAddress, startDate, selfOnboarding, ...body } = payload\n //create or update employee\n if (!mergedData.current.employee) {\n const { employee: employeeData } = await createEmployee({\n request: {\n companyId,\n requestBody: {\n ...body,\n selfOnboarding,\n dateOfBirth: body.dateOfBirth ? new RFCDate(body.dateOfBirth) : undefined,\n },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_CREATED, employeeData)\n } else {\n // Updating self-onboarding status\n if (\n isAdmin &&\n ((selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE) ||\n (!selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE))\n ) {\n const { employeeOnboardingStatus } = await updateEmployeeOnboardingStatus({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n onboardingStatus: selfOnboarding\n ? EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n mergedData.current.employee = {\n ...mergedData.current.employee,\n onboardingStatus: employeeOnboardingStatus!\n .onboardingStatus as (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus],\n }\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, employeeOnboardingStatus)\n }\n const { employee: employeeData } = await mutateEmployee({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: { ...body, version: mergedData.current.employee.version as string },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_UPDATED, employeeData)\n }\n if (typeof mergedData.current.employee?.uuid !== 'string') {\n throw new Error('Employee id is not available')\n }\n //create or update home address - only if not intended for self onboarding\n if (!watchedSelfOnboarding || !isAdmin) {\n //typeguard: in this scenario payload will contain address information\n if (!payload.selfOnboarding) {\n const { street1, street2, city, state, zip, courtesyWithholding } = payload\n if (!mergedData.current.homeAddress) {\n // Creating home address - for new employee effective_date is the same as work start date\n const { employeeAddress } = await createEmployeeHomeAddress({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_CREATED, employeeAddress)\n } else {\n const { employeeAddress } = await mutateEmployeeHomeAddress({\n request: {\n homeAddressUuid: mergedData.current.homeAddress.uuid,\n requestBody: {\n version: mergedData.current.homeAddress.version,\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_UPDATED, employeeAddress)\n }\n }\n }\n\n if (isAdmin) {\n //create or update workaddress\n if (!mergedData.current.workAddress) {\n const { employeeWorkAddress } = await createEmployeeWorkAddress({\n request: {\n employeeId: mergedData.current.employee?.uuid as string,\n requestBody: {\n locationUuid: workAddress,\n effectiveDate: new RFCDate(payload.startDate || new Date()),\n },\n },\n })\n\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, employeeWorkAddress)\n } else {\n //effective_date is excluded from update operation since it cannot be changed on initial work address\n const { employeeWorkAddress } = await mutateEmployeeWorkAddress({\n request: {\n workAddressUuid: mergedData.current.workAddress.uuid,\n requestBody: {\n version: mergedData.current.workAddress.version,\n locationUuid: workAddress,\n },\n },\n })\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, employeeWorkAddress)\n }\n }\n\n onEvent(componentEvents.EMPLOYEE_PROFILE_DONE, {\n ...mergedData.current.employee,\n startDate,\n })\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n return (\n <section className={className}>\n <ProfileProvider\n value={{\n companyLocations,\n workAddresses,\n employee: mergedData.current.employee ?? undefined,\n isSelfOnboardingIntended: watchedSelfOnboarding,\n handleCancel,\n isAdmin,\n isSelfOnboardingEnabled,\n isPending:\n isPendingEmployeeUpdate ||\n isPendingWorkAddressUpdate ||\n isPendingAddHA ||\n isPendingUpdateHA ||\n isPendingCreateEmployee ||\n isPendingCreateWA ||\n isPendingUpdateOnboardingStatus,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Grid gridTemplateColumns=\"1fr\" gap={24}>\n <Head />\n <AdminPersonalDetails />\n <SelfPersonalDetails />\n <HomeAddress />\n <WorkAddress />\n </Grid>\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </ProfileProvider>\n </section>\n )\n}\n\nexport const ProfileContextual = () => {\n const { companyId, employeeId, onEvent, isAdmin, defaultValues, isSelfOnboardingEnabled } =\n useFlow<OnboardingContextInterface>()\n\n return (\n <Profile\n companyId={ensureRequired(companyId)}\n employeeId={employeeId}\n onEvent={onEvent}\n isAdmin={isAdmin}\n defaultValues={defaultValues?.profile}\n isSelfOnboardingEnabled={isSelfOnboardingEnabled}\n />\n )\n}\n"],"names":["Profile","props","jsx","BaseComponent","RootWithEmployee","Root","employeeId","employee","useEmployeesGetSuspense","employeeAddressList","useEmployeeAddressesGetSuspense","employeeWorkAddressesList","useEmployeeAddressesGetWorkAddressesSuspense","isAdmin","isSelfOnboardingEnabled","dictionary","useI18n","useComponentDictionary","companyId","homeAddresses","workAddresses","children","className","defaultValues","onEvent","baseSubmitHandler","useBase","AdminSchema","setAdminSchema","useState","AdminPersonalDetailsSchema","data","useLocationsGetSuspense","companyLocations","createEmployee","isPendingCreateEmployee","useEmployeesCreateMutation","mutateEmployee","isPendingEmployeeUpdate","useEmployeesUpdateMutation","createEmployeeWorkAddress","isPendingCreateWA","useEmployeeAddressesCreateWorkAddressMutation","mutateEmployeeWorkAddress","isPendingWorkAddressUpdate","useEmployeeAddressesUpdateWorkAddressMutation","createEmployeeHomeAddress","isPendingAddHA","useEmployeeAddressesCreateMutation","mutateEmployeeHomeAddress","isPendingUpdateHA","useEmployeeAddressesUpdateMutation","updateEmployeeOnboardingStatus","isPendingUpdateOnboardingStatus","useEmployeesUpdateOnboardingStatusMutation","existingData","currentHomeAddress","getEmployeeAddressForProfile","currentWorkAddress","address","mergedData","useRef","initialValues","adminDefaultValues","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","selfDetaultValues","formMethods","useForm","zodResolver","SelfPersonalDetailsSchema","HomeAddressSchema","handleSubmit","watchedSelfOnboarding","useWatch","useEffect","AdminSelfOnboardingPersonalDetailsSchema","onSubmit","payload","workAddress","startDate","selfOnboarding","body","employeeOnboardingStatus","componentEvents","employeeData","RFCDate","street1","street2","city","state","zip","courtesyWithholding","employeeAddress","employeeWorkAddress","handleCancel","ProfileProvider","FormProvider","Form","jsxs","Fragment","Grid","Head","AdminPersonalDetails","SelfPersonalDetails","HomeAddress","WorkAddress","Actions","ProfileContextual","useFlow","ensureRequired"],"mappings":"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"}
@@ -12,10 +12,11 @@ import "classnames";
12
12
  import "dompurify";
13
13
  import "../../../contexts/LocaleProvider/useLocale.js";
14
14
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
15
16
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
16
- const [u, a] = o("ProfileContext");
17
+ const [a, v] = o("ProfileContext");
17
18
  export {
18
- a as ProfileProvider,
19
- u as useProfile
19
+ v as ProfileProvider,
20
+ a as useProfile
20
21
  };
21
22
  //# sourceMappingURL=useProfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProfile.js","sources":["../../../../src/components/Employee/Profile/useProfile.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype ProfileContextType = {\n companyLocations: Location[]\n workAddresses?: EmployeeWorkAddress[]\n employee?: Employee\n isSelfOnboardingIntended?: boolean\n isPending: boolean\n isAdmin: boolean\n handleCancel: () => void\n isSelfOnboardingEnabled: boolean\n}\n\nconst [useProfile, ProfileProvider] = createCompoundContext<ProfileContextType>('ProfileContext')\nexport { useProfile, ProfileProvider }\n"],"names":["useProfile","ProfileProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAiBA,MAAM,CAACA,GAAYC,CAAe,IAAIC,EAA0C,gBAAgB;"}
1
+ {"version":3,"file":"useProfile.js","sources":["../../../../src/components/Employee/Profile/useProfile.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype ProfileContextType = {\n companyLocations: Location[]\n workAddresses?: EmployeeWorkAddress[]\n employee?: Employee\n isSelfOnboardingIntended?: boolean\n isPending: boolean\n isAdmin: boolean\n handleCancel: () => void\n isSelfOnboardingEnabled: boolean\n}\n\nconst [useProfile, ProfileProvider] = createCompoundContext<ProfileContextType>('ProfileContext')\nexport { useProfile, ProfileProvider }\n"],"names":["useProfile","ProfileProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,CAACA,GAAYC,CAAe,IAAIC,EAA0C,gBAAgB;"}
@@ -1,22 +1,26 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { createMachine as t } from "robot3";
3
- import { Landing as a } from "./SelfOnboardingComponents.js";
3
+ import { useMemo as a } from "react";
4
+ import { Landing as f } from "./SelfOnboardingComponents.js";
4
5
  import { employeeSelfOnboardingMachine as p } from "./selfOnboardingMachine.js";
5
6
  import { Flow as c } from "../../Flow/Flow.js";
6
- const h = ({ companyId: o, employeeId: e, onEvent: n }) => {
7
- const r = t(
8
- "index",
9
- p,
10
- (m) => ({
11
- ...m,
12
- component: a,
13
- companyId: o,
14
- employeeId: e
15
- })
7
+ const b = ({ companyId: o, employeeId: r, onEvent: e }) => {
8
+ const m = a(
9
+ () => t(
10
+ "index",
11
+ p,
12
+ (n) => ({
13
+ ...n,
14
+ component: f,
15
+ companyId: o,
16
+ employeeId: r
17
+ })
18
+ ),
19
+ [o, r]
16
20
  );
17
- return /* @__PURE__ */ i(c, { machine: r, onEvent: n });
21
+ return /* @__PURE__ */ i(c, { machine: m, onEvent: e });
18
22
  };
19
23
  export {
20
- h as SelfOnboardingFlow
24
+ b as SelfOnboardingFlow
21
25
  };
22
26
  //# sourceMappingURL=SelfOnboardingFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelfOnboardingFlow.js","sources":["../../../../src/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport type {\n SelfOnboardingContextInterface,\n SelfOnboardingFlowProps,\n} from './SelfOnboardingComponents'\nimport { Landing } from './SelfOnboardingComponents'\nimport { employeeSelfOnboardingMachine } from './selfOnboardingMachine'\nimport { Flow } from '@/components/Flow/Flow'\n\nexport const SelfOnboardingFlow = ({ companyId, employeeId, onEvent }: SelfOnboardingFlowProps) => {\n const manageEmployees = createMachine(\n 'index',\n employeeSelfOnboardingMachine,\n (initialContext: SelfOnboardingContextInterface) => ({\n ...initialContext,\n component: Landing,\n companyId,\n employeeId,\n }),\n )\n return <Flow machine={manageEmployees} onEvent={onEvent} />\n}\n"],"names":["SelfOnboardingFlow","companyId","employeeId","onEvent","manageEmployees","createMachine","employeeSelfOnboardingMachine","initialContext","Landing","jsx","Flow"],"mappings":";;;;;AASO,MAAMA,IAAqB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,QAAuC;AACjG,QAAMC,IAAkBC;AAAA,IACtB;AAAA,IACAC;AAAA,IACA,CAACC,OAAoD;AAAA,MACnD,GAAGA;AAAA,MACH,WAAWC;AAAA,MACX,WAAAP;AAAA,MACA,YAAAC;AAAA,IAAA;AAAA,EACF;AAEF,SAAO,gBAAAO,EAACC,GAAA,EAAK,SAASN,GAAiB,SAAAD,EAAA,CAAkB;AAC3D;"}
1
+ {"version":3,"file":"SelfOnboardingFlow.js","sources":["../../../../src/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport type {\n SelfOnboardingContextInterface,\n SelfOnboardingFlowProps,\n} from './SelfOnboardingComponents'\nimport { Landing } from './SelfOnboardingComponents'\nimport { employeeSelfOnboardingMachine } from './selfOnboardingMachine'\nimport { Flow } from '@/components/Flow/Flow'\n\nexport const SelfOnboardingFlow = ({ companyId, employeeId, onEvent }: SelfOnboardingFlowProps) => {\n const manageEmployees = useMemo(\n () =>\n createMachine(\n 'index',\n employeeSelfOnboardingMachine,\n (initialContext: SelfOnboardingContextInterface) => ({\n ...initialContext,\n component: Landing,\n companyId,\n employeeId,\n }),\n ),\n [companyId, employeeId],\n )\n return <Flow machine={manageEmployees} onEvent={onEvent} />\n}\n"],"names":["SelfOnboardingFlow","companyId","employeeId","onEvent","manageEmployees","useMemo","createMachine","employeeSelfOnboardingMachine","initialContext","Landing","jsx","Flow"],"mappings":";;;;;;AAUO,MAAMA,IAAqB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,QAAuC;AACjG,QAAMC,IAAkBC;AAAA,IACtB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAR;AAAA,QACA,YAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACD,GAAWC,CAAU;AAAA,EAAA;AAExB,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAASP,GAAiB,SAAAD,EAAA,CAAkB;AAC3D;"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useTranslation as i } from "react-i18next";
2
+ import { useTranslation as e } from "react-i18next";
3
3
  import { useStateTaxes as r } from "./useStateTaxes.js";
4
4
  import "classnames";
5
- import { ActionsLayout as s } from "../../Common/ActionsLayout/ActionsLayout.js";
6
- import { useComponentContext as m } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
- function d() {
8
- const { t: o } = i("Employee.StateTaxes"), { isPending: n } = r(), e = m();
9
- return /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(e.Button, { type: "submit", isLoading: n, children: o("submitCta") }) });
5
+ import "../../../shared/constants.js";
6
+ import { ActionsLayout as m } from "../../Common/ActionsLayout/ActionsLayout.js";
7
+ import { useComponentContext as s } from "../../../contexts/ComponentAdapter/useComponentContext.js";
8
+ function l() {
9
+ const { t: o } = e("Employee.StateTaxes"), { isPending: n } = r(), i = s();
10
+ return /* @__PURE__ */ t(m, { children: /* @__PURE__ */ t(i.Button, { type: "submit", isLoading: n, children: o("submitCta") }) });
10
11
  }
11
12
  export {
12
- d as Actions
13
+ l as Actions
13
14
  };
14
15
  //# sourceMappingURL=Actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../src/components/Employee/StateTaxes/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxes } from './useStateTaxes'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Actions() {\n const { t } = useTranslation('Employee.StateTaxes')\n const { isPending } = useStateTaxes()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","t","useTranslation","isPending","useStateTaxes","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;AAKO,SAASA,IAAU;AACxB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5C,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAChBC,IAAaC,EAAA;AAEnB,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACF,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWF,GACzC,UAAAF,EAAE,WAAW,GAChB,GACF;AAEJ;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../src/components/Employee/StateTaxes/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxes } from './useStateTaxes'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Actions() {\n const { t } = useTranslation('Employee.StateTaxes')\n const { isPending } = useStateTaxes()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","t","useTranslation","isPending","useStateTaxes","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;;AAKO,SAASA,IAAU;AACxB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5C,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAChBC,IAAaC,EAAA;AAEnB,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACF,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWF,GACzC,UAAAF,EAAE,WAAW,GAChB,GACF;AAEJ;"}
@@ -12,10 +12,11 @@ import "classnames";
12
12
  import "dompurify";
13
13
  import "../../../contexts/LocaleProvider/useLocale.js";
14
14
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
15
16
  import { createCompoundContext as t } from "../../Base/createCompoundContext.js";
16
- const [u, f] = t("StateTaxesContext");
17
+ const [f, v] = t("StateTaxesContext");
17
18
  export {
18
- f as StateTaxesProvider,
19
- u as useStateTaxes
19
+ v as StateTaxesProvider,
20
+ f as useStateTaxes
20
21
  };
21
22
  //# sourceMappingURL=useStateTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStateTaxes.js","sources":["../../../../src/components/Employee/StateTaxes/useStateTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useStateTaxes, StateTaxesProvider] =\n createCompoundContext<StateTaxesContextType>('StateTaxesContext')\nexport { useStateTaxes, StateTaxesProvider }\n"],"names":["useStateTaxes","StateTaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAeC,CAAkB,IACtCC,EAA6C,mBAAmB;"}
1
+ {"version":3,"file":"useStateTaxes.js","sources":["../../../../src/components/Employee/StateTaxes/useStateTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useStateTaxes, StateTaxesProvider] =\n createCompoundContext<StateTaxesContextType>('StateTaxesContext')\nexport { useStateTaxes, StateTaxesProvider }\n"],"names":["useStateTaxes","StateTaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAeC,CAAkB,IACtCC,EAA6C,mBAAmB;"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { useTranslation as i } from "react-i18next";
3
- import { useTaxes as r } from "./useTaxes.js";
2
+ import { useTranslation as r } from "react-i18next";
3
+ import { useTaxes as s } from "./useTaxes.js";
4
4
  import "classnames";
5
- import { ActionsLayout as e } from "../../Common/ActionsLayout/ActionsLayout.js";
6
- import { useComponentContext as m } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
- const d = () => {
8
- const { t } = i("Employee.Taxes"), { isPending: n } = r(), s = m();
9
- return /* @__PURE__ */ o(e, { children: /* @__PURE__ */ o(s.Button, { type: "submit", isLoading: n, children: t("submitCta") }) });
5
+ import "../../../shared/constants.js";
6
+ import { ActionsLayout as m } from "../../Common/ActionsLayout/ActionsLayout.js";
7
+ import { useComponentContext as e } from "../../../contexts/ComponentAdapter/useComponentContext.js";
8
+ const l = () => {
9
+ const { t } = r("Employee.Taxes"), { isPending: n } = s(), i = e();
10
+ return /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(i.Button, { type: "submit", isLoading: n, children: t("submitCta") }) });
10
11
  };
11
12
  export {
12
- d as Actions
13
+ l as Actions
13
14
  };
14
15
  //# sourceMappingURL=Actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../src/components/Employee/Taxes/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useTaxes } from './useTaxes'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const Actions = () => {\n const { t } = useTranslation('Employee.Taxes')\n const { isPending } = useTaxes()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","isPending","useTaxes","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;AAKO,MAAMA,IAAU,MAAM;AAC3B,QAAM,EAAE,EAAA,IAAMC,EAAe,gBAAgB,GACvC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAChBC,IAAaC,EAAA;AAEnB,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACF,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWF,GACzC,UAAA,EAAE,WAAW,GAChB,GACF;AAEJ;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../src/components/Employee/Taxes/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useTaxes } from './useTaxes'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const Actions = () => {\n const { t } = useTranslation('Employee.Taxes')\n const { isPending } = useTaxes()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","isPending","useTaxes","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;;AAKO,MAAMA,IAAU,MAAM;AAC3B,QAAM,EAAE,EAAA,IAAMC,EAAe,gBAAgB,GACvC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAChBC,IAAaC,EAAA;AAEnB,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACF,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWF,GACzC,UAAA,EAAE,WAAW,GAChB,GACF;AAEJ;"}
@@ -1,12 +1,13 @@
1
1
  import { jsxs as l, Fragment as a, jsx as r } from "react/jsx-runtime";
2
- import { useTranslation as s, Trans as u } from "react-i18next";
2
+ import { useTranslation as s, Trans as m } from "react-i18next";
3
3
  import { z as t } from "zod";
4
4
  import "classnames";
5
- import { useComponentContext as m } from "../../../contexts/ComponentAdapter/useComponentContext.js";
6
- import { SelectField as d } from "../../Common/Fields/SelectField/SelectField.js";
7
- import { RadioGroupField as f } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
5
+ import "../../../shared/constants.js";
6
+ import { RadioGroupField as u } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
8
7
  import { NumberInputField as i } from "../../Common/Fields/NumberInputField/NumberInputField.js";
9
- const R = t.object({
8
+ import { useComponentContext as d } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { SelectField as f } from "../../Common/Fields/SelectField/SelectField.js";
10
+ const q = t.object({
10
11
  filingStatus: t.string().min(1),
11
12
  twoJobs: t.string().min(1),
12
13
  dependentsAmount: t.number().transform(String),
@@ -15,8 +16,8 @@ const R = t.object({
15
16
  extraWithholding: t.number().transform(String),
16
17
  w4DataType: t.enum(["pre_2020_w4", "rev_2020_w4"])
17
18
  });
18
- function q() {
19
- const { t: e } = s("Employee.Taxes"), o = m(), n = [
19
+ function v() {
20
+ const { t: e } = s("Employee.Taxes"), o = d(), n = [
20
21
  { value: "Single", label: e("filingStatusSingle") },
21
22
  { value: "Married", label: e("filingStatusMarried") },
22
23
  { value: "Head of Household", label: e("filingStatusHeadOfHousehold") },
@@ -24,7 +25,7 @@ function q() {
24
25
  ];
25
26
  return /* @__PURE__ */ l(a, { children: [
26
27
  /* @__PURE__ */ r(
27
- d,
28
+ f,
28
29
  {
29
30
  name: "filingStatus",
30
31
  label: e("federalFilingStatus1c"),
@@ -35,14 +36,14 @@ function q() {
35
36
  }
36
37
  ),
37
38
  /* @__PURE__ */ r(
38
- f,
39
+ u,
39
40
  {
40
41
  name: "twoJobs",
41
42
  isRequired: !0,
42
43
  label: e("multipleJobs2c"),
43
44
  errorMessage: e("validations.federalTwoJobs"),
44
45
  description: /* @__PURE__ */ r(o.Text, { children: /* @__PURE__ */ r(
45
- u,
46
+ m,
46
47
  {
47
48
  i18nKey: "includesSpouseExplanation",
48
49
  t: e,
@@ -102,7 +103,7 @@ function q() {
102
103
  ] });
103
104
  }
104
105
  export {
105
- q as FederalForm,
106
- R as FederalFormSchema
106
+ v as FederalForm,
107
+ q as FederalFormSchema
107
108
  };
108
109
  //# sourceMappingURL=FederalForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FederalForm.js","sources":["../../../../src/components/Employee/Taxes/FederalForm.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { NumberInputField, RadioGroupField, SelectField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const FederalFormSchema = z.object({\n filingStatus: z.string().min(1),\n twoJobs: z.string().min(1),\n dependentsAmount: z.number().transform(String),\n otherIncome: z.number().transform(String),\n deductions: z.number().transform(String),\n extraWithholding: z.number().transform(String),\n w4DataType: z.enum(['pre_2020_w4', 'rev_2020_w4']),\n})\n\nexport type FederalFormInputs = z.input<typeof FederalFormSchema>\nexport type FederalFormPayload = z.output<typeof FederalFormSchema>\n\nexport function FederalForm() {\n const { t } = useTranslation('Employee.Taxes')\n const Components = useComponentContext()\n\n const filingStatusCategories = [\n { value: 'Single', label: t('filingStatusSingle') },\n { value: 'Married', label: t('filingStatusMarried') },\n { value: 'Head of Household', label: t('filingStatusHeadOfHousehold') },\n { value: 'Exempt from withholding', label: t('filingStatusExemptFromWithholding') },\n ]\n\n return (\n <>\n <SelectField\n name=\"filingStatus\"\n label={t('federalFilingStatus1c')}\n placeholder={t('federalFillingStatusPlaceholder')}\n options={filingStatusCategories}\n isRequired\n errorMessage={t('validations.federalFilingStatus')}\n />\n <RadioGroupField\n name=\"twoJobs\"\n isRequired\n label={t('multipleJobs2c')}\n errorMessage={t('validations.federalTwoJobs')}\n description={\n <Components.Text>\n <Trans\n i18nKey={'includesSpouseExplanation'}\n t={t}\n components={{\n irs_link: <Components.Link />,\n }}\n />\n </Components.Text>\n }\n options={[\n { value: 'true', label: t('twoJobYesLabel') },\n { value: 'false', label: t('twoJobNoLabel') },\n ]}\n />\n <NumberInputField\n name=\"dependentsAmount\"\n isRequired\n label={t('dependentsTotalIfApplicable')}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"otherIncome\"\n isRequired\n label={t('otherIncome')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"deductions\"\n isRequired\n label={t('deductions')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"extraWithholding\"\n isRequired\n label={t('extraWithholding')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n </>\n )\n}\n"],"names":["FederalFormSchema","z","FederalForm","t","useTranslation","Components","useComponentContext","filingStatusCategories","jsxs","Fragment","jsx","SelectField","RadioGroupField","Trans","NumberInputField"],"mappings":"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"}
1
+ {"version":3,"file":"FederalForm.js","sources":["../../../../src/components/Employee/Taxes/FederalForm.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { NumberInputField, RadioGroupField, SelectField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const FederalFormSchema = z.object({\n filingStatus: z.string().min(1),\n twoJobs: z.string().min(1),\n dependentsAmount: z.number().transform(String),\n otherIncome: z.number().transform(String),\n deductions: z.number().transform(String),\n extraWithholding: z.number().transform(String),\n w4DataType: z.enum(['pre_2020_w4', 'rev_2020_w4']),\n})\n\nexport type FederalFormInputs = z.input<typeof FederalFormSchema>\nexport type FederalFormPayload = z.output<typeof FederalFormSchema>\n\nexport function FederalForm() {\n const { t } = useTranslation('Employee.Taxes')\n const Components = useComponentContext()\n\n const filingStatusCategories = [\n { value: 'Single', label: t('filingStatusSingle') },\n { value: 'Married', label: t('filingStatusMarried') },\n { value: 'Head of Household', label: t('filingStatusHeadOfHousehold') },\n { value: 'Exempt from withholding', label: t('filingStatusExemptFromWithholding') },\n ]\n\n return (\n <>\n <SelectField\n name=\"filingStatus\"\n label={t('federalFilingStatus1c')}\n placeholder={t('federalFillingStatusPlaceholder')}\n options={filingStatusCategories}\n isRequired\n errorMessage={t('validations.federalFilingStatus')}\n />\n <RadioGroupField\n name=\"twoJobs\"\n isRequired\n label={t('multipleJobs2c')}\n errorMessage={t('validations.federalTwoJobs')}\n description={\n <Components.Text>\n <Trans\n i18nKey={'includesSpouseExplanation'}\n t={t}\n components={{\n irs_link: <Components.Link />,\n }}\n />\n </Components.Text>\n }\n options={[\n { value: 'true', label: t('twoJobYesLabel') },\n { value: 'false', label: t('twoJobNoLabel') },\n ]}\n />\n <NumberInputField\n name=\"dependentsAmount\"\n isRequired\n label={t('dependentsTotalIfApplicable')}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"otherIncome\"\n isRequired\n label={t('otherIncome')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"deductions\"\n isRequired\n label={t('deductions')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"extraWithholding\"\n isRequired\n label={t('extraWithholding')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n </>\n )\n}\n"],"names":["FederalFormSchema","z","FederalForm","t","useTranslation","Components","useComponentContext","filingStatusCategories","jsxs","Fragment","jsx","SelectField","RadioGroupField","Trans","NumberInputField"],"mappings":"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"}
@@ -12,10 +12,11 @@ import "classnames";
12
12
  import "dompurify";
13
13
  import "../../../contexts/LocaleProvider/useLocale.js";
14
14
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
15
16
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
16
- const [f, v] = o("TaxesContext");
17
+ const [v, P] = o("TaxesContext");
17
18
  export {
18
- v as TaxesProvider,
19
- f as useTaxes
19
+ P as TaxesProvider,
20
+ v as useTaxes
20
21
  };
21
22
  //# sourceMappingURL=useTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
1
+ {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
@@ -0,0 +1,14 @@
1
+ import { ApiPayrollBlocker } from './payrollHelpers';
2
+ interface PayrollBlockerAlertsProps {
3
+ blockers: ApiPayrollBlocker[];
4
+ className?: string;
5
+ onMultipleViewClick?: () => void;
6
+ multipleViewLabel?: string;
7
+ }
8
+ /**
9
+ * PayrollBlockerAlerts - Alert-style component for inline blocker display
10
+ * Shows single blocker as alert, or multiple blockers as summary with "Review" button
11
+ * Returns null for empty blocker arrays
12
+ */
13
+ export declare function PayrollBlockerAlerts({ blockers, onMultipleViewClick, multipleViewLabel, className, }: PayrollBlockerAlertsProps): import("react/jsx-runtime").JSX.Element | null;
14
+ export {};
@@ -0,0 +1,54 @@
1
+ import { jsx as l, jsxs as d } from "react/jsx-runtime";
2
+ import { useTranslation as v } from "react-i18next";
3
+ import { getBlockerTranslationKeys as A } from "./payrollHelpers.js";
4
+ import { useComponentContext as C } from "../../../contexts/ComponentAdapter/useComponentContext.js";
5
+ import { Flex as m } from "../../Common/Flex/Flex.js";
6
+ import "classnames";
7
+ import "../../../shared/constants.js";
8
+ import { useI18n as D } from "../../../i18n/I18n.js";
9
+ function F({
10
+ blockers: n,
11
+ onMultipleViewClick: i,
12
+ multipleViewLabel: h,
13
+ className: s
14
+ }) {
15
+ D("PayrollBlocker");
16
+ const { t: e } = v("PayrollBlocker"), { Alert: c, Button: f, Text: a, UnorderedList: x } = C();
17
+ if (n.length === 0)
18
+ return null;
19
+ const g = n.length > 1, p = n.map((r) => {
20
+ const o = A(r.key), B = e(o.titleKey, {
21
+ defaultValue: r.key.replace(/_/g, " ").replace(/\b\w/g, (K) => K.toUpperCase())
22
+ }), T = e(o.descriptionKey, {
23
+ defaultValue: r.message || e("defaultBlockerDescription")
24
+ }), k = e(o.helpTextKey, { defaultValue: e("defaultBlockerHelpText") });
25
+ return {
26
+ ...r,
27
+ title: B,
28
+ description: T,
29
+ helpText: k
30
+ };
31
+ }), t = p[0];
32
+ if (!g && t)
33
+ return /* @__PURE__ */ l(c, { status: "error", label: t.title, className: s, children: /* @__PURE__ */ d(m, { flexDirection: "column", gap: 8, children: [
34
+ /* @__PURE__ */ l(a, { children: t.description }),
35
+ t.helpText && t.helpText !== t.description && /* @__PURE__ */ l(a, { variant: "supporting", size: "sm", children: t.helpText })
36
+ ] }) });
37
+ const y = p.map((r) => r.title), u = h || e("viewAllBlockers");
38
+ return /* @__PURE__ */ l(
39
+ c,
40
+ {
41
+ status: "error",
42
+ label: e("multipleIssuesTitle", { count: n.length }),
43
+ className: s,
44
+ children: /* @__PURE__ */ d(m, { flexDirection: "column", gap: 16, children: [
45
+ /* @__PURE__ */ l(x, { items: y }),
46
+ i && /* @__PURE__ */ l("div", { children: /* @__PURE__ */ l(f, { variant: "secondary", onClick: i, title: u, children: u }) })
47
+ ] })
48
+ }
49
+ );
50
+ }
51
+ export {
52
+ F as PayrollBlockerAlerts
53
+ };
54
+ //# sourceMappingURL=PayrollBlockerAlerts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayrollBlockerAlerts.js","sources":["../../../../src/components/Payroll/PayrollBlocker/PayrollBlockerAlerts.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { type ApiPayrollBlocker, getBlockerTranslationKeys } from './payrollHelpers'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\n\ninterface PayrollBlockerAlertsProps {\n blockers: ApiPayrollBlocker[]\n className?: string\n onMultipleViewClick?: () => void\n multipleViewLabel?: string\n}\n\n/**\n * PayrollBlockerAlerts - Alert-style component for inline blocker display\n * Shows single blocker as alert, or multiple blockers as summary with \"Review\" button\n * Returns null for empty blocker arrays\n */\nexport function PayrollBlockerAlerts({\n blockers,\n onMultipleViewClick,\n multipleViewLabel,\n className,\n}: PayrollBlockerAlertsProps) {\n useI18n('PayrollBlocker')\n const { t } = useTranslation('PayrollBlocker')\n const { Alert, Button, Text, UnorderedList } = useComponentContext()\n\n // Return null for empty blockers array\n if (blockers.length === 0) {\n return null\n }\n\n const hasMultipleBlockers = blockers.length > 1\n\n const enrichedBlockers = blockers.map(blocker => {\n const translationKeys = getBlockerTranslationKeys(blocker.key)\n\n const title = t(translationKeys.titleKey, {\n defaultValue: blocker.key.replace(/_/g, ' ').replace(/\\b\\w/g, l => l.toUpperCase()),\n })\n const description = t(translationKeys.descriptionKey, {\n defaultValue: blocker.message || t('defaultBlockerDescription'),\n })\n const helpText = t(translationKeys.helpTextKey, { defaultValue: t('defaultBlockerHelpText') })\n\n return {\n ...blocker,\n title,\n description,\n helpText,\n }\n })\n\n const singleBlocker = enrichedBlockers[0]\n\n if (!hasMultipleBlockers && singleBlocker) {\n return (\n <Alert status=\"error\" label={singleBlocker.title} className={className}>\n <Flex flexDirection=\"column\" gap={8}>\n <Text>{singleBlocker.description}</Text>\n {singleBlocker.helpText && singleBlocker.helpText !== singleBlocker.description && (\n <Text variant=\"supporting\" size=\"sm\">\n {singleBlocker.helpText}\n </Text>\n )}\n </Flex>\n </Alert>\n )\n }\n\n const listItems = enrichedBlockers.map(blocker => blocker.title)\n const defaultMultipleLabel = multipleViewLabel || t('viewAllBlockers')\n\n return (\n <Alert\n status=\"error\"\n label={t('multipleIssuesTitle', { count: blockers.length })}\n className={className}\n >\n <Flex flexDirection=\"column\" gap={16}>\n <UnorderedList items={listItems} />\n {onMultipleViewClick && (\n <div>\n <Button variant=\"secondary\" onClick={onMultipleViewClick} title={defaultMultipleLabel}>\n {defaultMultipleLabel}\n </Button>\n </div>\n )}\n </Flex>\n </Alert>\n )\n}\n"],"names":["PayrollBlockerAlerts","blockers","onMultipleViewClick","multipleViewLabel","className","useI18n","t","useTranslation","Alert","Button","Text","UnorderedList","useComponentContext","hasMultipleBlockers","enrichedBlockers","blocker","translationKeys","getBlockerTranslationKeys","title","l","description","helpText","singleBlocker","jsx","jsxs","Flex","listItems","defaultMultipleLabel"],"mappings":";;;;;;;;AAkBO,SAASA,EAAqB;AAAA,EACnC,UAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AACF,GAA8B;AAC5B,EAAAC,EAAQ,gBAAgB;AACxB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,gBAAgB,GACvC,EAAE,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,GAAM,eAAAC,EAAA,IAAkBC,EAAA;AAG/C,MAAIX,EAAS,WAAW;AACtB,WAAO;AAGT,QAAMY,IAAsBZ,EAAS,SAAS,GAExCa,IAAmBb,EAAS,IAAI,CAAAc,MAAW;AAC/C,UAAMC,IAAkBC,EAA0BF,EAAQ,GAAG,GAEvDG,IAAQZ,EAAEU,EAAgB,UAAU;AAAA,MACxC,cAAcD,EAAQ,IAAI,QAAQ,MAAM,GAAG,EAAE,QAAQ,SAAS,CAAAI,MAAKA,EAAE,YAAA,CAAa;AAAA,IAAA,CACnF,GACKC,IAAcd,EAAEU,EAAgB,gBAAgB;AAAA,MACpD,cAAcD,EAAQ,WAAWT,EAAE,2BAA2B;AAAA,IAAA,CAC/D,GACKe,IAAWf,EAAEU,EAAgB,aAAa,EAAE,cAAcV,EAAE,wBAAwB,GAAG;AAE7F,WAAO;AAAA,MACL,GAAGS;AAAA,MACH,OAAAG;AAAA,MACA,aAAAE;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAEJ,CAAC,GAEKC,IAAgBR,EAAiB,CAAC;AAExC,MAAI,CAACD,KAAuBS;AAC1B,WACE,gBAAAC,EAACf,GAAA,EAAM,QAAO,SAAQ,OAAOc,EAAc,OAAO,WAAAlB,GAChD,UAAA,gBAAAoB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAF,EAACb,GAAA,EAAM,YAAc,YAAA,CAAY;AAAA,MAChCY,EAAc,YAAYA,EAAc,aAAaA,EAAc,eAClE,gBAAAC,EAACb,GAAA,EAAK,SAAQ,cAAa,MAAK,MAC7B,YAAc,SAAA,CACjB;AAAA,IAAA,EAAA,CAEJ,EAAA,CACF;AAIJ,QAAMgB,IAAYZ,EAAiB,IAAI,CAAAC,MAAWA,EAAQ,KAAK,GACzDY,IAAuBxB,KAAqBG,EAAE,iBAAiB;AAErE,SACE,gBAAAiB;AAAA,IAACf;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,OAAOF,EAAE,uBAAuB,EAAE,OAAOL,EAAS,QAAQ;AAAA,MAC1D,WAAAG;AAAA,MAEA,UAAA,gBAAAoB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAF,EAACZ,GAAA,EAAc,OAAOe,EAAA,CAAW;AAAA,QAChCxB,KACC,gBAAAqB,EAAC,OAAA,EACC,UAAA,gBAAAA,EAACd,GAAA,EAAO,SAAQ,aAAY,SAASP,GAAqB,OAAOyB,GAC9D,UAAAA,EAAA,CACH,EAAA,CACF;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,19 @@
1
+ export interface PayrollBlocker {
2
+ id: string;
3
+ title: string;
4
+ description: string;
5
+ action?: {
6
+ label: string;
7
+ onClick: () => void;
8
+ };
9
+ }
10
+ interface PayrollBlockerListProps {
11
+ blockers: PayrollBlocker[];
12
+ className?: string;
13
+ }
14
+ /**
15
+ * PayrollBlockerList - DataView-based component displaying payroll blockers
16
+ * Shows each blocker with individual resolution buttons
17
+ */
18
+ export declare function PayrollBlockerList({ blockers, className }: PayrollBlockerListProps): import("react/jsx-runtime").JSX.Element | null;
19
+ export {};
@@ -0,0 +1,3 @@
1
+ import "./types/i18next.d.ts"
2
+ export { PayrollBlockerAlerts } from './PayrollBlockerAlerts';
3
+ export type { ApiPayrollBlocker } from './payrollHelpers';
@@ -0,0 +1,27 @@
1
+ import { PayrollBlockersError } from '@gusto/embedded-api/models/errors/payrollblockerserror';
2
+ import { UnprocessableEntityErrorObject1 } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject1';
3
+ export interface ApiPayrollBlocker {
4
+ key: string;
5
+ message?: string;
6
+ }
7
+ export declare function isPayrollBlockersError(error: unknown): error is PayrollBlockersError;
8
+ export declare function isUnprocessableEntityWithPayrollBlockers(error: unknown): error is UnprocessableEntityErrorObject1;
9
+ export declare function parsePayrollBlockersFromError(error: unknown): ApiPayrollBlocker[];
10
+ export interface PayrollSubmitResult {
11
+ success: boolean;
12
+ blockers: ApiPayrollBlocker[];
13
+ }
14
+ /**
15
+ * Direct submit handler for payroll operations that handles payroll blockers
16
+ * Returns blockers if found, otherwise throws the error for caller to handle
17
+ */
18
+ export declare const payrollSubmitHandler: (payrollHandler: () => Promise<void>) => Promise<PayrollSubmitResult>;
19
+ /**
20
+ * Get translation keys for a blocker - use these in components with useTranslation
21
+ */
22
+ export declare function getBlockerTranslationKeys(key: string): {
23
+ titleKey: string;
24
+ descriptionKey: string;
25
+ helpTextKey: string;
26
+ defaultActionKey: string;
27
+ };