@gusto/embedded-react-sdk 0.52.1 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/components/Base/Base.d.ts +2 -2
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +1 -2
  5. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +42 -43
  6. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
  7. package/dist/components/Common/Fields/PercentageField/PercentageField.js +44 -42
  8. package/dist/components/Common/Fields/PercentageField/PercentageField.js.map +1 -1
  9. package/dist/components/Common/UI/Box/Box.js +6 -6
  10. package/dist/components/Common/UI/Box/Box.js.map +1 -1
  11. package/dist/components/Common/UI/Box/Box.module.scss.js +8 -8
  12. package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -1
  13. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  14. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +16 -14
  15. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js.map +1 -1
  16. package/dist/components/Common/UI/Dialog/Dialog.js +29 -28
  17. package/dist/components/Common/UI/Dialog/Dialog.js.map +1 -1
  18. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  19. package/dist/components/Common/UI/FormBox/FormBox.d.ts +1 -1
  20. package/dist/components/Common/UI/FormBox/FormBox.js +9 -8
  21. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -1
  22. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +8 -6
  23. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -1
  24. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +5 -1
  25. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  26. package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -10
  27. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  28. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
  29. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  30. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -9
  31. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +18 -21
  33. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +11 -12
  35. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  36. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  37. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  38. package/dist/components/Company/AssignSignatory/Head.js +8 -9
  39. package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
  40. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -7
  41. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  42. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -8
  43. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  44. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +20 -21
  45. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  46. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  47. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  48. package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -12
  49. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  50. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  51. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  52. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +2 -3
  53. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -11
  55. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  56. package/dist/components/Company/BankAccount/BankAccountForm/Head.js +2 -3
  57. package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  59. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  60. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +6 -7
  61. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  62. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
  63. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  64. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -6
  65. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  66. package/dist/components/Company/BankAccount/stateMachine.d.ts +0 -1
  67. package/dist/components/Company/BankAccount/stateMachine.js +33 -35
  68. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  69. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -6
  70. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  71. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -14
  72. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  73. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  74. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  75. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -8
  76. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  77. package/dist/components/Company/DocumentSigner/stateMachine.d.ts +0 -1
  78. package/dist/components/Company/DocumentSigner/stateMachine.js +27 -29
  79. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  80. package/dist/components/Company/FederalTaxes/Actions.js +6 -7
  81. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  82. package/dist/components/Company/FederalTaxes/FederalTaxes.js +7 -10
  83. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  84. package/dist/components/Company/FederalTaxes/Form.js +4 -4
  85. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  86. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  87. package/dist/components/Company/Industry/Actions.js +5 -6
  88. package/dist/components/Company/Industry/Actions.js.map +1 -1
  89. package/dist/components/Company/Industry/Context.js +6 -7
  90. package/dist/components/Company/Industry/Context.js.map +1 -1
  91. package/dist/components/Company/Industry/Edit.js +10 -12
  92. package/dist/components/Company/Industry/Edit.js.map +1 -1
  93. package/dist/components/Company/Industry/IndustrySelect.js +6 -8
  94. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  95. package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
  96. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  97. package/dist/components/Company/Locations/LocationForm/Form.js +4 -6
  98. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  99. package/dist/components/Company/Locations/LocationForm/LocationForm.js +11 -14
  100. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  101. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  102. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  103. package/dist/components/Company/Locations/LocationsList/Actions.js +2 -3
  104. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  105. package/dist/components/Company/Locations/LocationsList/LocationsList.js +9 -12
  106. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  107. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  108. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  109. package/dist/components/Company/OnboardingOverview/Completed.js +5 -6
  110. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  111. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -10
  112. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  113. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -5
  114. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  115. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  116. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  117. package/dist/components/Company/PaySchedule/PayScheduleForm.js +47 -51
  118. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  119. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +0 -1
  120. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +26 -28
  121. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  122. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +2 -1
  123. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  124. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  125. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +29 -16
  126. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  127. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
  128. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  129. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -1
  130. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +21 -32
  131. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  132. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +67 -75
  133. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  134. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  135. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  136. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -7
  137. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  138. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +62 -47
  139. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  140. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +1 -0
  141. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -23
  142. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  143. package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -0
  144. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  145. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  146. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.d.ts +12 -0
  147. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js +36 -0
  148. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js.map +1 -0
  149. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.d.ts +10 -0
  150. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js +110 -0
  151. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js.map +1 -0
  152. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.d.ts +18 -0
  153. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +55 -0
  154. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -0
  155. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.d.ts +47 -0
  156. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js +108 -0
  157. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js.map +1 -0
  158. package/dist/components/Company/StateTaxes/TaxRateManagement/context.d.ts +25 -0
  159. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +22 -0
  160. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -0
  161. package/dist/components/Company/StateTaxes/TaxRateManagement/index.d.ts +1 -0
  162. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.d.ts +29 -0
  163. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js +34 -0
  164. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js.map +1 -0
  165. package/dist/components/Company/StateTaxes/shared/RequirementFields.d.ts +17 -0
  166. package/dist/components/Company/StateTaxes/shared/RequirementFields.js +24 -0
  167. package/dist/components/Company/StateTaxes/shared/RequirementFields.js.map +1 -0
  168. package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.d.ts +1 -1
  169. package/dist/components/Company/StateTaxes/shared/applicableIf.js.map +1 -0
  170. package/dist/components/Company/StateTaxes/shared/applicableIf.test.d.ts +1 -0
  171. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.d.ts +19 -0
  172. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js +38 -0
  173. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js.map +1 -0
  174. package/dist/components/Company/StateTaxes/shared/requirementValue.d.ts +2 -0
  175. package/dist/components/Company/StateTaxes/shared/requirementValue.js +7 -0
  176. package/dist/components/Company/StateTaxes/shared/requirementValue.js.map +1 -0
  177. package/dist/components/Company/StateTaxes/shared/rhfKey.d.ts +23 -0
  178. package/dist/components/Company/StateTaxes/shared/rhfKey.js +13 -0
  179. package/dist/components/Company/StateTaxes/shared/rhfKey.js.map +1 -0
  180. package/dist/components/Company/StateTaxes/shared/rhfKey.test.d.ts +1 -0
  181. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -1
  182. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +40 -20
  183. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  184. package/dist/components/Company/exports/companyOnboarding.d.ts +1 -0
  185. package/dist/components/Company/exports/companyOnboarding.js +12 -10
  186. package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
  187. package/dist/components/Contractor/Address/Address.js +83 -76
  188. package/dist/components/Contractor/Address/Address.js.map +1 -1
  189. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.d.ts +39 -0
  190. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +90 -0
  191. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -0
  192. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +22 -0
  193. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +247 -0
  194. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -0
  195. package/dist/components/Contractor/ContractorList/{index.d.ts → onboarding/ContractorList.d.ts} +3 -3
  196. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +51 -0
  197. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -0
  198. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +16 -0
  199. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +113 -0
  200. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -0
  201. package/dist/components/Contractor/ContractorList/shared/index.d.ts +1 -0
  202. package/dist/components/Contractor/ContractorList/shared/useContractorList.d.ts +87 -0
  203. package/dist/components/Contractor/ContractorList/shared/useContractorList.js +110 -0
  204. package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -0
  205. package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.d.ts +0 -1
  206. package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js +18 -20
  207. package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js.map +1 -1
  208. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +2 -3
  209. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
  210. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +170 -123
  211. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  212. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.module.scss.js +12 -0
  213. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.module.scss.js.map +1 -0
  214. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js +40 -39
  215. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js.map +1 -1
  216. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js +91 -88
  217. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -1
  218. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +0 -33
  219. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js +77 -86
  220. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -1
  221. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +1 -1
  222. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  223. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +9 -10
  224. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
  225. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +2 -3
  226. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  227. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +162 -251
  228. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  229. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +2 -1
  230. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +2 -2
  231. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
  232. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +45 -44
  233. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  234. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +2 -3
  235. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  236. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -3
  237. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  238. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.d.ts +32 -0
  239. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js +107 -0
  240. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js.map +1 -0
  241. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.test.d.ts +1 -0
  242. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +6 -7
  243. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
  244. package/dist/components/Contractor/Profile/ContractorProfile.js +63 -57
  245. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  246. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +18 -19
  247. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
  248. package/dist/components/Contractor/Submit/Submit.js +118 -102
  249. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  250. package/dist/components/Contractor/exports/contractorManagement.d.ts +1 -0
  251. package/dist/components/Contractor/exports/contractorManagement.js +12 -10
  252. package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
  253. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +1 -1
  254. package/dist/components/Contractor/exports/contractorOnboarding.js +1 -1
  255. package/dist/components/Contractor/shared/useContractorHasSignedW9.d.ts +8 -0
  256. package/dist/components/Contractor/shared/useContractorHasSignedW9.js +10 -0
  257. package/dist/components/Contractor/shared/useContractorHasSignedW9.js.map +1 -0
  258. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +32 -33
  259. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  260. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +2 -3
  261. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  262. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +6 -7
  263. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  264. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js +14 -15
  265. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
  266. package/dist/components/Employee/Documents/management/DocumentManager.js +6 -7
  267. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  268. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +6 -7
  269. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  270. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +4 -5
  271. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
  272. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +10 -13
  273. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  274. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js +5 -6
  275. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -1
  276. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js +8 -0
  277. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js.map +1 -0
  278. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  279. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  280. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +22 -21
  281. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  282. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +6 -6
  283. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +5 -4
  284. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
  285. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -4
  286. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  287. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +6 -7
  288. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  289. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +11 -12
  290. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  291. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js +15 -16
  292. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js.map +1 -1
  293. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +6 -7
  294. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  295. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +11 -12
  296. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  297. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  298. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js +7 -8
  299. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  300. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +4 -4
  301. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +29 -23
  302. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  303. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +26 -20
  304. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  305. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +133 -99
  306. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  307. package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js +8 -0
  308. package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js.map +1 -0
  309. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
  310. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +19 -20
  311. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  312. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js +92 -86
  313. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
  314. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +65 -64
  315. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  316. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +7 -8
  317. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  318. package/dist/components/Employee/Profile/management/ProfileEditForm.js +7 -7
  319. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +6 -6
  320. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +6 -6
  321. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +1 -0
  322. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
  323. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +1 -0
  324. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
  325. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js +11 -12
  326. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  327. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +9 -10
  328. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  329. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +6 -7
  330. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  331. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +44 -45
  332. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  333. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +23 -22
  334. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  335. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +27 -27
  336. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  337. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +9 -10
  338. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  339. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +2 -3
  340. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  341. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js +16 -17
  342. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  343. package/dist/components/Flow/Flow.js +1 -1
  344. package/dist/components/Flow/FlowHeader.js +3 -4
  345. package/dist/components/Flow/FlowHeader.js.map +1 -1
  346. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +8 -9
  347. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  348. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +7 -8
  349. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  350. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +37 -37
  351. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  352. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +8 -9
  353. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  354. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +7 -8
  355. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  356. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +10 -12
  357. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  358. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +0 -1
  359. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  360. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +7 -8
  361. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  362. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +3 -3
  363. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +54 -50
  364. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  365. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +80 -69
  366. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  367. package/dist/components/Payroll/PayrollList/PayrollList.js +20 -18
  368. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  369. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +138 -136
  370. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  371. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +10 -12
  372. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
  373. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +4 -4
  374. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +2 -3
  375. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  376. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -3
  377. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  378. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +1 -2
  379. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  380. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +2 -3
  381. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  382. package/dist/components/Payroll/usePreparedPayrollData.js +8 -9
  383. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  384. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -3
  385. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  386. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +4 -4
  387. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +4 -4
  388. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +34 -36
  389. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  390. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +4 -4
  391. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +24 -25
  392. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  393. package/dist/components/index.d.ts +40 -0
  394. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +6 -0
  395. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +29 -28
  396. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  397. package/dist/contexts/LocaleProvider/useLocale.d.ts +1 -9
  398. package/dist/contexts/LocaleProvider/useLocale.js +5 -15
  399. package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
  400. package/dist/contexts/NonceProvider/index.d.ts +1 -0
  401. package/dist/contexts/NonceProvider/useNonce.d.ts +37 -0
  402. package/dist/contexts/NonceProvider/useNonce.js +7 -0
  403. package/dist/contexts/NonceProvider/useNonce.js.map +1 -0
  404. package/dist/contexts/ThemeProvider/ThemeProvider.js +25 -24
  405. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  406. package/dist/contexts/index.d.ts +1 -0
  407. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.d.ts +12 -7
  408. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js +25 -21
  409. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js.map +1 -1
  410. package/dist/i18n/I18n.js +1 -0
  411. package/dist/i18n/I18n.js.map +1 -1
  412. package/dist/i18n/en/Company.StateTaxes.json.js +6 -4
  413. package/dist/i18n/en/Company.StateTaxes.json.js.map +1 -1
  414. package/dist/i18n/en/Contractor.Address.json.js +22 -20
  415. package/dist/i18n/en/Contractor.Address.json.js.map +1 -1
  416. package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
  417. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  418. package/dist/i18n/en/Contractor.ManagementContractorList.json.js +60 -0
  419. package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -0
  420. package/dist/i18n/en/Contractor.Profile.json.js +13 -11
  421. package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
  422. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  423. package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js +18 -16
  424. package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js.map +1 -1
  425. package/dist/i18n/en/Employee.Management.PaymentMethodSplitForm.json.js +2 -2
  426. package/dist/i18n/en/Employee.PaymentMethod.json.js +74 -72
  427. package/dist/i18n/en/Employee.PaymentMethod.json.js.map +1 -1
  428. package/dist/i18n/en/Employee.SplitPaymentsFormBody.json.js +2 -2
  429. package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
  430. package/dist/i18n/en/Payroll.PayrollList.json.js +23 -23
  431. package/dist/i18n/types.d.ts +215 -17
  432. package/dist/index.d.ts +6 -3
  433. package/dist/index.js +15 -13
  434. package/dist/index.js.map +1 -1
  435. package/dist/models/external.d.ts +4 -0
  436. package/dist/partner-hook-utils/form/SDKFormProvider.js +39 -24
  437. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  438. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +12 -15
  439. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  440. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +16 -19
  441. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  442. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -16
  443. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  444. package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -15
  445. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  446. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +18 -21
  447. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  448. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +9 -12
  449. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  450. package/dist/partner-hook-utils/form/preprocessors.d.ts +2 -2
  451. package/dist/partner-hook-utils/form/preprocessors.js +8 -7
  452. package/dist/partner-hook-utils/form/preprocessors.js.map +1 -1
  453. package/dist/partner-hook-utils/form/preprocessors.test.d.ts +1 -0
  454. package/dist/shared/constants.d.ts +12 -0
  455. package/dist/shared/constants.js +23 -17
  456. package/dist/shared/constants.js.map +1 -1
  457. package/dist/style.css +1 -1
  458. package/dist/types/Helpers.d.ts +1 -1
  459. package/docs/guides/endpoint-inventory.json +61 -27
  460. package/package.json +19 -17
  461. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +0 -1
  462. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +0 -4
  463. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +0 -5
  464. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +0 -1
  465. package/dist/components/Contractor/ContractorList/index.js +0 -150
  466. package/dist/components/Contractor/ContractorList/index.js.map +0 -1
  467. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +0 -18
  468. package/dist/components/Contractor/ContractorList/useContractorList.js +0 -15
  469. package/dist/components/Contractor/ContractorList/useContractorList.js.map +0 -1
  470. /package/dist/components/Company/StateTaxes/{StateTaxesForm/applicableIf.test.d.ts → TaxRateManagement/toHistoryRows.test.d.ts} +0 -0
  471. /package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.js +0 -0
@@ -1,106 +1,112 @@
1
- import { jsx as o, jsxs as u } from "react/jsx-runtime";
2
- import { useTranslation as I, Trans as S } from "react-i18next";
3
- import c from "dompurify";
4
- import { useSplitPaymentsForm as B } from "../useSplitPaymentsForm/useSplitPaymentsForm.js";
5
- import { ActionsLayout as P } from "../../../../Common/ActionsLayout/ActionsLayout.js";
6
- import { useComponentContext as v } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
7
- import "react";
8
- import { Form as R } from "../../../../Common/Form/Form.js";
9
- import { ReorderableList as D } from "../../../../Common/ReorderableList/ReorderableList.js";
10
- import { BaseLayout as b } from "../../../../Base/Base.js";
11
- import { SDKFormProvider as T } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
1
+ import { jsx as r, jsxs as a } from "react/jsx-runtime";
2
+ import { useTranslation as S } from "react-i18next";
3
+ import p from "dompurify";
4
+ import { useSplitPaymentsForm as v } from "../useSplitPaymentsForm/useSplitPaymentsForm.js";
5
+ import { Flex as d } from "../../../../Common/Flex/Flex.js";
6
+ import { ActionsLayout as B } from "../../../../Common/ActionsLayout/ActionsLayout.js";
7
+ import { Form as D } from "../../../../Common/Form/Form.js";
8
+ import { ReorderableList as P } from "../../../../Common/ReorderableList/ReorderableList.js";
9
+ import { BaseLayout as y } from "../../../../Base/Base.js";
10
+ import { SDKFormProvider as R } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
11
+ import { useComponentContext as x } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import { useI18n as C, useComponentDictionary as N } from "../../../../../i18n/I18n.js";
13
- import { SPLIT_BY as p } from "../../../../../shared/constants.js";
14
- function K({
15
- dictionary: i,
16
- onSaved: l,
17
- onCancel: r,
13
+ import { SPLIT_BY as b } from "../../../../../shared/constants.js";
14
+ function Q({
15
+ dictionary: l,
16
+ onSaved: s,
17
+ onCancel: t,
18
18
  ...e
19
19
  }) {
20
- C("Employee.SplitPaymentsFormBody"), N("Employee.SplitPaymentsFormBody", i);
21
- const n = B(e);
22
- return n.isLoading ? /* @__PURE__ */ o(b, { isLoading: !0, error: n.errorHandling.errors }) : /* @__PURE__ */ o(F, { onSaved: l, onCancel: r, splitForm: n });
20
+ C("Employee.SplitPaymentsFormBody"), N("Employee.SplitPaymentsFormBody", l);
21
+ const n = v(e);
22
+ return n.isLoading ? /* @__PURE__ */ r(y, { isLoading: !0, error: n.errorHandling.errors }) : /* @__PURE__ */ r(T, { onSaved: s, onCancel: t, splitForm: n });
23
23
  }
24
- function F({
25
- onSaved: i,
26
- onCancel: l,
27
- splitForm: r
24
+ function T({
25
+ onSaved: l,
26
+ onCancel: s,
27
+ splitForm: t
28
28
  }) {
29
- const { t: e } = I("Employee.SplitPaymentsFormBody"), n = v(), { Fields: a } = r.form, { remainderId: y, bankAccounts: f } = r.data, { splitBy: m, percentageTotal: g, hasPercentageImbalance: E } = r.status, L = async () => {
30
- const t = await r.actions.onSubmit();
31
- t && i(t.data);
29
+ const { t: e } = S("Employee.SplitPaymentsFormBody"), n = x(), { Fields: i } = t.form, { remainderId: f, bankAccounts: g } = t.data, { splitBy: c, percentageTotal: h, hasPercentageImbalance: E } = t.status, L = async () => {
30
+ const o = await t.actions.onSubmit();
31
+ o && l(o.data);
32
32
  };
33
- if (f.length < 2) return null;
34
- const d = (t) => e("splitAmountLabel", {
35
- name: c.sanitize(t.name ?? ""),
36
- account_number: c.sanitize(t.hiddenAccountNumber ?? ""),
33
+ if (g.length < 2) return null;
34
+ const u = (o) => e("splitAmountLabel", {
35
+ name: p.sanitize(o.name ?? ""),
36
+ account_number: p.sanitize(o.hiddenAccountNumber ?? ""),
37
37
  interpolation: { escapeValue: !1 }
38
- }), A = (t) => {
39
- const h = t.map((s) => a.splits[s]?.uuid).filter((s) => !!s);
40
- r.actions.reorderSplits(h);
38
+ }), A = (o) => {
39
+ const I = o.map((m) => i.splits[m]?.uuid).filter((m) => !!m);
40
+ t.actions.reorderSplits(I);
41
41
  };
42
- return /* @__PURE__ */ o(b, { error: r.errorHandling.errors, children: /* @__PURE__ */ o(T, { formHookResult: r, children: /* @__PURE__ */ u(R, { onSubmit: L, children: [
43
- E && /* @__PURE__ */ o(
42
+ return /* @__PURE__ */ r(y, { error: t.errorHandling.errors, children: /* @__PURE__ */ r(R, { formHookResult: t, children: /* @__PURE__ */ a(D, { onSubmit: L, children: [
43
+ E && /* @__PURE__ */ r(
44
44
  n.Alert,
45
45
  {
46
46
  status: "error",
47
- label: e("validations.percentageErrorWithTotal", { total: g }),
47
+ label: e("validations.percentageErrorWithTotal", { total: h }),
48
48
  disableScrollIntoView: !0
49
49
  }
50
50
  ),
51
- /* @__PURE__ */ o(n.Heading, { as: "h2", children: e("title") }),
52
- /* @__PURE__ */ o(S, { t: e, i18nKey: "splitDescription", components: { p: /* @__PURE__ */ o(n.Text, {}) } }),
53
- /* @__PURE__ */ o(
54
- a.SplitBy,
55
- {
56
- label: e("splitByLabel"),
57
- getOptionLabel: (t) => t === p.percentage ? e("percentageLabel") : e("amountLabel")
58
- }
59
- ),
60
- m === p.amount ? /* @__PURE__ */ o(
61
- D,
62
- {
63
- label: e("draggableListLabel"),
64
- items: a.splits.map((t) => ({
65
- label: t.name ?? "",
66
- content: /* @__PURE__ */ o(
67
- t.Field,
68
- {
69
- label: d(t),
70
- min: 0,
71
- validationMessages: {
72
- REQUIRED: e("validations.amountError"),
73
- INVALID_AMOUNT: e("validations.amountError"),
74
- INVALID_PERCENTAGE: e("validations.amountError")
75
- },
76
- placeholder: y === t.uuid ? e("remainderLabel") : ""
77
- },
78
- `amount-${t.uuid}`
79
- )
80
- })),
81
- onReorder: A
82
- },
83
- `reorderable-amount-list-${m}`
84
- ) : a.splits.map((t) => /* @__PURE__ */ o(
85
- t.Field,
86
- {
87
- label: d(t),
88
- min: 0,
89
- validationMessages: {
90
- REQUIRED: e("validations.percentageAmountError"),
91
- INVALID_AMOUNT: e("validations.percentageAmountError"),
92
- INVALID_PERCENTAGE: e("validations.percentageAmountError")
93
- }
94
- },
95
- `percentage-${t.uuid}`
96
- )),
97
- /* @__PURE__ */ u(P, { children: [
98
- /* @__PURE__ */ o(n.Button, { variant: "secondary", type: "button", onClick: l, children: e("cancelCta") }),
99
- /* @__PURE__ */ o(n.Button, { type: "submit", isLoading: r.status.isPending, children: e("saveCta") })
51
+ /* @__PURE__ */ a(d, { flexDirection: "column", gap: 32, children: [
52
+ /* @__PURE__ */ a(d, { flexDirection: "column", gap: 4, children: [
53
+ /* @__PURE__ */ r(n.Heading, { as: "h1", styledAs: "h2", children: e("title") }),
54
+ /* @__PURE__ */ r(n.Text, { variant: "supporting", children: e("splitDescription") })
55
+ ] }),
56
+ /* @__PURE__ */ a(d, { flexDirection: "column", gap: 20, children: [
57
+ /* @__PURE__ */ r(
58
+ i.SplitBy,
59
+ {
60
+ label: e("splitByLabel"),
61
+ getOptionLabel: (o) => o === b.percentage ? e("percentageLabel") : e("amountLabel")
62
+ }
63
+ ),
64
+ c === b.amount ? /* @__PURE__ */ r(
65
+ P,
66
+ {
67
+ label: e("draggableListLabel"),
68
+ items: i.splits.map((o) => ({
69
+ label: o.name ?? "",
70
+ content: /* @__PURE__ */ r(
71
+ o.Field,
72
+ {
73
+ label: u(o),
74
+ min: 0,
75
+ validationMessages: {
76
+ REQUIRED: e("validations.amountError"),
77
+ INVALID_AMOUNT: e("validations.amountError"),
78
+ INVALID_PERCENTAGE: e("validations.amountError")
79
+ },
80
+ placeholder: f === o.uuid ? e("remainderLabel") : ""
81
+ },
82
+ `amount-${o.uuid}`
83
+ )
84
+ })),
85
+ onReorder: A
86
+ },
87
+ `reorderable-amount-list-${c}`
88
+ ) : i.splits.map((o) => /* @__PURE__ */ r(
89
+ o.Field,
90
+ {
91
+ label: u(o),
92
+ min: 0,
93
+ validationMessages: {
94
+ REQUIRED: e("validations.percentageAmountError"),
95
+ INVALID_AMOUNT: e("validations.percentageAmountError"),
96
+ INVALID_PERCENTAGE: e("validations.percentageAmountError")
97
+ }
98
+ },
99
+ `percentage-${o.uuid}`
100
+ ))
101
+ ] })
102
+ ] }),
103
+ /* @__PURE__ */ a(B, { children: [
104
+ /* @__PURE__ */ r(n.Button, { variant: "secondary", type: "button", onClick: s, children: e("cancelCta") }),
105
+ /* @__PURE__ */ r(n.Button, { type: "submit", isLoading: t.status.isPending, children: e("saveCta") })
100
106
  ] })
101
107
  ] }) }) });
102
108
  }
103
109
  export {
104
- K as SplitPaymentsFormBody
110
+ Q as SplitPaymentsFormBody
105
111
  };
106
112
  //# sourceMappingURL=SplitPaymentsFormBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPaymentsFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport DOMPurify from 'dompurify'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport {\n useSplitPaymentsForm,\n type SplitByValue,\n type SplitFieldEntry,\n type UseSplitPaymentsFormProps,\n type UseSplitPaymentsFormReady,\n} from '../useSplitPaymentsForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { SPLIT_BY } from '@/shared/constants'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type SplitPaymentsFormBodyDictionary = ResourceDictionary<'Employee.SplitPaymentsFormBody'>\n\n/** @internal */\nexport interface SplitPaymentsFormBodyProps extends UseSplitPaymentsFormProps {\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: SplitPaymentsFormBodyDictionary\n /** Called with the updated payment method after a successful submit. */\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n}\n\n/**\n * Shared split-paycheck form body. Owns the `useSplitPaymentsForm` composition,\n * the reorderable-list/percentage field JSX, and the submit/cancel actions.\n * Reads its copy from the internal `Employee.SplitPaymentsFormBody` namespace;\n * consuming surfaces inject their own copy via the `dictionary` prop and map the\n * `onSaved`/`onCancel` callbacks onto their surface-specific events.\n *\n * @internal\n */\nexport function SplitPaymentsFormBody({\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: SplitPaymentsFormBodyProps) {\n useI18n('Employee.SplitPaymentsFormBody')\n useComponentDictionary('Employee.SplitPaymentsFormBody', dictionary)\n const splitForm = useSplitPaymentsForm(hookProps)\n\n if (splitForm.isLoading) {\n return <BaseLayout isLoading error={splitForm.errorHandling.errors} />\n }\n\n return <SplitPaymentsFormBodyReady onSaved={onSaved} onCancel={onCancel} splitForm={splitForm} />\n}\n\ninterface SplitPaymentsFormBodyReadyProps {\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n splitForm: UseSplitPaymentsFormReady\n}\n\nfunction SplitPaymentsFormBodyReady({\n onSaved,\n onCancel,\n splitForm,\n}: SplitPaymentsFormBodyReadyProps) {\n const { t } = useTranslation('Employee.SplitPaymentsFormBody')\n const Components = useComponentContext()\n const { Fields } = splitForm.form\n const { remainderId, bankAccounts } = splitForm.data\n const { splitBy, percentageTotal, hasPercentageImbalance } = splitForm.status\n\n const handleSubmit = async () => {\n const result = await splitForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n if (bankAccounts.length < 2) return null\n\n const labelForSplit = (split: SplitFieldEntry) =>\n t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })\n\n const handleReorder = (indices: number[]) => {\n const orderedUuids = indices\n .map(index => Fields.splits[index]?.uuid)\n .filter((uuid): uuid is string => Boolean(uuid))\n splitForm.actions.reorderSplits(orderedUuids)\n }\n\n return (\n <BaseLayout error={splitForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={splitForm}>\n <Form onSubmit={handleSubmit}>\n {hasPercentageImbalance && (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total: percentageTotal })}\n disableScrollIntoView\n />\n )}\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Trans t={t} i18nKey=\"splitDescription\" components={{ p: <Components.Text /> }} />\n <Fields.SplitBy\n label={t('splitByLabel')}\n getOptionLabel={(value: SplitByValue) =>\n value === SPLIT_BY.percentage ? t('percentageLabel') : t('amountLabel')\n }\n />\n {splitBy === SPLIT_BY.amount ? (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={Fields.splits.map(split => ({\n label: split.name ?? '',\n content: (\n <split.Field\n key={`amount-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.amountError'),\n INVALID_AMOUNT: t('validations.amountError'),\n INVALID_PERCENTAGE: t('validations.amountError'),\n }}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n ) : (\n Fields.splits.map(split => (\n <split.Field\n key={`percentage-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.percentageAmountError'),\n INVALID_AMOUNT: t('validations.percentageAmountError'),\n INVALID_PERCENTAGE: t('validations.percentageAmountError'),\n }}\n />\n ))\n )}\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={splitForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["SplitPaymentsFormBody","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","splitForm","useSplitPaymentsForm","BaseLayout","jsx","SplitPaymentsFormBodyReady","t","useTranslation","Components","useComponentContext","Fields","remainderId","bankAccounts","splitBy","percentageTotal","hasPercentageImbalance","handleSubmit","result","labelForSplit","split","DOMPurify","handleReorder","indices","orderedUuids","index","uuid","SDKFormProvider","jsxs","Form","Trans","value","SPLIT_BY","ReorderableList","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"SplitPaymentsFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport DOMPurify from 'dompurify'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport {\n useSplitPaymentsForm,\n type SplitByValue,\n type SplitFieldEntry,\n type UseSplitPaymentsFormProps,\n type UseSplitPaymentsFormReady,\n} from '../useSplitPaymentsForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { Flex } from '@/components/Common/Flex'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { SPLIT_BY } from '@/shared/constants'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type SplitPaymentsFormBodyDictionary = ResourceDictionary<'Employee.SplitPaymentsFormBody'>\n\n/** @internal */\nexport interface SplitPaymentsFormBodyProps extends UseSplitPaymentsFormProps {\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: SplitPaymentsFormBodyDictionary\n /** Called with the updated payment method after a successful submit. */\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n}\n\n/**\n * Shared split-paycheck form body. Owns the `useSplitPaymentsForm` composition,\n * the reorderable-list/percentage field JSX, and the submit/cancel actions.\n * Reads its copy from the internal `Employee.SplitPaymentsFormBody` namespace;\n * consuming surfaces inject their own copy via the `dictionary` prop and map the\n * `onSaved`/`onCancel` callbacks onto their surface-specific events.\n *\n * @internal\n */\nexport function SplitPaymentsFormBody({\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: SplitPaymentsFormBodyProps) {\n useI18n('Employee.SplitPaymentsFormBody')\n useComponentDictionary('Employee.SplitPaymentsFormBody', dictionary)\n const splitForm = useSplitPaymentsForm(hookProps)\n\n if (splitForm.isLoading) {\n return <BaseLayout isLoading error={splitForm.errorHandling.errors} />\n }\n\n return <SplitPaymentsFormBodyReady onSaved={onSaved} onCancel={onCancel} splitForm={splitForm} />\n}\n\ninterface SplitPaymentsFormBodyReadyProps {\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n splitForm: UseSplitPaymentsFormReady\n}\n\nfunction SplitPaymentsFormBodyReady({\n onSaved,\n onCancel,\n splitForm,\n}: SplitPaymentsFormBodyReadyProps) {\n const { t } = useTranslation('Employee.SplitPaymentsFormBody')\n const Components = useComponentContext()\n const { Fields } = splitForm.form\n const { remainderId, bankAccounts } = splitForm.data\n const { splitBy, percentageTotal, hasPercentageImbalance } = splitForm.status\n\n const handleSubmit = async () => {\n const result = await splitForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n if (bankAccounts.length < 2) return null\n\n const labelForSplit = (split: SplitFieldEntry) =>\n t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })\n\n const handleReorder = (indices: number[]) => {\n const orderedUuids = indices\n .map(index => Fields.splits[index]?.uuid)\n .filter((uuid): uuid is string => Boolean(uuid))\n splitForm.actions.reorderSplits(orderedUuids)\n }\n\n return (\n <BaseLayout error={splitForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={splitForm}>\n <Form onSubmit={handleSubmit}>\n {hasPercentageImbalance && (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total: percentageTotal })}\n disableScrollIntoView\n />\n )}\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('splitDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={20}>\n <Fields.SplitBy\n label={t('splitByLabel')}\n getOptionLabel={(value: SplitByValue) =>\n value === SPLIT_BY.percentage ? t('percentageLabel') : t('amountLabel')\n }\n />\n {splitBy === SPLIT_BY.amount ? (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={Fields.splits.map(split => ({\n label: split.name ?? '',\n content: (\n <split.Field\n key={`amount-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.amountError'),\n INVALID_AMOUNT: t('validations.amountError'),\n INVALID_PERCENTAGE: t('validations.amountError'),\n }}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n ) : (\n Fields.splits.map(split => (\n <split.Field\n key={`percentage-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.percentageAmountError'),\n INVALID_AMOUNT: t('validations.percentageAmountError'),\n INVALID_PERCENTAGE: t('validations.percentageAmountError'),\n }}\n />\n ))\n )}\n </Flex>\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={splitForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["SplitPaymentsFormBody","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","splitForm","useSplitPaymentsForm","BaseLayout","jsx","SplitPaymentsFormBodyReady","t","useTranslation","Components","useComponentContext","Fields","remainderId","bankAccounts","splitBy","percentageTotal","hasPercentageImbalance","handleSubmit","result","labelForSplit","split","DOMPurify","handleReorder","indices","orderedUuids","index","uuid","SDKFormProvider","jsxs","Form","Flex","value","SPLIT_BY","ReorderableList","ActionsLayout"],"mappings":"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"}
@@ -1,65 +1,66 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useState as N, useCallback as U } from "react";
3
- import { useTranslation as C } from "react-i18next";
4
- import { useErrorBoundary as R } from "react-error-boundary";
5
- import { Loading as _ } from "../../../../Common/Loading/Loading.js";
6
- import { EmptyData as b } from "../../../../Common/EmptyData/EmptyData.js";
7
- import { useComponentContext as D } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
8
- import { BaseBoundaries as O, BaseLayout as L } from "../../../../Base/Base.js";
9
- import { composeErrorHandler as T } from "../../../../../partner-hook-utils/composeErrorHandler.js";
10
- import { usePaymentMethodList as v } from "../../../PaymentMethod/shared/usePaymentMethodList.js";
11
- import { formatDateLongWithYear as j } from "../../../../../helpers/dateFormatting.js";
12
- import W from "../../../../../hooks/useNumberFormatter.js";
13
- import { useI18n as Y } from "../../../../../i18n/I18n.js";
14
- import { componentEvents as w } from "../../../../../shared/constants.js";
15
- import H from "../../../../../assets/icons/download-cloud.svg.js";
16
- import { usePaystubsList as F } from "../../shared/usePaystubsList/usePaystubsList.js";
17
- import { useDataView as V } from "../../../../Common/DataView/useDataView.js";
18
- import { DataView as G } from "../../../../Common/DataView/DataView.js";
19
- function mt(i) {
20
- return /* @__PURE__ */ r(O, { componentName: "Employee.Management.Paystubs", children: /* @__PURE__ */ r(Q, { ...i }) });
2
+ import { useState as U, useCallback as R } from "react";
3
+ import { useTranslation as D } from "react-i18next";
4
+ import { useErrorBoundary as _ } from "react-error-boundary";
5
+ import { Loading as O } from "../../../../Common/Loading/Loading.js";
6
+ import { EmptyData as w } from "../../../../Common/EmptyData/EmptyData.js";
7
+ import { BaseBoundaries as T, BaseLayout as L } from "../../../../Base/Base.js";
8
+ import { useComponentContext as M } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
9
+ import { composeErrorHandler as v } from "../../../../../partner-hook-utils/composeErrorHandler.js";
10
+ import { usePaymentMethodList as j } from "../../../PaymentMethod/shared/usePaymentMethodList.js";
11
+ import { formatDateLongWithYear as W } from "../../../../../helpers/dateFormatting.js";
12
+ import Y from "../../../../../hooks/useNumberFormatter.js";
13
+ import { useI18n as H } from "../../../../../i18n/I18n.js";
14
+ import { componentEvents as C } from "../../../../../shared/constants.js";
15
+ import F from "../../../../../assets/icons/download-cloud.svg.js";
16
+ import { usePaystubsList as V } from "../../shared/usePaystubsList/usePaystubsList.js";
17
+ import { useNonce as G } from "../../../../../contexts/NonceProvider/useNonce.js";
18
+ import { useDataView as Q } from "../../../../Common/DataView/useDataView.js";
19
+ import { DataView as q } from "../../../../Common/DataView/DataView.js";
20
+ function yt(i) {
21
+ return /* @__PURE__ */ r(T, { componentName: "Employee.Management.Paystubs", children: /* @__PURE__ */ r(z, { ...i }) });
21
22
  }
22
- function Q({ employeeId: i, onEvent: c }) {
23
- Y("Employee.Management.Paystubs");
24
- const { t: s } = C("Employee.Management.Paystubs"), l = D(), m = F({ employeeId: i }), n = v({ employeeId: i }), d = T([m, n]);
25
- return m.isLoading ? /* @__PURE__ */ r(L, { error: d.errors, children: /* @__PURE__ */ r(l.Box, { header: /* @__PURE__ */ r(l.BoxHeader, { title: s("title") }), children: /* @__PURE__ */ r(_, {}) }) }) : /* @__PURE__ */ r(
26
- q,
23
+ function z({ employeeId: i, onEvent: d }) {
24
+ H("Employee.Management.Paystubs");
25
+ const { t: s } = D("Employee.Management.Paystubs"), m = M(), l = V({ employeeId: i }), n = j({ employeeId: i }), c = v([l, n]);
26
+ return l.isLoading ? /* @__PURE__ */ r(L, { error: c.errors, children: /* @__PURE__ */ r(m.Box, { header: /* @__PURE__ */ r(m.BoxHeader, { title: s("title") }), children: /* @__PURE__ */ r(O, {}) }) }) : /* @__PURE__ */ r(
27
+ J,
27
28
  {
28
29
  employeeId: i,
29
- onEvent: c,
30
- paystubsList: m,
30
+ onEvent: d,
31
+ paystubsList: l,
31
32
  paymentMethodList: n,
32
- errorHandling: d
33
+ errorHandling: c
33
34
  }
34
35
  );
35
36
  }
36
- function q({
37
+ function J({
37
38
  employeeId: i,
38
- onEvent: c,
39
+ onEvent: d,
39
40
  paystubsList: s,
40
- paymentMethodList: l,
41
- errorHandling: m
41
+ paymentMethodList: m,
42
+ errorHandling: l
42
43
  }) {
43
- const { t: n } = C("Employee.Management.Paystubs"), d = D(), u = W("currency"), { showBoundary: y } = R(), [M, f] = N(
44
+ const { t: n } = D("Employee.Management.Paystubs"), c = M(), y = Y("currency"), { showBoundary: f } = _(), p = G(), [x, h] = U(
44
45
  () => /* @__PURE__ */ new Set()
45
- ), { payStubs: h } = s.data, x = s.pagination.payStubs, S = l.isLoading ? void 0 : l.data.paymentMethod, k = U(
46
+ ), { payStubs: g } = s.data, S = s.pagination.payStubs, N = m.isLoading ? void 0 : m.data.paymentMethod, k = R(
46
47
  async (t) => {
47
- c(w.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {
48
+ d(C.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {
48
49
  employeeId: i,
49
50
  payrollUuid: t
50
51
  });
51
- const o = window.open("", "_blank"), E = n("downloadLoadingMessage");
52
+ const o = window.open("", "_blank"), P = n("downloadLoadingMessage");
52
53
  if (o) {
53
54
  const e = o.document;
54
- e.title = E;
55
+ e.title = P;
55
56
  const a = e.createElement("style");
56
- a.textContent = "body{font-family:system-ui,-apple-system,sans-serif;display:flex;align-items:center;justify-content:center;height:100vh;margin:0;color:#444;gap:12px}.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#444;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}", e.head.appendChild(a);
57
- const p = e.createElement("div");
58
- p.className = "spinner", p.setAttribute("aria-hidden", "true");
59
- const P = e.createElement("span");
60
- P.textContent = E, e.body.replaceChildren(p, P);
57
+ p && (a.nonce = p), a.textContent = "body{font-family:system-ui,-apple-system,sans-serif;display:flex;align-items:center;justify-content:center;height:100vh;margin:0;color:#444;gap:12px}.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#444;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}", e.head.appendChild(a);
58
+ const u = e.createElement("div");
59
+ u.className = "spinner", u.setAttribute("aria-hidden", "true");
60
+ const b = e.createElement("span");
61
+ b.textContent = P, e.body.replaceChildren(u, b);
61
62
  }
62
- f((e) => {
63
+ h((e) => {
63
64
  const a = new Set(e);
64
65
  return a.add(t), a;
65
66
  });
@@ -72,26 +73,26 @@ function q({
72
73
  const a = URL.createObjectURL(e.data);
73
74
  o ? (o.addEventListener("load", () => {
74
75
  URL.revokeObjectURL(a);
75
- }), o.location.href = a) : URL.revokeObjectURL(a), c(w.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {
76
+ }), o.location.href = a) : URL.revokeObjectURL(a), d(C.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {
76
77
  employeeId: i,
77
78
  payrollUuid: t
78
79
  });
79
80
  } catch (e) {
80
- o && o.close(), y(e instanceof Error ? e : new Error(String(e)));
81
+ o && o.close(), f(e instanceof Error ? e : new Error(String(e)));
81
82
  } finally {
82
- f((e) => {
83
+ h((e) => {
83
84
  if (!e.has(t)) return e;
84
85
  const a = new Set(e);
85
86
  return a.delete(t), a;
86
87
  });
87
88
  }
88
89
  },
89
- [s.actions, c, i, n, y]
90
+ [s.actions, d, i, n, f, p]
90
91
  ), A = [
91
92
  {
92
93
  key: "payday",
93
94
  title: n("payday"),
94
- render: (t) => j(t.checkDate) || "-"
95
+ render: (t) => W(t.checkDate) || "-"
95
96
  },
96
97
  {
97
98
  key: "checkAmount",
@@ -99,7 +100,7 @@ function q({
99
100
  render: (t) => {
100
101
  if (!t.netPay) return "-";
101
102
  const o = parseFloat(t.netPay);
102
- return isNaN(o) ? "-" : u(o);
103
+ return isNaN(o) ? "-" : y(o);
103
104
  }
104
105
  },
105
106
  {
@@ -108,22 +109,22 @@ function q({
108
109
  render: (t) => {
109
110
  if (!t.grossPay) return "-";
110
111
  const o = parseFloat(t.grossPay);
111
- return isNaN(o) ? "-" : u(o);
112
+ return isNaN(o) ? "-" : y(o);
112
113
  }
113
114
  },
114
115
  {
115
116
  key: "paymentMethod",
116
117
  title: n("paymentMethod"),
117
- render: () => S?.type || n("noPaymentMethod")
118
+ render: () => N?.type || n("noPaymentMethod")
118
119
  }
119
- ], B = V({
120
- data: h,
120
+ ], B = Q({
121
+ data: g,
121
122
  columns: A,
122
- pagination: x,
123
+ pagination: S,
123
124
  itemMenu: (t) => {
124
- const o = !!t.payrollUuid && M.has(t.payrollUuid);
125
+ const o = !!t.payrollUuid && x.has(t.payrollUuid);
125
126
  return /* @__PURE__ */ r(
126
- d.ButtonIcon,
127
+ c.ButtonIcon,
127
128
  {
128
129
  variant: "tertiary",
129
130
  "aria-label": n("downloadCta"),
@@ -132,22 +133,22 @@ function q({
132
133
  onClick: () => {
133
134
  t.payrollUuid && k(t.payrollUuid);
134
135
  },
135
- children: /* @__PURE__ */ r(H, { "aria-hidden": !0 })
136
+ children: /* @__PURE__ */ r(F, { "aria-hidden": !0 })
136
137
  }
137
138
  );
138
139
  },
139
- emptyState: () => /* @__PURE__ */ r(b, { title: n("emptyState.title"), description: n("emptyState.description") })
140
- }), g = h.length > 0;
141
- return /* @__PURE__ */ r(L, { error: m.errors, children: /* @__PURE__ */ r(
142
- d.Box,
140
+ emptyState: () => /* @__PURE__ */ r(w, { title: n("emptyState.title"), description: n("emptyState.description") })
141
+ }), E = g.length > 0;
142
+ return /* @__PURE__ */ r(L, { error: l.errors, children: /* @__PURE__ */ r(
143
+ c.Box,
143
144
  {
144
- withPadding: !g,
145
- header: /* @__PURE__ */ r(d.BoxHeader, { title: n("title") }),
146
- children: g ? /* @__PURE__ */ r(G, { label: n("listLabel"), isWithinBox: !0, ...B }) : /* @__PURE__ */ r(b, { title: n("emptyState.title"), description: n("emptyState.description") })
145
+ withPadding: !E,
146
+ header: /* @__PURE__ */ r(c.BoxHeader, { title: n("title") }),
147
+ children: E ? /* @__PURE__ */ r(q, { label: n("listLabel"), isWithinBox: !0, ...B }) : /* @__PURE__ */ r(w, { title: n("emptyState.title"), description: n("emptyState.description") })
147
148
  }
148
149
  ) });
149
150
  }
150
151
  export {
151
- mt as PaystubsCard
152
+ yt as PaystubsCard
152
153
  };
153
154
  //# sourceMappingURL=PaystubsCard.js.map
@@ -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 { 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 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}\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(props: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\">\n <PaystubsCardContent {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent }: 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}>\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 />\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}: PaystubsCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const { showBoundary } = useErrorBoundary()\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 // Omit `noopener` — it makes window.open return null in modern browsers,\n // which would leave us unable to navigate the new tab to the blob URL.\n const newWindow = window.open('', '_blank')\n const loadingMessage = t('downloadLoadingMessage')\n if (newWindow) {\n // Avoid the user staring at about:blank while we fetch the PDF. The\n // navigation to the Blob URL below replaces this document.\n const doc = newWindow.document\n doc.title = loadingMessage\n const style = doc.createElement('style')\n style.textContent =\n 'body{font-family:system-ui,-apple-system,sans-serif;display:flex;align-items:center;' +\n 'justify-content:center;height:100vh;margin:0;color:#444;gap:12px}' +\n '.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#444;' +\n 'border-radius:50%;animation:spin .8s linear infinite}' +\n '@keyframes spin{to{transform:rotate(360deg)}}'\n doc.head.appendChild(style)\n const spinner = doc.createElement('div')\n spinner.className = 'spinner'\n spinner.setAttribute('aria-hidden', 'true')\n const label = doc.createElement('span')\n label.textContent = loadingMessage\n doc.body.replaceChildren(spinner, label)\n }\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 if (newWindow) newWindow.close()\n return\n }\n const url = URL.createObjectURL(result.data)\n if (newWindow) {\n // Revoke after the new tab has loaded the blob; revoking synchronously\n // would race the navigation and leave the tab blank.\n newWindow.addEventListener('load', () => {\n URL.revokeObjectURL(url)\n })\n newWindow.location.href = url\n } else {\n URL.revokeObjectURL(url)\n }\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n if (newWindow) newWindow.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],\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}>\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","props","jsx","BaseBoundaries","PaystubsCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","paystubsList","usePaystubsList","paymentMethodList","usePaymentMethodList","errorHandling","composeErrorHandler","BaseLayout","Loading","PaystubsCardReady","formatCurrency","useNumberFormatter","showBoundary","useErrorBoundary","downloadingPayrollUuids","setDownloadingPayrollUuids","useState","payStubs","payStubsPagination","paymentMethod","handleDownload","useCallback","payrollUuid","componentEvents","newWindow","loadingMessage","doc","style","spinner","label","prev","next","result","url","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 { 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 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}\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(props: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\">\n <PaystubsCardContent {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent }: 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}>\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 />\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}: 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 // Omit `noopener` — it makes window.open return null in modern browsers,\n // which would leave us unable to navigate the new tab to the blob URL.\n const newWindow = window.open('', '_blank')\n const loadingMessage = t('downloadLoadingMessage')\n if (newWindow) {\n // Avoid the user staring at about:blank while we fetch the PDF. The\n // navigation to the Blob URL below replaces this document.\n const doc = newWindow.document\n doc.title = loadingMessage\n const style = doc.createElement('style')\n if (nonce) style.nonce = nonce\n style.textContent =\n 'body{font-family:system-ui,-apple-system,sans-serif;display:flex;align-items:center;' +\n 'justify-content:center;height:100vh;margin:0;color:#444;gap:12px}' +\n '.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#444;' +\n 'border-radius:50%;animation:spin .8s linear infinite}' +\n '@keyframes spin{to{transform:rotate(360deg)}}'\n doc.head.appendChild(style)\n const spinner = doc.createElement('div')\n spinner.className = 'spinner'\n spinner.setAttribute('aria-hidden', 'true')\n const label = doc.createElement('span')\n label.textContent = loadingMessage\n doc.body.replaceChildren(spinner, label)\n }\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 if (newWindow) newWindow.close()\n return\n }\n const url = URL.createObjectURL(result.data)\n if (newWindow) {\n // Revoke after the new tab has loaded the blob; revoking synchronously\n // would race the navigation and leave the tab blank.\n newWindow.addEventListener('load', () => {\n URL.revokeObjectURL(url)\n })\n newWindow.location.href = url\n } else {\n URL.revokeObjectURL(url)\n }\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n if (newWindow) newWindow.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}>\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","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","newWindow","loadingMessage","doc","style","spinner","label","prev","next","result","url","err","payStubsColumns","payStub","formatDateLongWithYear","amount","payStubsDataView","useDataView","isDownloading","DownloadCloudIcon","EmptyData","isShowingTable","DataView"],"mappings":"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"}
@@ -1,20 +1,19 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { useTranslation as u } from "react-i18next";
3
3
  import { Loading as y } from "../../../../Common/Loading/Loading.js";
4
- import { useComponentContext as g } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
5
- import "react";
6
- import { BaseBoundaries as L, BaseLayout as P } from "../../../../Base/Base.js";
4
+ import { BaseBoundaries as g, BaseLayout as L } from "../../../../Base/Base.js";
5
+ import { useComponentContext as P } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
7
6
  import { formatDateLongWithYear as s } from "../../../../../helpers/dateFormatting.js";
8
7
  import { firstLastName as B } from "../../../../../helpers/formattedStrings.js";
9
8
  import { useI18n as N } from "../../../../../i18n/I18n.js";
10
9
  import { componentEvents as X } from "../../../../../shared/constants.js";
11
10
  import { useEmployeeProfileSummary as C } from "../../shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js";
12
- function A(i) {
13
- return /* @__PURE__ */ t(L, { componentName: "Employee.Management.Profile", children: /* @__PURE__ */ t(D, { ...i }) });
11
+ function k(i) {
12
+ return /* @__PURE__ */ t(g, { componentName: "Employee.Management.Profile", children: /* @__PURE__ */ t(D, { ...i }) });
14
13
  }
15
14
  function D({ employeeId: i, onEvent: l }) {
16
15
  N("Employee.Management.Profile");
17
- const { t: o } = u("Employee.Management.Profile"), n = g(), a = C({ employeeId: i }), m = a.isLoading, e = a.isLoading ? void 0 : a.data.employee, d = e ? B({ first_name: e.firstName, last_name: e.lastName }) : void 0, c = e ? s(e.jobs?.[0]?.hireDate) : void 0, p = e ? s(e.dateOfBirth) : void 0, f = e?.hasSsn ? "XXX-XX-XXXX" : void 0, r = /* @__PURE__ */ t("span", { "aria-label": o("listEmptyPlaceholder"), children: "–" }), E = e ? [
16
+ const { t: o } = u("Employee.Management.Profile"), n = P(), a = C({ employeeId: i }), m = a.isLoading, e = a.isLoading ? void 0 : a.data.employee, d = e ? B({ first_name: e.firstName, last_name: e.lastName }) : void 0, c = e ? s(e.jobs?.[0]?.hireDate) : void 0, p = e ? s(e.dateOfBirth) : void 0, f = e?.hasSsn ? "XXX-XX-XXXX" : void 0, r = /* @__PURE__ */ t("span", { "aria-label": o("listEmptyPlaceholder"), children: "–" }), E = e ? [
18
17
  { term: o("legalName"), description: d || r },
19
18
  { term: o("startDate"), description: c || r },
20
19
  { term: o("socialSecurityNumber"), description: f || r },
@@ -23,7 +22,7 @@ function D({ employeeId: i, onEvent: l }) {
23
22
  ] : [], h = () => {
24
23
  l(X.EMPLOYEE_MANAGEMENT_PROFILE_EDIT_REQUESTED, { employeeId: i });
25
24
  };
26
- return /* @__PURE__ */ t(P, { error: a.errorHandling.errors, children: /* @__PURE__ */ t(
25
+ return /* @__PURE__ */ t(L, { error: a.errorHandling.errors, children: /* @__PURE__ */ t(
27
26
  n.Box,
28
27
  {
29
28
  header: /* @__PURE__ */ t(
@@ -46,6 +45,6 @@ function D({ employeeId: i, onEvent: l }) {
46
45
  ) });
47
46
  }
48
47
  export {
49
- A as ProfileCard
48
+ k as ProfileCard
50
49
  };
51
50
  //# sourceMappingURL=ProfileCard.js.map