@gusto/embedded-react-sdk 0.57.3 → 0.58.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 (264) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.js +98 -66
  3. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  4. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +11 -9
  5. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +86 -75
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/DataView/DataView.js.map +1 -1
  9. package/dist/components/Common/DataView/getSortControls.js +22 -0
  10. package/dist/components/Common/DataView/getSortControls.js.map +1 -0
  11. package/dist/components/Common/DataView/useDataView.js +30 -24
  12. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  13. package/dist/components/Common/UI/Table/Table.js +65 -25
  14. package/dist/components/Common/UI/Table/Table.js.map +1 -1
  15. package/dist/components/Common/UI/Table/Table.module.scss.js +8 -4
  16. package/dist/components/Common/UI/Table/Table.module.scss.js.map +1 -1
  17. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  19. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  20. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  21. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  23. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  24. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  25. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  26. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  27. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  28. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  29. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  30. package/dist/components/Company/Industry/Context.js +6 -7
  31. package/dist/components/Company/Industry/Context.js.map +1 -1
  32. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  33. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  34. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  35. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  36. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  37. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  38. package/dist/components/Company/PaySchedule/PaySchedule.js +30 -45
  39. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  40. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +11 -12
  41. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  42. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  43. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +78 -83
  45. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  46. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  47. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  48. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  49. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  50. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -4
  51. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  52. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +45 -54
  53. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
  54. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +17 -22
  55. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
  56. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +1 -0
  57. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  58. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +122 -113
  59. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  60. package/dist/components/Contractor/ContractorList/shared/useContractorList.js +63 -54
  61. package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
  62. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js +39 -48
  63. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  64. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +76 -69
  65. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
  66. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +27 -29
  67. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  68. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +14 -12
  69. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
  70. package/dist/components/Contractor/shared/hourlyRate.js +14 -0
  71. package/dist/components/Contractor/shared/hourlyRate.js.map +1 -0
  72. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +63 -63
  73. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  74. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  75. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  76. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +65 -74
  77. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  78. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +16 -16
  79. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  80. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  81. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  82. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +84 -82
  83. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  84. package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js +8 -0
  85. package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js.map +1 -0
  86. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +91 -88
  87. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  88. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +16 -16
  89. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  90. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +146 -134
  91. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  92. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +14 -12
  93. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js.map +1 -1
  94. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +34 -33
  95. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  96. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +49 -48
  97. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  98. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  99. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +0 -4
  100. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  101. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  102. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +51 -38
  103. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  104. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +121 -102
  105. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  106. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  107. package/dist/components/Payroll/PayrollList/PayrollList.js +79 -74
  108. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  109. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +92 -83
  110. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  111. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +23 -27
  112. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  113. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +82 -75
  114. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  115. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js +416 -0
  116. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js.map +1 -0
  117. package/dist/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js → RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js} +1 -1
  118. package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js.map +1 -0
  119. package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js +97 -0
  120. package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js.map +1 -0
  121. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js +106 -0
  122. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js.map +1 -0
  123. package/dist/components/Payroll/{TransitionCreation/TransitionCreationPresentation.module.scss.js → TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js} +1 -1
  124. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js.map +1 -0
  125. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js +10 -0
  126. package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js.map +1 -0
  127. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +86 -64
  128. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  129. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +126 -77
  130. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
  131. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js +8 -0
  132. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js.map +1 -0
  133. package/dist/components/Payroll/index.js +16 -20
  134. package/dist/components/Payroll/index.js.map +1 -1
  135. package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
  136. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  137. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +11 -14
  138. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  139. package/dist/contexts/ApiProvider/ApiProvider.js +18 -17
  140. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  141. package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js +31 -0
  142. package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js.map +1 -0
  143. package/dist/contexts/FeaturesProvider/FeaturesProvider.js +14 -0
  144. package/dist/contexts/FeaturesProvider/FeaturesProvider.js.map +1 -0
  145. package/dist/contexts/FeaturesProvider/useFeature.js +7 -0
  146. package/dist/contexts/FeaturesProvider/useFeature.js.map +1 -0
  147. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +32 -30
  148. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  149. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  150. package/dist/i18n/I18n.js +2 -3
  151. package/dist/i18n/I18n.js.map +1 -1
  152. package/dist/i18n/en/Contractor.Profile.json.js +1 -1
  153. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +29 -23
  154. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  155. package/dist/i18n/en/Payroll.PayrollLanding.json.js +1 -1
  156. package/dist/i18n/en/{Payroll.UNSTABLE_PayrollEditEmployee.json.js → Payroll.RropPayrollEditEmployee.json.js} +42 -38
  157. package/dist/i18n/en/Payroll.RropPayrollEditEmployee.json.js.map +1 -0
  158. package/dist/i18n/en/Payroll.TransitionConfiguration.json.js +28 -0
  159. package/dist/i18n/en/Payroll.TransitionConfiguration.json.js.map +1 -0
  160. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +16 -12
  161. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -1
  162. package/dist/i18n/en/common.json.js +1 -1
  163. package/dist/package.json.js +1 -1
  164. package/dist/partner-hook-utils/form/composeSubmitHandler.js +55 -48
  165. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  166. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +31 -29
  167. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  168. package/dist/shared/constants.js +2 -1
  169. package/dist/shared/constants.js.map +1 -1
  170. package/dist/src/components/Common/DataView/DataCards/DataCards.d.ts +3 -1
  171. package/dist/src/components/Common/DataView/DataTable/DataTable.d.ts +3 -1
  172. package/dist/src/components/Common/DataView/DataView.d.ts +2 -0
  173. package/dist/src/components/Common/DataView/getSortControls.d.ts +24 -0
  174. package/dist/src/components/Common/DataView/useDataView.d.ts +22 -1
  175. package/dist/src/components/Common/UI/Table/TableTypes.d.ts +71 -2
  176. package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +1 -9
  177. package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +0 -1
  178. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
  179. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -1
  180. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +3 -14
  181. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +2 -2
  182. package/dist/src/components/Contractor/ContractorList/shared/index.d.ts +1 -1
  183. package/dist/src/components/Contractor/ContractorList/shared/useContractorList.d.ts +38 -0
  184. package/dist/src/components/Contractor/shared/hourlyRate.d.ts +23 -0
  185. package/dist/src/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.d.ts +9 -0
  186. package/dist/src/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +3 -1
  187. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +2 -0
  188. package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +8 -6
  189. package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +0 -8
  190. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +5 -3
  191. package/dist/src/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -3
  192. package/dist/src/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +1 -1
  193. package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +18 -5
  194. package/dist/src/components/Payroll/PayrollList/PayrollList.d.ts +11 -5
  195. package/dist/src/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts → RropPayrollEditEmployee/RropPayrollEditEmployee.d.ts} +9 -5
  196. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfiguration.d.ts +55 -0
  197. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.d.ts +9 -0
  198. package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.d.ts +52 -0
  199. package/dist/src/components/Payroll/TransitionConfiguration/index.d.ts +2 -0
  200. package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -2
  201. package/dist/src/components/Payroll/index.d.ts +2 -6
  202. package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.d.ts +14 -0
  203. package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.test.d.ts +1 -0
  204. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -1
  205. package/dist/src/contexts/FeaturesProvider/FeaturesProvider.d.ts +21 -0
  206. package/dist/src/contexts/FeaturesProvider/useFeature.d.ts +53 -0
  207. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +3 -0
  208. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +38 -10
  209. package/dist/src/contexts/index.d.ts +1 -0
  210. package/dist/src/i18n/en/common.json.d.ts +5 -1
  211. package/dist/src/i18n/types.d.ts +113 -66
  212. package/dist/src/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +9 -7
  213. package/dist/src/shared/constants.d.ts +4 -2
  214. package/dist/src/test-utils/renderWithProviders.d.ts +2 -0
  215. package/dist/style.css +1 -1
  216. package/docs/guides/endpoint-inventory.json +24 -27
  217. package/package.json +15 -14
  218. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +0 -29
  219. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +0 -1
  220. package/dist/components/Payroll/Transition/TransitionFlow.js +0 -60
  221. package/dist/components/Payroll/Transition/TransitionFlow.js.map +0 -1
  222. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +0 -31
  223. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +0 -1
  224. package/dist/components/Payroll/Transition/transitionStateMachine.js +0 -49
  225. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +0 -1
  226. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +0 -100
  227. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +0 -1
  228. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +0 -110
  229. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +0 -1
  230. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +0 -1
  231. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +0 -21
  232. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +0 -1
  233. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +0 -48
  234. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +0 -1
  235. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +0 -35
  236. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +0 -1
  237. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +0 -23
  238. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +0 -1
  239. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +0 -29
  240. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +0 -1
  241. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +0 -411
  242. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +0 -1
  243. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +0 -1
  244. package/dist/i18n/en/Payroll.Transition.json.js +0 -8
  245. package/dist/i18n/en/Payroll.Transition.json.js.map +0 -1
  246. package/dist/i18n/en/Payroll.TransitionCreation.json.js +0 -26
  247. package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +0 -1
  248. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +0 -1
  249. package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +0 -7
  250. package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +0 -55
  251. package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +0 -52
  252. package/dist/src/components/Payroll/Transition/index.d.ts +0 -2
  253. package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +0 -29
  254. package/dist/src/components/Payroll/TransitionCreation/TransitionCreation.d.ts +0 -22
  255. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +0 -9
  256. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +0 -57
  257. package/dist/src/components/Payroll/TransitionCreation/index.d.ts +0 -2
  258. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +0 -55
  259. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +0 -24
  260. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +0 -23
  261. package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +0 -2
  262. package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +0 -15
  263. package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +0 -28
  264. /package/dist/src/components/{Payroll/Transition/transitionStateMachine.test.d.ts → Common/DataView/getSortControls.test.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- const e = "Edit payroll for {{employeeName}}", t = "{{firstName}} {{lastName}}", n = "Regular and overtime hours", o = "Regular hours", r = "Add overtime", i = "When adding overtime hours, you must record hours and earnings by work week so {{employeeName}}'s pay is calculated correctly.", s = "Hours", m = "Save", a = "Cancel", u = "Hour type", l = "Type", c = "Amount", p = "Hours", d = { regularHours: "Regular Hours", overtime: "Overtime", doubleOvertime: "Double overtime" }, b = "Time off", y = "Time off hours used this pay period", h = "Unused time off payout", f = "Enter the unused hours to pay out on the final paycheck. This is separate from time off hours used during the pay period.", g = { remaining: "{{balance}} remaining" }, v = "Additional earnings", T = "Certain types of additional earnings affect the overtime premium (the multiplier used to calculate OT rates).", C = "Only additional earnings attributable to this pay period should be entered below. These amounts will be included in the overtime premium calculations on this payroll. Employee earnings attributable to any period of time different than this pay period (such as a quarterly or annual bonus) should be entered as a separate off-cycle payroll specifying the relevant dates.", A = "Included in overtime multiplier calculation", R = "Not a factor for overtime calculation", k = "Reimbursements", E = "Description", O = "e.g., Office supplies", D = "Amount", L = "Reimbursement", w = "Reimbursements", H = "Description", N = "Amount", P = "Type", M = "Recurring", x = "One-time", q = "No reimbursements", U = "Add one-time reimbursement", W = "Add one-time reimbursement", B = "Save reimbursement", S = "Cancel reimbursement", G = "Remove {{description}} reimbursement", I = "{{description}} (recurring reimbursement)", _ = "Recurring reimbursements are managed outside of payroll.", z = { bonus: "Bonus", paycheckTips: "Paycheck tips", correctionPayment: "Correction payment", commission: "Commission", cashTips: "Cash tips", reimbursement: "Reimbursement" }, F = "Payment", j = "Payment method", J = "Changing the default payment method will only apply to this payroll.", K = { directDeposit: "Direct deposit", check: "Check" }, Q = { reimbursementAmount: "Amount must be greater than zero", maxReimbursementAmount: "Amount must be less than or equal to 1,000,000", negativeAmount: "Amount cannot be negative", requiredWorkweek: "Enter an amount for every workweek", maxHours: "Hours must be less than or equal to 99,999" }, V = {
1
+ const e = "Edit payroll for {{employeeName}}", t = "{{firstName}} {{lastName}}", n = "Regular and overtime hours", o = "Regular hours", r = "Add overtime", i = "When adding overtime hours, you must record hours and earnings by work week so {{employeeName}}'s pay is calculated correctly.", s = "Hours", a = "Save", m = "Cancel", u = "Hour type", l = "Type", c = "Amount", p = "Hours", d = { regularHours: "Regular Hours", overtime: "Overtime", doubleOvertime: "Double overtime" }, b = "Time off", y = "Time off hours used this pay period", h = "Unused time off payout", f = "Enter the unused hours to pay out on the final paycheck. This is separate from time off hours used during the pay period.", g = { remaining: "{{balance}} remaining" }, v = "Additional earnings", T = "Certain types of additional earnings affect the overtime premium (the multiplier used to calculate OT rates).", C = "Only additional earnings attributable to this pay period should be entered below. These amounts will be included in the overtime premium calculations on this payroll. Employee earnings attributable to any period of time different than this pay period (such as a quarterly or annual bonus) should be entered as a separate off-cycle payroll specifying the relevant dates.", R = "Included in overtime multiplier calculation", A = "Not a factor for overtime calculation", k = "Reimbursements", E = "Description", O = "e.g., Office supplies", D = "Amount", H = "Reimbursement", L = "Reimbursements", P = "Description", w = "Amount", N = "Type", M = "Recurring", x = "One-time", q = "No reimbursements", W = "Add one-time reimbursement", U = "Add one-time reimbursement", B = "Save reimbursement", G = "Cancel reimbursement", I = "Remove {{description}} reimbursement", S = "{{description}} (recurring reimbursement)", z = "Recurring reimbursements are managed outside of payroll.", F = { bonus: "Bonus", paycheckTips: "Paycheck tips", correctionPayment: "Correction payment", commission: "Commission", cashTips: "Cash tips", reimbursement: "Reimbursement" }, _ = "Payment", j = "Payment method", J = "Changing the default payment method will only apply to this payroll.", K = { directDeposit: "Direct deposit", check: "Check" }, Q = { reimbursementAmount: "Amount must be greater than zero", maxReimbursementAmount: "Amount must be less than or equal to 1,000,000", negativeAmount: "Amount cannot be negative", requiredWorkweek: "Enter an amount for every workweek", maxHours: "Hours must be less than or equal to 99,999" }, V = "Preapproved hours", X = "Additional hours", Y = {
2
2
  pageTitle: e,
3
3
  breadcrumbLabel: t,
4
4
  regularHoursTitle: n,
@@ -6,8 +6,8 @@ const e = "Edit payroll for {{employeeName}}", t = "{{firstName}} {{lastName}}",
6
6
  addOvertimeCta: r,
7
7
  overtimeWorkweekAlert: i,
8
8
  hoursUnit: s,
9
- saveCta: m,
10
- cancelCta: a,
9
+ saveCta: a,
10
+ cancelCta: m,
11
11
  hourTypeColumn: u,
12
12
  typeColumn: l,
13
13
  amountColumn: c,
@@ -21,53 +21,56 @@ const e = "Edit payroll for {{employeeName}}", t = "{{firstName}} {{lastName}}",
21
21
  additionalEarningsTitle: v,
22
22
  overtimeMultiplierEarningsAlert: T,
23
23
  overtimeMultiplierEarningsAlertDescription: C,
24
- overtimeIncludedEarningsGroupLabel: A,
25
- overtimeExcludedEarningsGroupLabel: R,
24
+ overtimeIncludedEarningsGroupLabel: R,
25
+ overtimeExcludedEarningsGroupLabel: A,
26
26
  reimbursementTitle: k,
27
27
  reimbursementDescriptionLabel: E,
28
28
  reimbursementDescriptionPlaceholder: O,
29
29
  reimbursementAmountLabel: D,
30
- reimbursementUnnamedFallback: L,
31
- reimbursementsTableLabel: w,
32
- reimbursementDescriptionColumn: H,
33
- reimbursementAmountColumn: N,
34
- reimbursementTypeColumn: P,
30
+ reimbursementUnnamedFallback: H,
31
+ reimbursementsTableLabel: L,
32
+ reimbursementDescriptionColumn: P,
33
+ reimbursementAmountColumn: w,
34
+ reimbursementTypeColumn: N,
35
35
  reimbursementTypeRecurring: M,
36
36
  reimbursementTypeOneTime: x,
37
37
  reimbursementEmptyTitle: q,
38
- addReimbursementCta: U,
39
- addReimbursementLink: W,
38
+ addReimbursementCta: W,
39
+ addReimbursementLink: U,
40
40
  saveReimbursementCta: B,
41
- cancelReimbursementCta: S,
42
- removeReimbursementLabel: G,
43
- recurringReimbursementLabel: I,
44
- recurringReimbursementTooltip: _,
45
- fixedCompensationNames: z,
46
- paymentMethodTitle: F,
41
+ cancelReimbursementCta: G,
42
+ removeReimbursementLabel: I,
43
+ recurringReimbursementLabel: S,
44
+ recurringReimbursementTooltip: z,
45
+ fixedCompensationNames: F,
46
+ paymentMethodTitle: _,
47
47
  paymentMethodLabel: j,
48
48
  paymentMethodDescription: J,
49
49
  paymentMethodOptions: K,
50
- validations: Q
50
+ validations: Q,
51
+ preapprovedHoursColumn: V,
52
+ additionalHoursColumn: X
51
53
  };
52
54
  export {
53
55
  r as addOvertimeCta,
54
- U as addReimbursementCta,
55
- W as addReimbursementLink,
56
+ W as addReimbursementCta,
57
+ U as addReimbursementLink,
56
58
  v as additionalEarningsTitle,
59
+ X as additionalHoursColumn,
57
60
  c as amountColumn,
58
61
  t as breadcrumbLabel,
59
- a as cancelCta,
60
- S as cancelReimbursementCta,
62
+ m as cancelCta,
63
+ G as cancelReimbursementCta,
61
64
  d as compensationNames,
62
- V as default,
65
+ Y as default,
63
66
  f as finalPayoutDescription,
64
67
  h as finalPayoutTitle,
65
- z as fixedCompensationNames,
68
+ F as fixedCompensationNames,
66
69
  u as hourTypeColumn,
67
70
  p as hoursColumn,
68
71
  s as hoursUnit,
69
- R as overtimeExcludedEarningsGroupLabel,
70
- A as overtimeIncludedEarningsGroupLabel,
72
+ A as overtimeExcludedEarningsGroupLabel,
73
+ R as overtimeIncludedEarningsGroupLabel,
71
74
  T as overtimeMultiplierEarningsAlert,
72
75
  C as overtimeMultiplierEarningsAlertDescription,
73
76
  i as overtimeWorkweekAlert,
@@ -75,25 +78,26 @@ export {
75
78
  J as paymentMethodDescription,
76
79
  j as paymentMethodLabel,
77
80
  K as paymentMethodOptions,
78
- F as paymentMethodTitle,
79
- I as recurringReimbursementLabel,
80
- _ as recurringReimbursementTooltip,
81
+ _ as paymentMethodTitle,
82
+ V as preapprovedHoursColumn,
83
+ S as recurringReimbursementLabel,
84
+ z as recurringReimbursementTooltip,
81
85
  n as regularHoursTitle,
82
86
  o as regularHoursTitleWithoutOvertime,
83
- N as reimbursementAmountColumn,
87
+ w as reimbursementAmountColumn,
84
88
  D as reimbursementAmountLabel,
85
- H as reimbursementDescriptionColumn,
89
+ P as reimbursementDescriptionColumn,
86
90
  E as reimbursementDescriptionLabel,
87
91
  O as reimbursementDescriptionPlaceholder,
88
92
  q as reimbursementEmptyTitle,
89
93
  k as reimbursementTitle,
90
- P as reimbursementTypeColumn,
94
+ N as reimbursementTypeColumn,
91
95
  x as reimbursementTypeOneTime,
92
96
  M as reimbursementTypeRecurring,
93
- L as reimbursementUnnamedFallback,
94
- w as reimbursementsTableLabel,
95
- G as removeReimbursementLabel,
96
- m as saveCta,
97
+ H as reimbursementUnnamedFallback,
98
+ L as reimbursementsTableLabel,
99
+ I as removeReimbursementLabel,
100
+ a as saveCta,
97
101
  B as saveReimbursementCta,
98
102
  g as timeOffBalance,
99
103
  b as timeOffTitle,
@@ -101,4 +105,4 @@ export {
101
105
  l as typeColumn,
102
106
  Q as validations
103
107
  };
104
- //# sourceMappingURL=Payroll.UNSTABLE_PayrollEditEmployee.json.js.map
108
+ //# sourceMappingURL=Payroll.RropPayrollEditEmployee.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payroll.RropPayrollEditEmployee.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ const e = "Edit transition payroll", t = "A transition payroll covers the gap between your old and new pay schedules.", a = "When a pay schedule changes, there may be workdays that fall between the end of the old schedule and the start of the new one. This transition payroll ensures employees are paid for those days.", n = "Transition Details", s = "Pay period", o = "Pay schedule", i = "Payment date", l = "Continue", r = { noEmployeeCompensations: "This transition payroll has no employees to update, so its settings could not be saved." }, c = { title: "Deductions and contributions", description: "Employers often block deductions and contributions from certain checks (i.e. bonus checks), since they are calculated on a per-pay-period basis. Deductions and contributions include loan repayments, garnishments, benefits, etc. Taxes will be included regardless of what is chosen.", options: { include: "Make all the regular deductions and contributions.", skip: "Block all deductions and contributions, except 401(k). Taxes will be included." } }, d = { regular: { label: "Regular hours, regular wages, and tips", description: "These earnings should be taxed at a rate that matches your employees' regular pay schedule." }, supplemental: { label: "Supplemental wages, bonus wages, commission", description: "These are typically taxed at the rate required by the IRS for federal income taxes and by the state for state income taxes." }, reimbursement: { label: "Reimbursements" } }, u = {
2
+ pageTitle: e,
3
+ pageDescription: t,
4
+ transitionExplanation: a,
5
+ detailsHeading: n,
6
+ payPeriodLabel: s,
7
+ payScheduleLabel: o,
8
+ checkDateLabel: i,
9
+ continueCta: l,
10
+ errors: r,
11
+ deductions: c,
12
+ wageTypeGroups: d
13
+ };
14
+ export {
15
+ i as checkDateLabel,
16
+ l as continueCta,
17
+ c as deductions,
18
+ u as default,
19
+ n as detailsHeading,
20
+ r as errors,
21
+ t as pageDescription,
22
+ e as pageTitle,
23
+ s as payPeriodLabel,
24
+ o as payScheduleLabel,
25
+ a as transitionExplanation,
26
+ d as wageTypeGroups
27
+ };
28
+ //# sourceMappingURL=Payroll.TransitionConfiguration.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payroll.TransitionConfiguration.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,18 +1,22 @@
1
- const o = "Transition payroll - {{dateRange}}", e = "Because you changed your pay schedule, you'll need to run some transition payrolls. Transition payrolls let you pay employees for any workdays during gaps between pay schedules. You may choose to skip them, but it is your responsibility to ensure employees are paid properly. Regular payroll functionality is blocked until you either run or skip transition payrolls.", l = "Run Transition Payroll", i = "Skip this payroll", r = "Transition payroll skipped", a = { title: "Skip {{dateRange}} transition payroll?", body: "Skipping this payroll means employees will not be paid for the transition period. It is your responsibility to ensure employees are paid properly.", confirmCta: "Skip payroll", cancelCta: "Cancel" }, t = {
1
+ const o = "Transition payroll - {{dateRange}}", e = "You have {{count}} transition payrolls to run or skip", l = "Because you changed your pay schedule, you'll need to run some transition payrolls. Transition payrolls let you pay employees for any workdays during gaps between pay schedules. You may choose to skip them, but it is your responsibility to ensure employees are paid properly. Regular payroll functionality is blocked until you either run or skip transition payrolls.", i = "Run Transition Payroll", t = "Review and submit", r = "Skip this payroll", a = "Transition payroll skipped", s = { title: "Skip {{dateRange}} transition payroll?", body: "Skipping this payroll means employees will not be paid for the transition period. It is your responsibility to ensure employees are paid properly.", confirmCta: "Skip payroll", cancelCta: "Cancel" }, n = {
2
2
  alertTitle: o,
3
- alertDescription: e,
4
- runPayroll: l,
5
- skipPayroll: i,
6
- skipSuccessAlert: r,
7
- skipDialog: a
3
+ multipleAlertTitle: e,
4
+ alertDescription: l,
5
+ runPayroll: i,
6
+ reviewPayroll: t,
7
+ skipPayroll: r,
8
+ skipSuccessAlert: a,
9
+ skipDialog: s
8
10
  };
9
11
  export {
10
- e as alertDescription,
12
+ l as alertDescription,
11
13
  o as alertTitle,
12
- t as default,
13
- l as runPayroll,
14
- a as skipDialog,
15
- i as skipPayroll,
16
- r as skipSuccessAlert
14
+ n as default,
15
+ e as multipleAlertTitle,
16
+ t as reviewPayroll,
17
+ i as runPayroll,
18
+ s as skipDialog,
19
+ r as skipPayroll,
20
+ a as skipSuccessAlert
17
21
  };
18
22
  //# sourceMappingURL=Payroll.TransitionPayrollAlert.json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Payroll.TransitionPayrollAlert.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"Payroll.TransitionPayrollAlert.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- const e = { loading: "Loading component...", loadingOptions: "Loading options...", requiredField: "is a required field", errorEncountered: "There was a problem with your submission", multipleErrorsEncountered: "There were multiple problems with your submission" }, o = { defaultTitle: "Document" }, n = "Select an option...", t = "You are on step {{currentStep}} of {{totalSteps}}", i = "Back", r = { errorHeading: "Error", globalReactError: "Error while rendering SDK component: {{error}}", resetGlobalError: "Try again", unknownError: "Unknown Error", missingParamsOrContext: "{{component}} is missing {{param}} parameter or is used outside {{provider}}", unhandledEvent: "Unhandled event type: {{event}}", unknownEventType: "Unprocessed event type", ensureRequired: "Required prop is missing" }, a = { completedStep: "Completed step", selectArrow: "Show options", calendarArrow: "Show calendar", nextMonth: "Show next month", previousMonth: "Show previous month", paginationFirst: "Navigate to first page", paginationPrev: "Navigate to previous page", paginationNext: "Navigate to next page", paginationLast: "Navigate to last page" }, s = { paginationControlCountLabel: "Items per page", paginationFetchingLabel: "Fetching data...", openMenu: "Open menu", menuLabel: "Menu", tabNavigation: "Tab navigation", selectedItems: "Selected {{label}}", removeItem: "Remove {{label}}" }, d = { contractor: { undefined: "N/A", admin_onboarding_incomplete: "Admin-onboarding Incomplete", admin_onboarding_review: "Admin-onboarding review", onboarding_completed: "Completed", self_onboarding_not_invited: "Self-onboarding: Not Invited", self_onboarding_invited: "Self-onboarding: Invited", self_onboarding_started: "Self-onboarding started", self_onboarding_review: "Self-onboarding: Review" }, employee: { undefined: "N/A", admin_onboarding_incomplete: "Admin-onboarding Incomplete", onboarding_completed: "Completed", self_onboarding_pending_invite: "Self-onboarding: Pending Invite", self_onboarding_invited: "Self-onboarding: Invited", self_onboarding_invited_started: "Self-onboarding started", self_onboarding_invited_overdue: "Self-onboarding: Overdue", self_onboarding_completed_by_employee: "Self-onboarding: Completed", self_onboarding_awaiting_admin_review: "Self-onboarding: Admin review" } }, l = { ssn: { placeholder: "***-**-****" }, ein: { placeholder: "**-*******" }, workersCompensationRatePerHourAdornment: "/hr" }, m = { hourly: "{{amount}}/hr", weekly: "{{amount}}/yr", monthly: "{{amount}}/yr", yearly: "{{amount}}/yr", paycheck: "{{amount}}/paycheck" }, c = { hourly: "{{amount}} per hour", weekly: "{{amount}} per week", monthly: "{{amount}} per month", yearly: "{{amount}} per year", paycheck: "{{amount}} per paycheck" }, p = { accountName: "Account name is required", routingNumber: "Routing number should be a number (9 digits)", accountNumber: "Account number is a required field", ssn: "The SSN must be exactly 9 digits long, cannot contain all zeros in any group, and the first three digits cannot be '666' or in the range 900–999.", ssnRequired: "Social Security Number is required", location: "Location is not valid", dob: "Date of birth is required", percentageMin: "Minimum value is {{min}}%", percentageMax: "Maximum value is {{max}}%" }, g = { AL: "Alabama", AK: "Alaska", AZ: "Arizona", AR: "Arkansas", CA: "California", CO: "Colorado", CT: "Connecticut", DE: "Delaware", DC: "District of Columbia", FL: "Florida", GA: "Georgia", HI: "Hawaii", ID: "Idaho", IL: "Illinois", IN: "Indiana", IA: "Iowa", KS: "Kansas", KY: "Kentucky", LA: "Louisiana", ME: "Maine", MD: "Maryland", MA: "Massachusetts", MI: "Michigan", MN: "Minnesota", MS: "Mississippi", MO: "Missouri", MT: "Montana", NE: "Nebraska", NV: "Nevada", NH: "New Hampshire", NJ: "New Jersey", NM: "New Mexico", NY: "New York", NC: "North Carolina", ND: "North Dakota", OH: "Ohio", OK: "Oklahoma", OR: "Oregon", PA: "Pennsylvania", RI: "Rhode Island", SC: "South Carolina", SD: "South Dakota", TN: "Tennessee", TX: "Texas", UT: "Utah", VT: "Vermont", VA: "Virginia", WA: "Washington", WV: "West Virginia", WI: "Wisconsin", WY: "Wyoming" }, u = { selectRowHeader: "Select row", selectRowLabel: "Select row", selectAllRowsLabel: "Select all rows", actionsColumnHeader: "Actions" }, b = { selectRowLabel: "Select row", selectAllRowsLabel: "Select all rows" }, h = { owner: "Owner", president: "President", vice_president: "Vice President", treasurer: "Treasurer", corporate_officer: "Corporate Officer", partner: "Partner", member: "Member" }, v = { uploadInstructions: "<clickToUpload>Click to upload</clickToUpload> or drag and drop", acceptedTypes: "Only {{types}} files are permitted", removeFile: "Remove file" }, f = { itemMovedDown: "Item {{item}} moved down to position {{position}} of {{total}}", itemMovedUp: "Item {{item}} moved up to position {{position}} of {{total}}", dragStarted: "Started dragging item {{item}}", dragEnded: "Finished dragging item {{item}}", movedUp: "Item {{item}} moved up to position {{position}} of {{total}}", movedDown: "Item {{item}} moved down to position {{position}} of {{total}}", reorderingCanceled: "Reordering mode canceled for item {{item}}", reorderingExited: "Exited reordering mode for item {{item}}", reorderingStarted: "Entered reordering mode for item {{item}}. Use arrow keys to move, Escape to cancel, or Space to finish.", reorderingComplete: "Reordering complete for item {{item}}", draggableLabel: "Press Space or Enter to start reordering item {{item}}", draggableLabelActive: "Press arrow keys to move item {{item}}, or press Space/Enter to finish reordering", draggablePosition: "Item {{item}} at position {{position}} of {{total}}", item: "Item {{position}}", dropItemHere: "Drop item here", draggableItem: "Draggable item" }, w = {
1
+ const e = { loading: "Loading component...", loadingOptions: "Loading options...", requiredField: "is a required field", errorEncountered: "There was a problem with your submission", multipleErrorsEncountered: "There were multiple problems with your submission" }, o = { defaultTitle: "Document" }, n = "Select an option...", t = "You are on step {{currentStep}} of {{totalSteps}}", i = "Back", r = { errorHeading: "Error", globalReactError: "Error while rendering SDK component: {{error}}", resetGlobalError: "Try again", unknownError: "Unknown Error", missingParamsOrContext: "{{component}} is missing {{param}} parameter or is used outside {{provider}}", unhandledEvent: "Unhandled event type: {{event}}", unknownEventType: "Unprocessed event type", ensureRequired: "Required prop is missing" }, a = { completedStep: "Completed step", selectArrow: "Show options", calendarArrow: "Show calendar", nextMonth: "Show next month", previousMonth: "Show previous month", paginationFirst: "Navigate to first page", paginationPrev: "Navigate to previous page", paginationNext: "Navigate to next page", paginationLast: "Navigate to last page" }, s = { paginationControlCountLabel: "Items per page", paginationFetchingLabel: "Fetching data...", openMenu: "Open menu", menuLabel: "Menu", tabNavigation: "Tab navigation", selectedItems: "Selected {{label}}", removeItem: "Remove {{label}}" }, d = { contractor: { undefined: "N/A", admin_onboarding_incomplete: "Admin-onboarding Incomplete", admin_onboarding_review: "Admin-onboarding review", onboarding_completed: "Completed", self_onboarding_not_invited: "Self-onboarding: Not Invited", self_onboarding_invited: "Self-onboarding: Invited", self_onboarding_started: "Self-onboarding started", self_onboarding_review: "Self-onboarding: Review" }, employee: { undefined: "N/A", admin_onboarding_incomplete: "Admin-onboarding Incomplete", onboarding_completed: "Completed", self_onboarding_pending_invite: "Self-onboarding: Pending Invite", self_onboarding_invited: "Self-onboarding: Invited", self_onboarding_invited_started: "Self-onboarding started", self_onboarding_invited_overdue: "Self-onboarding: Overdue", self_onboarding_completed_by_employee: "Self-onboarding: Completed", self_onboarding_awaiting_admin_review: "Self-onboarding: Admin review" } }, l = { ssn: { placeholder: "***-**-****" }, ein: { placeholder: "**-*******" }, workersCompensationRatePerHourAdornment: "/hr" }, m = { hourly: "{{amount}}/hr", weekly: "{{amount}}/yr", monthly: "{{amount}}/yr", yearly: "{{amount}}/yr", paycheck: "{{amount}}/paycheck" }, c = { hourly: "{{amount}} per hour", weekly: "{{amount}} per week", monthly: "{{amount}} per month", yearly: "{{amount}} per year", paycheck: "{{amount}} per paycheck" }, p = { accountName: "Account name is required", routingNumber: "Routing number should be a number (9 digits)", accountNumber: "Account number is a required field", ssn: "The SSN must be exactly 9 digits long, cannot contain all zeros in any group, and the first three digits cannot be '666' or in the range 900–999.", ssnRequired: "Social Security Number is required", location: "Location is not valid", dob: "Date of birth is required", percentageMin: "Minimum value is {{min}}%", percentageMax: "Maximum value is {{max}}%" }, g = { AL: "Alabama", AK: "Alaska", AZ: "Arizona", AR: "Arkansas", CA: "California", CO: "Colorado", CT: "Connecticut", DE: "Delaware", DC: "District of Columbia", FL: "Florida", GA: "Georgia", HI: "Hawaii", ID: "Idaho", IL: "Illinois", IN: "Indiana", IA: "Iowa", KS: "Kansas", KY: "Kentucky", LA: "Louisiana", ME: "Maine", MD: "Maryland", MA: "Massachusetts", MI: "Michigan", MN: "Minnesota", MS: "Mississippi", MO: "Missouri", MT: "Montana", NE: "Nebraska", NV: "Nevada", NH: "New Hampshire", NJ: "New Jersey", NM: "New Mexico", NY: "New York", NC: "North Carolina", ND: "North Dakota", OH: "Ohio", OK: "Oklahoma", OR: "Oregon", PA: "Pennsylvania", RI: "Rhode Island", SC: "South Carolina", SD: "South Dakota", TN: "Tennessee", TX: "Texas", UT: "Utah", VT: "Vermont", VA: "Virginia", WA: "Washington", WV: "West Virginia", WI: "Wisconsin", WY: "Wyoming" }, u = { selectRowHeader: "Select row", selectRowLabel: "Select row", selectAllRowsLabel: "Select all rows", actionsColumnHeader: "Actions" }, b = { selectRowLabel: "Select row", selectAllRowsLabel: "Select all rows", sortByLabel: "Sort by", sortDefaultOption: "Default order", sortAscendingOption: "{{column}} (A–Z)", sortDescendingOption: "{{column}} (Z–A)" }, h = { owner: "Owner", president: "President", vice_president: "Vice President", treasurer: "Treasurer", corporate_officer: "Corporate Officer", partner: "Partner", member: "Member" }, v = { uploadInstructions: "<clickToUpload>Click to upload</clickToUpload> or drag and drop", acceptedTypes: "Only {{types}} files are permitted", removeFile: "Remove file" }, f = { itemMovedDown: "Item {{item}} moved down to position {{position}} of {{total}}", itemMovedUp: "Item {{item}} moved up to position {{position}} of {{total}}", dragStarted: "Started dragging item {{item}}", dragEnded: "Finished dragging item {{item}}", movedUp: "Item {{item}} moved up to position {{position}} of {{total}}", movedDown: "Item {{item}} moved down to position {{position}} of {{total}}", reorderingCanceled: "Reordering mode canceled for item {{item}}", reorderingExited: "Exited reordering mode for item {{item}}", reorderingStarted: "Entered reordering mode for item {{item}}. Use arrow keys to move, Escape to cancel, or Space to finish.", reorderingComplete: "Reordering complete for item {{item}}", draggableLabel: "Press Space or Enter to start reordering item {{item}}", draggableLabelActive: "Press arrow keys to move item {{item}}, or press Space/Enter to finish reordering", draggablePosition: "Item {{item}} at position {{position}} of {{total}}", item: "Item {{position}}", dropItemHere: "Drop item here", draggableItem: "Draggable item" }, w = {
2
2
  status: e,
3
3
  documentEmbed: o,
4
4
  selectPlaceholder: n,
@@ -1,4 +1,4 @@
1
- const e = "@gusto/embedded-react-sdk", o = "0.57.3";
1
+ const e = "@gusto/embedded-react-sdk", o = "0.58.0";
2
2
  export {
3
3
  e as name,
4
4
  o as version
@@ -1,63 +1,70 @@
1
- import { composeErrorHandler as u } from "../composeErrorHandler.js";
2
- function f(e) {
3
- return "handleSubmit" in e && typeof e.handleSubmit == "function";
1
+ import { composeErrorHandler as h } from "../composeErrorHandler.js";
2
+ const m = /* @__PURE__ */ new WeakSet();
3
+ function u(t) {
4
+ return "handleSubmit" in t && typeof t.handleSubmit == "function";
4
5
  }
5
- function h(e) {
6
- return f(e) ? e : e.form.hookFormInternals.formMethods;
6
+ function g(t) {
7
+ return u(t) ? t : t.form.hookFormInternals.formMethods;
7
8
  }
8
- function g(e) {
9
- const i = [];
10
- for (const { input: n, formMethods: s, errors: o } of e) {
11
- if (f(n)) continue;
12
- const t = n.form.hookFormInternals._fieldElementRegistry;
13
- if (t)
14
- for (const r of Object.keys(o)) {
15
- const l = t.get(r);
16
- l && i.push({ formMethods: s, name: r, element: l });
9
+ function y(t) {
10
+ const a = [];
11
+ for (const { input: s, formMethods: i, errors: n } of t) {
12
+ if (u(s)) continue;
13
+ const o = s.form.hookFormInternals._fieldElementRegistry;
14
+ if (o)
15
+ for (const r of Object.keys(n)) {
16
+ const e = o.get(r);
17
+ e && a.push({ formMethods: i, name: r, element: e });
17
18
  }
18
19
  }
19
- if (i.length > 0) {
20
- i.sort((s, o) => {
21
- const t = s.element.getBoundingClientRect(), r = o.element.getBoundingClientRect();
22
- return t.top - r.top || t.left - r.left;
23
- }), i[0].element.focus();
20
+ if (a.length > 0) {
21
+ a.sort((i, n) => {
22
+ const o = i.element.getBoundingClientRect(), r = n.element.getBoundingClientRect();
23
+ return o.top - r.top || o.left - r.left;
24
+ }), a[0].element.focus();
24
25
  return;
25
26
  }
26
- for (const { formMethods: n, errors: s } of e) {
27
- const o = Object.keys(s)[0];
28
- if (o) {
29
- n.setFocus(o);
27
+ for (const { formMethods: s, errors: i } of t) {
28
+ const n = Object.keys(i)[0];
29
+ if (n) {
30
+ s.setFocus(n);
30
31
  return;
31
32
  }
32
33
  }
33
34
  }
34
- function F(e, i) {
35
- const n = e.filter((t) => !f(t)), s = async (t) => {
36
- t.preventDefault();
37
- const r = await Promise.all(
38
- e.map(
39
- (c) => new Promise((m) => {
40
- const a = h(c);
41
- a.handleSubmit(
42
- () => {
43
- m({ input: c, formMethods: a, valid: !0, errors: {} });
44
- },
45
- (d) => {
46
- m({ input: c, formMethods: a, valid: !1, errors: d });
47
- }
48
- )();
49
- })
50
- )
51
- );
52
- if (!r.every((c) => c.valid)) {
53
- g(r);
54
- return;
35
+ function v(t, a) {
36
+ const s = t.filter((o) => !u(o)), i = async (o) => {
37
+ o.preventDefault();
38
+ const r = t.map((e) => ({ input: e, formMethods: g(e) }));
39
+ if (!r.some(({ formMethods: e }) => m.has(e))) {
40
+ r.forEach(({ formMethods: e }) => m.add(e));
41
+ try {
42
+ const e = await Promise.all(
43
+ r.map(async ({ input: l, formMethods: c }) => {
44
+ let f = { input: l, formMethods: c, valid: !1, errors: {} };
45
+ return await c.handleSubmit(
46
+ () => {
47
+ f = { input: l, formMethods: c, valid: !0, errors: {} };
48
+ },
49
+ (d) => {
50
+ f = { input: l, formMethods: c, valid: !1, errors: d };
51
+ }
52
+ )(), f;
53
+ })
54
+ );
55
+ if (!e.every((l) => l.valid)) {
56
+ y(e);
57
+ return;
58
+ }
59
+ await a();
60
+ } finally {
61
+ r.forEach(({ formMethods: e }) => m.delete(e));
62
+ }
55
63
  }
56
- await i();
57
- }, o = u(n);
58
- return { handleSubmit: s, errorHandling: o };
64
+ }, n = h(s);
65
+ return { handleSubmit: i, errorHandling: n };
59
66
  }
60
67
  export {
61
- F as composeSubmitHandler
68
+ v as composeSubmitHandler
62
69
  };
63
70
  //# sourceMappingURL=composeSubmitHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeSubmitHandler.js","sources":["../../../src/partner-hook-utils/form/composeSubmitHandler.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react'\nimport type { FieldValues, UseFormReturn } from 'react-hook-form'\nimport { composeErrorHandler } from '../composeErrorHandler'\nimport type { HookErrorHandling, HookFormInternals } from '../types'\nimport type { FieldElementRegistry } from '@/components/Common/Fields/hooks/fieldElementRegistry'\n\n/**\n * Minimal shape required for a form hook result to participate in `composeSubmitHandler`.\n * Any hook returning `BaseFormHookReady` satisfies this interface.\n *\n * `formMethods` is declared with method-call syntax (rather than reused from\n * `HookFormInternals`) so TypeScript applies bivariant parameter checking,\n * allowing hooks with specific form data generics to be passed without casts.\n * `_fieldElementRegistry` is reused directly since its type doesn't depend on\n * the form's generic.\n *\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport interface ComposableFormHookResult {\n /** The form surface: the react-hook-form internals used to validate and focus fields. */\n form: {\n hookFormInternals: Pick<HookFormInternals, '_fieldElementRegistry'> & {\n formMethods: {\n handleSubmit(\n onValid: () => void,\n onInvalid?: (errors: Record<string, unknown>) => void,\n ): () => Promise<void>\n setFocus(name: string): void\n formState: { errors: Record<string, unknown> }\n }\n }\n }\n /** The error-handling surface aggregated across the composed forms. */\n errorHandling: HookErrorHandling\n}\n\n/**\n * Accepted input for a single slot of `composeSubmitHandler`'s `forms` array.\n *\n * @remarks\n * - SDK form hook results (anything matching `ComposableFormHookResult`) are composed directly.\n * - A raw `react-hook-form` `UseFormReturn<T>` is supported for screen-local auxiliary forms\n * that don't warrant a dedicated SDK hook. Raw forms contribute validation/focus behavior\n * but no `errorHandling` (fields surface their own inline errors via react-hook-form).\n *\n * @typeParam T - The shape of the form values when a raw `UseFormReturn` is passed.\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport type ComposeSubmitInput<T extends FieldValues = FieldValues> =\n ComposableFormHookResult | UseFormReturn<T>\n\ninterface FormValidationResult {\n input: ComposeSubmitInput\n formMethods: FormMethods\n valid: boolean\n errors: Record<string, unknown>\n}\n\n/**\n * Result returned by {@link composeSubmitHandler}: a single submit handler that\n * coordinates validation across the composed forms, and aggregated error state.\n *\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport interface ComposeSubmitHandlerResult {\n /** Submit handler to pass to a form's `onSubmit`. Validates all composed forms before calling `onAllValid`. */\n handleSubmit: (e: SyntheticEvent) => Promise<void>\n /** Aggregated error state across all composed SDK form hooks. Pass to {@link composeErrorHandler} for screen-level error surfaces. */\n errorHandling: HookErrorHandling\n}\n\ntype FormMethods = ComposableFormHookResult['form']['hookFormInternals']['formMethods']\n\nfunction isRawUseForm<T extends FieldValues>(\n input: ComposeSubmitInput<T>,\n): input is UseFormReturn<T> {\n return 'handleSubmit' in input && typeof input.handleSubmit === 'function'\n}\n\nfunction extractFormMethods<T extends FieldValues>(input: ComposeSubmitInput<T>): FormMethods {\n if (isRawUseForm(input)) return input as unknown as FormMethods\n return input.form.hookFormInternals.formMethods\n}\n\n/**\n * Picks the visually first invalid field across all composed forms using live\n * `getBoundingClientRect()` positions, then focuses its DOM element. Falls back\n * to array-order (first form's first error) when no element can be resolved —\n * raw `UseFormReturn` inputs have no registry, and forms rendered without\n * `SDKFormProvider` or a HookField wrapper won't have their fields registered\n * either, so we let react-hook-form's `setFocus` attempt it instead.\n *\n * Consumes `results` (captured from each form's `onInvalid` callback) rather\n * than reading `formState.errors` — the latter is a proxy that returns `{}`\n * when accessed outside a component subscription.\n */\nfunction focusFirstInvalidAcrossForms(results: FormValidationResult[]): void {\n type Candidate = {\n formMethods: FormMethods\n name: string\n element: HTMLElement\n }\n const candidates: Candidate[] = []\n for (const { input, formMethods, errors } of results) {\n if (isRawUseForm(input)) continue\n const registry = input.form.hookFormInternals._fieldElementRegistry as\n FieldElementRegistry | undefined\n if (!registry) continue\n for (const name of Object.keys(errors)) {\n const element = registry.get(name)\n if (element) {\n candidates.push({ formMethods, name, element })\n }\n }\n }\n\n if (candidates.length > 0) {\n candidates.sort((a, b) => {\n const ar = a.element.getBoundingClientRect()\n const br = b.element.getBoundingClientRect()\n return ar.top - br.top || ar.left - br.left\n })\n const winner = candidates[0]!\n // Focus the DOM element directly. Bypasses react-hook-form's `setFocus`,\n // which depends on `_fields[name]._f.ref` and isn't reliably populated\n // when fields are rendered through libraries like react-aria-components.\n winner.element.focus()\n return\n }\n\n for (const { formMethods, errors } of results) {\n const firstErrorField = Object.keys(errors)[0]\n if (firstErrorField) {\n formMethods.setFocus(firstErrorField)\n return\n }\n }\n}\n\n/**\n * Coordinates validation and submission across multiple form hooks on the same page.\n *\n * @remarks\n * Validates all forms simultaneously via `handleSubmit()`, then focuses the visually first\n * invalid field across all forms (sorted by `getBoundingClientRect()`). Only calls\n * `onAllValid` when every form passes.\n *\n * Uses `handleSubmit` rather than `trigger` so that react-hook-form sets\n * `formState.isSubmitted = true`, which enables `reValidateMode` (default: `onChange`).\n * Without this, errors set by manual `trigger()` calls would never clear as the user types.\n *\n * Each hook passed to `forms` should be initialized with `shouldFocusError: false` so that\n * react-hook-form's built-in per-form focus is disabled and `composeSubmitHandler` can manage\n * cross-form focus instead.\n *\n * The returned `errorHandling` is the same shape every SDK hook returns, so the whole result\n * can be passed back into {@link composeErrorHandler} when you need to add extra\n * `@gusto/embedded-api-v-2026-06-15` queries or screen-level submit state.\n *\n * @typeParam TForms - Tuple of form value shapes, one per slot of `forms`.\n * @param forms - Form hook results and/or raw `UseFormReturn` instances to coordinate.\n * @param onAllValid - Async callback invoked once every form has passed validation.\n * @returns A {@link ComposeSubmitHandlerResult} with a unified `handleSubmit` and aggregated `errorHandling`.\n * @public\n * @group Form composition\n *\n * @example\n * ```tsx\n * const detailsForm = useEmployeeDetailsForm({ employeeId, shouldFocusError: false })\n * const addressForm = useHomeAddressForm({ employeeId, shouldFocusError: false })\n *\n * const { handleSubmit, errorHandling } = composeSubmitHandler(\n * [detailsForm, addressForm],\n * async () => {\n * await detailsForm.actions.onSubmit()\n * await addressForm.actions.onSubmit()\n * },\n * )\n *\n * return <form onSubmit={handleSubmit}>...</form>\n * ```\n */\nexport function composeSubmitHandler<TForms extends readonly FieldValues[]>(\n forms: readonly [...{ [K in keyof TForms]: ComposeSubmitInput<TForms[K]> }],\n onAllValid: () => Promise<void>,\n): ComposeSubmitHandlerResult {\n const errorSources = forms.filter((form): form is ComposableFormHookResult => !isRawUseForm(form))\n\n const handleSubmit = async (e: SyntheticEvent) => {\n e.preventDefault()\n\n const validationResults = await Promise.all(\n forms.map(\n input =>\n new Promise<FormValidationResult>(resolve => {\n const formMethods = extractFormMethods(input)\n void formMethods.handleSubmit(\n () => {\n resolve({ input, formMethods, valid: true, errors: {} })\n },\n errors => {\n resolve({ input, formMethods, valid: false, errors })\n },\n )()\n }),\n ),\n )\n\n const allValid = validationResults.every(r => r.valid)\n\n if (!allValid) {\n focusFirstInvalidAcrossForms(validationResults)\n return\n }\n\n await onAllValid()\n }\n\n const errorHandling = composeErrorHandler(errorSources)\n\n return { handleSubmit, errorHandling }\n}\n"],"names":["isRawUseForm","input","extractFormMethods","focusFirstInvalidAcrossForms","results","candidates","formMethods","errors","registry","name","element","a","b","ar","br","firstErrorField","composeSubmitHandler","forms","onAllValid","errorSources","form","handleSubmit","e","validationResults","resolve","r","errorHandling","composeErrorHandler"],"mappings":";AA4EA,SAASA,EACPC,GAC2B;AAC3B,SAAO,kBAAkBA,KAAS,OAAOA,EAAM,gBAAiB;AAClE;AAEA,SAASC,EAA0CD,GAA2C;AAC5F,SAAID,EAAaC,CAAK,IAAUA,IACzBA,EAAM,KAAK,kBAAkB;AACtC;AAcA,SAASE,EAA6BC,GAAuC;AAM3E,QAAMC,IAA0B,CAAA;AAChC,aAAW,EAAE,OAAAJ,GAAO,aAAAK,GAAa,QAAAC,EAAA,KAAYH,GAAS;AACpD,QAAIJ,EAAaC,CAAK,EAAG;AACzB,UAAMO,IAAWP,EAAM,KAAK,kBAAkB;AAE9C,QAAKO;AACL,iBAAWC,KAAQ,OAAO,KAAKF,CAAM,GAAG;AACtC,cAAMG,IAAUF,EAAS,IAAIC,CAAI;AACjC,QAAIC,KACFL,EAAW,KAAK,EAAE,aAAAC,GAAa,MAAAG,GAAM,SAAAC,GAAS;AAAA,MAElD;AAAA,EACF;AAEA,MAAIL,EAAW,SAAS,GAAG;AACzB,IAAAA,EAAW,KAAK,CAACM,GAAGC,MAAM;AACxB,YAAMC,IAAKF,EAAE,QAAQ,sBAAA,GACfG,IAAKF,EAAE,QAAQ,sBAAA;AACrB,aAAOC,EAAG,MAAMC,EAAG,OAAOD,EAAG,OAAOC,EAAG;AAAA,IACzC,CAAC,GACcT,EAAW,CAAC,EAIpB,QAAQ,MAAA;AACf;AAAA,EACF;AAEA,aAAW,EAAE,aAAAC,GAAa,QAAAC,EAAA,KAAYH,GAAS;AAC7C,UAAMW,IAAkB,OAAO,KAAKR,CAAM,EAAE,CAAC;AAC7C,QAAIQ,GAAiB;AACnB,MAAAT,EAAY,SAASS,CAAe;AACpC;AAAA,IACF;AAAA,EACF;AACF;AA6CO,SAASC,EACdC,GACAC,GAC4B;AAC5B,QAAMC,IAAeF,EAAM,OAAO,CAACG,MAA2C,CAACpB,EAAaoB,CAAI,CAAC,GAE3FC,IAAe,OAAOC,MAAsB;AAChD,IAAAA,EAAE,eAAA;AAEF,UAAMC,IAAoB,MAAM,QAAQ;AAAA,MACtCN,EAAM;AAAA,QACJ,CAAAhB,MACE,IAAI,QAA8B,CAAAuB,MAAW;AAC3C,gBAAMlB,IAAcJ,EAAmBD,CAAK;AAC5C,UAAKK,EAAY;AAAA,YACf,MAAM;AACJ,cAAAkB,EAAQ,EAAE,OAAAvB,GAAO,aAAAK,GAAa,OAAO,IAAM,QAAQ,CAAA,GAAI;AAAA,YACzD;AAAA,YACA,CAAAC,MAAU;AACR,cAAAiB,EAAQ,EAAE,OAAAvB,GAAO,aAAAK,GAAa,OAAO,IAAO,QAAAC,GAAQ;AAAA,YACtD;AAAA,UAAA,EACF;AAAA,QACF,CAAC;AAAA,MAAA;AAAA,IACL;AAKF,QAAI,CAFagB,EAAkB,MAAM,CAAAE,MAAKA,EAAE,KAAK,GAEtC;AACb,MAAAtB,EAA6BoB,CAAiB;AAC9C;AAAA,IACF;AAEA,UAAML,EAAA;AAAA,EACR,GAEMQ,IAAgBC,EAAoBR,CAAY;AAEtD,SAAO,EAAE,cAAAE,GAAc,eAAAK,EAAA;AACzB;"}
1
+ {"version":3,"file":"composeSubmitHandler.js","sources":["../../../src/partner-hook-utils/form/composeSubmitHandler.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react'\nimport type { FieldValues, UseFormReturn } from 'react-hook-form'\nimport { composeErrorHandler } from '../composeErrorHandler'\nimport type { HookErrorHandling, HookFormInternals } from '../types'\nimport type { FieldElementRegistry } from '@/components/Common/Fields/hooks/fieldElementRegistry'\n\n/**\n * Minimal shape required for a form hook result to participate in `composeSubmitHandler`.\n * Any hook returning `BaseFormHookReady` satisfies this interface.\n *\n * `formMethods` is declared with method-call syntax (rather than reused from\n * `HookFormInternals`) so TypeScript applies bivariant parameter checking,\n * allowing hooks with specific form data generics to be passed without casts.\n * `_fieldElementRegistry` is reused directly since its type doesn't depend on\n * the form's generic.\n *\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport interface ComposableFormHookResult {\n /** The form surface: the react-hook-form internals used to validate and focus fields. */\n form: {\n hookFormInternals: Pick<HookFormInternals, '_fieldElementRegistry'> & {\n formMethods: {\n handleSubmit(\n onValid: () => void,\n onInvalid?: (errors: Record<string, unknown>) => void,\n ): () => Promise<void>\n setFocus(name: string): void\n formState: { errors: Record<string, unknown> }\n }\n }\n }\n /** The error-handling surface aggregated across the composed forms. */\n errorHandling: HookErrorHandling\n}\n\n/**\n * Accepted input for a single slot of `composeSubmitHandler`'s `forms` array.\n *\n * @remarks\n * - SDK form hook results (anything matching `ComposableFormHookResult`) are composed directly.\n * - A raw `react-hook-form` `UseFormReturn<T>` is supported for screen-local auxiliary forms\n * that don't warrant a dedicated SDK hook. Raw forms contribute validation/focus behavior\n * but no `errorHandling` (fields surface their own inline errors via react-hook-form).\n *\n * @typeParam T - The shape of the form values when a raw `UseFormReturn` is passed.\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport type ComposeSubmitInput<T extends FieldValues = FieldValues> =\n ComposableFormHookResult | UseFormReturn<T>\n\ninterface FormValidationResult {\n input: ComposeSubmitInput\n formMethods: FormMethods\n valid: boolean\n errors: Record<string, unknown>\n}\n\n/**\n * Result returned by {@link composeSubmitHandler}: a single submit handler that\n * coordinates validation across the composed forms, and aggregated error state.\n *\n * @public\n * @childOf {@link composeSubmitHandler}\n */\nexport interface ComposeSubmitHandlerResult {\n /** Submit handler to pass to a form's `onSubmit`. Validates all composed forms before calling `onAllValid`. */\n handleSubmit: (e: SyntheticEvent) => Promise<void>\n /** Aggregated error state across all composed SDK form hooks. Pass to {@link composeErrorHandler} for screen-level error surfaces. */\n errorHandling: HookErrorHandling\n}\n\ntype FormMethods = ComposableFormHookResult['form']['hookFormInternals']['formMethods']\n\nconst formsWithSubmitInFlight = new WeakSet<FormMethods>()\n\nfunction isRawUseForm<T extends FieldValues>(\n input: ComposeSubmitInput<T>,\n): input is UseFormReturn<T> {\n return 'handleSubmit' in input && typeof input.handleSubmit === 'function'\n}\n\nfunction extractFormMethods<T extends FieldValues>(input: ComposeSubmitInput<T>): FormMethods {\n if (isRawUseForm(input)) return input as unknown as FormMethods\n return input.form.hookFormInternals.formMethods\n}\n\n/**\n * Picks the visually first invalid field across all composed forms using live\n * `getBoundingClientRect()` positions, then focuses its DOM element. Falls back\n * to array-order (first form's first error) when no element can be resolved —\n * raw `UseFormReturn` inputs have no registry, and forms rendered without\n * `SDKFormProvider` or a HookField wrapper won't have their fields registered\n * either, so we let react-hook-form's `setFocus` attempt it instead.\n *\n * Consumes `results` (captured from each form's `onInvalid` callback) rather\n * than reading `formState.errors` — the latter is a proxy that returns `{}`\n * when accessed outside a component subscription.\n */\nfunction focusFirstInvalidAcrossForms(results: FormValidationResult[]): void {\n type Candidate = {\n formMethods: FormMethods\n name: string\n element: HTMLElement\n }\n const candidates: Candidate[] = []\n for (const { input, formMethods, errors } of results) {\n if (isRawUseForm(input)) continue\n const registry = input.form.hookFormInternals._fieldElementRegistry as\n FieldElementRegistry | undefined\n if (!registry) continue\n for (const name of Object.keys(errors)) {\n const element = registry.get(name)\n if (element) {\n candidates.push({ formMethods, name, element })\n }\n }\n }\n\n if (candidates.length > 0) {\n candidates.sort((a, b) => {\n const ar = a.element.getBoundingClientRect()\n const br = b.element.getBoundingClientRect()\n return ar.top - br.top || ar.left - br.left\n })\n const winner = candidates[0]!\n // Focus the DOM element directly. Bypasses react-hook-form's `setFocus`,\n // which depends on `_fields[name]._f.ref` and isn't reliably populated\n // when fields are rendered through libraries like react-aria-components.\n winner.element.focus()\n return\n }\n\n for (const { formMethods, errors } of results) {\n const firstErrorField = Object.keys(errors)[0]\n if (firstErrorField) {\n formMethods.setFocus(firstErrorField)\n return\n }\n }\n}\n\n/**\n * Coordinates validation and submission across multiple form hooks on the same page.\n *\n * @remarks\n * Validates all forms simultaneously via `handleSubmit()`, then focuses the visually first\n * invalid field across all forms (sorted by `getBoundingClientRect()`). Only calls\n * `onAllValid` when every form passes.\n *\n * Uses `handleSubmit` rather than `trigger` so that react-hook-form sets\n * `formState.isSubmitted = true`, which enables `reValidateMode` (default: `onChange`).\n * Without this, errors set by manual `trigger()` calls would never clear as the user types.\n *\n * Each hook passed to `forms` should be initialized with `shouldFocusError: false` so that\n * react-hook-form's built-in per-form focus is disabled and `composeSubmitHandler` can manage\n * cross-form focus instead.\n *\n * The returned `errorHandling` is the same shape every SDK hook returns, so the whole result\n * can be passed back into {@link composeErrorHandler} when you need to add extra\n * `@gusto/embedded-api-v-2026-06-15` queries or screen-level submit state.\n *\n * @typeParam TForms - Tuple of form value shapes, one per slot of `forms`.\n * @param forms - Form hook results and/or raw `UseFormReturn` instances to coordinate.\n * @param onAllValid - Async callback invoked once every form has passed validation.\n * @returns A {@link ComposeSubmitHandlerResult} with a unified `handleSubmit` and aggregated `errorHandling`.\n * @public\n * @group Form composition\n *\n * @example\n * ```tsx\n * const detailsForm = useEmployeeDetailsForm({ employeeId, shouldFocusError: false })\n * const addressForm = useHomeAddressForm({ employeeId, shouldFocusError: false })\n *\n * const { handleSubmit, errorHandling } = composeSubmitHandler(\n * [detailsForm, addressForm],\n * async () => {\n * await detailsForm.actions.onSubmit()\n * await addressForm.actions.onSubmit()\n * },\n * )\n *\n * return <form onSubmit={handleSubmit}>...</form>\n * ```\n */\nexport function composeSubmitHandler<TForms extends readonly FieldValues[]>(\n forms: readonly [...{ [K in keyof TForms]: ComposeSubmitInput<TForms[K]> }],\n onAllValid: () => Promise<void>,\n): ComposeSubmitHandlerResult {\n const errorSources = forms.filter((form): form is ComposableFormHookResult => !isRawUseForm(form))\n\n const handleSubmit = async (e: SyntheticEvent) => {\n e.preventDefault()\n\n const composedForms = forms.map(input => ({ input, formMethods: extractFormMethods(input) }))\n if (composedForms.some(({ formMethods }) => formsWithSubmitInFlight.has(formMethods))) return\n composedForms.forEach(({ formMethods }) => formsWithSubmitInFlight.add(formMethods))\n\n try {\n const validationResults = await Promise.all(\n composedForms.map(async ({ input, formMethods }) => {\n let result: FormValidationResult = { input, formMethods, valid: false, errors: {} }\n await formMethods.handleSubmit(\n () => {\n result = { input, formMethods, valid: true, errors: {} }\n },\n errors => {\n result = { input, formMethods, valid: false, errors }\n },\n )()\n return result\n }),\n )\n\n const allValid = validationResults.every(r => r.valid)\n\n if (!allValid) {\n focusFirstInvalidAcrossForms(validationResults)\n return\n }\n\n await onAllValid()\n } finally {\n composedForms.forEach(({ formMethods }) => formsWithSubmitInFlight.delete(formMethods))\n }\n }\n\n const errorHandling = composeErrorHandler(errorSources)\n\n return { handleSubmit, errorHandling }\n}\n"],"names":["formsWithSubmitInFlight","isRawUseForm","input","extractFormMethods","focusFirstInvalidAcrossForms","results","candidates","formMethods","errors","registry","name","element","a","b","ar","br","firstErrorField","composeSubmitHandler","forms","onAllValid","errorSources","form","handleSubmit","e","composedForms","validationResults","result","r","errorHandling","composeErrorHandler"],"mappings":";AA4EA,MAAMA,wBAA8B,QAAA;AAEpC,SAASC,EACPC,GAC2B;AAC3B,SAAO,kBAAkBA,KAAS,OAAOA,EAAM,gBAAiB;AAClE;AAEA,SAASC,EAA0CD,GAA2C;AAC5F,SAAID,EAAaC,CAAK,IAAUA,IACzBA,EAAM,KAAK,kBAAkB;AACtC;AAcA,SAASE,EAA6BC,GAAuC;AAM3E,QAAMC,IAA0B,CAAA;AAChC,aAAW,EAAE,OAAAJ,GAAO,aAAAK,GAAa,QAAAC,EAAA,KAAYH,GAAS;AACpD,QAAIJ,EAAaC,CAAK,EAAG;AACzB,UAAMO,IAAWP,EAAM,KAAK,kBAAkB;AAE9C,QAAKO;AACL,iBAAWC,KAAQ,OAAO,KAAKF,CAAM,GAAG;AACtC,cAAMG,IAAUF,EAAS,IAAIC,CAAI;AACjC,QAAIC,KACFL,EAAW,KAAK,EAAE,aAAAC,GAAa,MAAAG,GAAM,SAAAC,GAAS;AAAA,MAElD;AAAA,EACF;AAEA,MAAIL,EAAW,SAAS,GAAG;AACzB,IAAAA,EAAW,KAAK,CAACM,GAAGC,MAAM;AACxB,YAAMC,IAAKF,EAAE,QAAQ,sBAAA,GACfG,IAAKF,EAAE,QAAQ,sBAAA;AACrB,aAAOC,EAAG,MAAMC,EAAG,OAAOD,EAAG,OAAOC,EAAG;AAAA,IACzC,CAAC,GACcT,EAAW,CAAC,EAIpB,QAAQ,MAAA;AACf;AAAA,EACF;AAEA,aAAW,EAAE,aAAAC,GAAa,QAAAC,EAAA,KAAYH,GAAS;AAC7C,UAAMW,IAAkB,OAAO,KAAKR,CAAM,EAAE,CAAC;AAC7C,QAAIQ,GAAiB;AACnB,MAAAT,EAAY,SAASS,CAAe;AACpC;AAAA,IACF;AAAA,EACF;AACF;AA6CO,SAASC,EACdC,GACAC,GAC4B;AAC5B,QAAMC,IAAeF,EAAM,OAAO,CAACG,MAA2C,CAACpB,EAAaoB,CAAI,CAAC,GAE3FC,IAAe,OAAOC,MAAsB;AAChD,IAAAA,EAAE,eAAA;AAEF,UAAMC,IAAgBN,EAAM,IAAI,CAAAhB,OAAU,EAAE,OAAAA,GAAO,aAAaC,EAAmBD,CAAK,EAAA,EAAI;AAC5F,QAAI,CAAAsB,EAAc,KAAK,CAAC,EAAE,aAAAjB,EAAA,MAAkBP,EAAwB,IAAIO,CAAW,CAAC,GACpF;AAAA,MAAAiB,EAAc,QAAQ,CAAC,EAAE,aAAAjB,EAAA,MAAkBP,EAAwB,IAAIO,CAAW,CAAC;AAEnF,UAAI;AACF,cAAMkB,IAAoB,MAAM,QAAQ;AAAA,UACtCD,EAAc,IAAI,OAAO,EAAE,OAAAtB,GAAO,aAAAK,QAAkB;AAClD,gBAAImB,IAA+B,EAAE,OAAAxB,GAAO,aAAAK,GAAa,OAAO,IAAO,QAAQ,GAAC;AAChF,yBAAMA,EAAY;AAAA,cAChB,MAAM;AACJ,gBAAAmB,IAAS,EAAE,OAAAxB,GAAO,aAAAK,GAAa,OAAO,IAAM,QAAQ,GAAC;AAAA,cACvD;AAAA,cACA,CAAAC,MAAU;AACR,gBAAAkB,IAAS,EAAE,OAAAxB,GAAO,aAAAK,GAAa,OAAO,IAAO,QAAAC,EAAA;AAAA,cAC/C;AAAA,YAAA,EACF,GACOkB;AAAA,UACT,CAAC;AAAA,QAAA;AAKH,YAAI,CAFaD,EAAkB,MAAM,CAAAE,MAAKA,EAAE,KAAK,GAEtC;AACb,UAAAvB,EAA6BqB,CAAiB;AAC9C;AAAA,QACF;AAEA,cAAMN,EAAA;AAAA,MACR,UAAA;AACE,QAAAK,EAAc,QAAQ,CAAC,EAAE,aAAAjB,EAAA,MAAkBP,EAAwB,OAAOO,CAAW,CAAC;AAAA,MACxF;AAAA;AAAA,EACF,GAEMqB,IAAgBC,EAAoBT,CAAY;AAEtD,SAAO,EAAE,cAAAE,GAAc,eAAAM,EAAA;AACzB;"}
@@ -1,44 +1,46 @@
1
- import { jsx as F } from "react/jsx-runtime";
2
- import { useHookFieldResolution as g } from "../useHookFieldResolution.js";
3
- import { getFieldWithOptions as b } from "../getFieldWithOptions.js";
4
- import { withFieldElementRegistry as h } from "./withFieldElementRegistry.js";
5
- import { RadioGroupField as k } from "../../../components/Common/Fields/RadioGroupField/RadioGroupField.js";
6
- function E({
1
+ import { jsx as b } from "react/jsx-runtime";
2
+ import { useHookFieldResolution as h } from "../useHookFieldResolution.js";
3
+ import { getFieldWithOptions as k } from "../getFieldWithOptions.js";
4
+ import { withFieldElementRegistry as q } from "./withFieldElementRegistry.js";
5
+ import { RadioGroupField as v } from "../../../components/Common/Fields/RadioGroupField/RadioGroupField.js";
6
+ function w({
7
7
  name: e,
8
- formHookResult: r,
9
- label: s,
10
- description: l,
11
- validationMessages: d,
8
+ formHookResult: d,
9
+ label: a,
10
+ description: m,
11
+ validationMessages: u,
12
12
  getOptionLabel: i,
13
- FieldComponent: n
13
+ getOptionDescription: r,
14
+ FieldComponent: f
14
15
  }) {
15
- const { metadata: a, control: m, errorMessage: p, fieldElementRegistry: u } = g(
16
+ const { metadata: n, control: p, errorMessage: R, fieldElementRegistry: c } = h(
16
17
  e,
17
- r,
18
- d
19
- ), o = b(a, e), t = o?.options ?? [], f = i && o?.entries ? o.entries.map((R, c) => ({
20
- value: t[c]?.value ?? "",
21
- label: i(R)
22
- })) : t;
23
- return h(
24
- u,
25
- /* @__PURE__ */ F(
26
- k,
18
+ d,
19
+ u
20
+ ), o = k(n, e), s = o?.options ?? [], F = (i ?? r) && o?.entries ? o.entries.map((t, l) => ({
21
+ value: s[l]?.value ?? "",
22
+ label: i ? i(t) : s[l]?.label ?? "",
23
+ ...r ? { description: r(t) } : {}
24
+ })) : s;
25
+ return q(
26
+ c,
27
+ /* @__PURE__ */ b(
28
+ v,
27
29
  {
28
30
  name: e,
29
- control: m,
30
- label: s,
31
- description: l,
32
- errorMessage: p,
31
+ control: p,
32
+ label: a,
33
+ description: m,
34
+ errorMessage: R,
33
35
  isRequired: o?.isRequired,
34
36
  isDisabled: o?.isDisabled,
35
- options: f,
36
- FieldComponent: n
37
+ options: F,
38
+ FieldComponent: f
37
39
  }
38
40
  )
39
41
  );
40
42
  }
41
43
  export {
42
- E as RadioGroupHookField
44
+ w as RadioGroupHookField
43
45
  };
44
46
  //# sourceMappingURL=RadioGroupHookField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupHookField.js","sources":["../../../../src/partner-hook-utils/form/fields/RadioGroupHookField.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useHookFieldResolution } from '../useHookFieldResolution'\nimport { getFieldWithOptions } from '../getFieldWithOptions'\nimport type { BaseFieldProps, ValidationMessages, FormHookResult } from '../../types'\nimport { withFieldElementRegistry } from './withFieldElementRegistry'\nimport { RadioGroupField } from '@/components/Common'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\n\n/**\n * Props accepted by a radio group field surfaced through a form hook.\n * Exposes `getOptionLabel` to customize how option entries are rendered as labels,\n * and `validationMessages` for custom error text alongside the shared base field\n * attributes (`label`, `description`).\n *\n * @typeParam TErrorCode - Validation error code keys mapped via `validationMessages`.\n * @typeParam TEntry - Shape of each option entry consumed by `getOptionLabel`.\n * @public\n * @group Hook field props\n */\nexport interface RadioGroupHookFieldProps<\n TErrorCode extends string = never,\n TEntry = unknown,\n> extends BaseFieldProps {\n /** The field name; must match the corresponding key in the form schema. */\n name: string\n /** Form hook result to connect to; falls back to the nearest `SDKFormProvider` when omitted. */\n formHookResult?: FormHookResult\n /** Custom error text keyed by validation error code. */\n validationMessages?: ValidationMessages<TErrorCode>\n /** Maps a raw option entry to its display label; when omitted, options use the labels provided by the hook. */\n getOptionLabel?: (entry: TEntry) => string\n /** Replaces the default radio group UI component; must accept the same props as `RadioGroupProps`. */\n FieldComponent?: ComponentType<RadioGroupProps>\n}\n\n/**\n * Radio group field connected to a partner form hook result via `useHookFieldResolution`.\n *\n * @typeParam TErrorCode - Validation error code keys mapped via `validationMessages`.\n * @typeParam TEntry - Shape of each option entry consumed by `getOptionLabel`.\n * @param props - Field configuration including `name`, `formHookResult`, and an optional `getOptionLabel`.\n * @returns The rendered radio group field wrapped in the field element registry.\n * @internal\n */\nexport function RadioGroupHookField<TErrorCode extends string, TEntry = unknown>({\n name,\n formHookResult,\n label,\n description,\n validationMessages,\n getOptionLabel,\n FieldComponent,\n}: RadioGroupHookFieldProps<TErrorCode, TEntry>) {\n const { metadata, control, errorMessage, fieldElementRegistry } = useHookFieldResolution(\n name,\n formHookResult,\n validationMessages,\n )\n const fieldMetadata = getFieldWithOptions<TEntry>(metadata, name)\n\n const defaultOptions = fieldMetadata?.options ?? []\n const options =\n getOptionLabel && fieldMetadata?.entries\n ? fieldMetadata.entries.map((entry, index) => ({\n value: defaultOptions[index]?.value ?? '',\n label: getOptionLabel(entry),\n }))\n : defaultOptions\n\n return withFieldElementRegistry(\n fieldElementRegistry,\n <RadioGroupField\n name={name}\n control={control}\n label={label}\n description={description}\n errorMessage={errorMessage}\n isRequired={fieldMetadata?.isRequired}\n isDisabled={fieldMetadata?.isDisabled}\n options={options}\n FieldComponent={FieldComponent}\n />,\n )\n}\n"],"names":["RadioGroupHookField","name","formHookResult","label","description","validationMessages","getOptionLabel","FieldComponent","metadata","control","errorMessage","fieldElementRegistry","useHookFieldResolution","fieldMetadata","getFieldWithOptions","defaultOptions","options","entry","index","withFieldElementRegistry","jsx","RadioGroupField"],"mappings":";;;;;AA4CO,SAASA,EAAiE;AAAA,EAC/E,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,GAAiD;AAC/C,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,cAAAC,GAAc,sBAAAC,MAAyBC;AAAA,IAChEX;AAAA,IACAC;AAAA,IACAG;AAAA,EAAA,GAEIQ,IAAgBC,EAA4BN,GAAUP,CAAI,GAE1Dc,IAAiBF,GAAe,WAAW,CAAA,GAC3CG,IACJV,KAAkBO,GAAe,UAC7BA,EAAc,QAAQ,IAAI,CAACI,GAAOC,OAAW;AAAA,IAC3C,OAAOH,EAAeG,CAAK,GAAG,SAAS;AAAA,IACvC,OAAOZ,EAAeW,CAAK;AAAA,EAAA,EAC3B,IACFF;AAEN,SAAOI;AAAA,IACLR;AAAA,IACA,gBAAAS;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAApB;AAAA,QACA,SAAAQ;AAAA,QACA,OAAAN;AAAA,QACA,aAAAC;AAAA,QACA,cAAAM;AAAA,QACA,YAAYG,GAAe;AAAA,QAC3B,YAAYA,GAAe;AAAA,QAC3B,SAAAG;AAAA,QACA,gBAAAT;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"RadioGroupHookField.js","sources":["../../../../src/partner-hook-utils/form/fields/RadioGroupHookField.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react'\nimport { useHookFieldResolution } from '../useHookFieldResolution'\nimport { getFieldWithOptions } from '../getFieldWithOptions'\nimport type { BaseFieldProps, ValidationMessages, FormHookResult } from '../../types'\nimport { withFieldElementRegistry } from './withFieldElementRegistry'\nimport { RadioGroupField } from '@/components/Common'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\n\n/**\n * Props accepted by a radio group field surfaced through a form hook.\n * Exposes `getOptionLabel` and `getOptionDescription` to customize how option entries are\n * rendered, and `validationMessages` for custom error text alongside the shared base field\n * attributes (`label`, `description`).\n *\n * @typeParam TErrorCode - Validation error code keys mapped via `validationMessages`.\n * @typeParam TEntry - Shape of each option entry consumed by `getOptionLabel` and `getOptionDescription`.\n * @public\n * @group Hook field props\n */\nexport interface RadioGroupHookFieldProps<\n TErrorCode extends string = never,\n TEntry = unknown,\n> extends BaseFieldProps {\n /** The field name; must match the corresponding key in the form schema. */\n name: string\n /** Form hook result to connect to; falls back to the nearest `SDKFormProvider` when omitted. */\n formHookResult?: FormHookResult\n /** Custom error text keyed by validation error code. */\n validationMessages?: ValidationMessages<TErrorCode>\n /** Maps a raw option entry to its display label; when omitted, options use the labels provided by the hook. */\n getOptionLabel?: (entry: TEntry) => string\n /** Maps a raw option entry to supporting text rendered beneath that radio option; when omitted, no per-option description is rendered. */\n getOptionDescription?: (entry: TEntry) => ReactNode\n /** Replaces the default radio group UI component; must accept the same props as `RadioGroupProps`. */\n FieldComponent?: ComponentType<RadioGroupProps>\n}\n\n/**\n * Radio group field connected to a partner form hook result via `useHookFieldResolution`.\n *\n * @typeParam TErrorCode - Validation error code keys mapped via `validationMessages`.\n * @typeParam TEntry - Shape of each option entry consumed by `getOptionLabel` and `getOptionDescription`.\n * @param props - Field configuration including `name`, `formHookResult`, and optional `getOptionLabel` / `getOptionDescription`.\n * @returns The rendered radio group field wrapped in the field element registry.\n * @internal\n */\nexport function RadioGroupHookField<TErrorCode extends string, TEntry = unknown>({\n name,\n formHookResult,\n label,\n description,\n validationMessages,\n getOptionLabel,\n getOptionDescription,\n FieldComponent,\n}: RadioGroupHookFieldProps<TErrorCode, TEntry>) {\n const { metadata, control, errorMessage, fieldElementRegistry } = useHookFieldResolution(\n name,\n formHookResult,\n validationMessages,\n )\n const fieldMetadata = getFieldWithOptions<TEntry>(metadata, name)\n\n const defaultOptions = fieldMetadata?.options ?? []\n // Either callback needs `entries` to map over; whichever one is omitted falls back to the\n // label the hook already supplied / no description.\n const options =\n (getOptionLabel ?? getOptionDescription) && fieldMetadata?.entries\n ? fieldMetadata.entries.map((entry, index) => ({\n value: defaultOptions[index]?.value ?? '',\n label: getOptionLabel ? getOptionLabel(entry) : (defaultOptions[index]?.label ?? ''),\n ...(getOptionDescription ? { description: getOptionDescription(entry) } : {}),\n }))\n : defaultOptions\n\n return withFieldElementRegistry(\n fieldElementRegistry,\n <RadioGroupField\n name={name}\n control={control}\n label={label}\n description={description}\n errorMessage={errorMessage}\n isRequired={fieldMetadata?.isRequired}\n isDisabled={fieldMetadata?.isDisabled}\n options={options}\n FieldComponent={FieldComponent}\n />,\n )\n}\n"],"names":["RadioGroupHookField","name","formHookResult","label","description","validationMessages","getOptionLabel","getOptionDescription","FieldComponent","metadata","control","errorMessage","fieldElementRegistry","useHookFieldResolution","fieldMetadata","getFieldWithOptions","defaultOptions","options","entry","index","withFieldElementRegistry","jsx","RadioGroupField"],"mappings":";;;;;AA8CO,SAASA,EAAiE;AAAA,EAC/E,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,gBAAAC;AACF,GAAiD;AAC/C,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,cAAAC,GAAc,sBAAAC,MAAyBC;AAAA,IAChEZ;AAAA,IACAC;AAAA,IACAG;AAAA,EAAA,GAEIS,IAAgBC,EAA4BN,GAAUR,CAAI,GAE1De,IAAiBF,GAAe,WAAW,CAAA,GAG3CG,KACHX,KAAkBC,MAAyBO,GAAe,UACvDA,EAAc,QAAQ,IAAI,CAACI,GAAOC,OAAW;AAAA,IAC3C,OAAOH,EAAeG,CAAK,GAAG,SAAS;AAAA,IACvC,OAAOb,IAAiBA,EAAeY,CAAK,IAAKF,EAAeG,CAAK,GAAG,SAAS;AAAA,IACjF,GAAIZ,IAAuB,EAAE,aAAaA,EAAqBW,CAAK,EAAA,IAAM,CAAA;AAAA,EAAC,EAC3E,IACFF;AAEN,SAAOI;AAAA,IACLR;AAAA,IACA,gBAAAS;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAArB;AAAA,QACA,SAAAS;AAAA,QACA,OAAAP;AAAA,QACA,aAAAC;AAAA,QACA,cAAAO;AAAA,QACA,YAAYG,GAAe;AAAA,QAC3B,YAAYA,GAAe;AAAA,QAC3B,SAAAG;AAAA,QACA,gBAAAT;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -322,8 +322,9 @@ const t = {
322
322
  OFF_CYCLE_CREATED: "offCycle/created",
323
323
  OFF_CYCLE_BLOCKERS_VIEW_ALL: "offCycle/blockers/viewAll",
324
324
  DISMISSAL_PAY_PERIOD_SELECTED: "dismissal/payPeriod/selected",
325
- TRANSITION_CREATED: "transition/created",
325
+ TRANSITION_CONFIGURED: "transition/configured",
326
326
  RUN_TRANSITION_PAYROLL: "transition/runPayroll",
327
+ TRANSITION_PAYROLL_SELECTED: "transition/payrollSelected",
327
328
  TRANSITION_PAYROLL_SKIPPED: "transition/payrollSkipped"
328
329
  }, S = {
329
330
  TIME_OFF_CREATE_POLICY: "timeOff/createPolicy",