@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
@@ -4,57 +4,58 @@ import { useCompensation as d } from "./useCompensation.js";
4
4
  import C from "../../../assets/icons/pencil.svg.js";
5
5
  import c from "../../../assets/icons/trashcan.svg.js";
6
6
  import "classnames";
7
+ import "../../../shared/constants.js";
7
8
  import { HamburgerMenu as f } from "../../Common/HamburgerMenu/HamburgerMenu.js";
8
9
  import { useDataView as y } from "../../Common/DataView/useDataView.js";
9
10
  import { DataView as g } from "../../Common/DataView/DataView.js";
10
- const P = () => {
11
- const { employeeJobs: i, mode: o, isPending: r, handleEdit: l, handleDelete: s } = d(), { t } = p("Employee.Compensation"), { ...m } = y({
11
+ const U = () => {
12
+ const { employeeJobs: i, mode: o, isPending: r, handleEdit: l, handleDelete: s } = d(), { t: e } = p("Employee.Compensation"), { ...m } = y({
12
13
  data: i,
13
14
  columns: [
14
15
  {
15
16
  key: "title",
16
- title: t("allCompensations.jobColumn"),
17
- render: (e) => e.title || ""
17
+ title: e("allCompensations.jobColumn"),
18
+ render: (t) => t.title || ""
18
19
  },
19
20
  {
20
21
  key: "flsaStatus",
21
- title: t("allCompensations.typeColumn"),
22
- render: (e) => {
23
- const n = e.compensations?.find(
24
- (u) => u.uuid === e.currentCompensationUuid
22
+ title: e("allCompensations.typeColumn"),
23
+ render: (t) => {
24
+ const n = t.compensations?.find(
25
+ (u) => u.uuid === t.currentCompensationUuid
25
26
  )?.flsaStatus;
26
- return n !== void 0 ? t(`flsaStatusLabels.${n}`) : null;
27
+ return n !== void 0 ? e(`flsaStatusLabels.${n}`) : null;
27
28
  }
28
29
  },
29
30
  {
30
31
  key: "rate",
31
- title: t("allCompensations.amountColumn"),
32
- render: (e) => e.rate?.toString() || ""
32
+ title: e("allCompensations.amountColumn"),
33
+ render: (t) => t.rate?.toString() || ""
33
34
  },
34
35
  {
35
36
  key: "paymentUnit",
36
- title: t("allCompensations.perColumn"),
37
- render: (e) => e.paymentUnit || ""
37
+ title: e("allCompensations.perColumn"),
38
+ render: (t) => t.paymentUnit || ""
38
39
  }
39
40
  ],
40
- itemMenu: (e) => /* @__PURE__ */ a(
41
+ itemMenu: (t) => /* @__PURE__ */ a(
41
42
  f,
42
43
  {
43
- triggerLabel: t("hamburgerTitle"),
44
+ triggerLabel: e("hamburgerTitle"),
44
45
  items: [
45
46
  {
46
- label: t("allCompensations.editCta"),
47
+ label: e("allCompensations.editCta"),
47
48
  icon: /* @__PURE__ */ a(C, { "aria-hidden": !0 }),
48
49
  onClick: () => {
49
- l(e.uuid);
50
+ l(t.uuid);
50
51
  }
51
52
  },
52
- ...e.primary ? [] : [
53
+ ...t.primary ? [] : [
53
54
  {
54
- label: t("allCompensations.deleteCta"),
55
+ label: e("allCompensations.deleteCta"),
55
56
  icon: /* @__PURE__ */ a(c, { "aria-hidden": !0 }),
56
57
  onClick: () => {
57
- s(e.uuid);
58
+ s(t.uuid);
58
59
  }
59
60
  }
60
61
  ]
@@ -64,9 +65,9 @@ const P = () => {
64
65
  )
65
66
  });
66
67
  if (o === "LIST")
67
- return /* @__PURE__ */ a(g, { "data-testid": "data-view", label: t("allCompensations.tableLabel"), ...m });
68
+ return /* @__PURE__ */ a(g, { "data-testid": "data-view", label: e("allCompensations.tableLabel"), ...m });
68
69
  };
69
70
  export {
70
- P as List
71
+ U as List
71
72
  };
72
73
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../../src/components/Employee/Compensation/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { type Job } from '@gusto/embedded-api/models/components/job'\nimport { useCompensation } from './useCompensation'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { DataView, useDataView } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\n\nexport const List = () => {\n const { employeeJobs, mode, isPending, handleEdit, handleDelete } = useCompensation()\n const { t } = useTranslation('Employee.Compensation')\n\n const { ...dataViewProps } = useDataView({\n data: employeeJobs,\n columns: [\n {\n key: 'title',\n title: t('allCompensations.jobColumn'),\n render: (job: Job) => job.title || '',\n },\n {\n key: 'flsaStatus',\n title: t('allCompensations.typeColumn'),\n render: (job: Job) => {\n const flsaStatus = job.compensations?.find(\n comp => comp.uuid === job.currentCompensationUuid,\n )?.flsaStatus\n return flsaStatus !== undefined ? t(`flsaStatusLabels.${flsaStatus}`) : null\n },\n },\n {\n key: 'rate',\n title: t('allCompensations.amountColumn'),\n render: (job: Job) => job.rate?.toString() || '',\n },\n {\n key: 'paymentUnit',\n title: t('allCompensations.perColumn'),\n render: (job: Job) => job.paymentUnit || '',\n },\n ],\n itemMenu: (job: Job) => (\n <HamburgerMenu\n triggerLabel={t('hamburgerTitle')}\n items={[\n {\n label: t('allCompensations.editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(job.uuid)\n },\n },\n ...(!job.primary\n ? [\n {\n label: t('allCompensations.deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n handleDelete(job.uuid)\n },\n },\n ]\n : []),\n ]}\n isLoading={isPending}\n />\n ),\n })\n\n if (mode !== 'LIST') {\n return\n }\n\n return (\n <DataView data-testid=\"data-view\" label={t('allCompensations.tableLabel')} {...dataViewProps} />\n )\n}\n"],"names":["List","employeeJobs","mode","isPending","handleEdit","handleDelete","useCompensation","useTranslation","dataViewProps","useDataView","job","flsaStatus","comp","jsx","HamburgerMenu","PencilSvg","TrashCanSvg","DataView"],"mappings":";;;;;;;;;AAQO,MAAMA,IAAO,MAAM;AACxB,QAAM,EAAE,cAAAC,GAAc,MAAAC,GAAM,WAAAC,GAAW,YAAAC,GAAY,cAAAC,EAAA,IAAiBC,EAAA,GAC9D,EAAE,EAAA,IAAMC,EAAe,uBAAuB,GAE9C,EAAE,GAAGC,EAAA,IAAkBC,EAAY;AAAA,IACvC,MAAMR;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,4BAA4B;AAAA,QACrC,QAAQ,CAACS,MAAaA,EAAI,SAAS;AAAA,MAAA;AAAA,MAErC;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,6BAA6B;AAAA,QACtC,QAAQ,CAACA,MAAa;AACpB,gBAAMC,IAAaD,EAAI,eAAe;AAAA,YACpC,CAAAE,MAAQA,EAAK,SAASF,EAAI;AAAA,UAAA,GACzB;AACH,iBAAOC,MAAe,SAAY,EAAE,oBAAoBA,CAAU,EAAE,IAAI;AAAA,QAC1E;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,+BAA+B;AAAA,QACxC,QAAQ,CAACD,MAAaA,EAAI,MAAM,cAAc;AAAA,MAAA;AAAA,MAEhD;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,4BAA4B;AAAA,QACrC,QAAQ,CAACA,MAAaA,EAAI,eAAe;AAAA,MAAA;AAAA,IAC3C;AAAA,IAEF,UAAU,CAACA,MACT,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAc,EAAE,gBAAgB;AAAA,QAChC,OAAO;AAAA,UACL;AAAA,YACE,OAAO,EAAE,0BAA0B;AAAA,YACnC,MAAM,gBAAAD,EAACE,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,YAC7B,SAAS,MAAM;AACb,cAAAX,EAAWM,EAAI,IAAI;AAAA,YACrB;AAAA,UAAA;AAAA,UAEF,GAAKA,EAAI,UAUL,CAAA,IATA;AAAA,YACE;AAAA,cACE,OAAO,EAAE,4BAA4B;AAAA,cACrC,MAAM,gBAAAG,EAACG,GAAA,EAAY,eAAW,GAAA,CAAC;AAAA,cAC/B,SAAS,MAAM;AACb,gBAAAX,EAAaK,EAAI,IAAI;AAAA,cACvB;AAAA,YAAA;AAAA,UACF;AAAA,QAED;AAAA,QAEP,WAAWP;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,CAEH;AAED,MAAID,MAAS;AAIb,WACE,gBAAAW,EAACI,KAAS,eAAY,aAAY,OAAO,EAAE,6BAA6B,GAAI,GAAGT,GAAe;AAElG;"}
1
+ {"version":3,"file":"List.js","sources":["../../../../src/components/Employee/Compensation/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { type Job } from '@gusto/embedded-api/models/components/job'\nimport { useCompensation } from './useCompensation'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { DataView, useDataView } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\n\nexport const List = () => {\n const { employeeJobs, mode, isPending, handleEdit, handleDelete } = useCompensation()\n const { t } = useTranslation('Employee.Compensation')\n\n const { ...dataViewProps } = useDataView({\n data: employeeJobs,\n columns: [\n {\n key: 'title',\n title: t('allCompensations.jobColumn'),\n render: (job: Job) => job.title || '',\n },\n {\n key: 'flsaStatus',\n title: t('allCompensations.typeColumn'),\n render: (job: Job) => {\n const flsaStatus = job.compensations?.find(\n comp => comp.uuid === job.currentCompensationUuid,\n )?.flsaStatus\n return flsaStatus !== undefined ? t(`flsaStatusLabels.${flsaStatus}`) : null\n },\n },\n {\n key: 'rate',\n title: t('allCompensations.amountColumn'),\n render: (job: Job) => job.rate?.toString() || '',\n },\n {\n key: 'paymentUnit',\n title: t('allCompensations.perColumn'),\n render: (job: Job) => job.paymentUnit || '',\n },\n ],\n itemMenu: (job: Job) => (\n <HamburgerMenu\n triggerLabel={t('hamburgerTitle')}\n items={[\n {\n label: t('allCompensations.editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(job.uuid)\n },\n },\n ...(!job.primary\n ? [\n {\n label: t('allCompensations.deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n handleDelete(job.uuid)\n },\n },\n ]\n : []),\n ]}\n isLoading={isPending}\n />\n ),\n })\n\n if (mode !== 'LIST') {\n return\n }\n\n return (\n <DataView data-testid=\"data-view\" label={t('allCompensations.tableLabel')} {...dataViewProps} />\n )\n}\n"],"names":["List","employeeJobs","mode","isPending","handleEdit","handleDelete","useCompensation","t","useTranslation","dataViewProps","useDataView","job","flsaStatus","comp","jsx","HamburgerMenu","PencilSvg","TrashCanSvg","DataView"],"mappings":";;;;;;;;;;AAQO,MAAMA,IAAO,MAAM;AACxB,QAAM,EAAE,cAAAC,GAAc,MAAAC,GAAM,WAAAC,GAAW,YAAAC,GAAY,cAAAC,EAAA,IAAiBC,EAAA,GAC9D,EAAE,GAAAC,EAAA,IAAMC,EAAe,uBAAuB,GAE9C,EAAE,GAAGC,EAAA,IAAkBC,EAAY;AAAA,IACvC,MAAMT;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOM,EAAE,4BAA4B;AAAA,QACrC,QAAQ,CAACI,MAAaA,EAAI,SAAS;AAAA,MAAA;AAAA,MAErC;AAAA,QACE,KAAK;AAAA,QACL,OAAOJ,EAAE,6BAA6B;AAAA,QACtC,QAAQ,CAACI,MAAa;AACpB,gBAAMC,IAAaD,EAAI,eAAe;AAAA,YACpC,CAAAE,MAAQA,EAAK,SAASF,EAAI;AAAA,UAAA,GACzB;AACH,iBAAOC,MAAe,SAAYL,EAAE,oBAAoBK,CAAU,EAAE,IAAI;AAAA,QAC1E;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,KAAK;AAAA,QACL,OAAOL,EAAE,+BAA+B;AAAA,QACxC,QAAQ,CAACI,MAAaA,EAAI,MAAM,cAAc;AAAA,MAAA;AAAA,MAEhD;AAAA,QACE,KAAK;AAAA,QACL,OAAOJ,EAAE,4BAA4B;AAAA,QACrC,QAAQ,CAACI,MAAaA,EAAI,eAAe;AAAA,MAAA;AAAA,IAC3C;AAAA,IAEF,UAAU,CAACA,MACT,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAcR,EAAE,gBAAgB;AAAA,QAChC,OAAO;AAAA,UACL;AAAA,YACE,OAAOA,EAAE,0BAA0B;AAAA,YACnC,MAAM,gBAAAO,EAACE,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,YAC7B,SAAS,MAAM;AACb,cAAAZ,EAAWO,EAAI,IAAI;AAAA,YACrB;AAAA,UAAA;AAAA,UAEF,GAAKA,EAAI,UAUL,CAAA,IATA;AAAA,YACE;AAAA,cACE,OAAOJ,EAAE,4BAA4B;AAAA,cACrC,MAAM,gBAAAO,EAACG,GAAA,EAAY,eAAW,GAAA,CAAC;AAAA,cAC/B,SAAS,MAAM;AACb,gBAAAZ,EAAaM,EAAI,IAAI;AAAA,cACvB;AAAA,YAAA;AAAA,UACF;AAAA,QAED;AAAA,QAEP,WAAWR;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,CAEH;AAED,MAAID,MAAS;AAIb,WACE,gBAAAY,EAACI,KAAS,eAAY,aAAY,OAAOX,EAAE,6BAA6B,GAAI,GAAGE,GAAe;AAElG;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { IncludeDeductionsForm as m } from "./IncludeDeductionsForm/IncludeDeductionsForm.js";
3
3
  import { DeductionsList as d } from "./DeductionsList/DeductionsList.js";
4
- import { DeductionsForm as i } from "./DeductionsForm/DeductionsForm.js";
4
+ import { UNSTABLEDeductionsForm as i } from "./DeductionsForm/UNSTABLE_DeductionsForm.js";
5
5
  import { useFlow as n } from "../../Flow/useFlow.js";
6
6
  import { ensureRequired as r } from "../../../helpers/ensureRequired.js";
7
7
  function D() {
@@ -1 +1 @@
1
- {"version":3,"file":"DeductionsComponents.js","sources":["../../../../src/components/Employee/Deductions/DeductionsComponents.tsx"],"sourcesContent":["import type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { IncludeDeductionsForm } from './IncludeDeductionsForm/IncludeDeductionsForm'\nimport { DeductionsList } from './DeductionsList/DeductionsList'\nimport { DeductionsForm } from './DeductionsForm/DeductionsForm'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { componentEvents } from '@/shared/constants'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\nexport type EventPayloads = {\n [componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_YES]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_NO]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_ADD]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_CREATED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_UPDATED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_DELETED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_EDIT]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_CANCEL]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_DONE]: undefined\n [componentEvents.CANCEL]: undefined\n}\n\nexport interface DeductionsContextInterface extends FlowContextInterface {\n employeeId: string\n currentDeductionId?: string | null\n hasExistingDeductions?: boolean\n}\n\nexport function IncludeDeductionsFormContextual() {\n const { employeeId, onEvent } = useFlow<DeductionsContextInterface>()\n return <IncludeDeductionsForm onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function DeductionsListContextual() {\n const { employeeId, onEvent } = useFlow<DeductionsContextInterface>()\n return <DeductionsList onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function DeductionFormContextual() {\n const { employeeId, onEvent, currentDeductionId } = useFlow<DeductionsContextInterface>()\n\n return (\n <DeductionsForm\n onEvent={onEvent}\n employeeId={ensureRequired(employeeId)}\n deductionId={currentDeductionId}\n />\n )\n}\n"],"names":["IncludeDeductionsFormContextual","employeeId","onEvent","useFlow","IncludeDeductionsForm","ensureRequired","DeductionsListContextual","DeductionsList","DeductionFormContextual","currentDeductionId","jsx","DeductionsForm"],"mappings":";;;;;;AA2BO,SAASA,IAAkC;AAChD,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQC,GAAA,EAAsB,SAAAF,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AAC1F;AAEO,SAASK,IAA2B;AACzC,QAAM,EAAE,YAAAL,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQI,GAAA,EAAe,SAAAL,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AACnF;AAEO,SAASO,IAA0B;AACxC,QAAM,EAAE,YAAAP,GAAY,SAAAC,GAAS,oBAAAO,EAAA,IAAuBN,EAAA;AAEpD,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAT;AAAA,MACA,YAAYG,EAAeJ,CAAU;AAAA,MACrC,aAAaQ;AAAA,IAAA;AAAA,EAAA;AAGnB;"}
1
+ {"version":3,"file":"DeductionsComponents.js","sources":["../../../../src/components/Employee/Deductions/DeductionsComponents.tsx"],"sourcesContent":["import type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { IncludeDeductionsForm } from './IncludeDeductionsForm/IncludeDeductionsForm'\nimport { DeductionsList } from './DeductionsList/DeductionsList'\nimport { UNSTABLEDeductionsForm } from './DeductionsForm/UNSTABLE_DeductionsForm'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { componentEvents } from '@/shared/constants'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\nexport type EventPayloads = {\n [componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_YES]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_NO]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_ADD]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_CREATED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_UPDATED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_DELETED]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_EDIT]: Garnishment\n [componentEvents.EMPLOYEE_DEDUCTION_CANCEL]: undefined\n [componentEvents.EMPLOYEE_DEDUCTION_DONE]: undefined\n [componentEvents.CANCEL]: undefined\n}\n\nexport interface DeductionsContextInterface extends FlowContextInterface {\n employeeId: string\n currentDeductionId?: string | null\n hasExistingDeductions?: boolean\n}\n\nexport function IncludeDeductionsFormContextual() {\n const { employeeId, onEvent } = useFlow<DeductionsContextInterface>()\n return <IncludeDeductionsForm onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function DeductionsListContextual() {\n const { employeeId, onEvent } = useFlow<DeductionsContextInterface>()\n return <DeductionsList onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function DeductionFormContextual() {\n const { employeeId, onEvent, currentDeductionId } = useFlow<DeductionsContextInterface>()\n\n return (\n <UNSTABLEDeductionsForm\n onEvent={onEvent}\n employeeId={ensureRequired(employeeId)}\n deductionId={currentDeductionId}\n />\n )\n}\n"],"names":["IncludeDeductionsFormContextual","employeeId","onEvent","useFlow","IncludeDeductionsForm","ensureRequired","DeductionsListContextual","DeductionsList","DeductionFormContextual","currentDeductionId","jsx","UNSTABLEDeductionsForm"],"mappings":";;;;;;AA2BO,SAASA,IAAkC;AAChD,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQC,GAAA,EAAsB,SAAAF,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AAC1F;AAEO,SAASK,IAA2B;AACzC,QAAM,EAAE,YAAAL,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQI,GAAA,EAAe,SAAAL,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AACnF;AAEO,SAASO,IAA0B;AACxC,QAAM,EAAE,YAAAP,GAAY,SAAAC,GAAS,oBAAAO,EAAA,IAAuBN,EAAA;AAEpD,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAT;AAAA,MACA,YAAYG,EAAeJ,CAAU;AAAA,MACrC,aAAaQ;AAAA,IAAA;AAAA,EAAA;AAGnB;"}
@@ -0,0 +1,55 @@
1
+ import { z } from 'zod';
2
+ import { Garnishment } from '@gusto/embedded-api/models/components/garnishment';
3
+ import { Agencies } from '@gusto/embedded-api/models/components/childsupportdata';
4
+ import { CommonComponentInterface } from '../../../Base';
5
+ declare const ChildSupportSchema: z.ZodObject<{
6
+ state: z.ZodString;
7
+ fipsCode: z.ZodString;
8
+ caseNumber: z.ZodNullable<z.ZodString>;
9
+ orderNumber: z.ZodNullable<z.ZodString>;
10
+ remittanceNumber: z.ZodNullable<z.ZodString>;
11
+ amount: z.ZodEffects<z.ZodNumber, string, number>;
12
+ payPeriodMaximum: z.ZodNullable<z.ZodEffects<z.ZodNumber, string | null, number>>;
13
+ paymentPeriod: z.ZodNativeEnum<{
14
+ readonly EveryWeek: "Every week";
15
+ readonly EveryOtherWeek: "Every other week";
16
+ readonly TwicePerMonth: "Twice per month";
17
+ readonly Monthly: "Monthly";
18
+ }>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ state: string;
21
+ amount: string;
22
+ caseNumber: string | null;
23
+ payPeriodMaximum: string | null;
24
+ fipsCode: string;
25
+ orderNumber: string | null;
26
+ remittanceNumber: string | null;
27
+ paymentPeriod: "Every week" | "Every other week" | "Twice per month" | "Monthly";
28
+ }, {
29
+ state: string;
30
+ amount: number;
31
+ caseNumber: string | null;
32
+ payPeriodMaximum: number | null;
33
+ fipsCode: string;
34
+ orderNumber: string | null;
35
+ remittanceNumber: string | null;
36
+ paymentPeriod: "Every week" | "Every other week" | "Twice per month" | "Monthly";
37
+ }>;
38
+ export type ChildSupportInputs = z.input<typeof ChildSupportSchema>;
39
+ export type ChildSupportPayload = z.output<typeof ChildSupportSchema>;
40
+ interface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {
41
+ employeeId: string;
42
+ deduction?: Garnishment | null;
43
+ handleStateAgencySelect: (stateAgency: string) => void;
44
+ stateAgencies: {
45
+ label: string;
46
+ value: string;
47
+ }[];
48
+ counties: {
49
+ label: string;
50
+ value: string;
51
+ }[];
52
+ selectedAgency?: Agencies;
53
+ }
54
+ declare function ChildSupportForm({ deduction, handleStateAgencySelect, stateAgencies, counties, employeeId, selectedAgency, }: ChildSupportFormProps): import("react/jsx-runtime").JSX.Element;
55
+ export default ChildSupportForm;
@@ -0,0 +1,222 @@
1
+ import { jsx as n, jsxs as c, Fragment as O } from "react/jsx-runtime";
2
+ import { useTranslation as U } from "react-i18next";
3
+ import { useForm as k, useWatch as Y, FormProvider as B } from "react-hook-form";
4
+ import { useMemo as L, useEffect as E } from "react";
5
+ import { z as o } from "zod";
6
+ import { zodResolver as W } from "@hookform/resolvers/zod";
7
+ import { PaymentPeriod as G } from "@gusto/embedded-api/models/components/garnishmentchildsupport";
8
+ import { useGarnishmentsCreateMutation as j } from "@gusto/embedded-api/react-query/garnishmentsCreate";
9
+ import { useGarnishmentsUpdateMutation as K } from "@gusto/embedded-api/react-query/garnishmentsUpdate";
10
+ import V from "./ChildSupportForm.module.scss.js";
11
+ import { useComponentContext as z } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
+ import { Form as X } from "../../../Common/Form/Form.js";
13
+ import { Flex as $ } from "../../../Common/Flex/Flex.js";
14
+ import "classnames";
15
+ import { componentEvents as C } from "../../../../shared/constants.js";
16
+ import { TextInputField as J } from "../../../Common/Fields/TextInputField/TextInputField.js";
17
+ import { ActionsLayout as Q } from "../../../Common/ActionsLayout/ActionsLayout.js";
18
+ import { NumberInputField as g } from "../../../Common/Fields/NumberInputField/NumberInputField.js";
19
+ import "react-error-boundary";
20
+ import "@gusto/embedded-api/models/errors/apierror";
21
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
22
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
23
+ import "@tanstack/react-query";
24
+ import { useBase as Z } from "../../../Base/useBase.js";
25
+ import "dompurify";
26
+ import "../../../../contexts/LocaleProvider/useLocale.js";
27
+ import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
28
+ import { SelectField as d } from "../../../Common/Fields/SelectField/SelectField.js";
29
+ const ee = 0, re = 0, te = 100, ne = o.nativeEnum(G), oe = o.object({
30
+ state: o.string(),
31
+ fipsCode: o.string(),
32
+ caseNumber: o.string().nullable(),
33
+ orderNumber: o.string().nullable(),
34
+ remittanceNumber: o.string().nullable(),
35
+ amount: o.number().min(0).transform(String),
36
+ payPeriodMaximum: o.number().min(0).transform((r) => r > 0 ? r.toString() : null).nullable(),
37
+ paymentPeriod: ne
38
+ });
39
+ function Fe({
40
+ deduction: r,
41
+ handleStateAgencySelect: M,
42
+ stateAgencies: S,
43
+ counties: x,
44
+ employeeId: T,
45
+ selectedAgency: b
46
+ }) {
47
+ const { onEvent: h, baseSubmitHandler: A } = Z(), { t: e } = U("Employee.Deductions"), u = z(), y = {
48
+ case_number: {
49
+ name: "caseNumber",
50
+ description: e("caseNumberHelperText")
51
+ },
52
+ order_number: {
53
+ name: "orderNumber",
54
+ description: e("orderNumberHelperText")
55
+ },
56
+ remittance_number: {
57
+ name: "remittanceNumber",
58
+ description: e("remittanceNumberHelperText")
59
+ }
60
+ }, _ = b?.requiredAttributes?.map((t) => ({
61
+ name: y[t.key].name,
62
+ label: t.label,
63
+ description: y[t.key].description
64
+ })) || [], { mutateAsync: R, isPending: v } = j(), { mutateAsync: q, isPending: D } = K(), F = v || D, s = L(() => ({
65
+ amount: r?.amount ? Number(r.amount) : 0,
66
+ payPeriodMaximum: r?.payPeriodMaximum ? Number(r.payPeriodMaximum) : null,
67
+ state: r?.childSupport?.state || "",
68
+ fipsCode: r?.childSupport?.fipsCode || "",
69
+ caseNumber: r?.childSupport?.caseNumber || null,
70
+ orderNumber: r?.childSupport?.orderNumber || null,
71
+ remittanceNumber: r?.childSupport?.remittanceNumber || null,
72
+ paymentPeriod: r?.childSupport?.paymentPeriod
73
+ }), [r]), l = k({
74
+ resolver: W(oe),
75
+ defaultValues: s
76
+ }), { reset: P, setValue: i, control: I } = l, N = Y({ control: I, name: "state" });
77
+ E(() => {
78
+ P(s);
79
+ }, [r, s, P]), E(() => {
80
+ i("caseNumber", null), i("orderNumber", null), i("remittanceNumber", null);
81
+ }, [N, i]);
82
+ const H = async (t) => {
83
+ const m = {
84
+ state: t.state,
85
+ paymentPeriod: t.paymentPeriod,
86
+ fipsCode: t.fipsCode,
87
+ caseNumber: t.caseNumber,
88
+ orderNumber: t.orderNumber,
89
+ remittanceNumber: t.remittanceNumber
90
+ };
91
+ await A(t, async (a) => {
92
+ const f = {
93
+ active: !0,
94
+ amount: a.amount,
95
+ description: `Child Support - ${m.caseNumber}`,
96
+ // child support description follows prefix type + case number convention
97
+ courtOrdered: !0,
98
+ garnishmentType: "child_support",
99
+ times: null,
100
+ deductAsPercentage: !0,
101
+ // child support must always deduct as percentage up to a pay period maximum limit and is recurring until cancelled
102
+ payPeriodMaximum: a.payPeriodMaximum,
103
+ recurring: !0,
104
+ childSupport: m
105
+ };
106
+ if (r) {
107
+ const { garnishment: p } = await q({
108
+ request: {
109
+ garnishmentId: r.uuid,
110
+ requestBody: {
111
+ ...f,
112
+ version: r.version
113
+ }
114
+ }
115
+ });
116
+ h(C.EMPLOYEE_DEDUCTION_UPDATED, p);
117
+ } else {
118
+ const { garnishment: p } = await R({
119
+ request: {
120
+ employeeId: T,
121
+ requestBody: f
122
+ }
123
+ });
124
+ h(C.EMPLOYEE_DEDUCTION_CREATED, p);
125
+ }
126
+ });
127
+ }, w = b?.manualPaymentRequired;
128
+ return /* @__PURE__ */ n(B, { ...l, children: /* @__PURE__ */ n(X, { onSubmit: l.handleSubmit(H), children: /* @__PURE__ */ c($, { flexDirection: "column", gap: 32, children: [
129
+ /* @__PURE__ */ n(
130
+ d,
131
+ {
132
+ name: "state",
133
+ label: e("agency"),
134
+ description: e("agencyHelperText"),
135
+ options: S,
136
+ onChange: M,
137
+ isRequired: !0
138
+ }
139
+ ),
140
+ N && /* @__PURE__ */ c(O, { children: [
141
+ /* @__PURE__ */ n(
142
+ d,
143
+ {
144
+ name: "fipsCode",
145
+ label: e("county"),
146
+ description: e("countyHelperText"),
147
+ options: x,
148
+ isRequired: !0
149
+ }
150
+ ),
151
+ _.map(({ name: t, label: m, description: a }) => /* @__PURE__ */ n(
152
+ J,
153
+ {
154
+ name: t,
155
+ label: m,
156
+ description: a,
157
+ isRequired: !0
158
+ },
159
+ t
160
+ )),
161
+ /* @__PURE__ */ n(
162
+ g,
163
+ {
164
+ name: "payPeriodMaximum",
165
+ label: e("totalAmountWithheld"),
166
+ description: e("totalAmountWithheldHelperText"),
167
+ min: ee,
168
+ adornmentStart: "$",
169
+ isRequired: !0
170
+ }
171
+ ),
172
+ /* @__PURE__ */ n(
173
+ g,
174
+ {
175
+ name: "amount",
176
+ label: e("maxPaycheckPercentage"),
177
+ description: e("maxPaycheckPercentageHelperText"),
178
+ isRequired: !0,
179
+ min: re,
180
+ max: te,
181
+ adornmentStart: "%"
182
+ }
183
+ ),
184
+ /* @__PURE__ */ n(
185
+ d,
186
+ {
187
+ name: "paymentPeriod",
188
+ label: e("per"),
189
+ description: e("perHelperText"),
190
+ options: [
191
+ {
192
+ label: e("everyWeek"),
193
+ value: "Every week"
194
+ },
195
+ {
196
+ label: e("everyOtherWeek"),
197
+ value: "Every other week"
198
+ },
199
+ {
200
+ label: e("twicePerMonth"),
201
+ value: "Twice per month"
202
+ },
203
+ {
204
+ label: e("monthly"),
205
+ value: "Monthly"
206
+ }
207
+ ],
208
+ isRequired: !0
209
+ }
210
+ ),
211
+ w && /* @__PURE__ */ c("section", { className: V.manualPaymentReminderBanner, children: [
212
+ /* @__PURE__ */ n(u.Text, { weight: "bold", children: e("manualPaymentRequired") }),
213
+ /* @__PURE__ */ n(u.Text, { children: e("manualPaymentRequiredDescription") })
214
+ ] }),
215
+ /* @__PURE__ */ n(Q, { children: /* @__PURE__ */ n(u.Button, { type: "submit", isLoading: F, children: e("saveCta") }) })
216
+ ] })
217
+ ] }) }) });
218
+ }
219
+ export {
220
+ Fe as default
221
+ };
222
+ //# sourceMappingURL=ChildSupportForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChildSupportForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/ChildSupportForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useEffect, useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { PaymentPeriod } from '@gusto/embedded-api/models/components/garnishmentchildsupport'\nimport type { GarnishmentType } from '@gusto/embedded-api/models/operations/postv1employeesemployeeidgarnishments'\nimport { type Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api/react-query/garnishmentsUpdate'\nimport { type Agencies } from '@gusto/embedded-api/models/components/childsupportdata'\nimport styles from './ChildSupportForm.module.scss'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { ActionsLayout } from '@/components/Common'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { NumberInputField, TextInputField, SelectField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nconst MINIMUM_PAY_PERIOD_AMOUNT = 0\nconst MINIMUM_PAYCHECK_PERCENTAGE = 0\nconst MAXIMUM_PAYCHECK_PERCENTAGE = 100\n\nconst ChildSupportPaymentPeriodSchema = z.nativeEnum(PaymentPeriod)\nconst ChildSupportSchema = z.object({\n state: z.string(),\n fipsCode: z.string(),\n caseNumber: z.string().nullable(),\n orderNumber: z.string().nullable(),\n remittanceNumber: z.string().nullable(),\n amount: z.number().min(0).transform(String),\n payPeriodMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n paymentPeriod: ChildSupportPaymentPeriodSchema,\n})\n\nexport type ChildSupportInputs = z.input<typeof ChildSupportSchema>\nexport type ChildSupportPayload = z.output<typeof ChildSupportSchema>\n\ninterface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n handleStateAgencySelect: (stateAgency: string) => void\n stateAgencies: { label: string; value: string }[]\n counties: { label: string; value: string }[]\n selectedAgency?: Agencies\n}\n\nfunction ChildSupportForm({\n deduction,\n handleStateAgencySelect,\n stateAgencies,\n counties,\n employeeId,\n selectedAgency,\n}: ChildSupportFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n\n const ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER = {\n case_number: {\n name: 'caseNumber',\n description: t('caseNumberHelperText'),\n },\n order_number: {\n name: 'orderNumber',\n description: t('orderNumberHelperText'),\n },\n remittance_number: {\n name: 'remittanceNumber',\n description: t('remittanceNumberHelperText'),\n },\n }\n const requiredSelectedAgencyAttributes =\n selectedAgency?.requiredAttributes?.map(attr => {\n return {\n name: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].name,\n label: attr.label as string,\n description: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].description,\n }\n }) || []\n\n const { mutateAsync: createDeduction, isPending: isPendingCreate } =\n useGarnishmentsCreateMutation()\n const { mutateAsync: updateDeduction, isPending: isPendingUpdate } =\n useGarnishmentsUpdateMutation()\n const isPending = isPendingCreate || isPendingUpdate\n\n const defaultChildSupportValues: ChildSupportInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n payPeriodMaximum: deduction?.payPeriodMaximum ? Number(deduction.payPeriodMaximum) : null,\n state: deduction?.childSupport?.state || '',\n fipsCode: deduction?.childSupport?.fipsCode || '',\n caseNumber: deduction?.childSupport?.caseNumber || null,\n orderNumber: deduction?.childSupport?.orderNumber || null,\n remittanceNumber: deduction?.childSupport?.remittanceNumber || null,\n paymentPeriod: deduction?.childSupport?.paymentPeriod as PaymentPeriod,\n }\n }, [deduction])\n\n const childSupportFormMethods = useForm<ChildSupportInputs, unknown, ChildSupportPayload>({\n resolver: zodResolver(ChildSupportSchema),\n defaultValues: defaultChildSupportValues,\n })\n const { reset: resetChildSupportForm, setValue, control } = childSupportFormMethods\n const watchedStateAgency = useWatch({ control, name: 'state' })\n\n useEffect(() => {\n resetChildSupportForm(defaultChildSupportValues)\n }, [deduction, defaultChildSupportValues, resetChildSupportForm])\n\n // if in edit mode and user elects to change state agency, reset the required attribute values\n // as new selected agency might require different payload inputs, e.g. OH requires case number + order number\n useEffect(() => {\n setValue('caseNumber', null)\n setValue('orderNumber', null)\n setValue('remittanceNumber', null)\n }, [watchedStateAgency, setValue])\n\n const onChildSupportSubmit: SubmitHandler<ChildSupportPayload> = async data => {\n const childSupport = {\n state: data.state,\n paymentPeriod: data.paymentPeriod,\n fipsCode: data.fipsCode,\n caseNumber: data.caseNumber,\n orderNumber: data.orderNumber,\n remittanceNumber: data.remittanceNumber,\n }\n\n await baseSubmitHandler(data, async payload => {\n const requestBody = {\n active: true,\n amount: payload.amount,\n description: `Child Support - ${childSupport.caseNumber}`, // child support description follows prefix type + case number convention\n courtOrdered: true,\n garnishmentType: 'child_support' as GarnishmentType,\n times: null,\n deductAsPercentage: true, // child support must always deduct as percentage up to a pay period maximum limit and is recurring until cancelled\n payPeriodMaximum: payload.payPeriodMaximum,\n recurring: true,\n childSupport,\n }\n\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_CREATED, createDeductionResponse)\n } else {\n const { garnishment: updateDeductionResponse } = await updateDeduction({\n request: {\n garnishmentId: deduction.uuid,\n requestBody: {\n ...requestBody,\n version: deduction.version as string,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const isManualPaymentRequired = selectedAgency?.manualPaymentRequired\n\n return (\n <FormProvider {...childSupportFormMethods}>\n <Form onSubmit={childSupportFormMethods.handleSubmit(onChildSupportSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <SelectField\n name=\"state\"\n label={t('agency')}\n description={t('agencyHelperText')}\n options={stateAgencies}\n onChange={handleStateAgencySelect}\n isRequired\n />\n {watchedStateAgency && (\n <>\n <SelectField\n name=\"fipsCode\"\n label={t('county')}\n description={t('countyHelperText')}\n options={counties}\n isRequired\n />\n {/* render required inputs for respective agency, e.g. OH requires case number + order number */}\n {requiredSelectedAgencyAttributes.map(({ name, label, description }) => (\n <TextInputField\n key={name}\n name={name}\n label={label}\n description={description}\n isRequired\n />\n ))}\n <NumberInputField\n name=\"payPeriodMaximum\"\n label={t('totalAmountWithheld')}\n description={t('totalAmountWithheldHelperText')}\n min={MINIMUM_PAY_PERIOD_AMOUNT}\n adornmentStart=\"$\"\n isRequired\n />\n <NumberInputField\n name=\"amount\"\n label={t('maxPaycheckPercentage')}\n description={t('maxPaycheckPercentageHelperText')}\n isRequired\n min={MINIMUM_PAYCHECK_PERCENTAGE}\n max={MAXIMUM_PAYCHECK_PERCENTAGE}\n adornmentStart=\"%\"\n />\n <SelectField\n name=\"paymentPeriod\"\n label={t('per')}\n description={t('perHelperText')}\n options={[\n {\n label: t('everyWeek'),\n value: 'Every week',\n },\n {\n label: t('everyOtherWeek'),\n value: 'Every other week',\n },\n {\n label: t('twicePerMonth'),\n value: 'Twice per month',\n },\n {\n label: t('monthly'),\n value: 'Monthly',\n },\n ]}\n isRequired\n />\n {isManualPaymentRequired && (\n <section className={styles.manualPaymentReminderBanner}>\n <Components.Text weight=\"bold\">{t('manualPaymentRequired')}</Components.Text>\n <Components.Text>{t('manualPaymentRequiredDescription')}</Components.Text>\n </section>\n )}\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default ChildSupportForm\n"],"names":["MINIMUM_PAY_PERIOD_AMOUNT","MINIMUM_PAYCHECK_PERCENTAGE","MAXIMUM_PAYCHECK_PERCENTAGE","ChildSupportPaymentPeriodSchema","z","PaymentPeriod","ChildSupportSchema","val","ChildSupportForm","deduction","handleStateAgencySelect","stateAgencies","counties","employeeId","selectedAgency","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER","requiredSelectedAgencyAttributes","attr","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultChildSupportValues","useMemo","childSupportFormMethods","useForm","zodResolver","resetChildSupportForm","setValue","control","watchedStateAgency","useWatch","useEffect","onChildSupportSubmit","data","childSupport","payload","requestBody","updateDeductionResponse","componentEvents","createDeductionResponse","isManualPaymentRequired","FormProvider","jsx","Form","jsxs","Flex","SelectField","Fragment","name","label","description","TextInputField","NumberInputField","styles","ActionsLayout"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ const n = "_manualPaymentReminderBanner_12gkb_1", e = {
2
+ manualPaymentReminderBanner: n
3
+ };
4
+ export {
5
+ e as default,
6
+ n as manualPaymentReminderBanner
7
+ };
8
+ //# sourceMappingURL=ChildSupportForm.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChildSupportForm.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ import { Garnishment } from '@gusto/embedded-api/models/components/garnishment';
3
+ import { CommonComponentInterface } from '../../../Base';
4
+ export declare const DeductionSchema: z.ZodObject<{
5
+ active: z.ZodBoolean;
6
+ amount: z.ZodEffects<z.ZodNumber, string, number>;
7
+ description: z.ZodString;
8
+ courtOrdered: z.ZodBoolean;
9
+ times: z.ZodNullable<z.ZodNumber>;
10
+ recurring: z.ZodEffects<z.ZodString, boolean, string>;
11
+ annualMaximum: z.ZodNullable<z.ZodEffects<z.ZodNumber, string | null, number>>;
12
+ payPeriodMaximum: z.ZodNullable<z.ZodEffects<z.ZodNumber, string | null, number>>;
13
+ deductAsPercentage: z.ZodEffects<z.ZodString, boolean, string>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ description: string;
16
+ active: boolean;
17
+ amount: string;
18
+ recurring: boolean;
19
+ courtOrdered: boolean;
20
+ times: number | null;
21
+ annualMaximum: string | null;
22
+ payPeriodMaximum: string | null;
23
+ deductAsPercentage: boolean;
24
+ }, {
25
+ description: string;
26
+ active: boolean;
27
+ amount: number;
28
+ recurring: string;
29
+ courtOrdered: boolean;
30
+ times: number | null;
31
+ annualMaximum: number | null;
32
+ payPeriodMaximum: number | null;
33
+ deductAsPercentage: string;
34
+ }>;
35
+ export type DeductionInputs = z.input<typeof DeductionSchema>;
36
+ export type DeductionPayload = z.output<typeof DeductionSchema>;
37
+ interface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {
38
+ employeeId: string;
39
+ deduction?: Garnishment | null;
40
+ }
41
+ declare function CustomDeductionForm({ deduction, employeeId }: ChildSupportFormProps): import("react/jsx-runtime").JSX.Element;
42
+ export default CustomDeductionForm;
@@ -0,0 +1,133 @@
1
+ import { jsx as t, jsxs as s, Fragment as b } from "react/jsx-runtime";
2
+ import { useTranslation as F } from "react-i18next";
3
+ import { useForm as L, useWatch as q, FormProvider as R } from "react-hook-form";
4
+ import { useMemo as T, useEffect as S } from "react";
5
+ import { z as n } from "zod";
6
+ import { zodResolver as N } from "@hookform/resolvers/zod";
7
+ import { useGarnishmentsCreateMutation as I } from "@gusto/embedded-api/react-query/garnishmentsCreate";
8
+ import { useGarnishmentsUpdateMutation as U } from "@gusto/embedded-api/react-query/garnishmentsUpdate";
9
+ import { useComponentContext as _ } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
10
+ import { Form as B } from "../../../Common/Form/Form.js";
11
+ import { Flex as w } from "../../../Common/Flex/Flex.js";
12
+ import "classnames";
13
+ import { componentEvents as l } from "../../../../shared/constants.js";
14
+ import { RadioGroupField as f } from "../../../Common/Fields/RadioGroupField/RadioGroupField.js";
15
+ import { TextInputField as j } from "../../../Common/Fields/TextInputField/TextInputField.js";
16
+ import { ActionsLayout as G } from "../../../Common/ActionsLayout/ActionsLayout.js";
17
+ import { NumberInputField as c } from "../../../Common/Fields/NumberInputField/NumberInputField.js";
18
+ import "react-error-boundary";
19
+ import "@gusto/embedded-api/models/errors/apierror";
20
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
21
+ import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
22
+ import "@tanstack/react-query";
23
+ import { useBase as Y } from "../../../Base/useBase.js";
24
+ import "dompurify";
25
+ import "../../../../contexts/LocaleProvider/useLocale.js";
26
+ import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
27
+ import { CheckboxField as k } from "../../../Common/Fields/CheckboxField/CheckboxField.js";
28
+ const z = n.object({
29
+ active: n.boolean(),
30
+ amount: n.number().min(0).transform(String),
31
+ description: n.string().min(1),
32
+ courtOrdered: n.boolean(),
33
+ times: n.number().nullable(),
34
+ recurring: n.string().transform((e) => e === "true"),
35
+ annualMaximum: n.number().min(0).transform((e) => e > 0 ? e.toString() : null).nullable(),
36
+ payPeriodMaximum: n.number().min(0).transform((e) => e > 0 ? e.toString() : null).nullable(),
37
+ deductAsPercentage: n.string().transform((e) => e === "true")
38
+ });
39
+ function Pe({ deduction: e, employeeId: g }) {
40
+ const { onEvent: o, baseSubmitHandler: x } = Y(), { t: r } = F("Employee.Deductions"), p = _(), { mutateAsync: P, isPending: h } = I(), { mutateAsync: E, isPending: y } = U(), D = h || y, m = T(() => ({
41
+ amount: e?.amount ? Number(e.amount) : 0,
42
+ description: e?.description ?? "",
43
+ times: e?.times ?? null,
44
+ recurring: e?.recurring?.toString() ?? "true",
45
+ annualMaximum: e?.annualMaximum ? Number(e.annualMaximum) : null,
46
+ payPeriodMaximum: e?.payPeriodMaximum ? Number(e.payPeriodMaximum) : null,
47
+ deductAsPercentage: e?.deductAsPercentage?.toString() ?? "true",
48
+ active: !0,
49
+ courtOrdered: e?.courtOrdered ?? !1
50
+ }), [e]), a = L({
51
+ resolver: N(z),
52
+ defaultValues: m
53
+ }), { reset: d, control: C } = a;
54
+ S(() => {
55
+ d(m);
56
+ }, [e, m, d]);
57
+ const M = q({ control: C, name: "recurring" }), O = async (A) => {
58
+ await x(A, async (i) => {
59
+ if (e) {
60
+ const { garnishment: u } = await E({
61
+ request: {
62
+ garnishmentId: e.uuid,
63
+ requestBody: {
64
+ ...i,
65
+ version: e.version,
66
+ times: i.recurring ? null : 1
67
+ }
68
+ }
69
+ });
70
+ o(l.EMPLOYEE_DEDUCTION_UPDATED, u);
71
+ } else {
72
+ const { garnishment: u } = await P({
73
+ request: {
74
+ employeeId: g,
75
+ requestBody: { ...i, times: i.recurring ? null : 1 }
76
+ }
77
+ });
78
+ o(l.EMPLOYEE_DEDUCTION_CREATED, u);
79
+ }
80
+ });
81
+ }, v = () => {
82
+ o(l.EMPLOYEE_DEDUCTION_CANCEL);
83
+ };
84
+ return /* @__PURE__ */ t(R, { ...a, children: /* @__PURE__ */ t(B, { onSubmit: a.handleSubmit(O), children: /* @__PURE__ */ t(w, { flexDirection: "column", gap: 32, children: /* @__PURE__ */ s(b, { children: [
85
+ /* @__PURE__ */ t(j, { name: "description", label: r("descriptionLabel"), isRequired: !0 }),
86
+ /* @__PURE__ */ t(
87
+ f,
88
+ {
89
+ name: "deductAsPercentage",
90
+ label: r("deductionTypeLabel"),
91
+ isRequired: !0,
92
+ options: [
93
+ { value: "true", label: r("deductionTypePercentageOption") },
94
+ { value: "false", label: r("deductionTypeFixedAmountOption") }
95
+ ]
96
+ }
97
+ ),
98
+ /* @__PURE__ */ t(c, { name: "amount", label: r("deductionAmountLabel"), isRequired: !0, min: 0 }),
99
+ /* @__PURE__ */ t(
100
+ f,
101
+ {
102
+ name: "recurring",
103
+ label: r("frequencyLabel"),
104
+ isRequired: !0,
105
+ options: [
106
+ { value: "true", label: r("frequencyRecurringOption") },
107
+ { value: "false", label: r("frequencyOneTimeOption") }
108
+ ]
109
+ }
110
+ ),
111
+ M === "true" && /* @__PURE__ */ s(b, { children: [
112
+ /* @__PURE__ */ t(c, { name: "annualMaximum", label: r("annualMaxLabel"), min: 0 }),
113
+ /* @__PURE__ */ t(c, { name: "payPeriodMaximum", label: "Pay period maximum", min: 0 })
114
+ ] }),
115
+ /* @__PURE__ */ t(
116
+ k,
117
+ {
118
+ name: "courtOrdered",
119
+ label: r("courtOrderedLabel"),
120
+ isDisabled: !!e
121
+ }
122
+ ),
123
+ /* @__PURE__ */ s(G, { children: [
124
+ /* @__PURE__ */ t(p.Button, { variant: "secondary", onClick: v, children: r("cancelCta") }),
125
+ /* @__PURE__ */ t(p.Button, { type: "submit", isLoading: D, children: r(e ? "continueCta" : "addDeductionCta") })
126
+ ] })
127
+ ] }) }) }) });
128
+ }
129
+ export {
130
+ z as DeductionSchema,
131
+ Pe as default
132
+ };
133
+ //# sourceMappingURL=CustomDeductionForm.js.map