@gusto/embedded-react-sdk 0.55.5 → 0.55.6

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 (384) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Common/DataView/DataTable/DataTable.js +44 -41
  3. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  4. package/dist/components/Common/RequirementsList/RequirementsList.js +21 -12
  5. package/dist/components/Common/RequirementsList/RequirementsList.js.map +1 -1
  6. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  7. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -6
  8. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  9. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -6
  10. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  11. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -8
  12. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  13. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -6
  14. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  15. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -6
  16. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  17. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -11
  18. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  19. package/dist/components/Company/Industry/Context.js +6 -9
  20. package/dist/components/Company/Industry/Context.js.map +1 -1
  21. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -6
  22. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  23. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -6
  24. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  25. package/dist/components/Company/OnboardingOverview/context.js +3 -6
  26. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  27. package/dist/components/Company/PaySchedule/PaySchedule.js +21 -15
  28. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  29. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -6
  30. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  31. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -6
  32. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  33. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +1 -0
  34. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -1
  35. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -6
  36. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  37. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +20 -17
  38. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
  39. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.d.ts +1 -0
  40. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +21 -17
  41. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
  42. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.d.ts +7 -1
  43. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.js.map +1 -1
  44. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/index.d.ts +1 -1
  45. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +112 -100
  46. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  47. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +46 -40
  48. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
  49. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +10 -9
  50. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  51. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +22 -19
  52. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
  53. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -0
  54. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +34 -30
  55. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  56. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +7 -1
  57. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -1
  58. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +1 -1
  59. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +32 -32
  60. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
  61. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +1 -0
  62. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  63. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +11 -10
  64. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  65. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +7 -6
  66. package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
  67. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -6
  68. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  69. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +20 -19
  70. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  71. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +12 -10
  72. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  73. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  74. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  75. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +13 -12
  76. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  77. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.module.scss.js +1 -1
  78. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +200 -195
  79. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  80. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +93 -85
  81. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  82. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +50 -0
  83. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +52 -0
  84. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -0
  85. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +52 -50
  86. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  87. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +259 -255
  88. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  89. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +278 -0
  90. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/index.d.ts +1 -0
  91. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +108 -0
  92. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.test.d.ts +1 -0
  93. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +95 -0
  94. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.test.d.ts +1 -0
  95. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +126 -0
  96. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +1 -0
  97. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  98. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +191 -183
  99. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  100. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +117 -107
  101. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  102. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +39 -0
  103. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +46 -0
  104. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -0
  105. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -34
  106. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  107. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +72 -87
  108. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  109. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.d.ts +17 -0
  110. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +55 -0
  111. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -0
  112. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -0
  113. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  114. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +13 -0
  115. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +58 -0
  116. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -0
  117. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -0
  118. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -0
  119. package/dist/components/Payroll/helpers.d.ts +15 -0
  120. package/dist/components/Payroll/helpers.js.map +1 -1
  121. package/dist/components/Payroll/usePreparedPayrollData.js +12 -15
  122. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  123. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +35 -35
  124. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  125. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.module.scss.js +4 -4
  126. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
  127. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  128. package/dist/hooks/usePollingTask/usePollingTask.d.ts +101 -0
  129. package/dist/hooks/usePollingTask/usePollingTask.js +50 -0
  130. package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -0
  131. package/dist/hooks/usePollingTask/usePollingTask.test.d.ts +1 -0
  132. package/dist/i18n/I18n.js +147 -30
  133. package/dist/i18n/I18n.js.map +1 -1
  134. package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
  135. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  136. package/dist/i18n/en/Contractor.Management.Compensation.json.js +6 -6
  137. package/dist/i18n/en/Contractor.ManagementContractorList.json.js +8 -8
  138. package/dist/i18n/en/Contractor.Profile.json.js +5 -5
  139. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +7 -5
  140. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js.map +1 -1
  141. package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
  142. package/dist/i18n/en/Payroll.PayrollOverview.json.js +16 -16
  143. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +98 -0
  144. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
  145. package/dist/i18n/en/common.json.d.ts +1 -0
  146. package/dist/i18n/en/common.json.js +1 -1
  147. package/dist/i18n/es_US/Company.Addresses.json.js +8 -0
  148. package/dist/i18n/es_US/Company.Addresses.json.js.map +1 -0
  149. package/dist/i18n/es_US/Company.AssignSignatory.json.js +22 -0
  150. package/dist/i18n/es_US/Company.AssignSignatory.json.js.map +1 -0
  151. package/dist/i18n/es_US/Company.BankAccount.json.js +20 -0
  152. package/dist/i18n/es_US/Company.BankAccount.json.js.map +1 -0
  153. package/dist/i18n/es_US/Company.DocumentList.json.js +28 -0
  154. package/dist/i18n/es_US/Company.DocumentList.json.js.map +1 -0
  155. package/dist/i18n/es_US/Company.FederalTaxes.json.js +28 -0
  156. package/dist/i18n/es_US/Company.FederalTaxes.json.js.map +1 -0
  157. package/dist/i18n/es_US/Company.Industry.json.js +12 -0
  158. package/dist/i18n/es_US/Company.Industry.json.js.map +1 -0
  159. package/dist/i18n/es_US/Company.Locations.json.js +44 -0
  160. package/dist/i18n/es_US/Company.Locations.json.js.map +1 -0
  161. package/dist/i18n/es_US/Company.OnboardingOverview.json.js +24 -0
  162. package/dist/i18n/es_US/Company.OnboardingOverview.json.js.map +1 -0
  163. package/dist/i18n/es_US/Company.PaySchedule.json.js +36 -0
  164. package/dist/i18n/es_US/Company.PaySchedule.json.js.map +1 -0
  165. package/dist/i18n/es_US/Company.SignatureForm.json.js +20 -0
  166. package/dist/i18n/es_US/Company.SignatureForm.json.js.map +1 -0
  167. package/dist/i18n/es_US/Company.StateTaxes.json.js +12 -0
  168. package/dist/i18n/es_US/Company.StateTaxes.json.js.map +1 -0
  169. package/dist/i18n/es_US/Company.TimeOff.CreateTimeOffPolicy.json.js +18 -0
  170. package/dist/i18n/es_US/Company.TimeOff.CreateTimeOffPolicy.json.js.map +1 -0
  171. package/dist/i18n/es_US/Company.TimeOff.EmployeeTable.json.js +26 -0
  172. package/dist/i18n/es_US/Company.TimeOff.EmployeeTable.json.js.map +1 -0
  173. package/dist/i18n/es_US/Company.TimeOff.HolidayPolicy.json.js +26 -0
  174. package/dist/i18n/es_US/Company.TimeOff.HolidayPolicy.json.js.map +1 -0
  175. package/dist/i18n/es_US/Company.TimeOff.PolicyDetail.json.js +14 -0
  176. package/dist/i18n/es_US/Company.TimeOff.PolicyDetail.json.js.map +1 -0
  177. package/dist/i18n/es_US/Company.TimeOff.SelectEmployees.json.js +22 -0
  178. package/dist/i18n/es_US/Company.TimeOff.SelectEmployees.json.js.map +1 -0
  179. package/dist/i18n/es_US/Company.TimeOff.SelectPolicyType.json.js +26 -0
  180. package/dist/i18n/es_US/Company.TimeOff.SelectPolicyType.json.js.map +1 -0
  181. package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicies.json.js +40 -0
  182. package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicies.json.js.map +1 -0
  183. package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicyDetails.json.js +52 -0
  184. package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicyDetails.json.js.map +1 -0
  185. package/dist/i18n/es_US/Company.TimeOff.TimeOffRequests.json.js +21 -0
  186. package/dist/i18n/es_US/Company.TimeOff.TimeOffRequests.json.js.map +1 -0
  187. package/dist/i18n/es_US/Contractor.Address.json.js +22 -0
  188. package/dist/i18n/es_US/Contractor.Address.json.js.map +1 -0
  189. package/dist/i18n/es_US/Contractor.BankAccountFields.json.js +12 -0
  190. package/dist/i18n/es_US/Contractor.BankAccountFields.json.js.map +1 -0
  191. package/dist/i18n/es_US/Contractor.ContractorList.json.js +24 -0
  192. package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -0
  193. package/dist/i18n/es_US/Contractor.Dashboard.json.js +14 -0
  194. package/dist/i18n/es_US/Contractor.Dashboard.json.js.map +1 -0
  195. package/dist/i18n/es_US/Contractor.DocumentsList.json.js +18 -0
  196. package/dist/i18n/es_US/Contractor.DocumentsList.json.js.map +1 -0
  197. package/dist/i18n/es_US/Contractor.Landing.json.js +18 -0
  198. package/dist/i18n/es_US/Contractor.Landing.json.js.map +1 -0
  199. package/dist/i18n/es_US/Contractor.Management.Address.json.js +14 -0
  200. package/dist/i18n/es_US/Contractor.Management.Address.json.js.map +1 -0
  201. package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +22 -0
  202. package/dist/i18n/es_US/Contractor.Management.Compensation.json.js.map +1 -0
  203. package/dist/i18n/es_US/Contractor.Management.Documents.json.js +16 -0
  204. package/dist/i18n/es_US/Contractor.Management.Documents.json.js.map +1 -0
  205. package/dist/i18n/es_US/Contractor.Management.PaymentMethod.json.js +24 -0
  206. package/dist/i18n/es_US/Contractor.Management.PaymentMethod.json.js.map +1 -0
  207. package/dist/i18n/es_US/Contractor.Management.Profile.json.js +20 -0
  208. package/dist/i18n/es_US/Contractor.Management.Profile.json.js.map +1 -0
  209. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +48 -0
  210. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -0
  211. package/dist/i18n/es_US/Contractor.NewHireReport.json.js +22 -0
  212. package/dist/i18n/es_US/Contractor.NewHireReport.json.js.map +1 -0
  213. package/dist/i18n/es_US/Contractor.OnboardingSummary.json.js +10 -0
  214. package/dist/i18n/es_US/Contractor.OnboardingSummary.json.js.map +1 -0
  215. package/dist/i18n/es_US/Contractor.PaymentMethod.json.js +20 -0
  216. package/dist/i18n/es_US/Contractor.PaymentMethod.json.js.map +1 -0
  217. package/dist/i18n/es_US/Contractor.Payments.CreateHistoricalPayment.json.js +34 -0
  218. package/dist/i18n/es_US/Contractor.Payments.CreateHistoricalPayment.json.js.map +1 -0
  219. package/dist/i18n/es_US/Contractor.Payments.CreatePayment.json.js +42 -0
  220. package/dist/i18n/es_US/Contractor.Payments.CreatePayment.json.js.map +1 -0
  221. package/dist/i18n/es_US/Contractor.Payments.HistoricalPaymentSummary.json.js +42 -0
  222. package/dist/i18n/es_US/Contractor.Payments.HistoricalPaymentSummary.json.js.map +1 -0
  223. package/dist/i18n/es_US/Contractor.Payments.PaymentHistory.json.js +26 -0
  224. package/dist/i18n/es_US/Contractor.Payments.PaymentHistory.json.js.map +1 -0
  225. package/dist/i18n/es_US/Contractor.Payments.PaymentStatement.json.js +22 -0
  226. package/dist/i18n/es_US/Contractor.Payments.PaymentStatement.json.js.map +1 -0
  227. package/dist/i18n/es_US/Contractor.Payments.PaymentSummary.json.js +54 -0
  228. package/dist/i18n/es_US/Contractor.Payments.PaymentSummary.json.js.map +1 -0
  229. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +32 -0
  230. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -0
  231. package/dist/i18n/es_US/Contractor.Profile.json.js +18 -0
  232. package/dist/i18n/es_US/Contractor.Profile.json.js.map +1 -0
  233. package/dist/i18n/es_US/Contractor.SelectContractors.json.js +18 -0
  234. package/dist/i18n/es_US/Contractor.SelectContractors.json.js.map +1 -0
  235. package/dist/i18n/es_US/Contractor.SignatureForm.json.js +34 -0
  236. package/dist/i18n/es_US/Contractor.SignatureForm.json.js.map +1 -0
  237. package/dist/i18n/es_US/Contractor.Submit.json.js +26 -0
  238. package/dist/i18n/es_US/Contractor.Submit.json.js.map +1 -0
  239. package/dist/i18n/es_US/Employee.BankAccount.json.js +14 -0
  240. package/dist/i18n/es_US/Employee.BankAccount.json.js.map +1 -0
  241. package/dist/i18n/es_US/Employee.BankFormBody.json.js +12 -0
  242. package/dist/i18n/es_US/Employee.BankFormBody.json.js.map +1 -0
  243. package/dist/i18n/es_US/Employee.Compensation.json.js +68 -0
  244. package/dist/i18n/es_US/Employee.Compensation.json.js.map +1 -0
  245. package/dist/i18n/es_US/Employee.Dashboard.json.js +12 -0
  246. package/dist/i18n/es_US/Employee.Dashboard.json.js.map +1 -0
  247. package/dist/i18n/es_US/Employee.Deductions.json.js +142 -0
  248. package/dist/i18n/es_US/Employee.Deductions.json.js.map +1 -0
  249. package/dist/i18n/es_US/Employee.DeductionsForm.json.js +24 -0
  250. package/dist/i18n/es_US/Employee.DeductionsForm.json.js.map +1 -0
  251. package/dist/i18n/es_US/Employee.DocumentManager.json.js +10 -0
  252. package/dist/i18n/es_US/Employee.DocumentManager.json.js.map +1 -0
  253. package/dist/i18n/es_US/Employee.DocumentSigner.json.js +28 -0
  254. package/dist/i18n/es_US/Employee.DocumentSigner.json.js.map +1 -0
  255. package/dist/i18n/es_US/Employee.EmployeeDocuments.json.js +10 -0
  256. package/dist/i18n/es_US/Employee.EmployeeDocuments.json.js.map +1 -0
  257. package/dist/i18n/es_US/Employee.EmployeeList.json.js +30 -0
  258. package/dist/i18n/es_US/Employee.EmployeeList.json.js.map +1 -0
  259. package/dist/i18n/es_US/Employee.EmploymentEligibility.json.js +22 -0
  260. package/dist/i18n/es_US/Employee.EmploymentEligibility.json.js.map +1 -0
  261. package/dist/i18n/es_US/Employee.FederalTaxes.json.js +46 -0
  262. package/dist/i18n/es_US/Employee.FederalTaxes.json.js.map +1 -0
  263. package/dist/i18n/es_US/Employee.FederalTaxesView.json.js +38 -0
  264. package/dist/i18n/es_US/Employee.FederalTaxesView.json.js.map +1 -0
  265. package/dist/i18n/es_US/Employee.HomeAddress.json.js +24 -0
  266. package/dist/i18n/es_US/Employee.HomeAddress.json.js.map +1 -0
  267. package/dist/i18n/es_US/Employee.I9SignatureForm.json.js +64 -0
  268. package/dist/i18n/es_US/Employee.I9SignatureForm.json.js.map +1 -0
  269. package/dist/i18n/es_US/Employee.Landing.json.js +16 -0
  270. package/dist/i18n/es_US/Employee.Landing.json.js.map +1 -0
  271. package/dist/i18n/es_US/Employee.Management.Compensation.json.js +66 -0
  272. package/dist/i18n/es_US/Employee.Management.Compensation.json.js.map +1 -0
  273. package/dist/i18n/es_US/Employee.Management.Deductions.json.js +26 -0
  274. package/dist/i18n/es_US/Employee.Management.Deductions.json.js.map +1 -0
  275. package/dist/i18n/es_US/Employee.Management.Documents.json.js +18 -0
  276. package/dist/i18n/es_US/Employee.Management.Documents.json.js.map +1 -0
  277. package/dist/i18n/es_US/Employee.Management.FederalTaxes.json.js +42 -0
  278. package/dist/i18n/es_US/Employee.Management.FederalTaxes.json.js.map +1 -0
  279. package/dist/i18n/es_US/Employee.Management.HomeAddress.json.js +56 -0
  280. package/dist/i18n/es_US/Employee.Management.HomeAddress.json.js.map +1 -0
  281. package/dist/i18n/es_US/Employee.Management.PaymentMethod.json.js +24 -0
  282. package/dist/i18n/es_US/Employee.Management.PaymentMethod.json.js.map +1 -0
  283. package/dist/i18n/es_US/Employee.Management.PaymentMethodBankForm.json.js +12 -0
  284. package/dist/i18n/es_US/Employee.Management.PaymentMethodBankForm.json.js.map +1 -0
  285. package/dist/i18n/es_US/Employee.Management.PaymentMethodSplitForm.json.js +22 -0
  286. package/dist/i18n/es_US/Employee.Management.PaymentMethodSplitForm.json.js.map +1 -0
  287. package/dist/i18n/es_US/Employee.Management.Paystubs.json.js +28 -0
  288. package/dist/i18n/es_US/Employee.Management.Paystubs.json.js.map +1 -0
  289. package/dist/i18n/es_US/Employee.Management.Profile.json.js +16 -0
  290. package/dist/i18n/es_US/Employee.Management.Profile.json.js.map +1 -0
  291. package/dist/i18n/es_US/Employee.Management.StateTaxes.json.js +16 -0
  292. package/dist/i18n/es_US/Employee.Management.StateTaxes.json.js.map +1 -0
  293. package/dist/i18n/es_US/Employee.Management.WorkAddress.json.js +52 -0
  294. package/dist/i18n/es_US/Employee.Management.WorkAddress.json.js.map +1 -0
  295. package/dist/i18n/es_US/Employee.ManagementEmployeeList.json.js +26 -0
  296. package/dist/i18n/es_US/Employee.ManagementEmployeeList.json.js.map +1 -0
  297. package/dist/i18n/es_US/Employee.OnboardingSummary.json.js +22 -0
  298. package/dist/i18n/es_US/Employee.OnboardingSummary.json.js.map +1 -0
  299. package/dist/i18n/es_US/Employee.PaySchedules.json.js +12 -0
  300. package/dist/i18n/es_US/Employee.PaySchedules.json.js.map +1 -0
  301. package/dist/i18n/es_US/Employee.PaymentMethod.json.js +68 -0
  302. package/dist/i18n/es_US/Employee.PaymentMethod.json.js.map +1 -0
  303. package/dist/i18n/es_US/Employee.Profile.json.js +32 -0
  304. package/dist/i18n/es_US/Employee.Profile.json.js.map +1 -0
  305. package/dist/i18n/es_US/Employee.SplitPaycheck.json.js +26 -0
  306. package/dist/i18n/es_US/Employee.SplitPaycheck.json.js.map +1 -0
  307. package/dist/i18n/es_US/Employee.SplitPaymentsFormBody.json.js +22 -0
  308. package/dist/i18n/es_US/Employee.SplitPaymentsFormBody.json.js.map +1 -0
  309. package/dist/i18n/es_US/Employee.StateTaxes.json.js +14 -0
  310. package/dist/i18n/es_US/Employee.StateTaxes.json.js.map +1 -0
  311. package/dist/i18n/es_US/Employee.StateTaxesView.json.js +12 -0
  312. package/dist/i18n/es_US/Employee.StateTaxesView.json.js.map +1 -0
  313. package/dist/i18n/es_US/Employee.Terminations.TerminateEmployee.json.js +18 -0
  314. package/dist/i18n/es_US/Employee.Terminations.TerminateEmployee.json.js.map +1 -0
  315. package/dist/i18n/es_US/Employee.Terminations.TerminationFlow.json.js +12 -0
  316. package/dist/i18n/es_US/Employee.Terminations.TerminationFlow.json.js.map +1 -0
  317. package/dist/i18n/es_US/Employee.Terminations.TerminationSummary.json.js +20 -0
  318. package/dist/i18n/es_US/Employee.Terminations.TerminationSummary.json.js.map +1 -0
  319. package/dist/i18n/es_US/InformationRequests.InformationRequestForm.json.js +20 -0
  320. package/dist/i18n/es_US/InformationRequests.InformationRequestForm.json.js.map +1 -0
  321. package/dist/i18n/es_US/InformationRequests.InformationRequestList.json.js +18 -0
  322. package/dist/i18n/es_US/InformationRequests.InformationRequestList.json.js.map +1 -0
  323. package/dist/i18n/es_US/InformationRequests.json.js +8 -0
  324. package/dist/i18n/es_US/InformationRequests.json.js.map +1 -0
  325. package/dist/i18n/es_US/Payroll.Common.json.js +8 -0
  326. package/dist/i18n/es_US/Payroll.Common.json.js.map +1 -0
  327. package/dist/i18n/es_US/Payroll.ConfirmWireDetailsBanner.json.js +14 -0
  328. package/dist/i18n/es_US/Payroll.ConfirmWireDetailsBanner.json.js.map +1 -0
  329. package/dist/i18n/es_US/Payroll.ConfirmWireDetailsForm.json.js +26 -0
  330. package/dist/i18n/es_US/Payroll.ConfirmWireDetailsForm.json.js.map +1 -0
  331. package/dist/i18n/es_US/Payroll.Dismissal.json.js +16 -0
  332. package/dist/i18n/es_US/Payroll.Dismissal.json.js.map +1 -0
  333. package/dist/i18n/es_US/Payroll.EmployeeSelection.json.js +8 -0
  334. package/dist/i18n/es_US/Payroll.EmployeeSelection.json.js.map +1 -0
  335. package/dist/i18n/es_US/Payroll.GrossUpModal.json.js +26 -0
  336. package/dist/i18n/es_US/Payroll.GrossUpModal.json.js.map +1 -0
  337. package/dist/i18n/es_US/Payroll.OffCycle.json.js +8 -0
  338. package/dist/i18n/es_US/Payroll.OffCycle.json.js.map +1 -0
  339. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +16 -0
  340. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -0
  341. package/dist/i18n/es_US/Payroll.OffCycleDeductionsSetting.json.js +8 -0
  342. package/dist/i18n/es_US/Payroll.OffCycleDeductionsSetting.json.js.map +1 -0
  343. package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +14 -0
  344. package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js.map +1 -0
  345. package/dist/i18n/es_US/Payroll.OffCycleReasonSelection.json.js +12 -0
  346. package/dist/i18n/es_US/Payroll.OffCycleReasonSelection.json.js.map +1 -0
  347. package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +16 -0
  348. package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js.map +1 -0
  349. package/dist/i18n/es_US/Payroll.PayrollBlocker.json.js +34 -0
  350. package/dist/i18n/es_US/Payroll.PayrollBlocker.json.js.map +1 -0
  351. package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +44 -0
  352. package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js.map +1 -0
  353. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +66 -0
  354. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -0
  355. package/dist/i18n/es_US/Payroll.PayrollHistory.json.js +22 -0
  356. package/dist/i18n/es_US/Payroll.PayrollHistory.json.js.map +1 -0
  357. package/dist/i18n/es_US/Payroll.PayrollLanding.json.js +16 -0
  358. package/dist/i18n/es_US/Payroll.PayrollLanding.json.js.map +1 -0
  359. package/dist/i18n/es_US/Payroll.PayrollList.json.js +38 -0
  360. package/dist/i18n/es_US/Payroll.PayrollList.json.js.map +1 -0
  361. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +70 -0
  362. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -0
  363. package/dist/i18n/es_US/Payroll.PayrollReceipts.json.js +20 -0
  364. package/dist/i18n/es_US/Payroll.PayrollReceipts.json.js.map +1 -0
  365. package/dist/i18n/es_US/Payroll.RecoveryCasesList.json.js +20 -0
  366. package/dist/i18n/es_US/Payroll.RecoveryCasesList.json.js.map +1 -0
  367. package/dist/i18n/es_US/Payroll.RecoveryCasesResubmit.json.js +8 -0
  368. package/dist/i18n/es_US/Payroll.RecoveryCasesResubmit.json.js.map +1 -0
  369. package/dist/i18n/es_US/Payroll.Transition.json.js +8 -0
  370. package/dist/i18n/es_US/Payroll.Transition.json.js.map +1 -0
  371. package/dist/i18n/es_US/Payroll.TransitionCreation.json.js +20 -0
  372. package/dist/i18n/es_US/Payroll.TransitionCreation.json.js.map +1 -0
  373. package/dist/i18n/es_US/Payroll.TransitionPayrollAlert.json.js +18 -0
  374. package/dist/i18n/es_US/Payroll.TransitionPayrollAlert.json.js.map +1 -0
  375. package/dist/i18n/es_US/Payroll.WireInstructions.json.js +30 -0
  376. package/dist/i18n/es_US/Payroll.WireInstructions.json.js.map +1 -0
  377. package/dist/i18n/es_US/common.json.js +44 -0
  378. package/dist/i18n/es_US/common.json.js.map +1 -0
  379. package/dist/i18n/types.d.ts +262 -6
  380. package/dist/index.d.ts +2 -2
  381. package/dist/models/external.d.ts +23 -0
  382. package/dist/style.css +1 -1
  383. package/docs/guides/endpoint-inventory.json +5 -0
  384. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"DeductionsList.js","sources":["../../../../../../src/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport type { UseDeductionsListReady } from '../../shared/useDeductionsList'\nimport { formatDeductionAmount } from '../../shared/formatDeductionAmount'\nimport { useDataView, DataView } from '@/components/Common'\nimport { ActionsLayout } from '@/components/Common'\nimport { EmptyData } from '@/components/Common/EmptyData/EmptyData'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface DeductionsListProps {\n className?: string\n deductionsList: UseDeductionsListReady\n onAdd: () => void\n onEdit: (deduction: Garnishment) => void\n onDelete: (deduction: Garnishment) => void\n onContinue: () => void\n}\n\n/** @internal */\nexport function DeductionsList({\n className,\n deductionsList,\n onAdd,\n onEdit,\n onDelete,\n onContinue,\n}: DeductionsListProps) {\n useI18n('Employee.Deductions')\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const formatPercent = useNumberFormatter('percent')\n\n const { deductions } = deductionsList.data\n const isPendingAny = deductionsList.status.isPending\n const isEmpty = deductions.length === 0\n\n const { ...dataViewProps } = useDataView({\n data: deductions,\n columns: [\n {\n key: 'description',\n title: t('nameColumn'),\n },\n {\n key: 'recurring',\n title: t('frequencyColumn'),\n render: deduction => {\n return deduction.recurring ? t('recurringText') : t('nonRecurringText')\n },\n },\n {\n key: 'amount',\n title: t('withheldColumn'),\n render: deduction =>\n formatDeductionAmount(deduction, {\n formatCurrency,\n formatPercent,\n formatPerPaycheck: (value: string) => t('recurringAmount', { value }),\n }),\n },\n ],\n emptyState: () => (\n <EmptyData title={t('includeDeductionsEmptyState')}>\n <Components.Button type=\"button\" variant=\"secondary\" onClick={onAdd}>\n <PlusCircleIcon />\n {t('addDeductionButtonCta')}\n </Components.Button>\n </EmptyData>\n ),\n itemMenu: deduction => {\n return (\n <HamburgerMenu\n isLoading={isPendingAny}\n items={[\n {\n label: t('editCta'),\n onClick: () => {\n onEdit(deduction)\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('deleteCta'),\n onClick: () => {\n onDelete(deduction)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n )\n },\n })\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={32}>\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 <DataView label={t('deductionsTableLabel')} {...dataViewProps} />\n <ActionsLayout>\n {!isEmpty && (\n <Components.Button variant=\"secondary\" onClick={onAdd}>\n <PlusCircleIcon />\n {t('addDeductionCta')}\n </Components.Button>\n )}\n <Components.Button onClick={onContinue}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["DeductionsList","className","deductionsList","onAdd","onEdit","onDelete","onContinue","useI18n","useTranslation","Components","useComponentContext","formatCurrency","useNumberFormatter","formatPercent","deductions","isPendingAny","isEmpty","dataViewProps","useDataView","deduction","formatDeductionAmount","value","jsx","EmptyData","jsxs","PlusCircleIcon","HamburgerMenu","PencilSvg","TrashCanSvg","Flex","DataView","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"DeductionsList.js","sources":["../../../../../../src/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport type { UseDeductionsListReady } from '../../shared/useDeductionsList'\nimport { formatDeductionAmount } from '../../shared/formatDeductionAmount'\nimport { useDataView, DataView } from '@/components/Common'\nimport { ActionsLayout } from '@/components/Common'\nimport { EmptyData } from '@/components/Common/EmptyData/EmptyData'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface DeductionsListProps {\n className?: string\n deductionsList: UseDeductionsListReady\n onAdd: () => void\n onEdit: (deduction: Garnishment) => void\n onDelete: (deduction: Garnishment) => void\n onContinue: () => void\n}\n\n/** @internal */\nexport function DeductionsList({\n className,\n deductionsList,\n onAdd,\n onEdit,\n onDelete,\n onContinue,\n}: DeductionsListProps) {\n useI18n('Employee.Deductions')\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const formatPercent = useNumberFormatter('percent')\n\n const { deductions } = deductionsList.data\n const isPendingAny = deductionsList.status.isPending\n const isEmpty = deductions.length === 0\n\n const { ...dataViewProps } = useDataView({\n data: deductions,\n columns: [\n {\n key: 'description',\n title: t('nameColumn'),\n },\n {\n key: 'recurring',\n title: t('frequencyColumn'),\n render: deduction => {\n return deduction.recurring ? t('recurringText') : t('nonRecurringText')\n },\n },\n {\n key: 'amount',\n title: t('withheldColumn'),\n justify: 'end',\n render: deduction =>\n formatDeductionAmount(deduction, {\n formatCurrency,\n formatPercent,\n formatPerPaycheck: (value: string) => t('recurringAmount', { value }),\n }),\n },\n ],\n emptyState: () => (\n <EmptyData title={t('includeDeductionsEmptyState')}>\n <Components.Button type=\"button\" variant=\"secondary\" onClick={onAdd}>\n <PlusCircleIcon />\n {t('addDeductionButtonCta')}\n </Components.Button>\n </EmptyData>\n ),\n itemMenu: deduction => {\n return (\n <HamburgerMenu\n isLoading={isPendingAny}\n items={[\n {\n label: t('editCta'),\n onClick: () => {\n onEdit(deduction)\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('deleteCta'),\n onClick: () => {\n onDelete(deduction)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n )\n },\n })\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={32}>\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 <DataView label={t('deductionsTableLabel')} {...dataViewProps} />\n <ActionsLayout>\n {!isEmpty && (\n <Components.Button variant=\"secondary\" onClick={onAdd}>\n <PlusCircleIcon />\n {t('addDeductionCta')}\n </Components.Button>\n )}\n <Components.Button onClick={onContinue}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["DeductionsList","className","deductionsList","onAdd","onEdit","onDelete","onContinue","useI18n","useTranslation","Components","useComponentContext","formatCurrency","useNumberFormatter","formatPercent","deductions","isPendingAny","isEmpty","dataViewProps","useDataView","deduction","formatDeductionAmount","value","jsx","EmptyData","jsxs","PlusCircleIcon","HamburgerMenu","PencilSvg","TrashCanSvg","Flex","DataView","ActionsLayout"],"mappings":"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"}
@@ -9,15 +9,12 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
9
9
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
10
10
  import "@gusto/embedded-api/models/errors/unprocessableentityerror";
11
11
  import "@gusto/embedded-api/models/errors/httpclienterrors";
12
- import "dompurify";
13
- import "../../../../../../contexts/LocaleProvider/useLocale.js";
14
12
  import "../../../../../../shared/constants.js";
15
13
  import "../../../../../../contexts/ComponentAdapter/useComponentContext.js";
16
- import "../../../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
14
  import { createCompoundContext as t } from "../../../../../Base/createCompoundContext.js";
18
- const [v, P] = t("DocumentListContext");
15
+ const [d, a] = t("DocumentListContext");
19
16
  export {
20
- P as DocumentListProvider,
21
- v as useDocumentList
17
+ a as DocumentListProvider,
18
+ d as useDocumentList
22
19
  };
23
20
  //# sourceMappingURL=useDocumentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/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/Documents/onboarding/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;"}
@@ -3,12 +3,12 @@ import { useTranslation as V } from "react-i18next";
3
3
  import { useWatch as R } from "react-hook-form";
4
4
  import { usePaymentMethodList as U } from "../shared/usePaymentMethodList.js";
5
5
  import { usePaymentMethodForm as K } from "../shared/usePaymentMethodForm/usePaymentMethodForm.js";
6
- import { useDeleteBankAccount as I } from "../shared/useDeleteBankAccount.js";
7
- import { DeleteBankAccountDialog as j } from "../shared/DeleteBankAccountDialog.js";
6
+ import { useDeleteBankAccount as j } from "../shared/useDeleteBankAccount.js";
7
+ import { DeleteBankAccountDialog as I } from "../shared/DeleteBankAccountDialog.js";
8
8
  import { useOnboardingBankFormDictionary as W } from "./useFormDictionary.js";
9
- import b from "./ListView.module.scss.js";
9
+ import y from "./ListView.module.scss.js";
10
10
  import { Flex as G } from "../../../Common/Flex/Flex.js";
11
- import { ActionsLayout as y } from "../../../Common/ActionsLayout/ActionsLayout.js";
11
+ import { ActionsLayout as b } from "../../../Common/ActionsLayout/ActionsLayout.js";
12
12
  import { HamburgerMenu as q } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
13
13
  import { BaseLayout as k } from "../../../Base/Base.js";
14
14
  import { SDKFormProvider as z } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
@@ -21,9 +21,9 @@ import tt from "../../../../assets/icons/trashcan.svg.js";
21
21
  import { BankFormBody as et } from "../shared/BankFormBody/BankFormBody.js";
22
22
  import { useDataView as ot } from "../../../Common/DataView/useDataView.js";
23
23
  import { DataView as nt } from "../../../Common/DataView/DataView.js";
24
- function Nt({ employeeId: m, isAdmin: f, onEvent: i, LoaderComponent: a }) {
24
+ function Nt({ employeeId: m, isAdmin: f, onEvent: i, LoaderComponent: s }) {
25
25
  const n = U({ employeeId: m }), d = K({ employeeId: m }), D = J([n, d]);
26
- return n.isLoading || d.isLoading ? /* @__PURE__ */ e(k, { isLoading: !0, error: D.errors, LoaderComponent: a }) : /* @__PURE__ */ e(
26
+ return n.isLoading || d.isLoading ? /* @__PURE__ */ e(k, { isLoading: !0, error: D.errors, LoaderComponent: s }) : /* @__PURE__ */ e(
27
27
  it,
28
28
  {
29
29
  employeeId: m,
@@ -32,7 +32,7 @@ function Nt({ employeeId: m, isAdmin: f, onEvent: i, LoaderComponent: a }) {
32
32
  paymentMethodList: n,
33
33
  paymentMethodForm: d,
34
34
  errorHandling: D,
35
- LoaderComponent: a
35
+ LoaderComponent: s
36
36
  }
37
37
  );
38
38
  }
@@ -40,12 +40,12 @@ function it({
40
40
  employeeId: m,
41
41
  isAdmin: f,
42
42
  onEvent: i,
43
- paymentMethodList: a,
43
+ paymentMethodList: s,
44
44
  paymentMethodForm: n,
45
45
  errorHandling: d,
46
46
  LoaderComponent: D
47
47
  }) {
48
- const { paymentMethod: A, bankAccounts: s } = a.data, { deletePendingBankAccountUuid: B } = a.status, { t } = V("Employee.PaymentMethod"), c = Q(), L = Z(A.splitBy === "Amount" ? "currency" : "percent"), T = W(), { Fields: P } = n.form, h = R({
48
+ const { paymentMethod: A, bankAccounts: a } = s.data, { deletePendingBankAccountUuid: B } = s.status, { t } = V("Employee.PaymentMethod"), c = Q(), L = Z(A.splitBy === "Amount" ? "currency" : "percent"), T = W(), { Fields: P } = n.form, h = R({
49
49
  control: n.form.hookFormInternals.formMethods.control,
50
50
  name: "type"
51
51
  }), {
@@ -54,11 +54,11 @@ function it({
54
54
  deletedAccountNumber: C,
55
55
  setDeletedAccountNumber: N,
56
56
  handleConfirmDelete: _
57
- } = I(async (o) => {
58
- const r = await a.actions.onDelete(o);
57
+ } = j(async (o) => {
58
+ const r = await s.actions.onDelete(o);
59
59
  r && i(l.EMPLOYEE_BANK_ACCOUNT_DELETED, r.data);
60
60
  }), { ...M } = ot({
61
- data: s,
61
+ data: a,
62
62
  columns: [
63
63
  { key: "name", title: t("nicknameColumn") },
64
64
  { key: "routingNumber", title: t("routingNumberColumn") },
@@ -66,6 +66,7 @@ function it({
66
66
  {
67
67
  key: "splitAmount",
68
68
  title: t("allocationColumn"),
69
+ justify: "end",
69
70
  render: (o) => {
70
71
  const r = A.splits?.find((H) => H.uuid === o.uuid)?.splitAmount ?? 0, x = A.splitBy === $.amount ? X(r) ?? 0 : r;
71
72
  return L(x);
@@ -102,8 +103,8 @@ function it({
102
103
  ), w = async () => {
103
104
  const o = await n.actions.onSubmit();
104
105
  o && (i(l.EMPLOYEE_PAYMENT_METHOD_UPDATED, o.data), i(l.EMPLOYEE_PAYMENT_METHOD_DONE));
105
- }, F = h === u.directDeposit && s.length === 0, S = h === u.check || s.length > 0, Y = h === u.directDeposit && s.length > 0 ? /* @__PURE__ */ p(y, { children: [
106
- s.length > 1 && /* @__PURE__ */ e(
106
+ }, F = h === u.directDeposit && a.length === 0, S = h === u.check || a.length > 0, Y = h === u.directDeposit && a.length > 0 ? /* @__PURE__ */ p(b, { children: [
107
+ a.length > 1 && /* @__PURE__ */ e(
107
108
  c.Button,
108
109
  {
109
110
  variant: "secondary",
@@ -147,7 +148,7 @@ function it({
147
148
  withPadding: !1,
148
149
  footer: Y,
149
150
  children: [
150
- /* @__PURE__ */ e("div", { className: b.section, children: /* @__PURE__ */ e(
151
+ /* @__PURE__ */ e("div", { className: y.section, children: /* @__PURE__ */ e(
151
152
  P.Type,
152
153
  {
153
154
  label: t("paymentFieldsetLegend"),
@@ -155,8 +156,8 @@ function it({
155
156
  FieldComponent: O
156
157
  }
157
158
  ) }),
158
- h === u.directDeposit && s.length > 0 && /* @__PURE__ */ e(nt, { isWithinBox: !0, label: t("bankAccountsListLabel"), ...M }),
159
- F && /* @__PURE__ */ e("div", { className: b.section, children: /* @__PURE__ */ e(
159
+ h === u.directDeposit && a.length > 0 && /* @__PURE__ */ e(nt, { isWithinBox: !0, label: t("bankAccountsListLabel"), ...M }),
160
+ F && /* @__PURE__ */ e("div", { className: y.section, children: /* @__PURE__ */ e(
160
161
  et,
161
162
  {
162
163
  employeeId: m,
@@ -169,7 +170,7 @@ function it({
169
170
  ]
170
171
  }
171
172
  ),
172
- S && /* @__PURE__ */ e(y, { children: /* @__PURE__ */ e(
173
+ S && /* @__PURE__ */ e(b, { children: /* @__PURE__ */ e(
173
174
  c.Button,
174
175
  {
175
176
  type: "button",
@@ -183,7 +184,7 @@ function it({
183
184
  ] })
184
185
  ] }) }),
185
186
  /* @__PURE__ */ e(
186
- j,
187
+ I,
187
188
  {
188
189
  pendingDeleteAccount: g,
189
190
  isPrimaryActionLoading: B === g?.uuid,
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/ListView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListReady,\n} from '../shared/usePaymentMethodList'\nimport {\n usePaymentMethodForm,\n type PaymentMethodType,\n type UsePaymentMethodFormReady,\n} from '../shared/usePaymentMethodForm'\nimport { useDeleteBankAccount } from '../shared/useDeleteBankAccount'\nimport { DeleteBankAccountDialog } from '../shared/DeleteBankAccountDialog'\nimport { BankFormBody } from '../shared/BankFormBody'\nimport { useOnboardingBankFormDictionary } from './useFormDictionary'\nimport styles from './ListView.module.scss'\nimport { ActionsLayout, DataView, useDataView } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { centsToDollars } from '@/helpers/currencyHelpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { componentEvents, PAYMENT_METHODS, SPLIT_BY, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { Flex } from '@/components/Common/Flex/Flex'\n\ninterface ListViewProps {\n employeeId: string\n isAdmin: boolean\n onEvent: OnEventType<EventType, unknown>\n LoaderComponent?: LoaderComponentType\n}\n\n/** @internal */\nexport function ListView({ employeeId, isAdmin, onEvent, LoaderComponent }: ListViewProps) {\n const paymentMethodList = usePaymentMethodList({ employeeId })\n const paymentMethodForm = usePaymentMethodForm({ employeeId })\n\n const errorHandling = composeErrorHandler([paymentMethodList, paymentMethodForm])\n\n if (paymentMethodList.isLoading || paymentMethodForm.isLoading) {\n return <BaseLayout isLoading error={errorHandling.errors} LoaderComponent={LoaderComponent} />\n }\n\n return (\n <ListViewReady\n employeeId={employeeId}\n isAdmin={isAdmin}\n onEvent={onEvent}\n paymentMethodList={paymentMethodList}\n paymentMethodForm={paymentMethodForm}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface ListViewReadyProps extends ListViewProps {\n paymentMethodList: UsePaymentMethodListReady\n paymentMethodForm: UsePaymentMethodFormReady\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction ListViewReady({\n employeeId,\n isAdmin,\n onEvent,\n paymentMethodList,\n paymentMethodForm,\n errorHandling,\n LoaderComponent,\n}: ListViewReadyProps) {\n const { paymentMethod, bankAccounts } = paymentMethodList.data\n const { deletePendingBankAccountUuid } = paymentMethodList.status\n const { t } = useTranslation('Employee.PaymentMethod')\n const Components = useComponentContext()\n const format = useNumberFormatter(paymentMethod.splitBy === 'Amount' ? 'currency' : 'percent')\n const dictionary = useOnboardingBankFormDictionary()\n\n const { Fields } = paymentMethodForm.form\n const watchedType = useWatch({\n control: paymentMethodForm.form.hookFormInternals.formMethods.control,\n name: 'type',\n })\n\n const {\n pendingDeleteAccount,\n setPendingDeleteAccount,\n deletedAccountNumber,\n setDeletedAccountNumber,\n handleConfirmDelete,\n } = useDeleteBankAccount(async uuid => {\n const result = await paymentMethodList.actions.onDelete(uuid)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_DELETED, result.data)\n }\n })\n\n const { ...dataViewProps } = useDataView({\n data: bankAccounts,\n columns: [\n { key: 'name', title: t('nicknameColumn') },\n { key: 'routingNumber', title: t('routingNumberColumn') },\n { key: 'accountType', title: t('accountTypeColumn') },\n {\n key: 'splitAmount',\n title: t('allocationColumn'),\n render: bankAccount => {\n const splitAmount =\n paymentMethod.splits?.find(split => split.uuid === bankAccount.uuid)?.splitAmount ?? 0\n const displayValue =\n paymentMethod.splitBy === SPLIT_BY.amount\n ? (centsToDollars(splitAmount) ?? 0)\n : splitAmount\n return format(displayValue)\n },\n },\n ],\n itemMenu: bankAccount => (\n <HamburgerMenu\n items={[\n {\n label: t('deleteBankAccountCta'),\n onClick: () => {\n setPendingDeleteAccount({\n uuid: bankAccount.uuid,\n hiddenAccountNumber: bankAccount.hiddenAccountNumber,\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n triggerLabel={t('hamburgerTitle')}\n />\n ),\n })\n\n const TypeFieldComponent = (props: RadioGroupProps) => (\n <Components.RadioGroup\n {...props}\n options={props.options.map(option => ({\n ...option,\n description:\n option.value === PAYMENT_METHODS.directDeposit\n ? isAdmin\n ? t('directDepositDescription')\n : t('directDepositDescriptionSelf')\n : isAdmin\n ? t('checkDescription')\n : t('checkDescriptionSelf'),\n }))}\n />\n )\n\n const handleContinue = async () => {\n const result = await paymentMethodForm.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE)\n }\n }\n\n const showInlineBankForm =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length === 0\n const showContinue = watchedType === PAYMENT_METHODS.check || bankAccounts.length > 0\n\n const footer =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 ? (\n <ActionsLayout>\n {bankAccounts.length > 1 && (\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SPLIT_PAYMENT)\n }}\n >\n {t('splitCta')}\n </Components.Button>\n )}\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE)\n }}\n >\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n ) : undefined\n\n return (\n <>\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={paymentMethodForm}>\n {deletedAccountNumber !== null && (\n <Components.Alert\n status=\"success\"\n label={t('deleteBankAccountSuccessAlert', { account: deletedAccountNumber })}\n onDismiss={() => {\n setDeletedAccountNumber(null)\n }}\n disableScrollIntoView\n />\n )}\n <Flex flexDirection=\"column\" gap={20}>\n <Components.FormBox\n header={<Components.FormBoxHeader title={t('title')} />}\n withPadding={false}\n footer={footer}\n >\n <div className={styles.section}>\n <Fields.Type\n label={t('paymentFieldsetLegend')}\n getOptionLabel={(value: PaymentMethodType) =>\n value === PAYMENT_METHODS.directDeposit\n ? t('directDepositLabel')\n : t('checkLabel')\n }\n FieldComponent={TypeFieldComponent}\n />\n </div>\n {watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 && (\n <DataView isWithinBox label={t('bankAccountsListLabel')} {...dataViewProps} />\n )}\n {showInlineBankForm && (\n <div className={styles.section}>\n <BankFormBody\n employeeId={employeeId}\n dictionary={dictionary}\n onSaved={data => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATED, data)\n }}\n />\n </div>\n )}\n </Components.FormBox>\n {showContinue && (\n <ActionsLayout>\n <Components.Button\n type=\"button\"\n isLoading={paymentMethodForm.status.isPending}\n onClick={() => {\n void handleContinue()\n }}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </SDKFormProvider>\n </BaseLayout>\n <DeleteBankAccountDialog\n pendingDeleteAccount={pendingDeleteAccount}\n isPrimaryActionLoading={deletePendingBankAccountUuid === pendingDeleteAccount?.uuid}\n onClose={() => {\n setPendingDeleteAccount(null)\n }}\n onConfirm={() => {\n void handleConfirmDelete()\n }}\n title={t('deleteBankAccountDialog.title')}\n description={t('deleteBankAccountDialog.description', {\n account: pendingDeleteAccount?.hiddenAccountNumber ?? '',\n })}\n confirmLabel={t('deleteBankAccountDialog.confirmCta')}\n cancelLabel={t('deleteBankAccountDialog.cancelCta')}\n />\n </>\n )\n}\n"],"names":["ListView","employeeId","isAdmin","onEvent","LoaderComponent","paymentMethodList","usePaymentMethodList","paymentMethodForm","usePaymentMethodForm","errorHandling","composeErrorHandler","BaseLayout","jsx","ListViewReady","paymentMethod","bankAccounts","deletePendingBankAccountUuid","useTranslation","Components","useComponentContext","format","useNumberFormatter","dictionary","useOnboardingBankFormDictionary","Fields","watchedType","useWatch","pendingDeleteAccount","setPendingDeleteAccount","deletedAccountNumber","setDeletedAccountNumber","handleConfirmDelete","useDeleteBankAccount","uuid","result","componentEvents","dataViewProps","useDataView","bankAccount","splitAmount","split","displayValue","SPLIT_BY","centsToDollars","HamburgerMenu","TrashCanSvg","TypeFieldComponent","props","option","PAYMENT_METHODS","handleContinue","showInlineBankForm","showContinue","footer","ActionsLayout","jsxs","Fragment","SDKFormProvider","Flex","styles","value","DataView","BankFormBody","data","DeleteBankAccountDialog"],"mappings":"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"}
1
+ {"version":3,"file":"ListView.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/ListView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListReady,\n} from '../shared/usePaymentMethodList'\nimport {\n usePaymentMethodForm,\n type PaymentMethodType,\n type UsePaymentMethodFormReady,\n} from '../shared/usePaymentMethodForm'\nimport { useDeleteBankAccount } from '../shared/useDeleteBankAccount'\nimport { DeleteBankAccountDialog } from '../shared/DeleteBankAccountDialog'\nimport { BankFormBody } from '../shared/BankFormBody'\nimport { useOnboardingBankFormDictionary } from './useFormDictionary'\nimport styles from './ListView.module.scss'\nimport { ActionsLayout, DataView, useDataView } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { centsToDollars } from '@/helpers/currencyHelpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { componentEvents, PAYMENT_METHODS, SPLIT_BY, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { Flex } from '@/components/Common/Flex/Flex'\n\ninterface ListViewProps {\n employeeId: string\n isAdmin: boolean\n onEvent: OnEventType<EventType, unknown>\n LoaderComponent?: LoaderComponentType\n}\n\n/** @internal */\nexport function ListView({ employeeId, isAdmin, onEvent, LoaderComponent }: ListViewProps) {\n const paymentMethodList = usePaymentMethodList({ employeeId })\n const paymentMethodForm = usePaymentMethodForm({ employeeId })\n\n const errorHandling = composeErrorHandler([paymentMethodList, paymentMethodForm])\n\n if (paymentMethodList.isLoading || paymentMethodForm.isLoading) {\n return <BaseLayout isLoading error={errorHandling.errors} LoaderComponent={LoaderComponent} />\n }\n\n return (\n <ListViewReady\n employeeId={employeeId}\n isAdmin={isAdmin}\n onEvent={onEvent}\n paymentMethodList={paymentMethodList}\n paymentMethodForm={paymentMethodForm}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface ListViewReadyProps extends ListViewProps {\n paymentMethodList: UsePaymentMethodListReady\n paymentMethodForm: UsePaymentMethodFormReady\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction ListViewReady({\n employeeId,\n isAdmin,\n onEvent,\n paymentMethodList,\n paymentMethodForm,\n errorHandling,\n LoaderComponent,\n}: ListViewReadyProps) {\n const { paymentMethod, bankAccounts } = paymentMethodList.data\n const { deletePendingBankAccountUuid } = paymentMethodList.status\n const { t } = useTranslation('Employee.PaymentMethod')\n const Components = useComponentContext()\n const format = useNumberFormatter(paymentMethod.splitBy === 'Amount' ? 'currency' : 'percent')\n const dictionary = useOnboardingBankFormDictionary()\n\n const { Fields } = paymentMethodForm.form\n const watchedType = useWatch({\n control: paymentMethodForm.form.hookFormInternals.formMethods.control,\n name: 'type',\n })\n\n const {\n pendingDeleteAccount,\n setPendingDeleteAccount,\n deletedAccountNumber,\n setDeletedAccountNumber,\n handleConfirmDelete,\n } = useDeleteBankAccount(async uuid => {\n const result = await paymentMethodList.actions.onDelete(uuid)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_DELETED, result.data)\n }\n })\n\n const { ...dataViewProps } = useDataView({\n data: bankAccounts,\n columns: [\n { key: 'name', title: t('nicknameColumn') },\n { key: 'routingNumber', title: t('routingNumberColumn') },\n { key: 'accountType', title: t('accountTypeColumn') },\n {\n key: 'splitAmount',\n title: t('allocationColumn'),\n justify: 'end',\n render: bankAccount => {\n const splitAmount =\n paymentMethod.splits?.find(split => split.uuid === bankAccount.uuid)?.splitAmount ?? 0\n const displayValue =\n paymentMethod.splitBy === SPLIT_BY.amount\n ? (centsToDollars(splitAmount) ?? 0)\n : splitAmount\n return format(displayValue)\n },\n },\n ],\n itemMenu: bankAccount => (\n <HamburgerMenu\n items={[\n {\n label: t('deleteBankAccountCta'),\n onClick: () => {\n setPendingDeleteAccount({\n uuid: bankAccount.uuid,\n hiddenAccountNumber: bankAccount.hiddenAccountNumber,\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n triggerLabel={t('hamburgerTitle')}\n />\n ),\n })\n\n const TypeFieldComponent = (props: RadioGroupProps) => (\n <Components.RadioGroup\n {...props}\n options={props.options.map(option => ({\n ...option,\n description:\n option.value === PAYMENT_METHODS.directDeposit\n ? isAdmin\n ? t('directDepositDescription')\n : t('directDepositDescriptionSelf')\n : isAdmin\n ? t('checkDescription')\n : t('checkDescriptionSelf'),\n }))}\n />\n )\n\n const handleContinue = async () => {\n const result = await paymentMethodForm.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE)\n }\n }\n\n const showInlineBankForm =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length === 0\n const showContinue = watchedType === PAYMENT_METHODS.check || bankAccounts.length > 0\n\n const footer =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 ? (\n <ActionsLayout>\n {bankAccounts.length > 1 && (\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SPLIT_PAYMENT)\n }}\n >\n {t('splitCta')}\n </Components.Button>\n )}\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE)\n }}\n >\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n ) : undefined\n\n return (\n <>\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={paymentMethodForm}>\n {deletedAccountNumber !== null && (\n <Components.Alert\n status=\"success\"\n label={t('deleteBankAccountSuccessAlert', { account: deletedAccountNumber })}\n onDismiss={() => {\n setDeletedAccountNumber(null)\n }}\n disableScrollIntoView\n />\n )}\n <Flex flexDirection=\"column\" gap={20}>\n <Components.FormBox\n header={<Components.FormBoxHeader title={t('title')} />}\n withPadding={false}\n footer={footer}\n >\n <div className={styles.section}>\n <Fields.Type\n label={t('paymentFieldsetLegend')}\n getOptionLabel={(value: PaymentMethodType) =>\n value === PAYMENT_METHODS.directDeposit\n ? t('directDepositLabel')\n : t('checkLabel')\n }\n FieldComponent={TypeFieldComponent}\n />\n </div>\n {watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 && (\n <DataView isWithinBox label={t('bankAccountsListLabel')} {...dataViewProps} />\n )}\n {showInlineBankForm && (\n <div className={styles.section}>\n <BankFormBody\n employeeId={employeeId}\n dictionary={dictionary}\n onSaved={data => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATED, data)\n }}\n />\n </div>\n )}\n </Components.FormBox>\n {showContinue && (\n <ActionsLayout>\n <Components.Button\n type=\"button\"\n isLoading={paymentMethodForm.status.isPending}\n onClick={() => {\n void handleContinue()\n }}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </SDKFormProvider>\n </BaseLayout>\n <DeleteBankAccountDialog\n pendingDeleteAccount={pendingDeleteAccount}\n isPrimaryActionLoading={deletePendingBankAccountUuid === pendingDeleteAccount?.uuid}\n onClose={() => {\n setPendingDeleteAccount(null)\n }}\n onConfirm={() => {\n void handleConfirmDelete()\n }}\n title={t('deleteBankAccountDialog.title')}\n description={t('deleteBankAccountDialog.description', {\n account: pendingDeleteAccount?.hiddenAccountNumber ?? '',\n })}\n confirmLabel={t('deleteBankAccountDialog.confirmCta')}\n cancelLabel={t('deleteBankAccountDialog.cancelCta')}\n />\n </>\n )\n}\n"],"names":["ListView","employeeId","isAdmin","onEvent","LoaderComponent","paymentMethodList","usePaymentMethodList","paymentMethodForm","usePaymentMethodForm","errorHandling","composeErrorHandler","BaseLayout","jsx","ListViewReady","paymentMethod","bankAccounts","deletePendingBankAccountUuid","useTranslation","Components","useComponentContext","format","useNumberFormatter","dictionary","useOnboardingBankFormDictionary","Fields","watchedType","useWatch","pendingDeleteAccount","setPendingDeleteAccount","deletedAccountNumber","setDeletedAccountNumber","handleConfirmDelete","useDeleteBankAccount","uuid","result","componentEvents","dataViewProps","useDataView","bankAccount","splitAmount","split","displayValue","SPLIT_BY","centsToDollars","HamburgerMenu","TrashCanSvg","TypeFieldComponent","props","option","PAYMENT_METHODS","handleContinue","showInlineBankForm","showContinue","footer","ActionsLayout","jsxs","Fragment","SDKFormProvider","Flex","styles","value","DataView","BankFormBody","data","DeleteBankAccountDialog"],"mappings":"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"}
@@ -11,19 +11,19 @@ import { composeErrorHandler as Y } from "../../../../../partner-hook-utils/comp
11
11
  import { usePaymentMethodList as H } from "../../../PaymentMethod/shared/usePaymentMethodList.js";
12
12
  import { formatDateLongWithYear as R } from "../../../../../helpers/dateFormatting.js";
13
13
  import W from "../../../../../hooks/useNumberFormatter.js";
14
- import { useI18n as F } from "../../../../../i18n/I18n.js";
14
+ import { useI18n as j } from "../../../../../i18n/I18n.js";
15
15
  import { componentEvents as w } from "../../../../../shared/constants.js";
16
- import V from "../../../../../assets/icons/download-cloud.svg.js";
17
- import { usePaystubsList as v } from "../../shared/usePaystubsList/usePaystubsList.js";
18
- import { useNonce as G } from "../../../../../contexts/NonceProvider/useNonce.js";
19
- import { useDataView as j } from "../../../../Common/DataView/useDataView.js";
16
+ import F from "../../../../../assets/icons/download-cloud.svg.js";
17
+ import { usePaystubsList as V } from "../../shared/usePaystubsList/usePaystubsList.js";
18
+ import { useNonce as v } from "../../../../../contexts/NonceProvider/useNonce.js";
19
+ import { useDataView as G } from "../../../../Common/DataView/useDataView.js";
20
20
  import { DataView as Q } from "../../../../Common/DataView/DataView.js";
21
21
  function pt({ LoaderComponent: a, ...i }) {
22
22
  return /* @__PURE__ */ o(O, { componentName: "Employee.Management.Paystubs", LoaderComponent: a, children: /* @__PURE__ */ o(q, { LoaderComponent: a, ...i }) });
23
23
  }
24
24
  function q({ employeeId: a, onEvent: i, LoaderComponent: s }) {
25
- F("Employee.Management.Paystubs");
26
- const { t: l } = D("Employee.Management.Paystubs"), u = S(), d = v({ employeeId: a }), e = H({ employeeId: a }), m = Y([d, e]);
25
+ j("Employee.Management.Paystubs");
26
+ const { t: l } = D("Employee.Management.Paystubs"), u = S(), d = V({ employeeId: a }), e = H({ employeeId: a }), m = Y([d, e]);
27
27
  return d.isLoading ? /* @__PURE__ */ o(M, { error: m.errors, LoaderComponent: s, children: /* @__PURE__ */ o(u.Box, { header: /* @__PURE__ */ o(u.BoxHeader, { title: l("title") }), children: /* @__PURE__ */ o(T, {}) }) }) : /* @__PURE__ */ o(
28
28
  z,
29
29
  {
@@ -44,7 +44,7 @@ function z({
44
44
  errorHandling: u,
45
45
  LoaderComponent: d
46
46
  }) {
47
- const { t: e } = D("Employee.Management.Paystubs"), m = S(), y = W("currency"), { showBoundary: p } = _(), f = G(), [b, g] = L(
47
+ const { t: e } = D("Employee.Management.Paystubs"), m = S(), y = W("currency"), { showBoundary: p } = _(), f = v(), [b, g] = L(
48
48
  () => /* @__PURE__ */ new Set()
49
49
  ), { payStubs: h } = s.data, C = s.pagination.payStubs, N = l.isLoading ? void 0 : l.data.paymentMethod, B = k(
50
50
  async (t) => {
@@ -87,6 +87,7 @@ function z({
87
87
  {
88
88
  key: "checkAmount",
89
89
  title: e("checkAmount"),
90
+ justify: "end",
90
91
  render: (t) => {
91
92
  if (!t.netPay) return "-";
92
93
  const r = parseFloat(t.netPay);
@@ -96,6 +97,7 @@ function z({
96
97
  {
97
98
  key: "grossPay",
98
99
  title: e("grossPay"),
100
+ justify: "end",
99
101
  render: (t) => {
100
102
  if (!t.grossPay) return "-";
101
103
  const r = parseFloat(t.grossPay);
@@ -107,7 +109,7 @@ function z({
107
109
  title: e("paymentMethod"),
108
110
  render: () => N?.type || e("noPaymentMethod")
109
111
  }
110
- ], x = j({
112
+ ], x = G({
111
113
  data: h,
112
114
  columns: A,
113
115
  pagination: C,
@@ -123,7 +125,7 @@ function z({
123
125
  onClick: () => {
124
126
  t.payrollUuid && B(t.payrollUuid);
125
127
  },
126
- children: /* @__PURE__ */ o(V, { "aria-hidden": !0 })
128
+ children: /* @__PURE__ */ o(F, { "aria-hidden": !0 })
127
129
  }
128
130
  );
129
131
  },
@@ -1 +1 @@
1
- {"version":3,"file":"PaystubsCard.js","sources":["../../../../../../src/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport {\n usePaystubsList,\n type EmployeePayStub,\n type UsePaystubsListReady,\n} from '../../shared/usePaystubsList'\nimport { DataView, EmptyData, useDataView, Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useNonce } from '@/contexts/NonceProvider'\nimport { openPdfInNewTab } from '@/helpers/openPdfInNewTab'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListResult,\n} from '@/components/Employee/PaymentMethod/shared'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport DownloadCloudIcon from '@/assets/icons/download-cloud.svg?react'\n\n/**\n * Props for {@link PaystubsCard}.\n *\n * @public\n */\nexport interface PaystubsCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when paystub interactions occur. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Paystubs\" card. Owns its own data fetch via\n * {@link usePaystubsList} and renders the paginated paystubs table with a\n * per-row PDF download action. Emits the management block's scoped events\n * (`EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_*`) on download request and on\n * download success. The card has no edit transitions and no alert API —\n * paystubs is a read-only surface whose only action is a download side\n * effect that opens the PDF in a new tab.\n *\n * @public\n */\nexport function PaystubsCard({ LoaderComponent, ...props }: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\" LoaderComponent={LoaderComponent}>\n <PaystubsCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent, LoaderComponent }: PaystubsCardProps) {\n useI18n('Employee.Management.Paystubs')\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const paystubsList = usePaystubsList({ employeeId })\n const paymentMethodList = usePaymentMethodList({ employeeId })\n\n const errorHandling = composeErrorHandler([paystubsList, paymentMethodList])\n\n if (paystubsList.isLoading) {\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <PaystubsCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n paystubsList={paystubsList}\n paymentMethodList={paymentMethodList}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface PaystubsCardReadyProps extends PaystubsCardProps {\n paystubsList: UsePaystubsListReady\n paymentMethodList: UsePaymentMethodListResult\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction PaystubsCardReady({\n employeeId,\n onEvent,\n paystubsList,\n paymentMethodList,\n errorHandling,\n LoaderComponent,\n}: PaystubsCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const { showBoundary } = useErrorBoundary()\n const nonce = useNonce()\n\n const [downloadingPayrollUuids, setDownloadingPayrollUuids] = useState<ReadonlySet<string>>(\n () => new Set(),\n )\n\n const { payStubs } = paystubsList.data\n const payStubsPagination = paystubsList.pagination.payStubs\n const paymentMethod = paymentMethodList.isLoading\n ? undefined\n : paymentMethodList.data.paymentMethod\n\n const handleDownload = useCallback(\n async (payrollUuid: string) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {\n employeeId,\n payrollUuid,\n })\n\n const tab = openPdfInNewTab({ loadingMessage: t('downloadLoadingMessage'), nonce })\n setDownloadingPayrollUuids(prev => {\n const next = new Set(prev)\n next.add(payrollUuid)\n return next\n })\n try {\n const result = await paystubsList.actions.downloadPayStub(payrollUuid)\n if (!result) {\n tab.close()\n return\n }\n tab.navigate(result.data)\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n tab.close()\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n } finally {\n setDownloadingPayrollUuids(prev => {\n if (!prev.has(payrollUuid)) return prev\n const next = new Set(prev)\n next.delete(payrollUuid)\n return next\n })\n }\n },\n [paystubsList.actions, onEvent, employeeId, t, showBoundary, nonce],\n )\n\n const payStubsColumns = [\n {\n key: 'payday',\n title: t('payday'),\n render: (payStub: EmployeePayStub) => formatDateLongWithYear(payStub.checkDate) || '-',\n },\n {\n key: 'checkAmount',\n title: t('checkAmount'),\n render: (payStub: EmployeePayStub) => {\n if (!payStub.netPay) return '-'\n const amount = parseFloat(payStub.netPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'grossPay',\n title: t('grossPay'),\n render: (payStub: EmployeePayStub) => {\n if (!payStub.grossPay) return '-'\n const amount = parseFloat(payStub.grossPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'paymentMethod',\n title: t('paymentMethod'),\n render: () => paymentMethod?.type || t('noPaymentMethod'),\n },\n ]\n\n const payStubsDataView = useDataView({\n data: payStubs,\n columns: payStubsColumns,\n pagination: payStubsPagination,\n itemMenu: payStub => {\n const isDownloading =\n !!payStub.payrollUuid && downloadingPayrollUuids.has(payStub.payrollUuid)\n return (\n <Components.ButtonIcon\n variant=\"tertiary\"\n aria-label={t('downloadCta')}\n isDisabled={!payStub.payrollUuid}\n isLoading={isDownloading}\n onClick={() => {\n if (payStub.payrollUuid) {\n void handleDownload(payStub.payrollUuid)\n }\n }}\n >\n <DownloadCloudIcon aria-hidden />\n </Components.ButtonIcon>\n )\n },\n emptyState: () => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n ),\n })\n\n const isShowingTable = payStubs.length > 0\n\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!isShowingTable}\n header={<Components.BoxHeader title={t('title')} />}\n >\n {isShowingTable ? (\n <DataView label={t('listLabel')} isWithinBox {...payStubsDataView} />\n ) : (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["PaystubsCard","LoaderComponent","props","jsx","BaseBoundaries","PaystubsCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","paystubsList","usePaystubsList","paymentMethodList","usePaymentMethodList","errorHandling","composeErrorHandler","BaseLayout","Loading","PaystubsCardReady","formatCurrency","useNumberFormatter","showBoundary","useErrorBoundary","nonce","useNonce","downloadingPayrollUuids","setDownloadingPayrollUuids","useState","payStubs","payStubsPagination","paymentMethod","handleDownload","useCallback","payrollUuid","componentEvents","tab","openPdfInNewTab","prev","next","result","err","payStubsColumns","payStub","formatDateLongWithYear","amount","payStubsDataView","useDataView","isDownloading","DownloadCloudIcon","EmptyData","isShowingTable","DataView"],"mappings":"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"}
1
+ {"version":3,"file":"PaystubsCard.js","sources":["../../../../../../src/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport {\n usePaystubsList,\n type EmployeePayStub,\n type UsePaystubsListReady,\n} from '../../shared/usePaystubsList'\nimport { DataView, EmptyData, useDataView, Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useNonce } from '@/contexts/NonceProvider'\nimport { openPdfInNewTab } from '@/helpers/openPdfInNewTab'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListResult,\n} from '@/components/Employee/PaymentMethod/shared'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport DownloadCloudIcon from '@/assets/icons/download-cloud.svg?react'\n\n/**\n * Props for {@link PaystubsCard}.\n *\n * @public\n */\nexport interface PaystubsCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when paystub interactions occur. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Paystubs\" card. Owns its own data fetch via\n * {@link usePaystubsList} and renders the paginated paystubs table with a\n * per-row PDF download action. Emits the management block's scoped events\n * (`EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_*`) on download request and on\n * download success. The card has no edit transitions and no alert API —\n * paystubs is a read-only surface whose only action is a download side\n * effect that opens the PDF in a new tab.\n *\n * @public\n */\nexport function PaystubsCard({ LoaderComponent, ...props }: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\" LoaderComponent={LoaderComponent}>\n <PaystubsCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent, LoaderComponent }: PaystubsCardProps) {\n useI18n('Employee.Management.Paystubs')\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const paystubsList = usePaystubsList({ employeeId })\n const paymentMethodList = usePaymentMethodList({ employeeId })\n\n const errorHandling = composeErrorHandler([paystubsList, paymentMethodList])\n\n if (paystubsList.isLoading) {\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <PaystubsCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n paystubsList={paystubsList}\n paymentMethodList={paymentMethodList}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface PaystubsCardReadyProps extends PaystubsCardProps {\n paystubsList: UsePaystubsListReady\n paymentMethodList: UsePaymentMethodListResult\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction PaystubsCardReady({\n employeeId,\n onEvent,\n paystubsList,\n paymentMethodList,\n errorHandling,\n LoaderComponent,\n}: PaystubsCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const { showBoundary } = useErrorBoundary()\n const nonce = useNonce()\n\n const [downloadingPayrollUuids, setDownloadingPayrollUuids] = useState<ReadonlySet<string>>(\n () => new Set(),\n )\n\n const { payStubs } = paystubsList.data\n const payStubsPagination = paystubsList.pagination.payStubs\n const paymentMethod = paymentMethodList.isLoading\n ? undefined\n : paymentMethodList.data.paymentMethod\n\n const handleDownload = useCallback(\n async (payrollUuid: string) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {\n employeeId,\n payrollUuid,\n })\n\n const tab = openPdfInNewTab({ loadingMessage: t('downloadLoadingMessage'), nonce })\n setDownloadingPayrollUuids(prev => {\n const next = new Set(prev)\n next.add(payrollUuid)\n return next\n })\n try {\n const result = await paystubsList.actions.downloadPayStub(payrollUuid)\n if (!result) {\n tab.close()\n return\n }\n tab.navigate(result.data)\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n tab.close()\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n } finally {\n setDownloadingPayrollUuids(prev => {\n if (!prev.has(payrollUuid)) return prev\n const next = new Set(prev)\n next.delete(payrollUuid)\n return next\n })\n }\n },\n [paystubsList.actions, onEvent, employeeId, t, showBoundary, nonce],\n )\n\n const payStubsColumns = [\n {\n key: 'payday',\n title: t('payday'),\n render: (payStub: EmployeePayStub) => formatDateLongWithYear(payStub.checkDate) || '-',\n },\n {\n key: 'checkAmount',\n title: t('checkAmount'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.netPay) return '-'\n const amount = parseFloat(payStub.netPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'grossPay',\n title: t('grossPay'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.grossPay) return '-'\n const amount = parseFloat(payStub.grossPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'paymentMethod',\n title: t('paymentMethod'),\n render: () => paymentMethod?.type || t('noPaymentMethod'),\n },\n ]\n\n const payStubsDataView = useDataView({\n data: payStubs,\n columns: payStubsColumns,\n pagination: payStubsPagination,\n itemMenu: payStub => {\n const isDownloading =\n !!payStub.payrollUuid && downloadingPayrollUuids.has(payStub.payrollUuid)\n return (\n <Components.ButtonIcon\n variant=\"tertiary\"\n aria-label={t('downloadCta')}\n isDisabled={!payStub.payrollUuid}\n isLoading={isDownloading}\n onClick={() => {\n if (payStub.payrollUuid) {\n void handleDownload(payStub.payrollUuid)\n }\n }}\n >\n <DownloadCloudIcon aria-hidden />\n </Components.ButtonIcon>\n )\n },\n emptyState: () => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n ),\n })\n\n const isShowingTable = payStubs.length > 0\n\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!isShowingTable}\n header={<Components.BoxHeader title={t('title')} />}\n >\n {isShowingTable ? (\n <DataView label={t('listLabel')} isWithinBox {...payStubsDataView} />\n ) : (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["PaystubsCard","LoaderComponent","props","jsx","BaseBoundaries","PaystubsCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","paystubsList","usePaystubsList","paymentMethodList","usePaymentMethodList","errorHandling","composeErrorHandler","BaseLayout","Loading","PaystubsCardReady","formatCurrency","useNumberFormatter","showBoundary","useErrorBoundary","nonce","useNonce","downloadingPayrollUuids","setDownloadingPayrollUuids","useState","payStubs","payStubsPagination","paymentMethod","handleDownload","useCallback","payrollUuid","componentEvents","tab","openPdfInNewTab","prev","next","result","err","payStubsColumns","payStub","formatDateLongWithYear","amount","payStubsDataView","useDataView","isDownloading","DownloadCloudIcon","EmptyData","isShowingTable","DataView"],"mappings":"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"}
@@ -18,13 +18,12 @@ import "@gusto/embedded-api/models/errors/httpclienterrors";
18
18
  import { formatNumberAsCurrency as L } from "../../../helpers/formattedStrings.js";
19
19
  import "../../../shared/constants.js";
20
20
  import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
21
- import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
22
21
  import { useI18n as E } from "../../../i18n/I18n.js";
23
22
  import { NumberInputField as T } from "../../Common/Fields/NumberInputField/NumberInputField.js";
24
23
  const q = P.object({
25
24
  netPay: P.number().positive()
26
25
  });
27
- function fe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
26
+ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
28
27
  E("Payroll.GrossUpModal");
29
28
  const { t: r } = k("Payroll.GrossUpModal"), { Modal: M, Heading: u, Text: p, Button: i, Alert: f } = V(), { baseSubmitHandler: y } = H(), N = R(null), [l, c] = o(null), [h, m] = o(null), [g, b] = o(!1), [x, v] = o(!1), s = U({
30
29
  resolver: z(q),
@@ -111,6 +110,6 @@ function fe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
111
110
  );
112
111
  }
113
112
  export {
114
- fe as GrossUpModal
113
+ pe as GrossUpModal
115
114
  };
116
115
  //# sourceMappingURL=GrossUpModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
@@ -1,32 +1,33 @@
1
1
  import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
2
  import { useFormContext as s, useWatch as m } from "react-hook-form";
3
3
  import { useTranslation as d } from "react-i18next";
4
- import a from "./OffCyclePayPeriodDateFormPresentation.module.scss.js";
4
+ import r from "./OffCyclePayPeriodDateFormPresentation.module.scss.js";
5
5
  import { useI18n as h } from "../../../i18n/I18n.js";
6
- import { CheckboxField as y } from "../../Common/Fields/CheckboxField/CheckboxField.js";
7
- import { DatePickerField as r } from "../../Common/Fields/DatePickerField/DatePickerField.js";
6
+ import { CheckboxField as D } from "../../Common/Fields/CheckboxField/CheckboxField.js";
7
+ import { DatePickerField as a } from "../../Common/Fields/DatePickerField/DatePickerField.js";
8
8
  function O({
9
9
  minCheckDate: o,
10
- minCheckOnlyDate: l
10
+ minCheckOnlyDate: c
11
11
  }) {
12
12
  h("Payroll.OffCyclePayPeriodDateForm");
13
- const { t: e } = d("Payroll.OffCyclePayPeriodDateForm"), { control: c } = s(), n = m({ control: c, name: "isCheckOnly" }) ? l : o;
14
- return /* @__PURE__ */ i("div", { className: a.root, children: [
15
- /* @__PURE__ */ i("div", { className: a.dateFields, children: [
16
- /* @__PURE__ */ t(r, { name: "startDate", label: e("startDateLabel"), isRequired: !0 }),
17
- /* @__PURE__ */ t(r, { name: "endDate", label: e("endDateLabel"), isRequired: !0 })
13
+ const { t: e } = d("Payroll.OffCyclePayPeriodDateForm"), { control: l } = s(), n = m({ control: l, name: "isCheckOnly" }) ? c : o;
14
+ return /* @__PURE__ */ i("div", { className: r.root, children: [
15
+ /* @__PURE__ */ i("div", { className: r.dateFields, children: [
16
+ /* @__PURE__ */ t(a, { name: "startDate", label: e("startDateLabel"), isRequired: !0 }),
17
+ /* @__PURE__ */ t(a, { name: "endDate", label: e("endDateLabel"), isRequired: !0 })
18
18
  ] }),
19
- /* @__PURE__ */ t("div", { className: a.checkDateField, children: /* @__PURE__ */ t(
20
- r,
19
+ /* @__PURE__ */ t("div", { className: r.checkDateField, children: /* @__PURE__ */ t(
20
+ a,
21
21
  {
22
22
  name: "checkDate",
23
23
  label: e("checkDateLabel"),
24
+ description: e("checkDateDescription"),
24
25
  isRequired: !0,
25
26
  minDate: n
26
27
  }
27
28
  ) }),
28
29
  /* @__PURE__ */ t(
29
- y,
30
+ D,
30
31
  {
31
32
  name: "isCheckOnly",
32
33
  label: e("checkOnlyLabel"),
@@ -1 +1 @@
1
- {"version":3,"file":"OffCyclePayPeriodDateFormPresentation.js","sources":["../../../../src/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.tsx"],"sourcesContent":["import { useFormContext, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCyclePayPeriodDateFormData } from './OffCyclePayPeriodDateFormTypes'\nimport styles from './OffCyclePayPeriodDateFormPresentation.module.scss'\nimport { useI18n } from '@/i18n'\nimport { CheckboxField, DatePickerField } from '@/components/Common'\n\n/** @internal */\nexport interface OffCyclePayPeriodDateFormPresentationProps {\n /** Earliest selectable payment date for direct deposit (today plus the ACH lead time). */\n minCheckDate: Date\n /** Earliest selectable payment date when the payroll is check-only (today). */\n minCheckOnlyDate: Date\n}\n\n/** @internal */\nexport function OffCyclePayPeriodDateFormPresentation({\n minCheckDate,\n minCheckOnlyDate,\n}: OffCyclePayPeriodDateFormPresentationProps) {\n useI18n('Payroll.OffCyclePayPeriodDateForm')\n const { t } = useTranslation('Payroll.OffCyclePayPeriodDateForm')\n\n const { control } = useFormContext<OffCyclePayPeriodDateFormData>()\n const isCheckOnly = useWatch({ control, name: 'isCheckOnly' })\n\n // Mirrors the resolver's own `isCheckOnly ? today : minCheckDate` so the picker and the\n // validation agree. Without a minDate the rule existed only as a submit-time error, and\n // legacy gws-flows disables invalid dates in the picker (SDK-1274). Checking \"check-only\"\n // has to widen the bound back to today, live.\n const checkDateMinimum = isCheckOnly ? minCheckOnlyDate : minCheckDate\n\n return (\n <div className={styles.root}>\n <div className={styles.dateFields}>\n <DatePickerField name=\"startDate\" label={t('startDateLabel')} isRequired />\n <DatePickerField name=\"endDate\" label={t('endDateLabel')} isRequired />\n </div>\n\n <div className={styles.checkDateField}>\n <DatePickerField\n name=\"checkDate\"\n label={t('checkDateLabel')}\n isRequired\n minDate={checkDateMinimum}\n />\n </div>\n\n <CheckboxField\n name=\"isCheckOnly\"\n label={t('checkOnlyLabel')}\n description={t('checkOnlyDescription')}\n />\n </div>\n )\n}\n"],"names":["OffCyclePayPeriodDateFormPresentation","minCheckDate","minCheckOnlyDate","useI18n","t","useTranslation","control","useFormContext","checkDateMinimum","useWatch","jsxs","styles","jsx","DatePickerField","CheckboxField"],"mappings":";;;;;;;AAgBO,SAASA,EAAsC;AAAA,EACpD,cAAAC;AAAA,EACA,kBAAAC;AACF,GAA+C;AAC7C,EAAAC,EAAQ,mCAAmC;AAC3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC,GAE1D,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAOdC,IANcC,EAAS,EAAE,SAAAH,GAAS,MAAM,eAAe,IAMtBJ,IAAmBD;AAE1D,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAWC,EAAO,MACrB,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWC,EAAO,YACrB,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAgB,MAAK,aAAY,OAAOT,EAAE,gBAAgB,GAAG,YAAU,IAAC;AAAA,MACzE,gBAAAQ,EAACC,KAAgB,MAAK,WAAU,OAAOT,EAAE,cAAc,GAAG,YAAU,GAAA,CAAC;AAAA,IAAA,GACvE;AAAA,IAEA,gBAAAQ,EAAC,OAAA,EAAI,WAAWD,EAAO,gBACrB,UAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOT,EAAE,gBAAgB;AAAA,QACzB,YAAU;AAAA,QACV,SAASI;AAAA,MAAA;AAAA,IAAA,GAEb;AAAA,IAEA,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOV,EAAE,gBAAgB;AAAA,QACzB,aAAaA,EAAE,sBAAsB;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GACF;AAEJ;"}
1
+ {"version":3,"file":"OffCyclePayPeriodDateFormPresentation.js","sources":["../../../../src/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.tsx"],"sourcesContent":["import { useFormContext, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCyclePayPeriodDateFormData } from './OffCyclePayPeriodDateFormTypes'\nimport styles from './OffCyclePayPeriodDateFormPresentation.module.scss'\nimport { useI18n } from '@/i18n'\nimport { CheckboxField, DatePickerField } from '@/components/Common'\n\n/** @internal */\nexport interface OffCyclePayPeriodDateFormPresentationProps {\n /** Earliest selectable payment date for direct deposit (today plus the ACH lead time). */\n minCheckDate: Date\n /** Earliest selectable payment date when the payroll is check-only (today). */\n minCheckOnlyDate: Date\n}\n\n/** @internal */\nexport function OffCyclePayPeriodDateFormPresentation({\n minCheckDate,\n minCheckOnlyDate,\n}: OffCyclePayPeriodDateFormPresentationProps) {\n useI18n('Payroll.OffCyclePayPeriodDateForm')\n const { t } = useTranslation('Payroll.OffCyclePayPeriodDateForm')\n\n const { control } = useFormContext<OffCyclePayPeriodDateFormData>()\n const isCheckOnly = useWatch({ control, name: 'isCheckOnly' })\n\n // Mirrors the resolver's own `isCheckOnly ? today : minCheckDate` so the picker and the\n // validation agree. Without a minDate the rule existed only as a submit-time error, and\n // legacy gws-flows disables invalid dates in the picker (SDK-1274). Checking \"check-only\"\n // has to widen the bound back to today, live.\n const checkDateMinimum = isCheckOnly ? minCheckOnlyDate : minCheckDate\n\n return (\n <div className={styles.root}>\n <div className={styles.dateFields}>\n <DatePickerField name=\"startDate\" label={t('startDateLabel')} isRequired />\n <DatePickerField name=\"endDate\" label={t('endDateLabel')} isRequired />\n </div>\n\n <div className={styles.checkDateField}>\n <DatePickerField\n name=\"checkDate\"\n label={t('checkDateLabel')}\n description={t('checkDateDescription')}\n isRequired\n minDate={checkDateMinimum}\n />\n </div>\n\n <CheckboxField\n name=\"isCheckOnly\"\n label={t('checkOnlyLabel')}\n description={t('checkOnlyDescription')}\n />\n </div>\n )\n}\n"],"names":["OffCyclePayPeriodDateFormPresentation","minCheckDate","minCheckOnlyDate","useI18n","t","useTranslation","control","useFormContext","checkDateMinimum","useWatch","jsxs","styles","jsx","DatePickerField","CheckboxField"],"mappings":";;;;;;;AAgBO,SAASA,EAAsC;AAAA,EACpD,cAAAC;AAAA,EACA,kBAAAC;AACF,GAA+C;AAC7C,EAAAC,EAAQ,mCAAmC;AAC3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC,GAE1D,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAOdC,IANcC,EAAS,EAAE,SAAAH,GAAS,MAAM,eAAe,IAMtBJ,IAAmBD;AAE1D,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAWC,EAAO,MACrB,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWC,EAAO,YACrB,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAgB,MAAK,aAAY,OAAOT,EAAE,gBAAgB,GAAG,YAAU,IAAC;AAAA,MACzE,gBAAAQ,EAACC,KAAgB,MAAK,WAAU,OAAOT,EAAE,cAAc,GAAG,YAAU,GAAA,CAAC;AAAA,IAAA,GACvE;AAAA,IAEA,gBAAAQ,EAAC,OAAA,EAAI,WAAWD,EAAO,gBACrB,UAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOT,EAAE,gBAAgB;AAAA,QACzB,aAAaA,EAAE,sBAAsB;AAAA,QACrC,YAAU;AAAA,QACV,SAASI;AAAA,MAAA;AAAA,IAAA,GAEb;AAAA,IAEA,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOV,EAAE,gBAAgB;AAAA,QACzB,aAAaA,EAAE,sBAAsB;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GACF;AAEJ;"}
@@ -1,4 +1,4 @@
1
- const e = "_root_xmpo5_1", t = "_header_xmpo5_7", o = "_headerContent_xmpo5_14", _ = "_wageTypeCell_xmpo5_20", a = "_taxedAsCell_xmpo5_21", l = "_table_xmpo5_27", n = {
1
+ const e = "_root_1go5t_1", t = "_header_1go5t_7", o = "_headerContent_1go5t_14", _ = "_wageTypeCell_1go5t_20", a = "_taxedAsCell_1go5t_21", l = "_table_1go5t_27", n = {
2
2
  root: e,
3
3
  header: t,
4
4
  headerContent: o,