@gusto/embedded-react-sdk 0.30.0 → 0.31.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 (318) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.d.ts +2 -1
  3. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js +48 -36
  4. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js.map +1 -1
  5. package/dist/components/Common/SignatureForm/SignatureForm.js +12 -11
  6. package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
  7. package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
  8. package/dist/components/Common/SignatureForm/SignatureFormFields.js +2 -2
  9. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  10. package/dist/components/Common/UI/ComboBox/ComboBox.d.ts +1 -1
  11. package/dist/components/Common/UI/ComboBox/ComboBox.js +73 -66
  12. package/dist/components/Common/UI/ComboBox/ComboBox.js.map +1 -1
  13. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +5 -0
  14. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  15. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  16. package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
  17. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +1 -1
  18. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +1 -1
  19. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +16 -17
  20. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  21. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  22. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +1 -1
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +5 -6
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  27. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  28. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  29. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  30. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +6 -5
  31. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  32. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  33. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  34. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +6 -5
  35. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  36. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
  37. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  38. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  39. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +2 -2
  40. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  41. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  42. package/dist/components/Company/FederalTaxes/FederalTaxes.js +2 -2
  43. package/dist/components/Company/FederalTaxes/Form.js +4 -3
  44. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  45. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
  46. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  47. package/dist/components/Company/Industry/Context.js +7 -6
  48. package/dist/components/Company/Industry/Context.js.map +1 -1
  49. package/dist/components/Company/Industry/Industry.js +1 -1
  50. package/dist/components/Company/Industry/Industry.js.map +1 -1
  51. package/dist/components/Company/Locations/LocationForm/Form.js +5 -6
  52. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  53. package/dist/components/Company/Locations/LocationForm/LocationForm.js +14 -14
  54. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  55. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  56. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  57. package/dist/components/Company/Locations/LocationsList/LocationsList.js +31 -31
  58. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  59. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  60. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  61. package/dist/components/Company/OnboardingOverview/Completed.js +3 -2
  62. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  63. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +3 -2
  64. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  65. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -2
  66. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  67. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  68. package/dist/components/Company/PaySchedule/PaySchedule.js +2 -2
  69. package/dist/components/Company/PaySchedule/_parts/Edit.js +23 -24
  70. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  71. package/dist/components/Company/PaySchedule/_parts/Head.js +9 -8
  72. package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
  73. package/dist/components/Company/PaySchedule/_parts/List.js +12 -11
  74. package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
  75. package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
  76. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  80. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  81. package/dist/components/Contractor/Address/Address.js +2 -2
  82. package/dist/components/Contractor/Address/Form.js +7 -8
  83. package/dist/components/Contractor/Address/Form.js.map +1 -1
  84. package/dist/components/Contractor/Address/useAddress.js +6 -5
  85. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  86. package/dist/components/Contractor/ContractorList/index.js +17 -17
  87. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +2 -2
  88. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
  89. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +102 -99
  90. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  91. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
  92. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +35 -31
  93. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  94. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +22 -23
  95. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  96. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +8 -7
  97. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  98. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +51 -48
  99. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  100. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +58 -66
  101. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  102. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +7 -6
  103. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  104. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +3 -2
  105. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  106. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +3 -2
  107. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  108. package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
  109. package/dist/components/Contractor/Profile/useContractorProfile.js +3 -2
  110. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  111. package/dist/components/Contractor/Submit/Submit.js +1 -1
  112. package/dist/components/Contractor/index.d.ts +5 -0
  113. package/dist/components/Contractor/index.js +21 -11
  114. package/dist/components/Contractor/index.js.map +1 -1
  115. package/dist/components/Employee/Compensation/Edit.js +14 -14
  116. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +11 -10
  117. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  118. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +12 -11
  119. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  120. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +12 -11
  121. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  122. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +1 -1
  123. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +2 -3
  124. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
  125. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +7 -7
  126. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
  127. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +24 -24
  128. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  129. package/dist/components/Employee/DocumentSigner/DocumentList/List.js +3 -2
  130. package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
  131. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.d.ts +0 -1
  132. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  133. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  134. package/dist/components/Employee/DocumentSigner/DocumentSigner.d.ts +2 -1
  135. package/dist/components/Employee/DocumentSigner/DocumentSigner.js +42 -21
  136. package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +1 -1
  137. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +5 -0
  138. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +65 -0
  139. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -0
  140. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +10 -0
  141. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +120 -0
  142. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -0
  143. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +43 -0
  144. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +51 -0
  145. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -0
  146. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.test.d.ts +1 -0
  147. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/countries.d.ts +4 -0
  148. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/countries.js +199 -0
  149. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/countries.js.map +1 -0
  150. package/dist/components/Employee/{EmploymentEligibility → DocumentSigner/EmploymentEligibility}/index.d.ts +0 -1
  151. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +107 -0
  152. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +284 -0
  153. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -0
  154. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.module.scss.js +10 -0
  155. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.module.scss.js.map +1 -0
  156. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +1 -1
  157. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  158. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  159. package/dist/components/Employee/DocumentSigner/documentSignerStateMachine.d.ts +6 -0
  160. package/dist/components/Employee/DocumentSigner/documentSignerStateMachine.js +33 -14
  161. package/dist/components/Employee/DocumentSigner/documentSignerStateMachine.js.map +1 -1
  162. package/dist/components/Employee/DocumentSigner/stateMachine.d.ts +1 -0
  163. package/dist/components/Employee/DocumentSigner/stateMachine.js +41 -23
  164. package/dist/components/Employee/DocumentSigner/stateMachine.js.map +1 -1
  165. package/dist/components/Employee/EmployeeDocuments/EmployeeDocuments.d.ts +10 -0
  166. package/dist/components/Employee/EmployeeDocuments/EmployeeDocuments.js +55 -0
  167. package/dist/components/Employee/EmployeeDocuments/EmployeeDocuments.js.map +1 -0
  168. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +18 -0
  169. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js +116 -0
  170. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -0
  171. package/dist/components/Employee/EmployeeDocuments/index.d.ts +2 -0
  172. package/dist/components/Employee/EmployeeList/EmployeeList.js +4 -3
  173. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  174. package/dist/components/Employee/EmployeeList/Head.js +3 -2
  175. package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
  176. package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
  177. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  178. package/dist/components/Employee/FederalTaxes/FederalForm.js +7 -7
  179. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +4 -3
  180. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  181. package/dist/components/Employee/Landing/Landing.js +31 -26
  182. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  183. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +2 -1
  184. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +23 -21
  185. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  186. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -0
  187. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  188. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
  189. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +68 -49
  190. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  191. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
  192. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +2 -2
  193. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
  194. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  195. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +6 -5
  196. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  197. package/dist/components/Employee/Profile/AdminPersonalDetails.js +1 -1
  198. package/dist/components/Employee/Profile/HomeAddress.js +9 -10
  199. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  200. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +10 -11
  201. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  202. package/dist/components/Employee/Profile/Profile.js +11 -11
  203. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  204. package/dist/components/Employee/Profile/useProfile.js +4 -3
  205. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  206. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +3 -0
  207. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +43 -30
  208. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  209. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +1 -1
  210. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js +23 -17
  211. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  212. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +36 -46
  213. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  214. package/dist/components/Employee/StateTaxes/useStateTaxes.js +4 -3
  215. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  216. package/dist/components/Employee/Taxes/FederalForm.js +7 -7
  217. package/dist/components/Employee/Taxes/useTaxes.js +4 -3
  218. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  219. package/dist/components/Employee/index.d.ts +3 -0
  220. package/dist/components/Employee/index.js +20 -16
  221. package/dist/components/Employee/index.js.map +1 -1
  222. package/dist/components/Flow/Flow.js +3 -2
  223. package/dist/components/Flow/Flow.js.map +1 -1
  224. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +63 -52
  225. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  226. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +4 -4
  227. package/dist/components/InformationRequests/InformationRequests.js +1 -1
  228. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +9 -9
  229. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +2 -0
  230. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +29 -0
  231. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -0
  232. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +13 -0
  233. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +45 -0
  234. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -0
  235. package/dist/components/Payroll/OffCycle/index.d.ts +3 -0
  236. package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +6 -0
  237. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +58 -0
  238. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -0
  239. package/dist/components/Payroll/OffCycle/offCycleStateMachine.test.d.ts +1 -0
  240. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.d.ts +2 -0
  241. package/dist/components/Payroll/{PayPeriodDateForm/PayPeriodDateFormTypes.d.ts → OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts} +5 -19
  242. package/dist/components/Payroll/OffCyclePayPeriodDateForm/index.d.ts +2 -0
  243. package/dist/components/Payroll/{PayPeriodDateForm/usePayPeriodDateValidation.d.ts → OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts} +1 -1
  244. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +2 -1
  245. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  246. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +3 -2
  247. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  248. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +12 -12
  249. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +51 -49
  250. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  251. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -1
  252. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +93 -90
  253. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  254. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -0
  255. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +26 -25
  256. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  257. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +38 -39
  258. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  259. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +18 -17
  260. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  261. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +3 -2
  262. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  263. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +3 -2
  264. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  265. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +23 -21
  266. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  267. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +3 -2
  268. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  269. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +3 -2
  270. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  271. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +1 -1
  272. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +6 -6
  273. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +3 -2
  274. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  275. package/dist/components/Payroll/helpers.d.ts +5 -0
  276. package/dist/components/Payroll/helpers.js +41 -40
  277. package/dist/components/Payroll/helpers.js.map +1 -1
  278. package/dist/components/Payroll/index.d.ts +3 -2
  279. package/dist/components/Payroll/index.js +16 -16
  280. package/dist/components/Payroll/usePreparedPayrollData.d.ts +2 -2
  281. package/dist/components/Payroll/usePreparedPayrollData.js +3 -2
  282. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  283. package/dist/contexts/ApiProvider/ApiProvider.js +6 -6
  284. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  285. package/dist/i18n/I18n.js +5 -5
  286. package/dist/i18n/I18n.js.map +1 -1
  287. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +1 -1
  288. package/dist/i18n/en/Employee.EmployeeDocuments.json.js +12 -0
  289. package/dist/i18n/en/Employee.EmployeeDocuments.json.js.map +1 -0
  290. package/dist/i18n/en/Employee.EmploymentEligibility.json.js +15 -19
  291. package/dist/i18n/en/Employee.EmploymentEligibility.json.js.map +1 -1
  292. package/dist/i18n/en/Employee.I9SignatureForm.json.js +78 -0
  293. package/dist/i18n/en/Employee.I9SignatureForm.json.js.map +1 -0
  294. package/dist/i18n/en/Payroll.OffCycle.json.js +8 -0
  295. package/dist/i18n/en/Payroll.OffCycle.json.js.map +1 -0
  296. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +18 -0
  297. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js.map +1 -0
  298. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +1 -1
  299. package/dist/i18n/en/Payroll.PayrollOverview.json.js +1 -1
  300. package/dist/shared/constants.d.ts +9 -0
  301. package/dist/shared/constants.js +60 -53
  302. package/dist/shared/constants.js.map +1 -1
  303. package/dist/style.css +1 -1
  304. package/dist/types/i18next.d.ts +110 -41
  305. package/package.json +14 -14
  306. package/dist/components/Employee/EmploymentEligibility/EmploymentEligibility.d.ts +0 -3
  307. package/dist/components/Employee/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +0 -37
  308. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.d.ts +0 -2
  309. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.js +0 -35
  310. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateForm.js.map +0 -1
  311. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.d.ts +0 -2
  312. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.js +0 -65
  313. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.js.map +0 -1
  314. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.module.scss.js +0 -18
  315. package/dist/components/Payroll/PayPeriodDateForm/PayPeriodDateFormPresentation.module.scss.js.map +0 -1
  316. package/dist/components/Payroll/PayPeriodDateForm/index.d.ts +0 -3
  317. package/dist/i18n/en/Payroll.PayPeriodDateForm.json.js +0 -32
  318. package/dist/i18n/en/Payroll.PayPeriodDateForm.json.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDeductionForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\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 { 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, RadioGroupField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nexport const DeductionSchema = z.object({\n active: z.boolean(),\n amount: z.number().min(0).transform(String),\n description: z.string().min(1),\n times: z.number().nullable(),\n recurring: z.boolean(),\n annualMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n totalAmount: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n deductAsPercentage: z.boolean(),\n})\n\nexport type DeductionInputs = z.input<typeof DeductionSchema>\nexport type DeductionPayload = z.output<typeof DeductionSchema>\n\ninterface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n onCancel: () => void\n}\n\nfunction CustomDeductionForm({ deduction, employeeId, onCancel }: ChildSupportFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\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 defaultValues: DeductionInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n description: deduction?.description ?? '',\n times: deduction?.times ?? null,\n recurring: deduction?.recurring ?? true,\n annualMaximum: deduction?.annualMaximum ? Number(deduction.annualMaximum) : null,\n totalAmount: deduction?.totalAmount ? Number(deduction.totalAmount) : null,\n deductAsPercentage: deduction?.deductAsPercentage ?? true,\n active: true,\n } as DeductionInputs\n }, [deduction])\n\n const formMethods = useForm<DeductionInputs, unknown, DeductionPayload>({\n resolver: zodResolver(DeductionSchema),\n defaultValues,\n })\n const { control } = formMethods\n const watchedRecurring = useWatch({ control, name: 'recurring' })\n const watchedAmountPercentage = useWatch({ control, name: 'deductAsPercentage' })\n\n const onSubmit: SubmitHandler<DeductionPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId: employeeId,\n requestBody: { ...payload, courtOrdered: false, times: payload.recurring ? null : 1 }, // custom deductions cannot be court ordered/garnishment\n },\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 ...payload,\n version: deduction.version as string,\n times: payload.recurring ? null : 1,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const handleCancel = () => {\n onCancel()\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <>\n <Components.Heading as=\"h3\">{t('customDeductionTitle')}</Components.Heading>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField name=\"description\" label={t('descriptionLabelV2')} isRequired />\n <RadioGroupField\n name=\"recurring\"\n label={t('frequencyLabel')}\n isRequired\n options={[\n { value: true, label: t('frequencyRecurringOptionV2') },\n { value: false, label: t('frequencyOneTimeOptionV2') },\n ]}\n />\n <RadioGroupField\n name=\"deductAsPercentage\"\n label={t('deductionTypeLabelV2')}\n isRequired\n options={[\n { value: true, label: t('deductionTypePercentageOptionV2') },\n { value: false, label: t('deductionTypeFixedAmountOption') },\n ]}\n />\n <NumberInputField\n name=\"amount\"\n adornmentStart={!watchedAmountPercentage && '$'}\n adornmentEnd={watchedAmountPercentage && '%'}\n label={t('deductionAmountLabel')}\n isRequired\n min={0}\n format={watchedAmountPercentage ? 'percent' : 'currency'}\n description={\n watchedAmountPercentage\n ? t('deductionAmountDescriptionPercentage')\n : t('deductionAmountDescriptionFixed')\n }\n />\n </Flex>\n {watchedRecurring && (\n <Flex flexDirection=\"column\" gap={20}>\n <NumberInputField\n name=\"totalAmount\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('totalAmountLabel')}\n description={t('totalAmountDescription')}\n min={0}\n />\n <NumberInputField\n name=\"annualMaximum\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('annualMaxLabel')}\n min={0}\n description={t('annualMaxDescription')}\n />\n </Flex>\n )}\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default CustomDeductionForm\n"],"names":["DeductionSchema","z","val","CustomDeductionForm","deduction","employeeId","onCancel","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultValues","useMemo","formMethods","useForm","zodResolver","control","watchedRecurring","useWatch","watchedAmountPercentage","onSubmit","data","payload","updateDeductionResponse","componentEvents","createDeductionResponse","handleCancel","FormProvider","jsx","Form","Flex","jsxs","Fragment","TextInputField","RadioGroupField","NumberInputField","ActionsLayout"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,IAAkBC,EAAE,OAAO;AAAA,EACtC,QAAQA,EAAE,QAAA;AAAA,EACV,QAAQA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,UAAU,MAAM;AAAA,EAC1C,aAAaA,EAAE,SAAS,IAAI,CAAC;AAAA,EAC7B,OAAOA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,WAAWA,EAAE,QAAA;AAAA,EACb,eAAeA,EACZ,OAAA,EACA,IAAI,CAAC,EACL,UAAU,CAAAC,MAAQA,IAAM,IAAIA,EAAI,SAAA,IAAa,IAAK,EAClD,SAAA;AAAA,EACH,aAAaD,EACV,OAAA,EACA,IAAI,CAAC,EACL,UAAU,CAAAC,MAAQA,IAAM,IAAIA,EAAI,SAAA,IAAa,IAAK,EAClD,SAAA;AAAA,EACH,oBAAoBD,EAAE,QAAA;AACxB,CAAC;AAWD,SAASE,GAAoB,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,KAAmC;AACvF,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjC,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA,GAEb,EAAE,aAAaC,GAAiB,WAAWC,EAAA,IAC/CC,EAAA,GACI,EAAE,aAAaC,GAAiB,WAAWC,EAAA,IAC/CC,EAAA,GACIC,IAAYL,KAAmBG,GAE/BG,IAAiCC,EAAQ,OACtC;AAAA,IACL,QAAQlB,GAAW,SAAS,OAAOA,EAAU,MAAM,IAAI;AAAA,IACvD,aAAaA,GAAW,eAAe;AAAA,IACvC,OAAOA,GAAW,SAAS;AAAA,IAC3B,WAAWA,GAAW,aAAa;AAAA,IACnC,eAAeA,GAAW,gBAAgB,OAAOA,EAAU,aAAa,IAAI;AAAA,IAC5E,aAAaA,GAAW,cAAc,OAAOA,EAAU,WAAW,IAAI;AAAA,IACtE,oBAAoBA,GAAW,sBAAsB;AAAA,IACrD,QAAQ;AAAA,EAAA,IAET,CAACA,CAAS,CAAC,GAERmB,IAAcC,EAAoD;AAAA,IACtE,UAAUC,EAAYzB,CAAe;AAAA,IACrC,eAAAqB;AAAA,EAAA,CACD,GACK,EAAE,SAAAK,MAAYH,GACdI,IAAmBC,EAAS,EAAE,SAAAF,GAAS,MAAM,aAAa,GAC1DG,IAA0BD,EAAS,EAAE,SAAAF,GAAS,MAAM,sBAAsB,GAE1EI,IAA4C,OAAMC,MAAQ;AAC9D,UAAMvB,EAAkBuB,GAAM,OAAMC,MAAW;AAC7C,UAAK5B,GASE;AACL,cAAM,EAAE,aAAa6B,EAAA,IAA4B,MAAMhB,EAAgB;AAAA,UACrE,SAAS;AAAA,YACP,eAAeb,EAAU;AAAA,YACzB,aAAa;AAAA,cACX,GAAG4B;AAAA,cACH,SAAS5B,EAAU;AAAA,cACnB,OAAO4B,EAAQ,YAAY,OAAO;AAAA,YAAA;AAAA,UACpC;AAAA,QACF,CACD;AACD,QAAAzB,EAAQ2B,EAAgB,4BAA4BD,CAAuB;AAAA,MAC7E,OArBgB;AACd,cAAM,EAAE,aAAaE,EAAA,IAA4B,MAAMrB,EAAgB;AAAA,UACrE,SAAS;AAAA,YACP,YAAAT;AAAA,YACA,aAAa,EAAE,GAAG2B,GAAS,cAAc,IAAO,OAAOA,EAAQ,YAAY,OAAO,EAAA;AAAA;AAAA,UAAE;AAAA,QACtF,CACD;AAED,QAAAzB,EAAQ2B,EAAgB,4BAA4BC,CAAuB;AAAA,MAC7E;AAAA,IAaF,CAAC;AAAA,EACH,GAEMC,IAAe,MAAM;AACzB,IAAA9B,EAAA;AAAA,EACF;AAEA,2BACG+B,GAAA,EAAc,GAAGd,GAChB,UAAA,gBAAAe,EAACC,KAAK,UAAUhB,EAAY,aAAaO,CAAQ,GAC/C,UAAA,gBAAAQ,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAJ,EAAC1B,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,sBAAsB,GAAE;AAAA,IACvD,gBAAA+B,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,MAAA,gBAAAC,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAF,EAACK,GAAA,EAAe,MAAK,eAAc,OAAOjC,EAAE,oBAAoB,GAAG,YAAU,IAAC;AAAA,QAC9E,gBAAA4B;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOlC,EAAE,gBAAgB;AAAA,YACzB,YAAU;AAAA,YACV,SAAS;AAAA,cACP,EAAE,OAAO,IAAM,OAAOA,EAAE,4BAA4B,EAAA;AAAA,cACpD,EAAE,OAAO,IAAO,OAAOA,EAAE,0BAA0B,EAAA;AAAA,YAAE;AAAA,UACvD;AAAA,QAAA;AAAA,QAEF,gBAAA4B;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOlC,EAAE,sBAAsB;AAAA,YAC/B,YAAU;AAAA,YACV,SAAS;AAAA,cACP,EAAE,OAAO,IAAM,OAAOA,EAAE,iCAAiC,EAAA;AAAA,cACzD,EAAE,OAAO,IAAO,OAAOA,EAAE,gCAAgC,EAAA;AAAA,YAAE;AAAA,UAC7D;AAAA,QAAA;AAAA,QAEF,gBAAA4B;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,gBAAgB,CAAChB,KAA2B;AAAA,YAC5C,cAAcA,KAA2B;AAAA,YACzC,OAAOnB,EAAE,sBAAsB;AAAA,YAC/B,YAAU;AAAA,YACV,KAAK;AAAA,YACL,QAAQmB,IAA0B,YAAY;AAAA,YAC9C,aAEMnB,EADJmB,IACM,yCACA,iCADsC;AAAA,UACL;AAAA,QAAA;AAAA,MAE3C,GACF;AAAA,MACCF,KACC,gBAAAc,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,QAAO;AAAA,YACP,OAAOnC,EAAE,kBAAkB;AAAA,YAC3B,aAAaA,EAAE,wBAAwB;AAAA,YACvC,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAEP,gBAAA4B;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,QAAO;AAAA,YACP,OAAOnC,EAAE,gBAAgB;AAAA,YACzB,KAAK;AAAA,YACL,aAAaA,EAAE,sBAAsB;AAAA,UAAA;AAAA,QAAA;AAAA,MACvC,EAAA,CACF;AAAA,IAAA,GAEJ;AAAA,sBACCoC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAR,EAAC1B,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASwB,GAC7C,UAAA1B,EAAE,WAAW,EAAA,CAChB;AAAA,MACA,gBAAA4B,EAAC1B,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWQ,GACzC,UAAAV,EAAE,SAAS,EAAA,CACd;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF,EAAA,CACF,GACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"CustomDeductionForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\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 { 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, RadioGroupField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nexport const DeductionSchema = z.object({\n active: z.boolean(),\n amount: z.number().min(0).transform(String),\n description: z.string().min(1),\n times: z.number().nullable(),\n recurring: z.boolean(),\n annualMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n totalAmount: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n deductAsPercentage: z.boolean(),\n})\n\nexport type DeductionInputs = z.input<typeof DeductionSchema>\nexport type DeductionPayload = z.output<typeof DeductionSchema>\n\ninterface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n onCancel: () => void\n}\n\nfunction CustomDeductionForm({ deduction, employeeId, onCancel }: ChildSupportFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\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 defaultValues: DeductionInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n description: deduction?.description ?? '',\n times: deduction?.times ?? null,\n recurring: deduction?.recurring ?? true,\n annualMaximum: deduction?.annualMaximum ? Number(deduction.annualMaximum) : null,\n totalAmount: deduction?.totalAmount ? Number(deduction.totalAmount) : null,\n deductAsPercentage: deduction?.deductAsPercentage ?? true,\n active: true,\n } as DeductionInputs\n }, [deduction])\n\n const formMethods = useForm<DeductionInputs, unknown, DeductionPayload>({\n resolver: zodResolver(DeductionSchema),\n defaultValues,\n })\n const { control } = formMethods\n const watchedRecurring = useWatch({ control, name: 'recurring' })\n const watchedAmountPercentage = useWatch({ control, name: 'deductAsPercentage' })\n\n const onSubmit: SubmitHandler<DeductionPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId: employeeId,\n requestBody: { ...payload, courtOrdered: false, times: payload.recurring ? null : 1 }, // custom deductions cannot be court ordered/garnishment\n },\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 ...payload,\n version: deduction.version as string,\n times: payload.recurring ? null : 1,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const handleCancel = () => {\n onCancel()\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <>\n <Components.Heading as=\"h3\">{t('customDeductionTitle')}</Components.Heading>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField name=\"description\" label={t('descriptionLabelV2')} isRequired />\n <RadioGroupField\n name=\"recurring\"\n label={t('frequencyLabel')}\n isRequired\n options={[\n { value: true, label: t('frequencyRecurringOptionV2') },\n { value: false, label: t('frequencyOneTimeOptionV2') },\n ]}\n />\n <RadioGroupField\n name=\"deductAsPercentage\"\n label={t('deductionTypeLabelV2')}\n isRequired\n options={[\n { value: true, label: t('deductionTypePercentageOptionV2') },\n { value: false, label: t('deductionTypeFixedAmountOption') },\n ]}\n />\n <NumberInputField\n name=\"amount\"\n adornmentStart={!watchedAmountPercentage && '$'}\n adornmentEnd={watchedAmountPercentage && '%'}\n label={t('deductionAmountLabel')}\n isRequired\n min={0}\n format={watchedAmountPercentage ? 'percent' : 'currency'}\n description={\n watchedAmountPercentage\n ? t('deductionAmountDescriptionPercentage')\n : t('deductionAmountDescriptionFixed')\n }\n />\n </Flex>\n {watchedRecurring && (\n <Flex flexDirection=\"column\" gap={20}>\n <NumberInputField\n name=\"totalAmount\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('totalAmountLabel')}\n description={t('totalAmountDescription')}\n min={0}\n />\n <NumberInputField\n name=\"annualMaximum\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('annualMaxLabel')}\n min={0}\n description={t('annualMaxDescription')}\n />\n </Flex>\n )}\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default CustomDeductionForm\n"],"names":["DeductionSchema","z","val","CustomDeductionForm","deduction","employeeId","onCancel","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultValues","useMemo","formMethods","useForm","zodResolver","control","watchedRecurring","useWatch","watchedAmountPercentage","onSubmit","data","payload","updateDeductionResponse","componentEvents","createDeductionResponse","handleCancel","FormProvider","jsx","Form","Flex","jsxs","Fragment","TextInputField","RadioGroupField","NumberInputField","ActionsLayout"],"mappings":"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"}
@@ -11,18 +11,19 @@ import { useComponentContext as _ } from "../../../../contexts/ComponentAdapter/
11
11
  import { Form as j } from "../../../Common/Form/Form.js";
12
12
  import { Flex as m } from "../../../Common/Flex/Flex.js";
13
13
  import "classnames";
14
- import { ActionsLayout as $ } from "../../../Common/ActionsLayout/ActionsLayout.js";
14
+ import { componentEvents as b } from "../../../../shared/constants.js";
15
+ import { RadioGroupField as f } from "../../../Common/Fields/RadioGroupField/RadioGroupField.js";
16
+ import { TextInputField as $ } from "../../../Common/Fields/TextInputField/TextInputField.js";
17
+ import { ActionsLayout as z } from "../../../Common/ActionsLayout/ActionsLayout.js";
18
+ import { NumberInputField as c } from "../../../Common/Fields/NumberInputField/NumberInputField.js";
15
19
  import "react-error-boundary";
16
20
  import "@gusto/embedded-api/models/errors/apierror";
17
21
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
18
22
  import "@tanstack/react-query";
19
- import { useBase as z } from "../../../Base/useBase.js";
20
- import { componentEvents as b } from "../../../../shared/constants.js";
23
+ import { useBase as H } from "../../../Base/useBase.js";
24
+ import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
21
25
  import "dompurify";
22
26
  import "../../../../contexts/LocaleProvider/useLocale.js";
23
- import { TextInputField as H } from "../../../Common/Fields/TextInputField/TextInputField.js";
24
- import { RadioGroupField as f } from "../../../Common/Fields/RadioGroupField/RadioGroupField.js";
25
- import { NumberInputField as c } from "../../../Common/Fields/NumberInputField/NumberInputField.js";
26
27
  const Y = r.object({
27
28
  active: r.boolean(),
28
29
  amount: r.number().min(0).transform(String),
@@ -35,14 +36,14 @@ const Y = r.object({
35
36
  deductAsPercentage: r.boolean(),
36
37
  garnishmentType: r.nativeEnum(G)
37
38
  });
38
- function Ae({
39
+ function De({
39
40
  deduction: e,
40
41
  employeeId: h,
41
42
  selectedGarnishmentType: A,
42
43
  selectedGarnishmentTitle: D,
43
44
  onCancel: y
44
45
  }) {
45
- const { onEvent: p, baseSubmitHandler: x } = z(), { t: n } = L("Employee.Deductions"), u = _(), { mutateAsync: P, isPending: E } = I(), { mutateAsync: v, isPending: T } = U(), M = E || T, C = w(() => ({
46
+ const { onEvent: p, baseSubmitHandler: x } = H(), { t: n } = L("Employee.Deductions"), u = _(), { mutateAsync: P, isPending: E } = I(), { mutateAsync: v, isPending: T } = U(), M = E || T, C = w(() => ({
46
47
  amount: e?.amount ? Number(e.amount) : 0,
47
48
  description: e?.description ?? "",
48
49
  times: e?.times ?? null,
@@ -87,7 +88,7 @@ function Ae({
87
88
  /* @__PURE__ */ t(u.Heading, { as: "h3", children: D }),
88
89
  /* @__PURE__ */ o(m, { flexDirection: "column", gap: 20, children: [
89
90
  /* @__PURE__ */ o(m, { flexDirection: "column", gap: 20, children: [
90
- /* @__PURE__ */ t(H, { name: "description", label: n("descriptionLabelV2"), isRequired: !0 }),
91
+ /* @__PURE__ */ t($, { name: "description", label: n("descriptionLabelV2"), isRequired: !0 }),
91
92
  /* @__PURE__ */ t(
92
93
  f,
93
94
  {
@@ -151,7 +152,7 @@ function Ae({
151
152
  )
152
153
  ] })
153
154
  ] }),
154
- /* @__PURE__ */ o($, { children: [
155
+ /* @__PURE__ */ o(z, { children: [
155
156
  /* @__PURE__ */ t(u.Button, { variant: "secondary", onClick: O, children: n("cancelCta") }),
156
157
  /* @__PURE__ */ t(u.Button, { type: "submit", isLoading: M, children: n("saveCta") })
157
158
  ] })
@@ -159,6 +160,6 @@ function Ae({
159
160
  }
160
161
  export {
161
162
  Y as DeductionSchema,
162
- Ae as default
163
+ De as default
163
164
  };
164
165
  //# sourceMappingURL=GarnishmentForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GarnishmentForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/GarnishmentForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { type Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { GarnishmentType } from '@gusto/embedded-api/models/operations/postv1employeesemployeeidgarnishments'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api/react-query/garnishmentsUpdate'\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, RadioGroupField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nexport const DeductionSchema = z.object({\n active: z.boolean(),\n amount: z.number().min(0).transform(String),\n description: z.string().min(1),\n courtOrdered: z.boolean(),\n times: z.number().nullable(),\n recurring: z.boolean(),\n annualMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n totalAmount: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n deductAsPercentage: z.boolean(),\n garnishmentType: z.nativeEnum(GarnishmentType),\n})\n\nexport type DeductionInputs = z.input<typeof DeductionSchema>\nexport type DeductionPayload = z.output<typeof DeductionSchema>\n\ninterface GarnishmentFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n selectedGarnishmentType: GarnishmentType\n selectedGarnishmentTitle: string\n onCancel: () => void\n}\n\nfunction GarnishmentForm({\n deduction,\n employeeId,\n selectedGarnishmentType,\n selectedGarnishmentTitle,\n onCancel,\n}: GarnishmentFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\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 defaultValues: DeductionInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n description: deduction?.description ?? '',\n times: deduction?.times ?? null,\n recurring: deduction?.recurring ?? true,\n annualMaximum: deduction?.annualMaximum ? Number(deduction.annualMaximum) : null,\n totalAmount: deduction?.totalAmount ? Number(deduction.totalAmount) : null,\n deductAsPercentage: deduction?.deductAsPercentage ?? true,\n active: true,\n courtOrdered: true,\n garnishmentType: deduction?.garnishmentType ?? selectedGarnishmentType,\n }\n }, [deduction])\n\n const formMethods = useForm<DeductionInputs, unknown, DeductionPayload>({\n resolver: zodResolver(DeductionSchema),\n defaultValues,\n })\n const { control } = formMethods\n const watchedRecurring = useWatch({ control, name: 'recurring' })\n const watchedAmountPercentage = useWatch({ control, name: 'deductAsPercentage' })\n\n const onSubmit: SubmitHandler<DeductionPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId: employeeId,\n requestBody: { ...payload, times: payload.recurring ? null : 1 },\n },\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 ...payload,\n version: deduction.version as string,\n times: payload.recurring ? null : 1,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const handleCancel = () => {\n onCancel()\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <>\n <Components.Heading as=\"h3\">{selectedGarnishmentTitle}</Components.Heading>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField name=\"description\" label={t('descriptionLabelV2')} isRequired />\n <RadioGroupField\n name=\"recurring\"\n label={t('frequencyLabel')}\n isRequired\n options={[\n { value: true, label: t('frequencyRecurringOptionV2') },\n { value: false, label: t('frequencyOneTimeOptionV2') },\n ]}\n />\n <RadioGroupField\n name=\"deductAsPercentage\"\n label={t('deductionTypeLabelV2')}\n isRequired\n options={[\n { value: true, label: t('deductionTypePercentageOptionV2') },\n { value: false, label: t('deductionTypeFixedAmountOption') },\n ]}\n />\n <NumberInputField\n name=\"amount\"\n adornmentStart={!watchedAmountPercentage && '$'}\n adornmentEnd={watchedAmountPercentage && '%'}\n label={t('deductionAmountLabel')}\n isRequired\n min={0}\n format={watchedAmountPercentage ? 'percent' : 'currency'}\n description={\n watchedAmountPercentage\n ? t('deductionAmountDescriptionPercentage')\n : t('deductionAmountDescriptionFixed')\n }\n />\n </Flex>\n {watchedRecurring && (\n <Flex flexDirection=\"column\" gap={20}>\n <NumberInputField\n name=\"totalAmount\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('totalAmountLabel')}\n description={t('totalAmountDescription')}\n min={0}\n />\n <NumberInputField\n name=\"annualMaximum\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('annualMaxLabel')}\n min={0}\n description={t('annualMaxDescription')}\n />\n </Flex>\n )}\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default GarnishmentForm\n"],"names":["DeductionSchema","z","val","GarnishmentType","GarnishmentForm","deduction","employeeId","selectedGarnishmentType","selectedGarnishmentTitle","onCancel","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultValues","useMemo","formMethods","useForm","zodResolver","control","watchedRecurring","useWatch","watchedAmountPercentage","onSubmit","data","payload","updateDeductionResponse","componentEvents","createDeductionResponse","handleCancel","FormProvider","jsx","Form","Flex","jsxs","Fragment","TextInputField","RadioGroupField","NumberInputField","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"GarnishmentForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/GarnishmentForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { type Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { GarnishmentType } from '@gusto/embedded-api/models/operations/postv1employeesemployeeidgarnishments'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api/react-query/garnishmentsUpdate'\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, RadioGroupField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nexport const DeductionSchema = z.object({\n active: z.boolean(),\n amount: z.number().min(0).transform(String),\n description: z.string().min(1),\n courtOrdered: z.boolean(),\n times: z.number().nullable(),\n recurring: z.boolean(),\n annualMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n totalAmount: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n deductAsPercentage: z.boolean(),\n garnishmentType: z.nativeEnum(GarnishmentType),\n})\n\nexport type DeductionInputs = z.input<typeof DeductionSchema>\nexport type DeductionPayload = z.output<typeof DeductionSchema>\n\ninterface GarnishmentFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n selectedGarnishmentType: GarnishmentType\n selectedGarnishmentTitle: string\n onCancel: () => void\n}\n\nfunction GarnishmentForm({\n deduction,\n employeeId,\n selectedGarnishmentType,\n selectedGarnishmentTitle,\n onCancel,\n}: GarnishmentFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\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 defaultValues: DeductionInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n description: deduction?.description ?? '',\n times: deduction?.times ?? null,\n recurring: deduction?.recurring ?? true,\n annualMaximum: deduction?.annualMaximum ? Number(deduction.annualMaximum) : null,\n totalAmount: deduction?.totalAmount ? Number(deduction.totalAmount) : null,\n deductAsPercentage: deduction?.deductAsPercentage ?? true,\n active: true,\n courtOrdered: true,\n garnishmentType: deduction?.garnishmentType ?? selectedGarnishmentType,\n }\n }, [deduction])\n\n const formMethods = useForm<DeductionInputs, unknown, DeductionPayload>({\n resolver: zodResolver(DeductionSchema),\n defaultValues,\n })\n const { control } = formMethods\n const watchedRecurring = useWatch({ control, name: 'recurring' })\n const watchedAmountPercentage = useWatch({ control, name: 'deductAsPercentage' })\n\n const onSubmit: SubmitHandler<DeductionPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId: employeeId,\n requestBody: { ...payload, times: payload.recurring ? null : 1 },\n },\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 ...payload,\n version: deduction.version as string,\n times: payload.recurring ? null : 1,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const handleCancel = () => {\n onCancel()\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <>\n <Components.Heading as=\"h3\">{selectedGarnishmentTitle}</Components.Heading>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={20}>\n <TextInputField name=\"description\" label={t('descriptionLabelV2')} isRequired />\n <RadioGroupField\n name=\"recurring\"\n label={t('frequencyLabel')}\n isRequired\n options={[\n { value: true, label: t('frequencyRecurringOptionV2') },\n { value: false, label: t('frequencyOneTimeOptionV2') },\n ]}\n />\n <RadioGroupField\n name=\"deductAsPercentage\"\n label={t('deductionTypeLabelV2')}\n isRequired\n options={[\n { value: true, label: t('deductionTypePercentageOptionV2') },\n { value: false, label: t('deductionTypeFixedAmountOption') },\n ]}\n />\n <NumberInputField\n name=\"amount\"\n adornmentStart={!watchedAmountPercentage && '$'}\n adornmentEnd={watchedAmountPercentage && '%'}\n label={t('deductionAmountLabel')}\n isRequired\n min={0}\n format={watchedAmountPercentage ? 'percent' : 'currency'}\n description={\n watchedAmountPercentage\n ? t('deductionAmountDescriptionPercentage')\n : t('deductionAmountDescriptionFixed')\n }\n />\n </Flex>\n {watchedRecurring && (\n <Flex flexDirection=\"column\" gap={20}>\n <NumberInputField\n name=\"totalAmount\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('totalAmountLabel')}\n description={t('totalAmountDescription')}\n min={0}\n />\n <NumberInputField\n name=\"annualMaximum\"\n adornmentStart=\"$\"\n format=\"currency\"\n label={t('annualMaxLabel')}\n min={0}\n description={t('annualMaxDescription')}\n />\n </Flex>\n )}\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default GarnishmentForm\n"],"names":["DeductionSchema","z","val","GarnishmentType","GarnishmentForm","deduction","employeeId","selectedGarnishmentType","selectedGarnishmentTitle","onCancel","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultValues","useMemo","formMethods","useForm","zodResolver","control","watchedRecurring","useWatch","watchedAmountPercentage","onSubmit","data","payload","updateDeductionResponse","componentEvents","createDeductionResponse","handleCancel","FormProvider","jsx","Form","Flex","jsxs","Fragment","TextInputField","RadioGroupField","NumberInputField","ActionsLayout"],"mappings":"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"}
@@ -6,13 +6,13 @@ import { BaseComponent as w } from "../../../Base/Base.js";
6
6
  import { useBase as U } from "../../../Base/useBase.js";
7
7
  import { Flex as E } from "../../../Common/Flex/Flex.js";
8
8
  import "classnames";
9
+ import { componentEvents as c } from "../../../../shared/constants.js";
9
10
  import { ActionsLayout as Y } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
11
  import { HamburgerMenu as B } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
11
12
  import p from "../../../../hooks/useNumberFormatter.js";
12
13
  import S from "../../../../assets/icons/pencil.svg.js";
13
14
  import V from "../../../../assets/icons/trashcan.svg.js";
14
15
  import { useComponentDictionary as q, useI18n as F } from "../../../../i18n/I18n.js";
15
- import { componentEvents as c } from "../../../../shared/constants.js";
16
16
  import { useComponentContext as H } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
17
17
  import j from "../../../../assets/icons/plus-circle.svg.js";
18
18
  import { useDataView as G } from "../../../Common/DataView/useDataView.js";
@@ -5,7 +5,6 @@ import { BaseComponent as p } from "../../../Base/Base.js";
5
5
  import { useBase as h } from "../../../Base/useBase.js";
6
6
  import { Grid as C } from "../../../Common/Grid/Grid.js";
7
7
  import { Flex as m } from "../../../Common/Flex/Flex.js";
8
- import "classnames";
9
8
  import { ActionsLayout as f } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
9
  import { useComponentContext as D } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
10
  import "react";
@@ -13,7 +12,7 @@ import { useComponentDictionary as E, useI18n as y } from "../../../../i18n/I18n
13
12
  import { componentEvents as s } from "../../../../shared/constants.js";
14
13
  import g from "../../../../assets/icons/coins-hand.svg.js";
15
14
  import x from "../../../../assets/icons/plus-circle.svg.js";
16
- function w(t) {
15
+ function k(t) {
17
16
  return /* @__PURE__ */ n(p, { ...t, children: /* @__PURE__ */ n(I, { ...t, children: t.children }) });
18
17
  }
19
18
  function I({ className: t, dictionary: d }) {
@@ -50,6 +49,6 @@ function I({ className: t, dictionary: d }) {
50
49
  ] }) });
51
50
  }
52
51
  export {
53
- w as IncludeDeductions
52
+ k as IncludeDeductions
54
53
  };
55
54
  //# sourceMappingURL=IncludeDeductions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IncludeDeductions.js","sources":["../../../../../src/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport styles from './IncludeDeductions.module.scss'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n useBase,\n} from '@/components/Base'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport CoinsHandsIcon from '@/assets/icons/coins-hand.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\ninterface IncludeDeductionsProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n}\n\nexport function IncludeDeductions(props: IncludeDeductionsProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ className, dictionary }: IncludeDeductionsProps) {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n\n useComponentDictionary('Employee.Deductions', dictionary)\n useI18n('Employee.Deductions')\n\n const handleAdd = () => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_YES)\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_NO)\n }\n\n return (\n <section className={className}>\n <Grid gridTemplateColumns=\"1fr\">\n <Flex flexDirection=\"column\" gap={2}>\n <Components.Heading as=\"h2\">{t('pageTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('includeDeductionsDescriptionV2')}\n </Components.Text>\n </Flex>\n\n {/* TODO: Replace with proper empty state component for DataViews */}\n <section className={styles.emptyStateContainer}>\n <Flex flexDirection=\"column\" gap={16} justifyContent=\"center\" alignItems=\"center\">\n <section className={styles.coinHandsIconContainer}>\n <CoinsHandsIcon width={24} height={24} />\n </section>\n <Components.Text weight=\"bold\">{t('includeDeductionsEmptyState')}</Components.Text>\n <Components.Button\n type=\"button\"\n variant=\"secondary\"\n onClick={handleAdd}\n className={styles.addDeductionButton}\n >\n <PlusCircleIcon />\n {t('addDeductionButtonCta')}\n </Components.Button>\n </Flex>\n </section>\n <ActionsLayout>\n <Components.Button type=\"button\" onClick={handleContinue}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Grid>\n </section>\n )\n}\n"],"names":["IncludeDeductions","props","jsx","BaseComponent","Root","className","dictionary","onEvent","useBase","t","useTranslation","Components","useComponentContext","useComponentDictionary","useI18n","handleAdd","componentEvents","handleContinue","jsxs","Grid","Flex","styles","CoinsHandsIcon","PlusCircleIcon","ActionsLayout"],"mappings":";;;;;;;;;;;;;;;AAqBO,SAASA,EAAkBC,GAAwD;AACxF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,YAAAC,KAAsC;AAC/D,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACd,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,EAAAC,EAAuB,uBAAuBP,CAAU,GACxDQ,EAAQ,qBAAqB;AAE7B,QAAMC,IAAY,MAAM;AACtB,IAAAR,EAAQS,EAAgB,8BAA8B;AAAA,EACxD,GAEMC,IAAiB,MAAM;AAC3B,IAAAV,EAAQS,EAAgB,6BAA6B;AAAA,EACvD;AAEA,2BACG,WAAA,EAAQ,WAAAX,GACP,UAAA,gBAAAa,EAACC,GAAA,EAAK,qBAAoB,OACxB,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAlB,EAACS,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,WAAW,GAAE;AAAA,MAC5C,gBAAAP,EAACS,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAAF,EAAE,gCAAgC,EAAA,CACrC;AAAA,IAAA,GACF;AAAA,IAGA,gBAAAP,EAAC,WAAA,EAAQ,WAAWmB,EAAO,qBACzB,UAAA,gBAAAH,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,gBAAe,UAAS,YAAW,UACvE,UAAA;AAAA,MAAA,gBAAAlB,EAAC,WAAA,EAAQ,WAAWmB,EAAO,wBACzB,UAAA,gBAAAnB,EAACoB,KAAe,OAAO,IAAI,QAAQ,GAAA,CAAI,EAAA,CACzC;AAAA,MACA,gBAAApB,EAACS,EAAW,MAAX,EAAgB,QAAO,QAAQ,UAAAF,EAAE,6BAA6B,GAAE;AAAA,MACjE,gBAAAS;AAAA,QAACP,EAAW;AAAA,QAAX;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAASI;AAAA,UACT,WAAWM,EAAO;AAAA,UAElB,UAAA;AAAA,YAAA,gBAAAnB,EAACqB,GAAA,EAAe;AAAA,YACfd,EAAE,uBAAuB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5B,EAAA,CACF,EAAA,CACF;AAAA,IACA,gBAAAP,EAACsB,GAAA,EACC,UAAA,gBAAAtB,EAACS,EAAW,QAAX,EAAkB,MAAK,UAAS,SAASM,GACvC,UAAAR,EAAE,aAAa,GAClB,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"IncludeDeductions.js","sources":["../../../../../src/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport styles from './IncludeDeductions.module.scss'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n useBase,\n} from '@/components/Base'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport CoinsHandsIcon from '@/assets/icons/coins-hand.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\ninterface IncludeDeductionsProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n}\n\nexport function IncludeDeductions(props: IncludeDeductionsProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ className, dictionary }: IncludeDeductionsProps) {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n\n useComponentDictionary('Employee.Deductions', dictionary)\n useI18n('Employee.Deductions')\n\n const handleAdd = () => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_YES)\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_INCLUDE_NO)\n }\n\n return (\n <section className={className}>\n <Grid gridTemplateColumns=\"1fr\">\n <Flex flexDirection=\"column\" gap={2}>\n <Components.Heading as=\"h2\">{t('pageTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('includeDeductionsDescriptionV2')}\n </Components.Text>\n </Flex>\n\n {/* TODO: Replace with proper empty state component for DataViews */}\n <section className={styles.emptyStateContainer}>\n <Flex flexDirection=\"column\" gap={16} justifyContent=\"center\" alignItems=\"center\">\n <section className={styles.coinHandsIconContainer}>\n <CoinsHandsIcon width={24} height={24} />\n </section>\n <Components.Text weight=\"bold\">{t('includeDeductionsEmptyState')}</Components.Text>\n <Components.Button\n type=\"button\"\n variant=\"secondary\"\n onClick={handleAdd}\n className={styles.addDeductionButton}\n >\n <PlusCircleIcon />\n {t('addDeductionButtonCta')}\n </Components.Button>\n </Flex>\n </section>\n <ActionsLayout>\n <Components.Button type=\"button\" onClick={handleContinue}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Grid>\n </section>\n )\n}\n"],"names":["IncludeDeductions","props","jsx","BaseComponent","Root","className","dictionary","onEvent","useBase","t","useTranslation","Components","useComponentContext","useComponentDictionary","useI18n","handleAdd","componentEvents","handleContinue","jsxs","Grid","Flex","styles","CoinsHandsIcon","PlusCircleIcon","ActionsLayout"],"mappings":";;;;;;;;;;;;;;AAqBO,SAASA,EAAkBC,GAAwD;AACxF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,YAAAC,KAAsC;AAC/D,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACd,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,EAAAC,EAAuB,uBAAuBP,CAAU,GACxDQ,EAAQ,qBAAqB;AAE7B,QAAMC,IAAY,MAAM;AACtB,IAAAR,EAAQS,EAAgB,8BAA8B;AAAA,EACxD,GAEMC,IAAiB,MAAM;AAC3B,IAAAV,EAAQS,EAAgB,6BAA6B;AAAA,EACvD;AAEA,2BACG,WAAA,EAAQ,WAAAX,GACP,UAAA,gBAAAa,EAACC,GAAA,EAAK,qBAAoB,OACxB,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAlB,EAACS,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,WAAW,GAAE;AAAA,MAC5C,gBAAAP,EAACS,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAAF,EAAE,gCAAgC,EAAA,CACrC;AAAA,IAAA,GACF;AAAA,IAGA,gBAAAP,EAAC,WAAA,EAAQ,WAAWmB,EAAO,qBACzB,UAAA,gBAAAH,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,gBAAe,UAAS,YAAW,UACvE,UAAA;AAAA,MAAA,gBAAAlB,EAAC,WAAA,EAAQ,WAAWmB,EAAO,wBACzB,UAAA,gBAAAnB,EAACoB,KAAe,OAAO,IAAI,QAAQ,GAAA,CAAI,EAAA,CACzC;AAAA,MACA,gBAAApB,EAACS,EAAW,MAAX,EAAgB,QAAO,QAAQ,UAAAF,EAAE,6BAA6B,GAAE;AAAA,MACjE,gBAAAS;AAAA,QAACP,EAAW;AAAA,QAAX;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAASI;AAAA,UACT,WAAWM,EAAO;AAAA,UAElB,UAAA;AAAA,YAAA,gBAAAnB,EAACqB,GAAA,EAAe;AAAA,YACfd,EAAE,uBAAuB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5B,EAAA,CACF,EAAA,CACF;AAAA,IACA,gBAAAP,EAACsB,GAAA,EACC,UAAA,gBAAAtB,EAACS,EAAW,QAAX,EAAkB,MAAK,UAAS,SAASM,GACvC,UAAAR,EAAE,aAAa,GAClB,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -1,16 +1,16 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { useTranslation as r } from "react-i18next";
3
- import { useDocumentList as m } from "./useDocumentList.js";
3
+ import { useDocumentList as e } from "./useDocumentList.js";
4
4
  import "../../../../shared/constants.js";
5
5
  import "classnames";
6
- import { ActionsLayout as s } from "../../../Common/ActionsLayout/ActionsLayout.js";
7
- import { useComponentContext as c } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
6
+ import { ActionsLayout as m } from "../../../Common/ActionsLayout/ActionsLayout.js";
7
+ import { useComponentContext as s } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
8
8
  import "react";
9
- function g() {
10
- const { t } = r("Employee.DocumentSigner"), { handleContinue: n, hasSignedAllForms: i } = m(), e = c();
11
- return /* @__PURE__ */ o(s, { children: /* @__PURE__ */ o(e.Button, { onClick: n, isLoading: !1, isDisabled: !i, children: t("continueCta") }) });
9
+ function h() {
10
+ const { t } = r("Employee.DocumentSigner"), { handleContinue: n } = e(), i = s();
11
+ return /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(i.Button, { onClick: n, isLoading: !1, children: t("continueCta") }) });
12
12
  }
13
13
  export {
14
- g as Actions
14
+ h as Actions
15
15
  };
16
16
  //# sourceMappingURL=Actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useDocumentList } from './useDocumentList'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Actions() {\n const { t } = useTranslation('Employee.DocumentSigner')\n const { handleContinue, hasSignedAllForms } = useDocumentList()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button onClick={handleContinue} isLoading={false} isDisabled={!hasSignedAllForms}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","handleContinue","hasSignedAllForms","useDocumentList","Components","useComponentContext","ActionsLayout","jsx"],"mappings":";;;;;;;;AAKO,SAASA,IAAU;AACxB,QAAM,EAAE,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,gBAAAC,GAAgB,mBAAAC,EAAA,IAAsBC,EAAA,GACxCC,IAAaC,EAAA;AAEnB,2BACGC,GAAA,EACC,UAAA,gBAAAC,EAACH,EAAW,QAAX,EAAkB,SAASH,GAAgB,WAAW,IAAO,YAAY,CAACC,GACxE,UAAA,EAAE,aAAa,GAClB,GACF;AAEJ;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useDocumentList } from './useDocumentList'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport function Actions() {\n const { t } = useTranslation('Employee.DocumentSigner')\n const { handleContinue } = useDocumentList()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","handleContinue","useDocumentList","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;;;AAKO,SAASA,IAAU;AACxB,QAAM,EAAE,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,gBAAAC,EAAA,IAAmBC,EAAA,GACrBC,IAAaC,EAAA;AAEnB,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACF,EAAW,QAAX,EAAkB,SAASF,GAAgB,WAAW,IACpD,UAAA,EAAE,aAAa,GAClB,GACF;AAEJ;"}
@@ -1,47 +1,47 @@
1
1
  import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
- import { useEmployeeFormsListSuspense as f } from "@gusto/embedded-api/react-query/employeeFormsList";
3
- import { Head as d } from "./Head.js";
4
- import { List as E } from "./List.js";
5
- import { Actions as a } from "./Actions.js";
6
- import { DocumentListProvider as h } from "./useDocumentList.js";
7
- import { BaseComponent as F } from "../../../Base/Base.js";
8
- import { useBase as L } from "../../../Base/useBase.js";
2
+ import { useEmployeeFormsListSuspense as d } from "@gusto/embedded-api/react-query/employeeFormsList";
3
+ import { Head as E } from "./Head.js";
4
+ import { List as a } from "./List.js";
5
+ import { Actions as F } from "./Actions.js";
6
+ import { DocumentListProvider as L } from "./useDocumentList.js";
7
+ import { BaseComponent as h } from "../../../Base/Base.js";
8
+ import { useBase as O } from "../../../Base/useBase.js";
9
9
  import { useI18n as S } from "../../../../i18n/I18n.js";
10
- import { componentEvents as m } from "../../../../shared/constants.js";
11
- import { Flex as g } from "../../../Common/Flex/Flex.js";
12
- import "react-i18next";
10
+ import { componentEvents as i } from "../../../../shared/constants.js";
11
+ import { Flex as _ } from "../../../Common/Flex/Flex.js";
13
12
  import "classnames";
13
+ import "react-i18next";
14
14
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
15
15
  import "react";
16
- function G(e) {
17
- return /* @__PURE__ */ o(F, { ...e, children: /* @__PURE__ */ o(O, { ...e }) });
16
+ function H(e) {
17
+ return /* @__PURE__ */ o(h, { ...e, children: /* @__PURE__ */ o(x, { ...e }) });
18
18
  }
19
- function O({ employeeId: e, className: s, children: t }) {
19
+ function x({ employeeId: e, className: s, children: r }) {
20
20
  S("Employee.DocumentSigner");
21
- const { onEvent: n } = L(), { data: u, error: c } = f({ employeeId: e }), i = u.formList, p = i.every((r) => !r.requiresSigning);
21
+ const { onEvent: t } = O(), { data: u, error: c } = d({ employeeId: e }), n = u.formList;
22
22
  return /* @__PURE__ */ o("section", { className: s, children: /* @__PURE__ */ o(
23
- h,
23
+ L,
24
24
  {
25
25
  value: {
26
- employeeForms: i,
27
- hasSignedAllForms: p,
26
+ employeeForms: n,
28
27
  handleContinue: () => {
29
- n(m.EMPLOYEE_FORMS_DONE);
28
+ t(i.EMPLOYEE_FORMS_DONE);
30
29
  },
31
- handleRequestFormToSign: (r) => {
32
- n(m.EMPLOYEE_VIEW_FORM_TO_SIGN, { uuid: r.uuid });
30
+ handleRequestFormToSign: (m) => {
31
+ const p = n.find((f) => f.uuid === m.uuid);
32
+ t(i.EMPLOYEE_VIEW_FORM_TO_SIGN, { uuid: m.uuid, name: p?.name });
33
33
  },
34
34
  documentListError: c
35
35
  },
36
- children: t || /* @__PURE__ */ l(g, { flexDirection: "column", children: [
37
- /* @__PURE__ */ o(d, {}),
36
+ children: r || /* @__PURE__ */ l(_, { flexDirection: "column", children: [
38
37
  /* @__PURE__ */ o(E, {}),
39
- /* @__PURE__ */ o(a, {})
38
+ /* @__PURE__ */ o(a, {}),
39
+ /* @__PURE__ */ o(F, {})
40
40
  ] })
41
41
  }
42
42
  ) });
43
43
  }
44
44
  export {
45
- G as DocumentList
45
+ H as DocumentList
46
46
  };
47
47
  //# sourceMappingURL=DocumentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentList.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/DocumentList.tsx"],"sourcesContent":["import { useEmployeeFormsListSuspense } from '@gusto/embedded-api/react-query/employeeFormsList'\nimport { type Form } from '@gusto/embedded-api/models/components/form'\nimport { Head } from './Head'\nimport { List } from './List'\nimport { Actions } from './Actions'\nimport { DocumentListProvider } from './useDocumentList'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { Flex } from '@/components/Common'\n\ninterface DocumentListProps extends CommonComponentInterface {\n employeeId: string\n}\n\nexport function DocumentList(props: DocumentListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, className, children }: DocumentListProps) {\n useI18n('Employee.DocumentSigner')\n const { onEvent } = useBase()\n\n const { data, error: documentListError } = useEmployeeFormsListSuspense({ employeeId })\n const employeeForms = data.formList!\n\n const hasSignedAllForms = employeeForms.every(employeeForm => !employeeForm.requiresSigning)\n\n const handleRequestFormToSign = (data: Form) => {\n onEvent(componentEvents.EMPLOYEE_VIEW_FORM_TO_SIGN, { uuid: data.uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.EMPLOYEE_FORMS_DONE)\n }\n\n return (\n <section className={className}>\n <DocumentListProvider\n value={{\n employeeForms,\n hasSignedAllForms,\n handleContinue,\n handleRequestFormToSign,\n documentListError,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </DocumentListProvider>\n </section>\n )\n}\n"],"names":["DocumentList","props","jsx","BaseComponent","Root","employeeId","className","children","useI18n","onEvent","useBase","data","documentListError","useEmployeeFormsListSuspense","employeeForms","hasSignedAllForms","employeeForm","DocumentListProvider","componentEvents","jsxs","Flex","Head","List","Actions"],"mappings":";;;;;;;;;;;;;;;AAoBO,SAASA,EAAaC,GAAmD;AAC9E,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,WAAAC,GAAW,UAAAC,KAA+B;AACpE,EAAAC,EAAQ,yBAAyB;AACjC,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEd,EAAE,MAAAC,GAAM,OAAOC,EAAA,IAAsBC,EAA6B,EAAE,YAAAR,GAAY,GAChFS,IAAgBH,EAAK,UAErBI,IAAoBD,EAAc,MAAM,CAAAE,MAAgB,CAACA,EAAa,eAAe;AAU3F,SACE,gBAAAd,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,eAAAH;AAAA,QACA,mBAAAC;AAAA,QACA,gBAVe,MAAM;AAC3B,UAAAN,EAAQS,EAAgB,mBAAmB;AAAA,QAC7C;AAAA,QASQ,yBAfwB,CAACP,MAAe;AAC9C,UAAAF,EAAQS,EAAgB,4BAA4B,EAAE,MAAMP,EAAK,MAAM;AAAA,QACzE;AAAA,QAcQ,mBAAAC;AAAA,MAAA;AAAA,MAGD,UAAAL,KAGC,gBAAAY,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,QAAA,gBAAAlB,EAACmB,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAK;AAAA,0BACLC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;"}
1
+ {"version":3,"file":"DocumentList.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/DocumentList.tsx"],"sourcesContent":["import { useEmployeeFormsListSuspense } from '@gusto/embedded-api/react-query/employeeFormsList'\nimport { type Form } from '@gusto/embedded-api/models/components/form'\nimport { Head } from './Head'\nimport { List } from './List'\nimport { Actions } from './Actions'\nimport { DocumentListProvider } from './useDocumentList'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { Flex } from '@/components/Common'\n\ninterface DocumentListProps extends CommonComponentInterface {\n employeeId: string\n}\n\nexport function DocumentList(props: DocumentListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, className, children }: DocumentListProps) {\n useI18n('Employee.DocumentSigner')\n const { onEvent } = useBase()\n\n const { data, error: documentListError } = useEmployeeFormsListSuspense({ employeeId })\n const employeeForms = data.formList!\n\n const handleRequestFormToSign = (data: Form) => {\n const fullForm = employeeForms.find(f => f.uuid === data.uuid)\n onEvent(componentEvents.EMPLOYEE_VIEW_FORM_TO_SIGN, { uuid: data.uuid, name: fullForm?.name })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.EMPLOYEE_FORMS_DONE)\n }\n\n return (\n <section className={className}>\n <DocumentListProvider\n value={{\n employeeForms,\n handleContinue,\n handleRequestFormToSign,\n documentListError,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </DocumentListProvider>\n </section>\n )\n}\n"],"names":["DocumentList","props","jsx","BaseComponent","Root","employeeId","className","children","useI18n","onEvent","useBase","data","documentListError","useEmployeeFormsListSuspense","employeeForms","DocumentListProvider","componentEvents","fullForm","jsxs","Flex","Head","List","Actions"],"mappings":";;;;;;;;;;;;;;;AAoBO,SAASA,EAAaC,GAAmD;AAC9E,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,WAAAC,GAAW,UAAAC,KAA+B;AACpE,EAAAC,EAAQ,yBAAyB;AACjC,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEd,EAAE,MAAAC,GAAM,OAAOC,EAAA,IAAsBC,EAA6B,EAAE,YAAAR,GAAY,GAChFS,IAAgBH,EAAK;AAW3B,SACE,gBAAAT,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,eAAAD;AAAA,QACA,gBATe,MAAM;AAC3B,UAAAL,EAAQO,EAAgB,mBAAmB;AAAA,QAC7C;AAAA,QAQQ,yBAfwB,CAACL,MAAe;AAC9C,gBAAMM,IAAWH,EAAc,KAAK,OAAK,EAAE,SAASH,EAAK,IAAI;AAC7D,UAAAF,EAAQO,EAAgB,4BAA4B,EAAE,MAAML,EAAK,MAAM,MAAMM,GAAU,MAAM;AAAA,QAC/F;AAAA,QAaQ,mBAAAL;AAAA,MAAA;AAAA,MAGD,UAAAL,KAGC,gBAAAW,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,QAAA,gBAAAjB,EAACkB,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAK;AAAA,0BACLC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;"}
@@ -3,10 +3,11 @@ import { useTranslation as m } from "react-i18next";
3
3
  import { useDocumentList as s } from "./useDocumentList.js";
4
4
  import { Flex as l } from "../../../Common/Flex/Flex.js";
5
5
  import "classnames";
6
+ import "../../../../shared/constants.js";
6
7
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
7
8
  import "react";
8
9
  import { DocumentList as u } from "../../../Common/DocumentList/DocumentList.js";
9
- function S() {
10
+ function D() {
10
11
  const { employeeForms: i, handleRequestFormToSign: n, documentListError: r } = s(), { t: e } = m("Employee.DocumentSigner");
11
12
  return /* @__PURE__ */ o("section", { style: { width: "100%" }, children: /* @__PURE__ */ o(l, { flexDirection: "column", gap: 32, children: /* @__PURE__ */ o(
12
13
  u,
@@ -35,6 +36,6 @@ function S() {
35
36
  ) }) });
36
37
  }
37
38
  export {
38
- S as List
39
+ D as List
39
40
  };
40
41
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useDocumentList } from './useDocumentList'\nimport { Flex, DocumentList as SharedDocumentList } from '@/components/Common'\n\nexport function List() {\n const { employeeForms, handleRequestFormToSign, documentListError } = useDocumentList()\n const { t } = useTranslation('Employee.DocumentSigner')\n\n return (\n <section style={{ width: '100%' }}>\n <Flex flexDirection=\"column\" gap={32}>\n <SharedDocumentList\n forms={employeeForms.map(form => ({\n uuid: form.uuid,\n title: form.title,\n description: form.description,\n requires_signing: form.requiresSigning,\n }))}\n onRequestSign={handleRequestFormToSign}\n withError={!!documentListError}\n label={t('documentListLabel')}\n columnLabels={{\n form: t('formColumnLabel'),\n action: t('actionColumnLabel'),\n }}\n statusLabels={{\n signCta: t('signDocumentCta'),\n notSigned: t('notSigned'),\n complete: t('signDocumentComplete'),\n }}\n emptyStateLabel={t('emptyTableTitle')}\n errorLabel={t('documentListError')}\n />\n </Flex>\n </section>\n )\n}\n"],"names":["List","employeeForms","handleRequestFormToSign","documentListError","useDocumentList","t","useTranslation","jsx","Flex","SharedDocumentList","form"],"mappings":";;;;;;;;AAIO,SAASA,IAAO;AACrB,QAAM,EAAE,eAAAC,GAAe,yBAAAC,GAAyB,mBAAAC,EAAA,IAAsBC,EAAA,GAChE,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB;AAEtD,SACE,gBAAAC,EAAC,WAAA,EAAQ,OAAO,EAAE,OAAO,UACvB,UAAA,gBAAAA,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA,gBAAAD;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,OAAOR,EAAc,IAAI,CAAAS,OAAS;AAAA,QAChC,MAAMA,EAAK;AAAA,QACX,OAAOA,EAAK;AAAA,QACZ,aAAaA,EAAK;AAAA,QAClB,kBAAkBA,EAAK;AAAA,MAAA,EACvB;AAAA,MACF,eAAeR;AAAA,MACf,WAAW,CAAC,CAACC;AAAA,MACb,OAAOE,EAAE,mBAAmB;AAAA,MAC5B,cAAc;AAAA,QACZ,MAAMA,EAAE,iBAAiB;AAAA,QACzB,QAAQA,EAAE,mBAAmB;AAAA,MAAA;AAAA,MAE/B,cAAc;AAAA,QACZ,SAASA,EAAE,iBAAiB;AAAA,QAC5B,WAAWA,EAAE,WAAW;AAAA,QACxB,UAAUA,EAAE,sBAAsB;AAAA,MAAA;AAAA,MAEpC,iBAAiBA,EAAE,iBAAiB;AAAA,MACpC,YAAYA,EAAE,mBAAmB;AAAA,IAAA;AAAA,EAAA,GAErC,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"List.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useDocumentList } from './useDocumentList'\nimport { Flex, DocumentList as SharedDocumentList } from '@/components/Common'\n\nexport function List() {\n const { employeeForms, handleRequestFormToSign, documentListError } = useDocumentList()\n const { t } = useTranslation('Employee.DocumentSigner')\n\n return (\n <section style={{ width: '100%' }}>\n <Flex flexDirection=\"column\" gap={32}>\n <SharedDocumentList\n forms={employeeForms.map(form => ({\n uuid: form.uuid,\n title: form.title,\n description: form.description,\n requires_signing: form.requiresSigning,\n }))}\n onRequestSign={handleRequestFormToSign}\n withError={!!documentListError}\n label={t('documentListLabel')}\n columnLabels={{\n form: t('formColumnLabel'),\n action: t('actionColumnLabel'),\n }}\n statusLabels={{\n signCta: t('signDocumentCta'),\n notSigned: t('notSigned'),\n complete: t('signDocumentComplete'),\n }}\n emptyStateLabel={t('emptyTableTitle')}\n errorLabel={t('documentListError')}\n />\n </Flex>\n </section>\n )\n}\n"],"names":["List","employeeForms","handleRequestFormToSign","documentListError","useDocumentList","t","useTranslation","jsx","Flex","SharedDocumentList","form"],"mappings":";;;;;;;;;AAIO,SAASA,IAAO;AACrB,QAAM,EAAE,eAAAC,GAAe,yBAAAC,GAAyB,mBAAAC,EAAA,IAAsBC,EAAA,GAChE,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB;AAEtD,SACE,gBAAAC,EAAC,WAAA,EAAQ,OAAO,EAAE,OAAO,UACvB,UAAA,gBAAAA,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA,gBAAAD;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,OAAOR,EAAc,IAAI,CAAAS,OAAS;AAAA,QAChC,MAAMA,EAAK;AAAA,QACX,OAAOA,EAAK;AAAA,QACZ,aAAaA,EAAK;AAAA,QAClB,kBAAkBA,EAAK;AAAA,MAAA,EACvB;AAAA,MACF,eAAeR;AAAA,MACf,WAAW,CAAC,CAACC;AAAA,MACb,OAAOE,EAAE,mBAAmB;AAAA,MAC5B,cAAc;AAAA,QACZ,MAAMA,EAAE,iBAAiB;AAAA,QACzB,QAAQA,EAAE,mBAAmB;AAAA,MAAA;AAAA,MAE/B,cAAc;AAAA,QACZ,SAASA,EAAE,iBAAiB;AAAA,QAC5B,WAAWA,EAAE,WAAW;AAAA,QACxB,UAAUA,EAAE,sBAAsB;AAAA,MAAA;AAAA,MAEpC,iBAAiBA,EAAE,iBAAiB;AAAA,MACpC,YAAYA,EAAE,mBAAmB;AAAA,IAAA;AAAA,EAAA,GAErC,EAAA,CACF;AAEJ;"}
@@ -1,7 +1,6 @@
1
1
  import { Form } from '@gusto/embedded-api/models/components/form';
2
2
  type DocumentListContextType = {
3
3
  employeeForms: Form[];
4
- hasSignedAllForms: boolean;
5
4
  handleContinue: () => void;
6
5
  handleRequestFormToSign: (form: Form) => void;
7
6
  documentListError: Error | null;
@@ -9,12 +9,13 @@ import "../../../Base/useBase.js";
9
9
  import "../../../../shared/constants.js";
10
10
  import "classnames";
11
11
  import "../../../../contexts/ComponentAdapter/useComponentContext.js";
12
+ import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
12
13
  import "dompurify";
13
14
  import "../../../../contexts/LocaleProvider/useLocale.js";
14
15
  import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
15
- const [d, a] = t("DocumentListContext");
16
+ const [a, f] = t("DocumentListContext");
16
17
  export {
17
- a as DocumentListProvider,
18
- d as useDocumentList
18
+ f as DocumentListProvider,
19
+ a as useDocumentList
19
20
  };
20
21
  //# sourceMappingURL=useDocumentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentList.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAYA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
1
+ {"version":3,"file":"useDocumentList.js","sources":["../../../../../src/components/Employee/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAWA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
@@ -1,5 +1,6 @@
1
1
  import { BaseComponentInterface } from '../../Base';
2
2
  export interface DocumentSignerProps extends BaseComponentInterface<'Employee.DocumentSigner'> {
3
3
  employeeId: string;
4
+ withEmployeeI9?: boolean;
4
5
  }
5
- export declare const DocumentSigner: ({ employeeId, onEvent, dictionary }: DocumentSignerProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare function DocumentSigner(props: DocumentSignerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,27 +1,48 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { createMachine as i } from "robot3";
3
- import { useMemo as c } from "react";
4
- import { DocumentListContextual as p } from "./documentSignerStateMachine.js";
5
- import { documentSignerMachine as u } from "./stateMachine.js";
6
- import { Flow as f } from "../../Flow/Flow.js";
7
- import { useComponentDictionary as a } from "../../../i18n/I18n.js";
8
- const d = ({ employeeId: o, onEvent: m, dictionary: r }) => {
9
- a("Employee.DocumentSigner", r);
10
- const t = c(
11
- () => i(
12
- "index",
13
- u,
14
- (e) => ({
15
- ...e,
16
- component: p,
17
- employeeId: o
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { createMachine as d } from "robot3";
3
+ import { useMemo as l } from "react";
4
+ import { useIsMutating as b } from "@tanstack/react-query";
5
+ import { APIError as D } from "@gusto/embedded-api/models/errors/apierror";
6
+ import { useI9VerificationGetAuthorization as y } from "@gusto/embedded-api/react-query/i9VerificationGetAuthorization";
7
+ import { mutationKeyI9VerificationUpdate as L } from "@gusto/embedded-api/react-query/i9VerificationUpdate";
8
+ import { useEmployeesGet as S } from "@gusto/embedded-api/react-query/employeesGet";
9
+ import { EmploymentEligibilityContextual as h, DocumentListContextual as x } from "./documentSignerStateMachine.js";
10
+ import { documentSignerMachine as A } from "./stateMachine.js";
11
+ import { Flow as C } from "../../Flow/Flow.js";
12
+ import { BaseComponent as M } from "../../Base/Base.js";
13
+ import { useBase as E } from "../../Base/useBase.js";
14
+ import { useComponentDictionary as z } from "../../../i18n/I18n.js";
15
+ function N(o) {
16
+ return /* @__PURE__ */ i(M, { ...o, children: /* @__PURE__ */ i(B, { ...o }) });
17
+ }
18
+ function B({ employeeId: o, onEvent: m, dictionary: a, withEmployeeI9: t = !1 }) {
19
+ z("Employee.DocumentSigner", a);
20
+ const { LoadingIndicator: s } = E(), { data: u, isLoading: c } = S(
21
+ { employeeId: o },
22
+ { enabled: t }
23
+ ), r = u?.employee?.onboardingDocumentsConfig?.i9Document === !0, { data: f, isLoading: p } = y(
24
+ { employeeId: o },
25
+ {
26
+ enabled: t && r,
27
+ retry: !1,
28
+ throwOnError: (n) => !(n instanceof D && n.httpMeta.response.status === 404)
29
+ }
30
+ ), e = t && r && !f?.i9Authorization?.employeeSigned, g = l(
31
+ () => d(
32
+ e ? "employmentEligibility" : "index",
33
+ A,
34
+ (n) => ({
35
+ ...n,
36
+ component: e ? h : x,
37
+ employeeId: o,
38
+ withEmployeeI9: t
18
39
  })
19
40
  ),
20
- [o]
41
+ [o, e, t]
21
42
  );
22
- return /* @__PURE__ */ n(f, { machine: t, onEvent: m });
23
- };
43
+ return !(b({ mutationKey: L() }) > 0) && t && (c || p) ? /* @__PURE__ */ i(s, {}) : /* @__PURE__ */ i(C, { machine: g, onEvent: m });
44
+ }
24
45
  export {
25
- d as DocumentSigner
46
+ N as DocumentSigner
26
47
  };
27
48
  //# sourceMappingURL=DocumentSigner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSigner.js","sources":["../../../../src/components/Employee/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport {\n DocumentListContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport interface DocumentSignerProps extends BaseComponentInterface<'Employee.DocumentSigner'> {\n employeeId: string\n}\n\nexport const DocumentSigner = ({ employeeId, onEvent, dictionary }: DocumentSignerProps) => {\n useComponentDictionary('Employee.DocumentSigner', dictionary)\n\n const documentSigner = useMemo(\n () =>\n createMachine(\n 'index',\n documentSignerMachine,\n (initialContext: DocumentSignerContextInterface) => ({\n ...initialContext,\n component: DocumentListContextual,\n employeeId,\n }),\n ),\n [employeeId],\n )\n return <Flow machine={documentSigner} onEvent={onEvent} />\n}\n"],"names":["DocumentSigner","employeeId","onEvent","dictionary","useComponentDictionary","documentSigner","useMemo","createMachine","documentSignerMachine","initialContext","DocumentListContextual","jsx","Flow"],"mappings":";;;;;;;AAeO,MAAMA,IAAiB,CAAC,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,QAAsC;AAC1F,EAAAC,EAAuB,2BAA2BD,CAAU;AAE5D,QAAME,IAAiBC;AAAA,IACrB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,YAAAT;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACA,CAAU;AAAA,EAAA;AAEb,SAAO,gBAAAU,EAACC,GAAA,EAAK,SAASP,GAAgB,SAAAH,EAAA,CAAkB;AAC1D;"}
1
+ {"version":3,"file":"DocumentSigner.js","sources":["../../../../src/components/Employee/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { useIsMutating } from '@tanstack/react-query'\nimport { APIError } from '@gusto/embedded-api/models/errors/apierror'\nimport { useI9VerificationGetAuthorization } from '@gusto/embedded-api/react-query/i9VerificationGetAuthorization'\nimport { mutationKeyI9VerificationUpdate } from '@gusto/embedded-api/react-query/i9VerificationUpdate'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n DocumentListContextual,\n EmploymentEligibilityContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport interface DocumentSignerProps extends BaseComponentInterface<'Employee.DocumentSigner'> {\n employeeId: string\n withEmployeeI9?: boolean\n}\n\nexport function DocumentSigner(props: DocumentSignerProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, onEvent, dictionary, withEmployeeI9 = false }: DocumentSignerProps) {\n useComponentDictionary('Employee.DocumentSigner', dictionary)\n const { LoadingIndicator } = useBase()\n\n const { data: employeeData, isLoading: employeeLoading } = useEmployeesGet(\n { employeeId },\n { enabled: withEmployeeI9 },\n )\n\n const employeeHasI9Enabled =\n employeeData?.employee?.onboardingDocumentsConfig?.i9Document === true\n\n const { data: i9AuthData, isLoading: i9AuthLoading } = useI9VerificationGetAuthorization(\n { employeeId },\n {\n enabled: withEmployeeI9 && employeeHasI9Enabled,\n retry: false,\n throwOnError: (error: Error) => {\n return !(error instanceof APIError && error.httpMeta.response.status === 404)\n },\n },\n )\n\n const needsI9Form =\n withEmployeeI9 && employeeHasI9Enabled && !i9AuthData?.i9Authorization?.employeeSigned\n\n const machine = useMemo(\n () =>\n createMachine(\n needsI9Form ? 'employmentEligibility' : 'index',\n documentSignerMachine,\n (initialContext: DocumentSignerContextInterface) => ({\n ...initialContext,\n component: needsI9Form ? EmploymentEligibilityContextual : DocumentListContextual,\n employeeId,\n withEmployeeI9,\n }),\n ),\n [employeeId, needsI9Form, withEmployeeI9],\n )\n\n const isSubmittingI9 = useIsMutating({ mutationKey: mutationKeyI9VerificationUpdate() }) > 0\n\n if (!isSubmittingI9 && withEmployeeI9 && (employeeLoading || i9AuthLoading)) {\n return <LoadingIndicator />\n }\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["DocumentSigner","props","jsx","BaseComponent","Root","employeeId","onEvent","dictionary","withEmployeeI9","useComponentDictionary","LoadingIndicator","useBase","employeeData","employeeLoading","useEmployeesGet","employeeHasI9Enabled","i9AuthData","i9AuthLoading","useI9VerificationGetAuthorization","error","APIError","needsI9Form","machine","useMemo","createMachine","documentSignerMachine","initialContext","EmploymentEligibilityContextual","DocumentListContextual","useIsMutating","mutationKeyI9VerificationUpdate","Flow"],"mappings":";;;;;;;;;;;;;;AAuBO,SAASA,EAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,IAAiB,MAA8B;AAC9F,EAAAC,EAAuB,2BAA2BF,CAAU;AAC5D,QAAM,EAAE,kBAAAG,EAAA,IAAqBC,EAAA,GAEvB,EAAE,MAAMC,GAAc,WAAWC,MAAoBC;AAAA,IACzD,EAAE,YAAAT,EAAA;AAAA,IACF,EAAE,SAASG,EAAA;AAAA,EAAe,GAGtBO,IACJH,GAAc,UAAU,2BAA2B,eAAe,IAE9D,EAAE,MAAMI,GAAY,WAAWC,MAAkBC;AAAA,IACrD,EAAE,YAAAb,EAAA;AAAA,IACF;AAAA,MACE,SAASG,KAAkBO;AAAA,MAC3B,OAAO;AAAA,MACP,cAAc,CAACI,MACN,EAAEA,aAAiBC,KAAYD,EAAM,SAAS,SAAS,WAAW;AAAA,IAC3E;AAAA,EACF,GAGIE,IACJb,KAAkBO,KAAwB,CAACC,GAAY,iBAAiB,gBAEpEM,IAAUC;AAAA,IACd,MACEC;AAAA,MACEH,IAAc,0BAA0B;AAAA,MACxCI;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWL,IAAcM,IAAkCC;AAAA,QAC3D,YAAAvB;AAAA,QACA,gBAAAG;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACH,GAAYgB,GAAab,CAAc;AAAA,EAAA;AAK1C,SAAI,EAFmBqB,EAAc,EAAE,aAAaC,EAAA,EAAgC,CAAG,IAAI,MAEpEtB,MAAmBK,KAAmBI,uBACnDP,GAAA,EAAiB,IAGpB,gBAAAR,EAAC6B,GAAA,EAAK,SAAAT,GAAkB,SAAAhB,EAAA,CAAkB;AACnD;"}
@@ -0,0 +1,5 @@
1
+ import { BaseComponentInterface } from '../../../Base/Base';
2
+ export interface EmploymentEligibilityProps extends BaseComponentInterface<'Employee.EmploymentEligibility'> {
3
+ employeeId: string;
4
+ }
5
+ export declare function EmploymentEligibility(props: EmploymentEligibilityProps): import("react/jsx-runtime").JSX.Element;