@gusto/embedded-react-sdk 0.48.3 → 0.49.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 (637) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +8 -8
  3. package/dist/components/Base/Base.d.ts +11 -3
  4. package/dist/components/Base/Base.js.map +1 -1
  5. package/dist/components/Base/index.d.ts +1 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
  9. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  10. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
  11. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  12. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  13. package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
  14. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  15. package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
  16. package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
  17. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  18. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  19. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  20. package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
  21. package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
  22. package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
  23. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  24. package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
  25. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  26. package/dist/components/Common/UI/Select/Select.js +28 -28
  27. package/dist/components/Common/UI/Select/Select.js.map +1 -1
  28. package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
  29. package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
  30. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
  31. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
  32. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  33. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
  34. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  35. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  36. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  37. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
  38. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  39. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  40. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  41. package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
  42. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  43. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  44. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  45. package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
  46. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  47. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
  48. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  49. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  51. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
  52. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  53. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
  54. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  55. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
  56. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  57. package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
  58. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  59. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  60. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
  61. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  62. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
  63. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  64. package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
  65. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  66. package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
  67. package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
  68. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  69. package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
  70. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  71. package/dist/components/Company/FederalTaxes/Form.js +23 -21
  72. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  73. package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
  74. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
  75. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  76. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  77. package/dist/components/Company/Industry/Context.js +6 -7
  78. package/dist/components/Company/Industry/Context.js.map +1 -1
  79. package/dist/components/Company/Industry/Industry.d.ts +5 -7
  80. package/dist/components/Company/Industry/Industry.js.map +1 -1
  81. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
  82. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  83. package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
  84. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  85. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  86. package/dist/components/Company/Locations/Locations.d.ts +1 -0
  87. package/dist/components/Company/Locations/Locations.js.map +1 -1
  88. package/dist/components/Company/Locations/LocationsList/List.js +20 -20
  89. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  90. package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
  91. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
  92. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  93. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  94. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  95. package/dist/components/Company/Locations/stateMachine.js +4 -6
  96. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  97. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
  98. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  99. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
  100. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
  101. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
  103. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  104. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  105. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  106. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
  107. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  108. package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
  109. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  110. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
  111. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  112. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
  113. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  114. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
  115. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  116. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
  117. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
  118. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  119. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
  120. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
  121. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
  122. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
  123. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  124. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  125. package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
  126. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
  127. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
  128. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
  129. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  130. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  131. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  132. package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
  133. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
  134. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  135. package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
  136. package/dist/components/Contractor/Address/Address.d.ts +14 -8
  137. package/dist/components/Contractor/Address/Address.js +83 -64
  138. package/dist/components/Contractor/Address/Address.js.map +1 -1
  139. package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
  140. package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
  141. package/dist/components/Contractor/Address/index.d.ts +1 -0
  142. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +59 -0
  143. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
  144. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
  145. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
  146. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
  147. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
  148. package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
  149. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +112 -0
  150. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
  151. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
  152. package/dist/components/Contractor/Address/types.d.ts +8 -0
  153. package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
  154. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  155. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
  156. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
  157. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
  158. package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
  159. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
  160. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +59 -0
  161. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
  162. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
  163. package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
  164. package/dist/components/Contractor/Landing/Landing.js +73 -0
  165. package/dist/components/Contractor/Landing/Landing.js.map +1 -0
  166. package/dist/components/Contractor/Landing/index.d.ts +2 -0
  167. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
  168. package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
  169. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  170. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +20 -8
  171. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  172. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
  173. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  174. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
  175. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
  176. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
  177. package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
  178. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +1 -1
  179. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  180. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
  181. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  182. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
  183. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  184. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
  185. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  186. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
  187. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  188. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +11 -2
  189. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  190. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
  191. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  192. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
  193. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  194. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
  195. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  196. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
  197. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  198. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
  199. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  200. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
  201. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  202. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
  203. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  204. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
  205. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  206. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
  207. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
  208. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
  209. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
  210. package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
  211. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  212. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
  213. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
  214. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
  215. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
  216. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
  217. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
  218. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
  219. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
  220. package/dist/components/Contractor/Profile/index.d.ts +1 -1
  221. package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
  222. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +125 -0
  223. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
  224. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
  225. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
  226. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
  227. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
  228. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
  229. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
  230. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +151 -0
  231. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
  232. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
  233. package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
  234. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  235. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
  236. package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
  237. package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
  238. package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
  239. package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
  240. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  241. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
  242. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
  243. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
  244. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  245. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
  246. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  247. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
  248. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  249. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
  250. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  251. package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
  252. package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
  253. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
  254. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  255. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
  256. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  257. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
  258. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
  259. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
  260. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  261. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
  262. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  263. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  264. package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
  265. package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
  266. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  267. package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
  268. package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
  269. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
  270. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  271. package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
  272. package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
  273. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  274. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
  275. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  276. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
  277. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
  278. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  279. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
  280. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  281. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
  282. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  283. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
  284. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  285. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
  286. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  287. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
  288. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  289. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  290. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  291. package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
  292. package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
  293. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  294. package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
  295. package/dist/components/Employee/Documents/management/Documents.js +1 -5
  296. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  297. package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
  298. package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
  299. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
  300. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  301. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  302. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  303. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
  304. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  305. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
  306. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  307. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
  308. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  309. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
  310. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  311. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
  312. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  313. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
  314. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  315. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
  316. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
  317. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  318. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
  319. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
  320. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  321. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  322. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +8 -2
  323. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  324. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
  325. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  326. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
  327. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  328. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
  329. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
  330. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  331. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
  332. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
  333. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  334. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
  335. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
  336. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
  337. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
  338. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  339. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  340. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +7 -11
  341. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
  342. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  343. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
  344. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  345. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
  346. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
  347. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  348. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
  349. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  350. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
  351. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
  352. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  353. package/dist/components/Employee/Landing/Landing.d.ts +10 -4
  354. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  355. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +19 -5
  356. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
  357. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
  358. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
  359. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  360. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +32 -12
  361. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
  362. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  363. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
  364. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  365. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
  366. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  367. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
  368. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  369. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
  370. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
  371. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  372. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
  373. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  374. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
  375. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
  376. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
  377. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
  378. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
  379. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
  380. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  381. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
  382. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
  383. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  384. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
  385. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
  386. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  387. package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
  388. package/dist/components/Employee/Profile/management/Profile.js +1 -5
  389. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  390. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
  391. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  392. package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
  393. package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
  394. package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
  395. package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
  396. package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
  397. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
  398. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  399. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
  400. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
  401. package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
  402. package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
  403. package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
  404. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  405. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
  406. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  407. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
  408. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  409. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +19 -5
  410. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  411. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
  412. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  413. package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
  414. package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
  415. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  416. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
  417. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  418. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
  419. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
  420. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  421. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
  422. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
  423. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
  424. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
  425. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  426. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
  427. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
  428. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +1 -1
  429. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  430. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
  431. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  432. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
  433. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  434. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
  435. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  436. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
  437. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  438. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
  439. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  440. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
  441. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
  442. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  443. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
  444. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  445. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
  446. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
  447. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  448. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
  449. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  450. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  451. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
  452. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
  453. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
  454. package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
  455. package/dist/components/Flow/Flow.js +1 -1
  456. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
  457. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  458. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
  459. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  460. package/dist/components/InformationRequests/InformationRequests.d.ts +26 -1
  461. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  462. package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
  463. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
  464. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
  465. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
  466. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  467. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
  468. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
  469. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  470. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
  471. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  472. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
  473. package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
  474. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  475. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
  476. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  477. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  478. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  479. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
  480. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  481. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
  482. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  483. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
  484. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  485. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
  486. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  487. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
  488. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  489. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
  490. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  491. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
  492. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  493. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
  494. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  495. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
  496. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  497. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
  498. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  499. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
  500. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  501. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
  502. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  503. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
  504. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  505. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
  506. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  507. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
  508. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  509. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
  510. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  511. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
  512. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  513. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
  514. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
  515. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  516. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  517. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
  518. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  519. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
  520. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
  521. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  522. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
  523. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  524. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
  525. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  526. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
  527. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
  528. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
  529. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  530. package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
  531. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  532. package/dist/components/Payroll/usePreparedPayrollData.js +8 -9
  533. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  534. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
  535. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  536. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
  537. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  538. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
  539. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  540. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
  541. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  542. package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
  543. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  544. package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
  545. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  546. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
  547. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  548. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
  549. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
  550. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  551. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  552. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
  553. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  554. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
  555. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  556. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
  557. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  558. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
  559. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  560. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
  561. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
  562. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
  563. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
  564. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
  565. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
  566. package/dist/components/index.d.ts +9 -0
  567. package/dist/contexts/ThemeProvider/types.d.ts +19 -0
  568. package/dist/i18n/I18n.js +5 -2
  569. package/dist/i18n/I18n.js.map +1 -1
  570. package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
  571. package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
  572. package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
  573. package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
  574. package/dist/i18n/en/Contractor.Address.json.js +13 -13
  575. package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
  576. package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
  577. package/dist/i18n/en/Contractor.Landing.json.js +18 -0
  578. package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
  579. package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
  580. package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
  581. package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
  582. package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
  583. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
  584. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
  585. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
  586. package/dist/i18n/en/Contractor.Profile.json.js +8 -6
  587. package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
  588. package/dist/i18n/en/Employee.Compensation.json.js +56 -50
  589. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  590. package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
  591. package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
  592. package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
  593. package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
  594. package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
  595. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
  596. package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
  597. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  598. package/dist/i18n/en/common.json.d.ts +1 -0
  599. package/dist/i18n/en/common.json.js +34 -32
  600. package/dist/i18n/en/common.json.js.map +1 -1
  601. package/dist/index.d.ts +17 -1
  602. package/dist/index.js +239 -205
  603. package/dist/index.js.map +1 -1
  604. package/dist/models/external.d.ts +293 -0
  605. package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
  606. package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
  607. package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
  608. package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
  609. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  610. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
  611. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  612. package/dist/shared/constants.d.ts +10 -1
  613. package/dist/shared/constants.js +9 -5
  614. package/dist/shared/constants.js.map +1 -1
  615. package/dist/style.css +1 -1
  616. package/dist/types/Helpers.d.ts +19 -2
  617. package/dist/types/i18next.d.ts +66 -5
  618. package/docs/{reference → appendix}/endpoint-inventory.json +27 -0
  619. package/package.json +21 -22
  620. package/dist/components/Contractor/Address/Actions.d.ts +0 -2
  621. package/dist/components/Contractor/Address/Actions.js +0 -13
  622. package/dist/components/Contractor/Address/Actions.js.map +0 -1
  623. package/dist/components/Contractor/Address/Form.d.ts +0 -2
  624. package/dist/components/Contractor/Address/Form.js +0 -51
  625. package/dist/components/Contractor/Address/Form.js.map +0 -1
  626. package/dist/components/Contractor/Address/Head.d.ts +0 -2
  627. package/dist/components/Contractor/Address/Head.js +0 -17
  628. package/dist/components/Contractor/Address/Head.js.map +0 -1
  629. package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
  630. package/dist/components/Contractor/Address/useAddress.js +0 -31
  631. package/dist/components/Contractor/Address/useAddress.js.map +0 -1
  632. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
  633. package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
  634. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
  635. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
  636. package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
  637. package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
@@ -20,6 +20,7 @@ export interface StateTaxesCardProps {
20
20
  * The Edit button is hidden when no state on record has any tax-withholding
21
21
  * questions (e.g. states with no income tax), since there is nothing to edit.
22
22
  *
23
+ * @events
23
24
  * | Event | Description | Data |
24
25
  * | ----- | ----------- | ---- |
25
26
  * | `employee/management/stateTaxes/editRequested` | Edit button was clicked | `{ employeeId: string }` |
@@ -1 +1 @@
1
- {"version":3,"file":"StateTaxesCard.js","sources":["../../../../../../src/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeStateTaxQuestion } from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxquestion'\nimport { useStateTaxesSummary } from '../../shared/useStateTaxesSummary'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\n/**\n * Props for {@link StateTaxesCard}.\n *\n * @public\n */\nexport interface StateTaxesCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when the Edit button is clicked. */\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**\n * Standalone read-only summary card showing an employee's per-state tax\n * withholding answers. Fetches its own data and surfaces an Edit button\n * that emits an event for the orchestrator to swap in the edit form.\n *\n * @remarks\n * The Edit button is hidden when no state on record has any tax-withholding\n * questions (e.g. states with no income tax), since there is nothing to edit.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/editRequested` | Edit button was clicked | `{ employeeId: string }` |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesCard(props: StateTaxesCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.StateTaxes\">\n <StateTaxesCardContent {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesCardContent({ employeeId, onEvent }: StateTaxesCardProps) {\n useI18n('Employee.Management.StateTaxes')\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n\n const summary = useStateTaxesSummary({ employeeId })\n const isLoading = summary.isLoading\n const stateTaxes = summary.isLoading ? [] : summary.data.employeeStateTaxesList\n\n const stateTaxesHaveAnyQuestions = stateTaxes.some(s => (s.questions?.length ?? 0) > 0)\n\n const formatStateTaxAnswer = (\n question: EmployeeStateTaxQuestion,\n answer: string | number | boolean,\n ) => {\n if (\n question.inputQuestionFormat.type === 'Select' &&\n question.inputQuestionFormat.options &&\n question.inputQuestionFormat.options.length > 0\n ) {\n const option = question.inputQuestionFormat.options.find(opt => opt.value === answer)\n if (option?.label) {\n return option.label\n }\n }\n\n if (typeof answer === 'number') {\n if (question.inputQuestionFormat.type === 'Currency') {\n return formatCurrency(answer)\n }\n return answer\n }\n\n if (typeof answer === 'string' && !isNaN(parseFloat(answer))) {\n const numValue = parseFloat(answer)\n if (question.inputQuestionFormat.type === 'Currency') {\n return formatCurrency(numValue)\n }\n return answer\n }\n\n if (typeof answer === 'boolean') {\n return answer ? t('card.yes') : t('card.no')\n }\n\n return answer\n }\n\n const emptyPlaceholder = <span aria-label={t('card.listEmptyPlaceholder')}>–</span>\n\n const handleEdit = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_REQUESTED, { employeeId })\n }\n\n return (\n <BaseLayout error={summary.errorHandling.errors}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('card.title')}\n action={\n isLoading || stateTaxesHaveAnyQuestions ? (\n <Components.Button variant=\"secondary\" onClick={handleEdit} isDisabled={isLoading}>\n {t('card.editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {isLoading ? (\n <Loading />\n ) : stateTaxes.length > 0 ? (\n <Flex flexDirection=\"column\" gap={24}>\n {stateTaxes.map((stateTax, index) => {\n const stateName = stateTax.state\n ? tCommon(`statesHash.${stateTax.state}`, stateTax.state)\n : ''\n const hasQuestions = (stateTax.questions?.length ?? 0) > 0\n return (\n <Flex key={stateTax.state ?? index} flexDirection=\"column\" gap={16}>\n {stateName ? (\n <Components.Heading as=\"h4\">{stateName}</Components.Heading>\n ) : null}\n\n {hasQuestions ? (\n <Components.DescriptionList\n items={stateTax.questions!.map(question => {\n const answer = question.answers[0]?.value\n return {\n term: question.label,\n description:\n answer === null || answer === undefined\n ? emptyPlaceholder\n : formatStateTaxAnswer(question, answer),\n }\n })}\n />\n ) : (\n <Components.Text variant=\"supporting\">\n {t('card.noWithholdingForState')}\n </Components.Text>\n )}\n </Flex>\n )\n })}\n </Flex>\n ) : (\n <Components.Text>{t('card.noStateTaxes')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["StateTaxesCard","props","jsx","BaseBoundaries","StateTaxesCardContent","employeeId","onEvent","useI18n","t","useTranslation","tCommon","Components","useComponentContext","formatCurrency","useNumberFormatter","summary","useStateTaxesSummary","isLoading","stateTaxes","stateTaxesHaveAnyQuestions","s","formatStateTaxAnswer","question","answer","option","opt","numValue","emptyPlaceholder","handleEdit","componentEvents","BaseLayout","Flex","Loading","stateTax","index","stateName","hasQuestions","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"StateTaxesCard.js","sources":["../../../../../../src/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeStateTaxQuestion } from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxquestion'\nimport { useStateTaxesSummary } from '../../shared/useStateTaxesSummary'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\n/**\n * Props for {@link StateTaxesCard}.\n *\n * @public\n */\nexport interface StateTaxesCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when the Edit button is clicked. */\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**\n * Standalone read-only summary card showing an employee's per-state tax\n * withholding answers. Fetches its own data and surfaces an Edit button\n * that emits an event for the orchestrator to swap in the edit form.\n *\n * @remarks\n * The Edit button is hidden when no state on record has any tax-withholding\n * questions (e.g. states with no income tax), since there is nothing to edit.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/editRequested` | Edit button was clicked | `{ employeeId: string }` |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesCard(props: StateTaxesCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.StateTaxes\">\n <StateTaxesCardContent {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesCardContent({ employeeId, onEvent }: StateTaxesCardProps) {\n useI18n('Employee.Management.StateTaxes')\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n\n const summary = useStateTaxesSummary({ employeeId })\n const isLoading = summary.isLoading\n const stateTaxes = summary.isLoading ? [] : summary.data.employeeStateTaxesList\n\n const stateTaxesHaveAnyQuestions = stateTaxes.some(s => (s.questions?.length ?? 0) > 0)\n\n const formatStateTaxAnswer = (\n question: EmployeeStateTaxQuestion,\n answer: string | number | boolean,\n ) => {\n if (\n question.inputQuestionFormat.type === 'Select' &&\n question.inputQuestionFormat.options &&\n question.inputQuestionFormat.options.length > 0\n ) {\n const option = question.inputQuestionFormat.options.find(opt => opt.value === answer)\n if (option?.label) {\n return option.label\n }\n }\n\n if (typeof answer === 'number') {\n if (question.inputQuestionFormat.type === 'Currency') {\n return formatCurrency(answer)\n }\n return answer\n }\n\n if (typeof answer === 'string' && !isNaN(parseFloat(answer))) {\n const numValue = parseFloat(answer)\n if (question.inputQuestionFormat.type === 'Currency') {\n return formatCurrency(numValue)\n }\n return answer\n }\n\n if (typeof answer === 'boolean') {\n return answer ? t('card.yes') : t('card.no')\n }\n\n return answer\n }\n\n const emptyPlaceholder = <span aria-label={t('card.listEmptyPlaceholder')}>–</span>\n\n const handleEdit = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_REQUESTED, { employeeId })\n }\n\n return (\n <BaseLayout error={summary.errorHandling.errors}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('card.title')}\n action={\n isLoading || stateTaxesHaveAnyQuestions ? (\n <Components.Button variant=\"secondary\" onClick={handleEdit} isDisabled={isLoading}>\n {t('card.editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {isLoading ? (\n <Loading />\n ) : stateTaxes.length > 0 ? (\n <Flex flexDirection=\"column\" gap={24}>\n {stateTaxes.map((stateTax, index) => {\n const stateName = stateTax.state\n ? tCommon(`statesHash.${stateTax.state}`, stateTax.state)\n : ''\n const hasQuestions = (stateTax.questions?.length ?? 0) > 0\n return (\n <Flex key={stateTax.state ?? index} flexDirection=\"column\" gap={16}>\n {stateName ? (\n <Components.Heading as=\"h4\">{stateName}</Components.Heading>\n ) : null}\n\n {hasQuestions ? (\n <Components.DescriptionList\n items={stateTax.questions!.map(question => {\n const answer = question.answers[0]?.value\n return {\n term: question.label,\n description:\n answer === null || answer === undefined\n ? emptyPlaceholder\n : formatStateTaxAnswer(question, answer),\n }\n })}\n />\n ) : (\n <Components.Text variant=\"supporting\">\n {t('card.noWithholdingForState')}\n </Components.Text>\n )}\n </Flex>\n )\n })}\n </Flex>\n ) : (\n <Components.Text>{t('card.noStateTaxes')}</Components.Text>\n )}\n </Flex>\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["StateTaxesCard","props","jsx","BaseBoundaries","StateTaxesCardContent","employeeId","onEvent","useI18n","t","useTranslation","tCommon","Components","useComponentContext","formatCurrency","useNumberFormatter","summary","useStateTaxesSummary","isLoading","stateTaxes","stateTaxesHaveAnyQuestions","s","formatStateTaxAnswer","question","answer","option","opt","numValue","emptyPlaceholder","handleEdit","componentEvents","BaseLayout","Flex","Loading","stateTax","index","stateName","hasQuestions","jsxs"],"mappings":"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"}
@@ -1,23 +1,20 @@
1
- import { BaseComponentInterface, CommonComponentInterface } from '../../../Base';
1
+ import { BaseComponentInterface } from '../../../Base';
2
2
  /**
3
3
  * Props for {@link StateTaxesEditForm}.
4
4
  *
5
5
  * @public
6
6
  */
7
- export type StateTaxesEditFormProps = Omit<CommonComponentInterface<'Employee.Management.StateTaxes'>, 'children'> & {
7
+ export interface StateTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.StateTaxes'> {
8
8
  /** The associated employee identifier. */
9
9
  employeeId: string;
10
- /** Event handler fired when the form is submitted or cancelled. */
11
- onEvent: BaseComponentInterface['onEvent'];
12
- };
10
+ }
13
11
  /**
14
12
  * Standalone edit screen for the state-tax management flow. Renders the shared
15
13
  * state-tax form against the `Employee.Management.StateTaxes` namespace and
16
14
  * emits scoped management events on submit and cancel, so partner copy
17
15
  * overrides on the management namespace do not leak into the onboarding flow.
18
16
  *
19
- * @remarks
20
- *
17
+ * @events
21
18
  * | Event | Description | Data |
22
19
  * | ----- | ----------- | ---- |
23
20
  * | `employee/management/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |
@@ -26,4 +23,4 @@ export type StateTaxesEditFormProps = Omit<CommonComponentInterface<'Employee.Ma
26
23
  * @param props - The component props.
27
24
  * @public
28
25
  */
29
- export declare function StateTaxesEditForm({ FallbackComponent, ...props }: StateTaxesEditFormProps & Pick<BaseComponentInterface, 'FallbackComponent'>): import("react").JSX.Element;
26
+ export declare function StateTaxesEditForm({ FallbackComponent, ...props }: StateTaxesEditFormProps): import("react").JSX.Element;
@@ -10,10 +10,7 @@ import "react";
10
10
  import { useI18n as A, useComponentDictionary as M } from "../../../../i18n/I18n.js";
11
11
  import { componentEvents as m } from "../../../../shared/constants.js";
12
12
  import { useEmployeeStateTaxesForm as C } from "../shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js";
13
- function I({
14
- FallbackComponent: o,
15
- ...n
16
- }) {
13
+ function I({ FallbackComponent: o, ...n }) {
17
14
  return /* @__PURE__ */ t(
18
15
  x,
19
16
  {
@@ -1 +1 @@
1
- {"version":3,"file":"StateTaxesEditForm.js","sources":["../../../../../src/components/Employee/StateTaxes/management/StateTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useManagementStateTaxesViewDictionary } from './useViewDictionary'\nimport {\n BaseBoundaries,\n BaseLayout,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxesEditForm}.\n *\n * @public\n */\nexport type StateTaxesEditFormProps = Omit<\n CommonComponentInterface<'Employee.Management.StateTaxes'>,\n 'children'\n> & {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when the form is submitted or cancelled. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Standalone edit screen for the state-tax management flow. Renders the shared\n * state-tax form against the `Employee.Management.StateTaxes` namespace and\n * emits scoped management events on submit and cancel, so partner copy\n * overrides on the management namespace do not leak into the onboarding flow.\n *\n * @remarks\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/management/stateTaxes/editCancelled` | Cancel button was clicked | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesEditForm({\n FallbackComponent,\n ...props\n}: StateTaxesEditFormProps & Pick<BaseComponentInterface, 'FallbackComponent'>) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.StateTaxes\"\n FallbackComponent={FallbackComponent}\n >\n <StateTaxesEditFormRoot {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesEditFormRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n}: StateTaxesEditFormProps) {\n useI18n('Employee.Management.StateTaxes')\n useComponentDictionary('Employee.Management.StateTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const Components = useComponentContext()\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n const managementStateTaxesDictionary = useManagementStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return <BaseLayout isLoading error={stateTaxes.errorHandling.errors} />\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={stateTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={managementStateTaxesDictionary}\n />\n )\n}\n"],"names":["StateTaxesEditForm","FallbackComponent","props","jsx","BaseBoundaries","StateTaxesEditFormRoot","employeeId","className","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","stateTaxes","useEmployeeStateTaxesForm","managementStateTaxesDictionary","useManagementStateTaxesViewDictionary","BaseLayout","handleSubmit","result","componentEvents","handleCancel","EmployeeStateTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;;AA6CO,SAASA,EAAmB;AAAA,EACjC,mBAAAC;AAAA,EACA,GAAGC;AACL,GAAgF;AAC9E,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAH;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAwB,GAAGH,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGzC;AAEA,SAASG,EAAuB;AAAA,EAC9B,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AACF,GAA4B;AAC1B,EAAAC,EAAQ,gCAAgC,GACxCC,EAAuB,kCAAkCH,CAAU;AACnE,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,gCAAgC,GACvDC,IAAaC,EAAA,GAEbC,IAAaC,EAA0B,EAAE,YAAAX,GAAY,GACrDY,IAAiCC,EAAA;AAEvC,MAAIH,EAAW;AACb,6BAAQI,GAAA,EAAW,WAAS,IAAC,OAAOJ,EAAW,cAAc,QAAQ;AAGvE,QAAMK,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,IAAKM,KAELb,EAAQc,EAAgB,yCAAyC;AAAA,MAC/D,wBAAwBD,EAAO;AAAA,IAAA,CAChC;AAAA,EACH,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,8CAA8C;AAAA,EACxE;AAEA,SACE,gBAAApB;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,YAAAT;AAAA,MACA,UAAUK;AAAA,MACV,2BACGK,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAvB,EAACW,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAT,EAACW,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWE,EAAW,OAAO,WAC3D,UAAAJ,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAL;AAAA,MACA,YAAYW;AAAA,IAAA;AAAA,EAAA;AAGlB;"}
1
+ {"version":3,"file":"StateTaxesEditForm.js","sources":["../../../../../src/components/Employee/StateTaxes/management/StateTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useManagementStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxesEditForm}.\n *\n * @public\n */\nexport interface StateTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Standalone edit screen for the state-tax management flow. Renders the shared\n * state-tax form against the `Employee.Management.StateTaxes` namespace and\n * emits scoped management events on submit and cancel, so partner copy\n * overrides on the management namespace do not leak into the onboarding flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/management/stateTaxes/editCancelled` | Cancel button was clicked | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesEditForm({ FallbackComponent, ...props }: StateTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.StateTaxes\"\n FallbackComponent={FallbackComponent}\n >\n <StateTaxesEditFormRoot {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesEditFormRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n}: StateTaxesEditFormProps) {\n useI18n('Employee.Management.StateTaxes')\n useComponentDictionary('Employee.Management.StateTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const Components = useComponentContext()\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n const managementStateTaxesDictionary = useManagementStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return <BaseLayout isLoading error={stateTaxes.errorHandling.errors} />\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={stateTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={managementStateTaxesDictionary}\n />\n )\n}\n"],"names":["StateTaxesEditForm","FallbackComponent","props","jsx","BaseBoundaries","StateTaxesEditFormRoot","employeeId","className","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","stateTaxes","useEmployeeStateTaxesForm","managementStateTaxesDictionary","useManagementStateTaxesViewDictionary","BaseLayout","handleSubmit","result","componentEvents","handleCancel","EmployeeStateTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;;AAkCO,SAASA,EAAmB,EAAE,mBAAAC,GAAmB,GAAGC,KAAkC;AAC3F,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAH;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAwB,GAAGH,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGzC;AAEA,SAASG,EAAuB;AAAA,EAC9B,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AACF,GAA4B;AAC1B,EAAAC,EAAQ,gCAAgC,GACxCC,EAAuB,kCAAkCH,CAAU;AACnE,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,gCAAgC,GACvDC,IAAaC,EAAA,GAEbC,IAAaC,EAA0B,EAAE,YAAAX,GAAY,GACrDY,IAAiCC,EAAA;AAEvC,MAAIH,EAAW;AACb,6BAAQI,GAAA,EAAW,WAAS,IAAC,OAAOJ,EAAW,cAAc,QAAQ;AAGvE,QAAMK,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,IAAKM,KAELb,EAAQc,EAAgB,yCAAyC;AAAA,MAC/D,wBAAwBD,EAAO;AAAA,IAAA,CAChC;AAAA,EACH,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,8CAA8C;AAAA,EACxE;AAEA,SACE,gBAAApB;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,YAAAT;AAAA,MACA,UAAUK;AAAA,MACV,2BACGK,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAvB,EAACW,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAT,EAACW,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWE,EAAW,OAAO,WAC3D,UAAAJ,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAL;AAAA,MACA,YAAYW;AAAA,IAAA;AAAA,EAAA;AAGlB;"}
@@ -1,30 +1,24 @@
1
1
  import { state as a, transition as E, reduce as T } from "robot3";
2
2
  import { StateTaxesEditFormContextual as A, StateTaxesCardContextual as o } from "./StateTaxesComponents.js";
3
3
  import { componentEvents as e } from "../../../../shared/constants.js";
4
- const r = T(
5
- (t) => ({
6
- ...t,
7
- component: o,
8
- successAlert: null
9
- })
10
- ), n = (t) => T(
11
- (s) => ({
12
- ...s,
13
- component: o,
14
- successAlert: t
15
- })
16
- ), M = {
4
+ const r = T((t) => ({
5
+ ...t,
6
+ component: o,
7
+ successAlert: null
8
+ })), n = (t) => T((s) => ({
9
+ ...s,
10
+ component: o,
11
+ successAlert: t
12
+ })), M = {
17
13
  card: a(
18
14
  E(
19
15
  e.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_REQUESTED,
20
16
  "editStateTaxes",
21
- T(
22
- (t) => ({
23
- ...t,
24
- component: A,
25
- successAlert: null
26
- })
27
- )
17
+ T((t) => ({
18
+ ...t,
19
+ component: A,
20
+ successAlert: null
21
+ }))
28
22
  ),
29
23
  E(
30
24
  e.EMPLOYEE_MANAGEMENT_STATE_TAXES_ALERT_DISMISSED,
@@ -1 +1 @@
1
- {"version":3,"file":"stateTaxesStateMachine.js","sources":["../../../../../src/components/Employee/StateTaxes/management/stateTaxesStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type { StateTaxesContextInterface, StateTaxesSuccessAlertCode } from './StateTaxesComponents'\nimport { StateTaxesCardContextual, StateTaxesEditFormContextual } from './StateTaxesComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\nconst returnToCard = reduce(\n (ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesCardContextual as ComponentType,\n successAlert: null,\n }),\n)\n\nconst returnToCardWithAlert = (alert: StateTaxesSuccessAlertCode) =>\n reduce(\n (ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesCardContextual as ComponentType,\n successAlert: alert,\n }),\n )\n\n/** @internal */\nexport const stateTaxesStateMachine = {\n card: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_REQUESTED,\n 'editStateTaxes',\n reduce(\n (ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesEditFormContextual as ComponentType,\n successAlert: null,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_ALERT_DISMISSED,\n 'card',\n returnToCard,\n ),\n ),\n editStateTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED,\n 'card',\n returnToCardWithAlert('stateTaxesUpdated'),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED,\n 'card',\n returnToCard,\n ),\n ),\n}\n"],"names":["returnToCard","reduce","ctx","StateTaxesCardContextual","returnToCardWithAlert","alert","stateTaxesStateMachine","state","transition","componentEvents","StateTaxesEditFormContextual"],"mappings":";;;AAOA,MAAMA,IAAeC;AAAA,EACnB,CAACC,OAAiE;AAAA,IAChE,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,cAAc;AAAA,EAAA;AAElB,GAEMC,IAAwB,CAACC,MAC7BJ;AAAA,EACE,CAACC,OAAiE;AAAA,IAChE,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,cAAcE;AAAA,EAAA;AAElB,GAGWC,IAAyB;AAAA,EACpC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR;AAAA,QACE,CAACC,OAAiE;AAAA,UAChE,GAAGA;AAAA,UACH,WAAWQ;AAAA,UACX,cAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IACF;AAAA,IAEFF;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,gBAAgBO;AAAA,IACdC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAsB,mBAAmB;AAAA,IAAA;AAAA,IAE3CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"stateTaxesStateMachine.js","sources":["../../../../../src/components/Employee/StateTaxes/management/stateTaxesStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type { StateTaxesContextInterface, StateTaxesSuccessAlertCode } from './StateTaxesComponents'\nimport { StateTaxesCardContextual, StateTaxesEditFormContextual } from './StateTaxesComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\nconst returnToCard = reduce((ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesCardContextual as ComponentType,\n successAlert: null,\n}))\n\nconst returnToCardWithAlert = (alert: StateTaxesSuccessAlertCode) =>\n reduce((ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesCardContextual as ComponentType,\n successAlert: alert,\n }))\n\n/** @internal */\nexport const stateTaxesStateMachine = {\n card: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_REQUESTED,\n 'editStateTaxes',\n reduce((ctx: StateTaxesContextInterface): StateTaxesContextInterface => ({\n ...ctx,\n component: StateTaxesEditFormContextual as ComponentType,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_ALERT_DISMISSED,\n 'card',\n returnToCard,\n ),\n ),\n editStateTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED,\n 'card',\n returnToCardWithAlert('stateTaxesUpdated'),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED,\n 'card',\n returnToCard,\n ),\n ),\n}\n"],"names":["returnToCard","reduce","ctx","StateTaxesCardContextual","returnToCardWithAlert","alert","stateTaxesStateMachine","state","transition","componentEvents","StateTaxesEditFormContextual"],"mappings":";;;AAOA,MAAMA,IAAeC,EAAO,CAACC,OAAiE;AAAA,EAC5F,GAAGA;AAAA,EACH,WAAWC;AAAA,EACX,cAAc;AAChB,EAAE,GAEIC,IAAwB,CAACC,MAC7BJ,EAAO,CAACC,OAAiE;AAAA,EACvE,GAAGA;AAAA,EACH,WAAWC;AAAA,EACX,cAAcE;AAChB,EAAE,GAGSC,IAAyB;AAAA,EACpC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAAiE;AAAA,QACvE,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJF;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,gBAAgBO;AAAA,IACdC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAsB,mBAAmB;AAAA,IAAA;AAAA,IAE3CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1,24 +1,21 @@
1
- import { BaseComponentInterface, CommonComponentInterface } from '../../../Base';
1
+ import { BaseComponentInterface } from '../../../Base';
2
2
  /**
3
3
  * Props for {@link StateTaxes}.
4
4
  *
5
5
  * @public
6
6
  */
7
- export type StateTaxesProps = Omit<CommonComponentInterface<'Employee.StateTaxes'>, 'children'> & {
7
+ export interface StateTaxesProps extends BaseComponentInterface<'Employee.StateTaxes'> {
8
8
  /** The associated employee identifier. */
9
9
  employeeId: string;
10
10
  /** Render admin-only questions and submit them. Defaults to `false`. */
11
11
  isAdmin?: boolean;
12
- /** Event handler fired when the form is submitted successfully. */
13
- onEvent: BaseComponentInterface['onEvent'];
14
- };
12
+ }
15
13
  /**
16
14
  * Onboarding step that collects an employee's per-state tax withholding
17
15
  * answers. The set of fields is driven by the API response for each state
18
16
  * on record.
19
17
  *
20
- * @remarks
21
- *
18
+ * @events
22
19
  * | Event | Description | Data |
23
20
  * | ----- | ----------- | ---- |
24
21
  * | `employee/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |
@@ -27,4 +24,4 @@ export type StateTaxesProps = Omit<CommonComponentInterface<'Employee.StateTaxes
27
24
  * @param props - The component props.
28
25
  * @public
29
26
  */
30
- export declare function StateTaxes({ FallbackComponent, ...props }: StateTaxesProps & Pick<BaseComponentInterface, 'FallbackComponent'>): import("react").JSX.Element;
27
+ export declare function StateTaxes({ FallbackComponent, ...props }: StateTaxesProps): import("react").JSX.Element;
@@ -10,10 +10,7 @@ import "react";
10
10
  import { useI18n as l, useComponentDictionary as x } from "../../../../i18n/I18n.js";
11
11
  import { componentEvents as s } from "../../../../shared/constants.js";
12
12
  import { useEmployeeStateTaxesForm as y } from "../shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js";
13
- function X({
14
- FallbackComponent: e,
15
- ...o
16
- }) {
13
+ function X({ FallbackComponent: e, ...o }) {
17
14
  return /* @__PURE__ */ t(S, { componentName: "Employee.StateTaxes", FallbackComponent: e, children: /* @__PURE__ */ t(b, { ...o }) });
18
15
  }
19
16
  function b({
@@ -1 +1 @@
1
- {"version":3,"file":"StateTaxes.js","sources":["../../../../../src/components/Employee/StateTaxes/onboarding/StateTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useOnboardingStateTaxesViewDictionary } from './useViewDictionary'\nimport {\n BaseBoundaries,\n BaseLayout,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxes}.\n *\n * @public\n */\nexport type StateTaxesProps = Omit<CommonComponentInterface<'Employee.StateTaxes'>, 'children'> & {\n /** The associated employee identifier. */\n employeeId: string\n /** Render admin-only questions and submit them. Defaults to `false`. */\n isAdmin?: boolean\n /** Event handler fired when the form is submitted successfully. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Onboarding step that collects an employee's per-state tax withholding\n * answers. The set of fields is driven by the API response for each state\n * on record.\n *\n * @remarks\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/stateTaxes/done` | Onboarding step has finished — emitted immediately after `updated` | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxes({\n FallbackComponent,\n ...props\n}: StateTaxesProps & Pick<BaseComponentInterface, 'FallbackComponent'>) {\n return (\n <BaseBoundaries componentName=\"Employee.StateTaxes\" FallbackComponent={FallbackComponent}>\n <StateTaxesRoot {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n isAdmin = false,\n}: StateTaxesProps) {\n useI18n('Employee.StateTaxes')\n useComponentDictionary('Employee.StateTaxes', dictionary)\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId, isAdmin })\n const onboardingStateTaxesDictionary = useOnboardingStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return <BaseLayout isLoading error={stateTaxes.errorHandling.errors} />\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_DONE)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={<ContinueAction isPending={stateTaxes.status.isPending} />}\n className={className}\n dictionary={onboardingStateTaxesDictionary}\n />\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.StateTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["StateTaxes","FallbackComponent","props","jsx","BaseBoundaries","StateTaxesRoot","employeeId","className","dictionary","onEvent","isAdmin","useI18n","useComponentDictionary","stateTaxes","useEmployeeStateTaxesForm","onboardingStateTaxesDictionary","useOnboardingStateTaxesViewDictionary","BaseLayout","EmployeeStateTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;;AA2CO,SAASA,EAAW;AAAA,EACzB,mBAAAC;AAAA,EACA,GAAGC;AACL,GAAwE;AACtE,SACE,gBAAAC,EAACC,KAAe,eAAc,uBAAsB,mBAAAH,GAClD,UAAA,gBAAAE,EAACE,GAAA,EAAgB,GAAGH,EAAA,CAAO,EAAA,CAC7B;AAEJ;AAEA,SAASG,EAAe;AAAA,EACtB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AACZ,GAAoB;AAClB,EAAAC,EAAQ,qBAAqB,GAC7BC,EAAuB,uBAAuBJ,CAAU;AAExD,QAAMK,IAAaC,EAA0B,EAAE,YAAAR,GAAY,SAAAI,GAAS,GAC9DK,IAAiCC,EAAA;AAEvC,SAAIH,EAAW,8BACLI,GAAA,EAAW,WAAS,IAAC,OAAOJ,EAAW,cAAc,QAAQ,IAcrE,gBAAAV;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,YAAAL;AAAA,MACA,UAbiB,YAAY;AAC/B,cAAMM,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,QAAKM,MAELV,EAAQW,EAAgB,8BAA8B;AAAA,UACpD,wBAAwBD,EAAO;AAAA,QAAA,CAChC,GACDV,EAAQW,EAAgB,yBAAyB;AAAA,MACnD;AAAA,MAMI,SAAS,gBAAAjB,EAACkB,GAAA,EAAe,WAAWR,EAAW,OAAO,WAAW;AAAA,MACjE,WAAAN;AAAA,MACA,YAAYQ;AAAA,IAAA;AAAA,EAAA;AAGlB;AAEA,SAASM,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,SACE,gBAAAvB,EAACwB,GAAA,EACC,UAAA,gBAAAxB,EAACsB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
1
+ {"version":3,"file":"StateTaxes.js","sources":["../../../../../src/components/Employee/StateTaxes/onboarding/StateTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useOnboardingStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxes}.\n *\n * @public\n */\nexport interface StateTaxesProps extends BaseComponentInterface<'Employee.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Render admin-only questions and submit them. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Onboarding step that collects an employee's per-state tax withholding\n * answers. The set of fields is driven by the API response for each state\n * on record.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/stateTaxes/done` | Onboarding step has finished — emitted immediately after `updated` | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxes({ FallbackComponent, ...props }: StateTaxesProps) {\n return (\n <BaseBoundaries componentName=\"Employee.StateTaxes\" FallbackComponent={FallbackComponent}>\n <StateTaxesRoot {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n isAdmin = false,\n}: StateTaxesProps) {\n useI18n('Employee.StateTaxes')\n useComponentDictionary('Employee.StateTaxes', dictionary)\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId, isAdmin })\n const onboardingStateTaxesDictionary = useOnboardingStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return <BaseLayout isLoading error={stateTaxes.errorHandling.errors} />\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_DONE)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={<ContinueAction isPending={stateTaxes.status.isPending} />}\n className={className}\n dictionary={onboardingStateTaxesDictionary}\n />\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.StateTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["StateTaxes","FallbackComponent","props","jsx","BaseBoundaries","StateTaxesRoot","employeeId","className","dictionary","onEvent","isAdmin","useI18n","useComponentDictionary","stateTaxes","useEmployeeStateTaxesForm","onboardingStateTaxesDictionary","useOnboardingStateTaxesViewDictionary","BaseLayout","EmployeeStateTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;;AAmCO,SAASA,EAAW,EAAE,mBAAAC,GAAmB,GAAGC,KAA0B;AAC3E,SACE,gBAAAC,EAACC,KAAe,eAAc,uBAAsB,mBAAAH,GAClD,UAAA,gBAAAE,EAACE,GAAA,EAAgB,GAAGH,EAAA,CAAO,EAAA,CAC7B;AAEJ;AAEA,SAASG,EAAe;AAAA,EACtB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AACZ,GAAoB;AAClB,EAAAC,EAAQ,qBAAqB,GAC7BC,EAAuB,uBAAuBJ,CAAU;AAExD,QAAMK,IAAaC,EAA0B,EAAE,YAAAR,GAAY,SAAAI,GAAS,GAC9DK,IAAiCC,EAAA;AAEvC,SAAIH,EAAW,8BACLI,GAAA,EAAW,WAAS,IAAC,OAAOJ,EAAW,cAAc,QAAQ,IAcrE,gBAAAV;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,YAAAL;AAAA,MACA,UAbiB,YAAY;AAC/B,cAAMM,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,QAAKM,MAELV,EAAQW,EAAgB,8BAA8B;AAAA,UACpD,wBAAwBD,EAAO;AAAA,QAAA,CAChC,GACDV,EAAQW,EAAgB,yBAAyB;AAAA,MACnD;AAAA,MAMI,SAAS,gBAAAjB,EAACkB,GAAA,EAAe,WAAWR,EAAW,OAAO,WAAW;AAAA,MACjE,WAAAN;AAAA,MACA,YAAYQ;AAAA,IAAA;AAAA,EAAA;AAGlB;AAEA,SAASM,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,SACE,gBAAAvB,EAACwB,GAAA,EACC,UAAA,gBAAAxB,EAACsB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
@@ -1,17 +1,17 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { useTranslation as l } from "react-i18next";
3
- import { EmployeeStateTaxesErrorCodes as s } from "./employeeStateTaxesSchema.js";
2
+ import { useTranslation as r } from "react-i18next";
3
+ import { EmployeeStateTaxesErrorCodes as c } from "./employeeStateTaxesSchema.js";
4
4
  import { TextInputHookField as d } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
5
- import { SelectHookField as c } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
6
- import { NumberInputHookField as r } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
7
- import { DatePickerHookField as m } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
8
- import { RadioGroupHookField as u } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
9
- function f() {
10
- const { t: o } = l("Employee.StateTaxesView");
11
- return { [s.REQUIRED]: o("validations.required") };
5
+ import { SelectHookField as m } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
6
+ import { NumberInputHookField as l } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
7
+ import { DatePickerHookField as u } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
8
+ import { RadioGroupHookField as f } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
9
+ function F() {
10
+ const { t: o } = r("Employee.StateTaxesView");
11
+ return { [c.REQUIRED]: o("validations.required") };
12
12
  }
13
13
  function a(o, e) {
14
- const n = f();
14
+ const n = F();
15
15
  return {
16
16
  name: o.name,
17
17
  label: e.label ?? o.apiLabel,
@@ -20,57 +20,57 @@ function a(o, e) {
20
20
  validationMessages: { ...n, ...e.validationMessages }
21
21
  };
22
22
  }
23
- function h({ meta: o, ...e }) {
24
- const t = {
23
+ function P({ meta: o, ...e }) {
24
+ const { t: n } = r("common"), s = {
25
25
  ...a(o, e),
26
- placeholder: e.placeholder,
26
+ placeholder: e.placeholder ?? n("selectPlaceholder"),
27
27
  FieldComponent: e.FieldComponent
28
28
  };
29
- return /* @__PURE__ */ i(c, { ...t });
29
+ return /* @__PURE__ */ i(m, { ...s });
30
30
  }
31
- function P({ meta: o, ...e }) {
31
+ function H({ meta: o, ...e }) {
32
32
  const t = {
33
33
  ...a(o, e),
34
34
  FieldComponent: e.FieldComponent
35
35
  };
36
- return /* @__PURE__ */ i(u, { ...t });
36
+ return /* @__PURE__ */ i(f, { ...t });
37
37
  }
38
- function H({ meta: o, ...e }) {
38
+ function R({ meta: o, ...e }) {
39
39
  const t = {
40
40
  ...a(o, e),
41
41
  placeholder: e.placeholder
42
42
  };
43
43
  return /* @__PURE__ */ i(d, { ...t });
44
44
  }
45
- function R({ meta: o, ...e }) {
45
+ function v({ meta: o, ...e }) {
46
46
  const t = {
47
47
  ...a(o, e),
48
48
  format: "decimal",
49
49
  FieldComponent: e.FieldComponent
50
50
  };
51
- return /* @__PURE__ */ i(r, { ...t });
51
+ return /* @__PURE__ */ i(l, { ...t });
52
52
  }
53
- function v({ meta: o, ...e }) {
53
+ function D({ meta: o, ...e }) {
54
54
  const t = {
55
55
  ...a(o, e),
56
56
  format: "currency",
57
57
  FieldComponent: e.FieldComponent
58
58
  };
59
- return /* @__PURE__ */ i(r, { ...t });
59
+ return /* @__PURE__ */ i(l, { ...t });
60
60
  }
61
- function D({ meta: o, ...e }) {
61
+ function E({ meta: o, ...e }) {
62
62
  const t = {
63
63
  ...a(o, e),
64
64
  FieldComponent: e.FieldComponent
65
65
  };
66
- return /* @__PURE__ */ i(m, { ...t });
66
+ return /* @__PURE__ */ i(u, { ...t });
67
67
  }
68
68
  export {
69
- v as CurrencyStateTaxField,
70
- D as DateStateTaxField,
71
- R as NumberStateTaxField,
72
- P as RadioStateTaxField,
73
- h as SelectStateTaxField,
74
- H as TextStateTaxField
69
+ D as CurrencyStateTaxField,
70
+ E as DateStateTaxField,
71
+ v as NumberStateTaxField,
72
+ H as RadioStateTaxField,
73
+ P as SelectStateTaxField,
74
+ R as TextStateTaxField
75
75
  };
76
76
  //# sourceMappingURL=fieldComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fieldComponents.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesErrorCodes } from './employeeStateTaxesSchema'\nimport type { BoundFieldMeta } from './fieldMeta'\nimport type {\n BaseStateTaxFieldProps,\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n StateTaxValidationMessages,\n TextStateTaxFieldProps,\n} from './fieldProps'\nimport {\n SelectHookField,\n RadioGroupHookField,\n TextInputHookField,\n NumberInputHookField,\n DatePickerHookField,\n} from '@/partner-hook-utils/form/fields'\nimport type { SelectHookFieldProps } from '@/partner-hook-utils/form/fields/SelectHookField'\nimport type { RadioGroupHookFieldProps } from '@/partner-hook-utils/form/fields/RadioGroupHookField'\nimport type { TextInputHookFieldProps } from '@/partner-hook-utils/form/fields/TextInputHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport type { DatePickerHookFieldProps } from '@/partner-hook-utils/form/fields/DatePickerHookField'\nimport type { FormHookResult } from '@/partner-hook-utils/types'\n\ninterface MetaProps {\n meta: BoundFieldMeta\n}\n\nfunction useStateTaxValidationDefaults(): StateTaxValidationMessages {\n const { t } = useTranslation('Employee.StateTaxesView')\n return { [EmployeeStateTaxesErrorCodes.REQUIRED]: t('validations.required') }\n}\n\nfunction useResolvedBaseProps(\n meta: BoundFieldMeta,\n props: BaseStateTaxFieldProps,\n): {\n name: string\n label: string\n description: ReactNode\n formHookResult: FormHookResult | undefined\n validationMessages: StateTaxValidationMessages\n} {\n const defaults = useStateTaxValidationDefaults()\n return {\n name: meta.name,\n label: props.label ?? meta.apiLabel,\n description: props.description !== undefined ? props.description : meta.apiDescription,\n formHookResult: props.formHookResult,\n validationMessages: { ...defaults, ...props.validationMessages },\n }\n}\n\n/** @internal */\nexport function SelectStateTaxField({ meta, ...props }: MetaProps & SelectStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: SelectHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n placeholder: props.placeholder,\n FieldComponent: props.FieldComponent,\n }\n return <SelectHookField {...hookProps} />\n}\n\n/** @internal */\nexport function RadioStateTaxField({ meta, ...props }: MetaProps & RadioStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: RadioGroupHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n FieldComponent: props.FieldComponent,\n }\n return <RadioGroupHookField {...hookProps} />\n}\n\n/** @internal */\nexport function TextStateTaxField({ meta, ...props }: MetaProps & TextStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: TextInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n placeholder: props.placeholder,\n }\n return <TextInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function NumberStateTaxField({ meta, ...props }: MetaProps & NumberStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: NumberInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n format: 'decimal',\n FieldComponent: props.FieldComponent,\n }\n return <NumberInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function CurrencyStateTaxField({ meta, ...props }: MetaProps & CurrencyStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: NumberInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n format: 'currency',\n FieldComponent: props.FieldComponent,\n }\n return <NumberInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function DateStateTaxField({ meta, ...props }: MetaProps & DateStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: DatePickerHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n FieldComponent: props.FieldComponent,\n }\n return <DatePickerHookField {...hookProps} />\n}\n"],"names":["useStateTaxValidationDefaults","t","useTranslation","EmployeeStateTaxesErrorCodes","useResolvedBaseProps","meta","props","defaults","SelectStateTaxField","hookProps","jsx","SelectHookField","RadioStateTaxField","RadioGroupHookField","TextStateTaxField","TextInputHookField","NumberStateTaxField","NumberInputHookField","CurrencyStateTaxField","DateStateTaxField","DatePickerHookField"],"mappings":";;;;;;;;AAgCA,SAASA,IAA4D;AACnE,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB;AACtD,SAAO,EAAE,CAACC,EAA6B,QAAQ,GAAGF,EAAE,sBAAsB,EAAA;AAC5E;AAEA,SAASG,EACPC,GACAC,GAOA;AACA,QAAMC,IAAWP,EAAA;AACjB,SAAO;AAAA,IACL,MAAMK,EAAK;AAAA,IACX,OAAOC,EAAM,SAASD,EAAK;AAAA,IAC3B,aAAaC,EAAM,gBAAgB,SAAYA,EAAM,cAAcD,EAAK;AAAA,IACxE,gBAAgBC,EAAM;AAAA,IACtB,oBAAoB,EAAE,GAAGC,GAAU,GAAGD,EAAM,mBAAA;AAAA,EAAmB;AAEnE;AAGO,SAASE,EAAoB,EAAE,MAAAH,GAAM,GAAGC,KAA+C;AAE5F,QAAMG,IAAgF;AAAA,IACpF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,aAAaA,EAAM;AAAA,IACnB,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACC,GAAA,EAAiB,GAAGF,EAAA,CAAW;AACzC;AAGO,SAASG,EAAmB,EAAE,MAAAP,GAAM,GAAGC,KAA8C;AAE1F,QAAMG,IAAoF;AAAA,IACxF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACG,GAAA,EAAqB,GAAGJ,EAAA,CAAW;AAC7C;AAGO,SAASK,EAAkB,EAAE,MAAAT,GAAM,GAAGC,KAA6C;AAExF,QAAMG,IAAmF;AAAA,IACvF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,aAAaA,EAAM;AAAA,EAAA;AAErB,SAAO,gBAAAI,EAACK,GAAA,EAAoB,GAAGN,EAAA,CAAW;AAC5C;AAGO,SAASO,EAAoB,EAAE,MAAAX,GAAM,GAAGC,KAA+C;AAE5F,QAAMG,IAAqF;AAAA,IACzF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,QAAQ;AAAA,IACR,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACO,GAAA,EAAsB,GAAGR,EAAA,CAAW;AAC9C;AAGO,SAASS,EAAsB,EAAE,MAAAb,GAAM,GAAGC,KAAiD;AAEhG,QAAMG,IAAqF;AAAA,IACzF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,QAAQ;AAAA,IACR,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACO,GAAA,EAAsB,GAAGR,EAAA,CAAW;AAC9C;AAGO,SAASU,EAAkB,EAAE,MAAAd,GAAM,GAAGC,KAA6C;AAExF,QAAMG,IAAoF;AAAA,IACxF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACU,GAAA,EAAqB,GAAGX,EAAA,CAAW;AAC7C;"}
1
+ {"version":3,"file":"fieldComponents.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesErrorCodes } from './employeeStateTaxesSchema'\nimport type { BoundFieldMeta } from './fieldMeta'\nimport type {\n BaseStateTaxFieldProps,\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n StateTaxValidationMessages,\n TextStateTaxFieldProps,\n} from './fieldProps'\nimport {\n SelectHookField,\n RadioGroupHookField,\n TextInputHookField,\n NumberInputHookField,\n DatePickerHookField,\n} from '@/partner-hook-utils/form/fields'\nimport type { SelectHookFieldProps } from '@/partner-hook-utils/form/fields/SelectHookField'\nimport type { RadioGroupHookFieldProps } from '@/partner-hook-utils/form/fields/RadioGroupHookField'\nimport type { TextInputHookFieldProps } from '@/partner-hook-utils/form/fields/TextInputHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport type { DatePickerHookFieldProps } from '@/partner-hook-utils/form/fields/DatePickerHookField'\nimport type { FormHookResult } from '@/partner-hook-utils/types'\n\ninterface MetaProps {\n meta: BoundFieldMeta\n}\n\nfunction useStateTaxValidationDefaults(): StateTaxValidationMessages {\n const { t } = useTranslation('Employee.StateTaxesView')\n return { [EmployeeStateTaxesErrorCodes.REQUIRED]: t('validations.required') }\n}\n\nfunction useResolvedBaseProps(\n meta: BoundFieldMeta,\n props: BaseStateTaxFieldProps,\n): {\n name: string\n label: string\n description: ReactNode\n formHookResult: FormHookResult | undefined\n validationMessages: StateTaxValidationMessages\n} {\n const defaults = useStateTaxValidationDefaults()\n return {\n name: meta.name,\n label: props.label ?? meta.apiLabel,\n description: props.description !== undefined ? props.description : meta.apiDescription,\n formHookResult: props.formHookResult,\n validationMessages: { ...defaults, ...props.validationMessages },\n }\n}\n\n/** @internal */\nexport function SelectStateTaxField({ meta, ...props }: MetaProps & SelectStateTaxFieldProps) {\n const { t } = useTranslation('common')\n const base = useResolvedBaseProps(meta, props)\n const hookProps: SelectHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n placeholder: props.placeholder ?? t('selectPlaceholder'),\n FieldComponent: props.FieldComponent,\n }\n return <SelectHookField {...hookProps} />\n}\n\n/** @internal */\nexport function RadioStateTaxField({ meta, ...props }: MetaProps & RadioStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: RadioGroupHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n FieldComponent: props.FieldComponent,\n }\n return <RadioGroupHookField {...hookProps} />\n}\n\n/** @internal */\nexport function TextStateTaxField({ meta, ...props }: MetaProps & TextStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: TextInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n placeholder: props.placeholder,\n }\n return <TextInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function NumberStateTaxField({ meta, ...props }: MetaProps & NumberStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: NumberInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n format: 'decimal',\n FieldComponent: props.FieldComponent,\n }\n return <NumberInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function CurrencyStateTaxField({ meta, ...props }: MetaProps & CurrencyStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: NumberInputHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n format: 'currency',\n FieldComponent: props.FieldComponent,\n }\n return <NumberInputHookField {...hookProps} />\n}\n\n/** @internal */\nexport function DateStateTaxField({ meta, ...props }: MetaProps & DateStateTaxFieldProps) {\n const base = useResolvedBaseProps(meta, props)\n const hookProps: DatePickerHookFieldProps<typeof EmployeeStateTaxesErrorCodes.REQUIRED> = {\n ...base,\n FieldComponent: props.FieldComponent,\n }\n return <DatePickerHookField {...hookProps} />\n}\n"],"names":["useStateTaxValidationDefaults","t","useTranslation","EmployeeStateTaxesErrorCodes","useResolvedBaseProps","meta","props","defaults","SelectStateTaxField","hookProps","jsx","SelectHookField","RadioStateTaxField","RadioGroupHookField","TextStateTaxField","TextInputHookField","NumberStateTaxField","NumberInputHookField","CurrencyStateTaxField","DateStateTaxField","DatePickerHookField"],"mappings":";;;;;;;;AAgCA,SAASA,IAA4D;AACnE,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB;AACtD,SAAO,EAAE,CAACC,EAA6B,QAAQ,GAAGF,EAAE,sBAAsB,EAAA;AAC5E;AAEA,SAASG,EACPC,GACAC,GAOA;AACA,QAAMC,IAAWP,EAAA;AACjB,SAAO;AAAA,IACL,MAAMK,EAAK;AAAA,IACX,OAAOC,EAAM,SAASD,EAAK;AAAA,IAC3B,aAAaC,EAAM,gBAAgB,SAAYA,EAAM,cAAcD,EAAK;AAAA,IACxE,gBAAgBC,EAAM;AAAA,IACtB,oBAAoB,EAAE,GAAGC,GAAU,GAAGD,EAAM,mBAAA;AAAA,EAAmB;AAEnE;AAGO,SAASE,EAAoB,EAAE,MAAAH,GAAM,GAAGC,KAA+C;AAC5F,QAAM,EAAE,GAAAL,EAAA,IAAMC,EAAe,QAAQ,GAE/BO,IAAgF;AAAA,IACpF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,aAAaA,EAAM,eAAeL,EAAE,mBAAmB;AAAA,IACvD,gBAAgBK,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACC,GAAA,EAAiB,GAAGF,EAAA,CAAW;AACzC;AAGO,SAASG,EAAmB,EAAE,MAAAP,GAAM,GAAGC,KAA8C;AAE1F,QAAMG,IAAoF;AAAA,IACxF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACG,GAAA,EAAqB,GAAGJ,EAAA,CAAW;AAC7C;AAGO,SAASK,EAAkB,EAAE,MAAAT,GAAM,GAAGC,KAA6C;AAExF,QAAMG,IAAmF;AAAA,IACvF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,aAAaA,EAAM;AAAA,EAAA;AAErB,SAAO,gBAAAI,EAACK,GAAA,EAAoB,GAAGN,EAAA,CAAW;AAC5C;AAGO,SAASO,EAAoB,EAAE,MAAAX,GAAM,GAAGC,KAA+C;AAE5F,QAAMG,IAAqF;AAAA,IACzF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,QAAQ;AAAA,IACR,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACO,GAAA,EAAsB,GAAGR,EAAA,CAAW;AAC9C;AAGO,SAASS,EAAsB,EAAE,MAAAb,GAAM,GAAGC,KAAiD;AAEhG,QAAMG,IAAqF;AAAA,IACzF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,QAAQ;AAAA,IACR,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACO,GAAA,EAAsB,GAAGR,EAAA,CAAW;AAC9C;AAGO,SAASU,EAAkB,EAAE,MAAAd,GAAM,GAAGC,KAA6C;AAExF,QAAMG,IAAoF;AAAA,IACxF,GAFWL,EAAqBC,GAAMC,CAAK;AAAA,IAG3C,gBAAgBA,EAAM;AAAA,EAAA;AAExB,SAAO,gBAAAI,EAACU,GAAA,EAAqB,GAAGX,EAAA,CAAW;AAC7C;"}
@@ -37,7 +37,7 @@ export interface BaseStateTaxFieldProps {
37
37
  * @public
38
38
  */
39
39
  export type SelectStateTaxFieldProps = BaseStateTaxFieldProps & {
40
- /** Placeholder shown when no option is selected. */
40
+ /** Placeholder shown when no option is selected. Defaults to a generic localized string when omitted. */
41
41
  placeholder?: string;
42
42
  /** Replace the underlying SDK Select primitive with a component of your own. */
43
43
  FieldComponent?: ComponentType<SelectProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"useEmployeeStateTaxesForm.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeStateTaxesList } from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxeslist'\nimport type {\n EmployeeStateTaxesRequest,\n States as EmployeeStateTaxesRequestState,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxesrequest'\nimport { useEmployeeTaxSetupGetStateTaxes } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeTaxSetupUpdateStateTaxes'\nimport {\n createEmployeeStateTaxesSchema,\n type EmployeeStateTaxesFormData,\n type EmployeeStateTaxesFormOutputs,\n type EmployeeStateTaxesMetadataConfig,\n} from './employeeStateTaxesSchema'\nimport { createStateFields, type StateTaxFieldsGroup } from './fields'\nimport { getQuestionVariant } from './fieldMapping'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\n/**\n * Options accepted by {@link useEmployeeStateTaxesForm}.\n *\n * @public\n */\nexport interface UseEmployeeStateTaxesFormProps {\n /** The UUID of the employee whose state taxes are being updated. */\n employeeId: string\n /**\n * When `true`, admin-only questions are visible and submitted. When\n * `false`, they are filtered out and the surfaced answer for those\n * questions is preserved unchanged on submit.\n */\n isAdmin?: boolean\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Defaults to `true`. Set to `false` when composing with other forms. */\n shouldFocusError?: boolean\n}\n\n/**\n * Ready-state return value of {@link useEmployeeStateTaxesForm} — the\n * `isLoading: false` branch of {@link UseEmployeeStateTaxesFormResult}.\n *\n * @public\n */\nexport interface UseEmployeeStateTaxesFormReady extends BaseFormHookReady<\n FieldsMetadata,\n EmployeeStateTaxesFormData,\n StateTaxFieldsGroup[]\n> {\n /** Current per-state tax records returned by the server. */\n data: {\n employeeStateTaxes: EmployeeStateTaxesList[]\n }\n /** Submission status. `mode` is always `'update'` since state-tax records are created with the employee. */\n status: { isPending: boolean; mode: 'update' }\n /** Form actions. */\n actions: {\n /** Validates and submits the form, resolving to the updated records on success or `undefined` when validation blocked the submit. */\n onSubmit: () => Promise<HookSubmitResult<EmployeeStateTaxesList[]> | undefined>\n }\n /** Form internals plus the iterable per-state `Fields` array. */\n form: BaseFormHookReady<\n FieldsMetadata,\n EmployeeStateTaxesFormData,\n StateTaxFieldsGroup[]\n >['form'] & {\n /** Iterable, render-ready group + question entries with bound Field components. */\n Fields: StateTaxFieldsGroup[]\n }\n}\n\n/**\n * Discriminated union returned by {@link useEmployeeStateTaxesForm}. Loading\n * branch carries only `errorHandling`; ready branch carries form data,\n * fields, status, and actions.\n *\n * @public\n */\nexport type UseEmployeeStateTaxesFormResult = HookLoadingResult | UseEmployeeStateTaxesFormReady\n\n/**\n * Headless form hook for updating an employee's state tax withholding answers.\n * The set of questions is driven by the API response per state, so\n * `form.Fields` is an array of state groups with discriminated, render-ready\n * `Field` components rather than a fixed named object.\n *\n * @remarks\n * The state-tax record(s) are created automatically with the employee, so this\n * hook is always in update mode. When the form has no states with submittable\n * answers (e.g. an employee in a no-income-tax state), submit resolves with\n * the existing record list without making a network request.\n *\n * @param props - Hook options.\n * @returns A loading result while data is fetching, or a ready result with\n * form data, fields, status, actions, and error handling.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useEmployeeStateTaxesForm,\n * SDKFormProvider,\n * type UseEmployeeStateTaxesFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function StateTaxesPage({ employeeId }: { employeeId: string }) {\n * const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n *\n * if (stateTaxes.isLoading) return <div>Loading...</div>\n *\n * return <StateTaxesFormReady stateTaxes={stateTaxes} />\n * }\n *\n * function StateTaxesFormReady({\n * stateTaxes,\n * }: {\n * stateTaxes: UseEmployeeStateTaxesFormReady\n * }) {\n * const handleSubmit = async () => {\n * const result = await stateTaxes.actions.onSubmit()\n * if (result) console.log('Updated state tax records:', result.data)\n * }\n *\n * return (\n * <SDKFormProvider formHookResult={stateTaxes}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void handleSubmit()\n * }}\n * >\n * {stateTaxes.form.Fields.map(group => (\n * <section key={group.state}>\n * <h2>{group.state}</h2>\n * {group.questions.map(question => (\n * <question.Field key={question.questionId} />\n * ))}\n * </section>\n * ))}\n * <button type=\"submit\" disabled={stateTaxes.status.isPending}>\n * Save\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useEmployeeStateTaxesForm({\n employeeId,\n isAdmin = false,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseEmployeeStateTaxesFormProps): UseEmployeeStateTaxesFormResult {\n const stateTaxesQuery = useEmployeeTaxSetupGetStateTaxes({ employeeUuid: employeeId })\n\n const employeeStateTaxes = useMemo<EmployeeStateTaxesList[]>(\n () => stateTaxesQuery.data?.employeeStateTaxesList ?? [],\n [stateTaxesQuery.data?.employeeStateTaxesList],\n )\n\n const [schema, metadataConfig] = useMemo(\n () => createEmployeeStateTaxesSchema(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n\n const fieldsArray = useMemo(\n () => createStateFields(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n\n const resolvedDefaults = useMemo(\n () => deriveDefaultValues(employeeStateTaxes, isAdmin),\n [employeeStateTaxes, isAdmin],\n )\n\n const formMethods = useForm<EmployeeStateTaxesFormData, unknown, EmployeeStateTaxesFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const { mutateAsync: updateStateTaxes, isPending } = useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeStateTaxesForm')\n\n const errorHandling = composeErrorHandler([stateTaxesQuery], {\n submitError,\n setSubmitError,\n })\n\n const fieldsMetadata = useDeriveFieldsMetadata(\n metadataConfig as EmployeeStateTaxesMetadataConfig,\n formMethods.control,\n ) as FieldsMetadata\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeeStateTaxesList[]> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeStateTaxesList[]> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async data => {\n await baseSubmitHandler(data, async payload => {\n const requestStates = serializeStatesPayload(payload, employeeStateTaxes, isAdmin)\n\n if (requestStates.length === 0) {\n submitResult = { mode: 'update', data: employeeStateTaxes }\n return\n }\n\n const requestBody: EmployeeStateTaxesRequest = { states: requestStates }\n const response = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: requestBody },\n })\n\n const updated = response.employeeStateTaxesList\n if (!updated) {\n throw new SDKInternalError('State taxes update did not return an updated record')\n }\n\n submitResult = { mode: 'update', data: updated }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (stateTaxesQuery.isLoading || !stateTaxesQuery.data?.employeeStateTaxesList) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { employeeStateTaxes },\n status: { isPending, mode: 'update' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: fieldsArray,\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema) as () =>\n | Record<string, unknown>\n | undefined,\n },\n }\n}\n\n// ── Defaults derivation ────────────────────────────────────────────────\n\nfunction deriveDefaultValues(\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): EmployeeStateTaxesFormData {\n const states: Record<string, Record<string, unknown>> = {}\n\n for (const stateGroup of employeeStateTaxes) {\n if (!stateGroup.state || !stateGroup.questions) continue\n\n const stateValues: Record<string, unknown> = {}\n for (const question of stateGroup.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n const formKey = snakeCaseToCamelCase(question.key)\n const wireValue = question.answers[0]?.value\n stateValues[formKey] = resolveDefaultForQuestion(question, wireValue)\n }\n\n if (Object.keys(stateValues).length > 0) {\n states[stateGroup.state] = stateValues\n }\n }\n\n return { states: states as EmployeeStateTaxesFormData['states'] }\n}\n\nfunction resolveDefaultForQuestion(\n question: EmployeeStateTaxesList['questions'] extends Array<infer Q> | undefined ? Q : never,\n wireValue: string | number | boolean | null | undefined,\n): unknown {\n if (question.key === 'file_new_hire_report') {\n if (wireValue === undefined || wireValue === null) return true\n return wireValue\n }\n\n const variant = getQuestionVariant(question)\n\n switch (variant) {\n case 'date': {\n if (wireValue === undefined || wireValue === null || wireValue === '') return undefined\n if (typeof wireValue === 'string') {\n const trimmed = wireValue.trim()\n if (trimmed === '') return undefined\n const parsed = new Date(trimmed)\n return Number.isNaN(parsed.getTime()) ? undefined : parsed\n }\n return wireValue\n }\n case 'number':\n case 'currency': {\n if (wireValue === undefined || wireValue === null || wireValue === '') return undefined\n const parsed = typeof wireValue === 'number' ? wireValue : Number(wireValue)\n return Number.isNaN(parsed) ? undefined : parsed\n }\n default:\n return wireValue\n }\n}\n\n// ── Submit serialization ───────────────────────────────────────────────\n\ntype SerializedQuestion = {\n key: string\n answers: Array<{\n validFrom: string\n validUpTo: string | null\n value: string | number | boolean\n }>\n}\n\nfunction serializeStatesPayload(\n payload: EmployeeStateTaxesFormOutputs,\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): EmployeeStateTaxesRequestState[] {\n const { states: statesPayload } = payload\n if (Object.keys(statesPayload).length === 0) return []\n\n const result: EmployeeStateTaxesRequestState[] = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n if (!stateName || state.questions === undefined) continue\n\n const serialized: SerializedQuestion[] = []\n for (const question of state.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n\n const formValue = (statesPayload[stateName] as Record<string, unknown> | undefined)?.[\n snakeCaseToCamelCase(question.key)\n ]\n\n let serializedValue: string | number | boolean\n if (formValue === undefined || formValue === null) {\n serializedValue = ''\n } else if (typeof formValue === 'number' && Number.isNaN(formValue)) {\n serializedValue = ''\n } else if (formValue instanceof Date) {\n if (Number.isNaN(formValue.getTime())) {\n serializedValue = ''\n } else {\n serializedValue = formValue.toISOString().split('T')[0] ?? ''\n }\n } else {\n serializedValue = formValue as string | number | boolean\n }\n\n serialized.push({\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value: serializedValue,\n },\n ],\n })\n }\n\n result.push({ state: stateName, questions: serialized })\n }\n\n return result\n}\n\n/**\n * Static field metadata keyed by full form path (`states.<STATE>.<camelKey>`),\n * with `isRequired` / `isDisabled` and option lists.\n *\n * @public\n */\nexport type EmployeeStateTaxesFieldsMetadata =\n UseEmployeeStateTaxesFormReady['form']['fieldsMetadata']\n\n/**\n * The array of per-state field groups exposed by\n * {@link useEmployeeStateTaxesForm} on `form.Fields`.\n *\n * @public\n */\nexport type EmployeeStateTaxesFormFields = UseEmployeeStateTaxesFormReady['form']['Fields']\n"],"names":["DEFAULT_TAX_VALID_FROM","useEmployeeStateTaxesForm","employeeId","isAdmin","validationMode","shouldFocusError","stateTaxesQuery","useEmployeeTaxSetupGetStateTaxes","employeeStateTaxes","useMemo","schema","metadataConfig","createEmployeeStateTaxesSchema","fieldsArray","createStateFields","resolvedDefaults","deriveDefaultValues","formMethods","useForm","zodResolver","updateStateTaxes","isPending","useEmployeeTaxSetupUpdateStateTaxesMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","fieldsMetadata","useDeriveFieldsMetadata","onSubmit","submitResult","resolve","data","payload","requestStates","serializeStatesPayload","updated","SDKInternalError","hookFormInternals","useHookFormInternals","createGetFormSubmissionValues","states","stateGroup","stateValues","question","formKey","snakeCaseToCamelCase","wireValue","resolveDefaultForQuestion","getQuestionVariant","trimmed","parsed","statesPayload","result","state","stateName","serialized","formValue","serializedValue"],"mappings":"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"}
1
+ {"version":3,"file":"useEmployeeStateTaxesForm.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeStateTaxesList } from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxeslist'\nimport type {\n EmployeeStateTaxesRequest,\n States as EmployeeStateTaxesRequestState,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/employeestatetaxesrequest'\nimport { useEmployeeTaxSetupGetStateTaxes } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeTaxSetupUpdateStateTaxes'\nimport {\n createEmployeeStateTaxesSchema,\n type EmployeeStateTaxesFormData,\n type EmployeeStateTaxesFormOutputs,\n type EmployeeStateTaxesMetadataConfig,\n} from './employeeStateTaxesSchema'\nimport { createStateFields, type StateTaxFieldsGroup } from './fields'\nimport { getQuestionVariant } from './fieldMapping'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\n/**\n * Options accepted by {@link useEmployeeStateTaxesForm}.\n *\n * @public\n */\nexport interface UseEmployeeStateTaxesFormProps {\n /** The UUID of the employee whose state taxes are being updated. */\n employeeId: string\n /**\n * When `true`, admin-only questions are visible and submitted. When\n * `false`, they are filtered out and the surfaced answer for those\n * questions is preserved unchanged on submit.\n */\n isAdmin?: boolean\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Defaults to `true`. Set to `false` when composing with other forms. */\n shouldFocusError?: boolean\n}\n\n/**\n * Ready-state return value of {@link useEmployeeStateTaxesForm} — the\n * `isLoading: false` branch of {@link UseEmployeeStateTaxesFormResult}.\n *\n * @public\n */\nexport interface UseEmployeeStateTaxesFormReady extends BaseFormHookReady<\n FieldsMetadata,\n EmployeeStateTaxesFormData,\n StateTaxFieldsGroup[]\n> {\n /** Current per-state tax records returned by the server. */\n data: {\n employeeStateTaxes: EmployeeStateTaxesList[]\n }\n /** Submission status. `mode` is always `'update'` since state-tax records are created with the employee. */\n status: { isPending: boolean; mode: 'update' }\n /** Form actions. */\n actions: {\n /** Validates and submits the form, resolving to the updated records on success or `undefined` when validation blocked the submit. */\n onSubmit: () => Promise<HookSubmitResult<EmployeeStateTaxesList[]> | undefined>\n }\n /** Form internals plus the iterable per-state `Fields` array. */\n form: BaseFormHookReady<\n FieldsMetadata,\n EmployeeStateTaxesFormData,\n StateTaxFieldsGroup[]\n >['form'] & {\n /** Iterable, render-ready group + question entries with bound Field components. */\n Fields: StateTaxFieldsGroup[]\n }\n}\n\n/**\n * Discriminated union returned by {@link useEmployeeStateTaxesForm}. Loading\n * branch carries only `errorHandling`; ready branch carries form data,\n * fields, status, and actions.\n *\n * @public\n */\nexport type UseEmployeeStateTaxesFormResult = HookLoadingResult | UseEmployeeStateTaxesFormReady\n\n/**\n * Headless form hook for updating an employee's state tax withholding answers.\n * The set of questions is driven by the API response per state, so\n * `form.Fields` is an array of state groups with discriminated, render-ready\n * `Field` components rather than a fixed named object.\n *\n * @remarks\n * The state-tax record(s) are created automatically with the employee, so this\n * hook is always in update mode. When the form has no states with submittable\n * answers (e.g. an employee in a no-income-tax state), submit resolves with\n * the existing record list without making a network request.\n *\n * @param props - Hook options.\n * @returns A loading result while data is fetching, or a ready result with\n * form data, fields, status, actions, and error handling.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useEmployeeStateTaxesForm,\n * SDKFormProvider,\n * type UseEmployeeStateTaxesFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function StateTaxesPage({ employeeId }: { employeeId: string }) {\n * const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n *\n * if (stateTaxes.isLoading) return <div>Loading...</div>\n *\n * return <StateTaxesFormReady stateTaxes={stateTaxes} />\n * }\n *\n * function StateTaxesFormReady({\n * stateTaxes,\n * }: {\n * stateTaxes: UseEmployeeStateTaxesFormReady\n * }) {\n * const handleSubmit = async () => {\n * const result = await stateTaxes.actions.onSubmit()\n * if (result) console.log('Updated state tax records:', result.data)\n * }\n *\n * return (\n * <SDKFormProvider formHookResult={stateTaxes}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void handleSubmit()\n * }}\n * >\n * {stateTaxes.form.Fields.map(group => (\n * <section key={group.state}>\n * <h2>{group.state}</h2>\n * {group.questions.map(question => (\n * <question.Field key={question.questionId} />\n * ))}\n * </section>\n * ))}\n * <button type=\"submit\" disabled={stateTaxes.status.isPending}>\n * Save\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useEmployeeStateTaxesForm({\n employeeId,\n isAdmin = false,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseEmployeeStateTaxesFormProps): UseEmployeeStateTaxesFormResult {\n const stateTaxesQuery = useEmployeeTaxSetupGetStateTaxes({ employeeUuid: employeeId })\n\n const employeeStateTaxes = useMemo<EmployeeStateTaxesList[]>(\n () => stateTaxesQuery.data?.employeeStateTaxesList ?? [],\n [stateTaxesQuery.data?.employeeStateTaxesList],\n )\n\n const [schema, metadataConfig] = useMemo(\n () => createEmployeeStateTaxesSchema(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n\n const fieldsArray = useMemo(\n () => createStateFields(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n\n const resolvedDefaults = useMemo(\n () => deriveDefaultValues(employeeStateTaxes, isAdmin),\n [employeeStateTaxes, isAdmin],\n )\n\n const formMethods = useForm<EmployeeStateTaxesFormData, unknown, EmployeeStateTaxesFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const { mutateAsync: updateStateTaxes, isPending } = useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeStateTaxesForm')\n\n const errorHandling = composeErrorHandler([stateTaxesQuery], {\n submitError,\n setSubmitError,\n })\n\n const fieldsMetadata = useDeriveFieldsMetadata(\n metadataConfig as EmployeeStateTaxesMetadataConfig,\n formMethods.control,\n ) as FieldsMetadata\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeeStateTaxesList[]> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeStateTaxesList[]> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async data => {\n await baseSubmitHandler(data, async payload => {\n const requestStates = serializeStatesPayload(payload, employeeStateTaxes, isAdmin)\n\n if (requestStates.length === 0) {\n submitResult = { mode: 'update', data: employeeStateTaxes }\n return\n }\n\n const requestBody: EmployeeStateTaxesRequest = { states: requestStates }\n const response = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: requestBody },\n })\n\n const updated = response.employeeStateTaxesList\n if (!updated) {\n throw new SDKInternalError('State taxes update did not return an updated record')\n }\n\n submitResult = { mode: 'update', data: updated }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (stateTaxesQuery.isLoading || !stateTaxesQuery.data?.employeeStateTaxesList) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { employeeStateTaxes },\n status: { isPending, mode: 'update' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: fieldsArray,\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema) as () =>\n Record<string, unknown> | undefined,\n },\n }\n}\n\n// ── Defaults derivation ────────────────────────────────────────────────\n\nfunction deriveDefaultValues(\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): EmployeeStateTaxesFormData {\n const states: Record<string, Record<string, unknown>> = {}\n\n for (const stateGroup of employeeStateTaxes) {\n if (!stateGroup.state || !stateGroup.questions) continue\n\n const stateValues: Record<string, unknown> = {}\n for (const question of stateGroup.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n const formKey = snakeCaseToCamelCase(question.key)\n const wireValue = question.answers[0]?.value\n stateValues[formKey] = resolveDefaultForQuestion(question, wireValue)\n }\n\n if (Object.keys(stateValues).length > 0) {\n states[stateGroup.state] = stateValues\n }\n }\n\n return { states: states as EmployeeStateTaxesFormData['states'] }\n}\n\nfunction resolveDefaultForQuestion(\n question: EmployeeStateTaxesList['questions'] extends Array<infer Q> | undefined ? Q : never,\n wireValue: string | number | boolean | null | undefined,\n): unknown {\n if (question.key === 'file_new_hire_report') {\n if (wireValue === undefined || wireValue === null) return true\n return wireValue\n }\n\n const variant = getQuestionVariant(question)\n\n switch (variant) {\n case 'date': {\n if (wireValue === undefined || wireValue === null || wireValue === '') return undefined\n if (typeof wireValue === 'string') {\n const trimmed = wireValue.trim()\n if (trimmed === '') return undefined\n const parsed = new Date(trimmed)\n return Number.isNaN(parsed.getTime()) ? undefined : parsed\n }\n return wireValue\n }\n case 'number':\n case 'currency': {\n if (wireValue === undefined || wireValue === null || wireValue === '') return undefined\n const parsed = typeof wireValue === 'number' ? wireValue : Number(wireValue)\n return Number.isNaN(parsed) ? undefined : parsed\n }\n default:\n return wireValue\n }\n}\n\n// ── Submit serialization ───────────────────────────────────────────────\n\ntype SerializedQuestion = {\n key: string\n answers: Array<{\n validFrom: string\n validUpTo: string | null\n value: string | number | boolean\n }>\n}\n\nfunction serializeStatesPayload(\n payload: EmployeeStateTaxesFormOutputs,\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): EmployeeStateTaxesRequestState[] {\n const { states: statesPayload } = payload\n if (Object.keys(statesPayload).length === 0) return []\n\n const result: EmployeeStateTaxesRequestState[] = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n if (!stateName || state.questions === undefined) continue\n\n const serialized: SerializedQuestion[] = []\n for (const question of state.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n\n const formValue = (statesPayload[stateName] as Record<string, unknown> | undefined)?.[\n snakeCaseToCamelCase(question.key)\n ]\n\n let serializedValue: string | number | boolean\n if (formValue === undefined || formValue === null) {\n serializedValue = ''\n } else if (typeof formValue === 'number' && Number.isNaN(formValue)) {\n serializedValue = ''\n } else if (formValue instanceof Date) {\n if (Number.isNaN(formValue.getTime())) {\n serializedValue = ''\n } else {\n serializedValue = formValue.toISOString().split('T')[0] ?? ''\n }\n } else {\n serializedValue = formValue as string | number | boolean\n }\n\n serialized.push({\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value: serializedValue,\n },\n ],\n })\n }\n\n result.push({ state: stateName, questions: serialized })\n }\n\n return result\n}\n\n/**\n * Static field metadata keyed by full form path (`states.<STATE>.<camelKey>`),\n * with `isRequired` / `isDisabled` and option lists.\n *\n * @public\n */\nexport type EmployeeStateTaxesFieldsMetadata =\n UseEmployeeStateTaxesFormReady['form']['fieldsMetadata']\n\n/**\n * The array of per-state field groups exposed by\n * {@link useEmployeeStateTaxesForm} on `form.Fields`.\n *\n * @public\n */\nexport type EmployeeStateTaxesFormFields = UseEmployeeStateTaxesFormReady['form']['Fields']\n"],"names":["DEFAULT_TAX_VALID_FROM","useEmployeeStateTaxesForm","employeeId","isAdmin","validationMode","shouldFocusError","stateTaxesQuery","useEmployeeTaxSetupGetStateTaxes","employeeStateTaxes","useMemo","schema","metadataConfig","createEmployeeStateTaxesSchema","fieldsArray","createStateFields","resolvedDefaults","deriveDefaultValues","formMethods","useForm","zodResolver","updateStateTaxes","isPending","useEmployeeTaxSetupUpdateStateTaxesMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","fieldsMetadata","useDeriveFieldsMetadata","onSubmit","submitResult","resolve","data","payload","requestStates","serializeStatesPayload","updated","SDKInternalError","hookFormInternals","useHookFormInternals","createGetFormSubmissionValues","states","stateGroup","stateValues","question","formKey","snakeCaseToCamelCase","wireValue","resolveDefaultForQuestion","getQuestionVariant","trimmed","parsed","statesPayload","result","state","stateName","serialized","formValue","serializedValue"],"mappings":"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"}
@@ -31,6 +31,7 @@ export interface TerminateEmployeeFormData {
31
31
  * the summary view (via the `employee/termination/viewSummary` event) when the
32
32
  * employee is already terminated.
33
33
  *
34
+ * @events
34
35
  * | Event | Description | Data |
35
36
  * | ----- | ----------- | ---- |
36
37
  * | `employee/termination/created` | Fired when a new termination is created | `{ employeeId: string, effectiveDate: string, payrollOption: PayrollOption }` |