@gusto/embedded-react-sdk 0.55.8 → 0.56.1

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 (211) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  3. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
  4. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  5. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  7. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  8. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  9. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  10. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  11. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  12. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  13. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  14. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  15. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
  16. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  17. package/dist/components/Company/Industry/Context.js +7 -6
  18. package/dist/components/Company/Industry/Context.js.map +1 -1
  19. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  20. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  21. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  22. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  23. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  24. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  25. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  26. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  27. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  28. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  29. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -3
  30. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  31. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  32. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  33. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +70 -69
  34. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  35. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +2 -2
  36. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  37. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +51 -42
  38. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  39. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
  40. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  41. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -2
  42. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  43. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +11 -11
  44. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  45. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +3 -3
  46. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  47. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +76 -79
  48. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  49. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
  50. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  51. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
  52. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  53. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +10 -10
  54. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  55. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +49 -45
  56. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  57. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  58. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +24 -18
  59. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  60. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +39 -21
  61. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  62. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +98 -88
  63. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  64. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +64 -60
  65. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  66. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +12 -12
  67. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  68. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +40 -40
  69. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  70. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +205 -185
  71. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  72. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
  73. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
  74. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +13 -16
  75. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  76. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
  77. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  78. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +138 -110
  79. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
  80. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +149 -146
  81. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  82. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  83. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +4 -0
  84. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  85. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  86. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +22 -35
  87. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
  88. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +185 -171
  89. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  90. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
  91. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
  92. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +44 -44
  93. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  94. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
  95. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +16 -16
  96. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
  97. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
  98. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  99. package/dist/components/Payroll/Transition/TransitionFlow.js +49 -36
  100. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  101. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -47
  102. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  103. package/dist/components/Payroll/Transition/transitionStateMachine.js +35 -40
  104. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  105. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +48 -0
  106. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +1 -0
  107. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +35 -0
  108. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +1 -0
  109. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +23 -0
  110. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +1 -0
  111. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +32 -0
  112. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -0
  113. package/dist/components/Payroll/index.js +7 -5
  114. package/dist/components/Payroll/index.js.map +1 -1
  115. package/dist/components/Payroll/usePreparedPayrollData.js +9 -8
  116. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  117. package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
  118. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  119. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
  120. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
  121. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  122. package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
  123. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  124. package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
  125. package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
  126. package/dist/i18n/I18n.js +9 -4
  127. package/dist/i18n/I18n.js.map +1 -1
  128. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
  129. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  130. package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
  131. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
  132. package/dist/i18n/en/Payroll.PayrollBlocker.json.js +10 -8
  133. package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -1
  134. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
  135. package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
  136. package/dist/i18n/es_US/Company.StateTaxes.json.js +1 -1
  137. package/dist/i18n/es_US/Contractor.ContractorList.json.js +14 -12
  138. package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -1
  139. package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +4 -4
  140. package/dist/i18n/es_US/Contractor.Management.Profile.json.js +4 -4
  141. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +40 -38
  142. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -1
  143. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +18 -16
  144. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -1
  145. package/dist/i18n/es_US/Contractor.Profile.json.js +5 -5
  146. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +11 -9
  147. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -1
  148. package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +2 -2
  149. package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +6 -6
  150. package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +15 -15
  151. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +28 -26
  152. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -1
  153. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +40 -38
  154. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -1
  155. package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js +14 -0
  156. package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js.map +1 -0
  157. package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js +12 -0
  158. package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js.map +1 -0
  159. package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js +26 -0
  160. package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js.map +1 -0
  161. package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js +14 -0
  162. package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js.map +1 -0
  163. package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js +78 -0
  164. package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
  165. package/dist/i18n/es_US/common.json.js +1 -1
  166. package/dist/package.json.js +1 -1
  167. package/dist/shared/constants.js +21 -20
  168. package/dist/shared/constants.js.map +1 -1
  169. package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
  170. package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
  171. package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
  172. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
  173. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
  174. package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
  175. package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +7 -2
  176. package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
  177. package/dist/src/components/Payroll/OffCycle/OffCycleFlow.d.ts +2 -0
  178. package/dist/src/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +2 -0
  179. package/dist/src/components/Payroll/OffCycle/offCycleStateMachine.d.ts +1 -0
  180. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -0
  181. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  182. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +11 -0
  183. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +1 -1
  184. package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
  185. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +18 -0
  186. package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
  187. package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +8 -0
  188. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
  189. package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +6 -1
  190. package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
  191. package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +17 -15
  192. package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +21 -12
  193. package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +25 -4
  194. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +55 -0
  195. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +24 -0
  196. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +23 -0
  197. package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +2 -0
  198. package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +15 -0
  199. package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +28 -0
  200. package/dist/src/components/Payroll/index.d.ts +2 -0
  201. package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
  202. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
  203. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
  204. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
  205. package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
  206. package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
  207. package/dist/src/i18n/types.d.ts +20 -0
  208. package/dist/src/shared/constants.d.ts +2 -0
  209. package/dist/style.css +1 -1
  210. package/docs/guides/endpoint-inventory.json +19 -19
  211. package/package.json +8 -8
@@ -61,7 +61,7 @@ export interface MenuProps extends DataAttributes {
61
61
  'aria-label': string;
62
62
  /**
63
63
  * Element to use as the portal container for the menu popover.
64
- * Overrides the default SDK root container from context.
64
+ * Overrides the SDK's default portal root (a themed element appended to `document.body`).
65
65
  */
66
66
  portalContainer?: HTMLElement;
67
67
  /**
@@ -6,4 +6,4 @@ import { MultiSelectComboBoxProps } from './MultiSelectComboBoxTypes';
6
6
  * @returns The rendered multi-select combo box field.
7
7
  * @internal
8
8
  */
9
- export declare function MultiSelectComboBox({ className, description, errorMessage, id, inputRef: inputRefFromProps, isDisabled, isInvalid, isLoading, isRequired, label, name, onBlur, onChange, options, placeholder, value: selectedValues, shouldVisuallyHideLabel, }: MultiSelectComboBoxProps): import("react").JSX.Element;
9
+ export declare function MultiSelectComboBox({ className, description, errorMessage, id, inputRef: inputRefFromProps, isDisabled, isInvalid, isLoading, isRequired, label, name, onBlur, onChange, options, placeholder, portalContainer, value: selectedValues, shouldVisuallyHideLabel, }: MultiSelectComboBoxProps): import("react").JSX.Element;
@@ -65,4 +65,9 @@ export interface MultiSelectComboBoxProps extends SharedFieldLayoutProps, Pick<I
65
65
  * Handler for blur events
66
66
  */
67
67
  onBlur?: () => void;
68
+ /**
69
+ * Element to use as the portal container for the dropdown popover.
70
+ * Overrides the SDK's default portal root (a themed element appended to `document.body`).
71
+ */
72
+ portalContainer?: HTMLElement;
68
73
  }
@@ -62,7 +62,8 @@ export interface SelectProps extends SharedFieldLayoutProps, Pick<SelectHTMLAttr
62
62
  */
63
63
  inputRef?: Ref<HTMLButtonElement>;
64
64
  /**
65
- * Element to use as the portal container
65
+ * Element to use as the portal container for the popover.
66
+ * Overrides the SDK's default portal root (a themed element appended to `document.body`).
66
67
  */
67
68
  portalContainer?: HTMLElement;
68
69
  }
@@ -20,6 +20,8 @@ export interface EmployeeWithActions extends Employee {
20
20
  allowedActions: EmployeeAction[];
21
21
  /** The employee's primary job, if one is marked primary. */
22
22
  primaryJob?: Job;
23
+ /** Effective date of a termination that hasn't gone into effect yet, if one is scheduled. */
24
+ pendingDismissalDate?: string;
23
25
  }
24
26
  /**
25
27
  * Filter applied to {@link useEmployeeList} that scopes the result set and tailors the per-row action list.
@@ -73,8 +75,11 @@ export type UseEmployeeListResult = HookLoadingResult | UseEmployeeListReady;
73
75
  *
74
76
  * @remarks
75
77
  * `employeeType` maps to a server-side filter and changes which actions appear on each row:
76
- * `'active'` adds `dismiss`, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it
77
- * to list every employee.
78
+ * `'active'` adds `dismiss` unless the employee already has a termination scheduled for a future
79
+ * date, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it to list every employee.
80
+ *
81
+ * An `'active'` row with a pending termination carries its effective date on
82
+ * `pendingDismissalDate` instead of the `dismiss` action.
78
83
  *
79
84
  * `'onboarding'` includes employees who haven't completed onboarding as well as employees who
80
85
  * have completed onboarding but whose primary job's hire date hasn't arrived yet, so `onboarded`
@@ -14,12 +14,14 @@ import { OffCycleFlowProps } from './OffCycleFlowComponents';
14
14
  * | ----- | ----------- | ---- |
15
15
  * | `breadcrumb/navigate` | User navigates via the flow breadcrumb header | `{ key: string }` |
16
16
  * | `offCycle/created` | Off-cycle payroll has been created and the flow transitions to execution | `{ payrollUuid: string }` |
17
+ * | `offCycle/blockers/viewAll` | User opens the payroll blockers step from the creation screen's blocker alert | none |
17
18
  *
18
19
  * Once the flow transitions to execution, all standard run-payroll events are emitted
19
20
  * (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`).
20
21
  *
21
22
  * @components
22
23
  * - {@link OffCycleCreation}
24
+ * - {@link PayrollBlockerList}
23
25
  * - {@link PayrollExecutionFlow}
24
26
  *
25
27
  * @param props - {@link OffCycleFlowProps}
@@ -35,4 +35,6 @@ export interface OffCycleFlowProps {
35
35
  /** @internal */
36
36
  export declare function OffCycleCreationContextual(): import("react").JSX.Element;
37
37
  /** @internal */
38
+ export declare function PayrollBlockerListContextual(): import("react").JSX.Element;
39
+ /** @internal */
38
40
  export declare function OffCycleExecutionContextual(): import("react").JSX.Element;
@@ -4,5 +4,6 @@ export declare const offCycleBreadcrumbsNodes: BreadcrumbNodes;
4
4
  /** @internal */
5
5
  export declare const offCycleMachine: {
6
6
  createOffCyclePayroll: import('robot3').MachineState<any>;
7
+ blockers: import('robot3').MachineState<any>;
7
8
  execution: import('robot3').MachineState<any>;
8
9
  };
@@ -10,6 +10,7 @@ import { OffCycleCreationProps } from './OffCycleCreationTypes';
10
10
  * | Event | Description | Data |
11
11
  * | ----- | ----------- | ---- |
12
12
  * | `offCycle/created` | The off-cycle payroll has been created | `{ payrollUuid: string }` |
13
+ * | `offCycle/blockers/viewAll` | The user chose to view the company's payroll blockers from the blocker alert | none |
13
14
  *
14
15
  * Changing the reason updates the deduction and withholding defaults — `'bonus'` skips
15
16
  * regular deductions and uses the supplemental withholding rate; `'correction'` includes
@@ -1,3 +1,3 @@
1
1
  import { OffCycleCreationPresentationProps } from './OffCycleCreationTypes';
2
2
  /** @internal */
3
- export declare function OffCycleCreationPresentation({ employees, isPending, minCheckDate, minCheckOnlyDate, maxDate, minPayPeriodDate, taxWithholdingConfig, isTaxWithholdingModalOpen, onTaxWithholdingEditClick, onTaxWithholdingModalDone, onTaxWithholdingModalCancel, className, }: OffCycleCreationPresentationProps): import("react").JSX.Element;
3
+ export declare function OffCycleCreationPresentation({ employees, blockers, onViewBlockersClick, isPending, minCheckDate, minCheckOnlyDate, maxDate, minPayPeriodDate, taxWithholdingConfig, isTaxWithholdingModalOpen, onTaxWithholdingEditClick, onTaxWithholdingModalDone, onTaxWithholdingModalCancel, className, }: OffCycleCreationPresentationProps): import("react").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { OffCycleReason } from '../OffCycleReasonSelection';
2
2
  import { OffCyclePayPeriodDateFormData, OffCyclePayrollDateType } from '../OffCyclePayPeriodDateForm';
3
3
  import { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes';
4
+ import { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers';
4
5
  import { MultiSelectComboBoxOption } from '../../Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes';
5
6
  import { BaseComponentInterface } from '../../Base/Base';
6
7
  /**
@@ -33,6 +34,16 @@ export interface OffCycleCreationFormData extends OffCyclePayPeriodDateFormData
33
34
  export interface OffCycleCreationPresentationProps {
34
35
  /** Selectable employees rendered in the multi-select. */
35
36
  employees: MultiSelectComboBoxOption[];
37
+ /**
38
+ * Run-payroll blockers for the company. When non-empty, a blocker alert is shown and the
39
+ * submit action is disabled so the off-cycle payroll cannot be created while a blocker is active.
40
+ */
41
+ blockers: ApiPayrollBlocker[];
42
+ /**
43
+ * Invoked when the user activates the "View Blockers" action on the blocker alert. The alert
44
+ * only renders that action when there are multiple blockers or an actionable blocker to resolve.
45
+ */
46
+ onViewBlockersClick?: () => void;
36
47
  /** Whether the off-cycle create mutation is in flight. */
37
48
  isPending?: boolean;
38
49
  /** Earliest selectable payment date for direct deposit (today plus the ACH lead time). */
@@ -30,7 +30,7 @@ export interface PayrollConfigurationProps extends BaseComponentInterface<'Payro
30
30
  * @events
31
31
  * | Event | Description | Data |
32
32
  * | ----- | ----------- | ---- |
33
- * | `runPayroll/employee/edit` | An employee row is selected for editing | `{ employeeId, firstName, lastName }` |
33
+ * | `runPayroll/employee/edit` | An employee row is selected for editing | `{ payrollId, employeeId, firstName, lastName }` |
34
34
  * | `runPayroll/employee/skip` | An employee is skipped or unskipped for this payroll | `{ employeeId }` |
35
35
  * | `runPayroll/employee/saved` | Employee compensation changes are persisted | `{ payrollPrepared }` |
36
36
  * | `runPayroll/calculated` | Payroll calculation completes successfully | `{ payrollId, alert, payPeriod }` |
@@ -35,6 +35,11 @@ export interface UseCalculationPollOptions {
35
35
  refetch: () => Promise<QueryObserverResult<PayrollsGetQueryData, PayrollsGetQueryError>>;
36
36
  onCalculated: (payroll: PayrollShow | undefined) => void;
37
37
  onProcessingFailed: (payroll: PayrollShow | undefined) => void;
38
+ /**
39
+ * Called when the poll gives up on a non-retryable read error, without ever confirming a
40
+ * calculated/failed outcome. The raw error is reported to observability by this hook already.
41
+ */
42
+ onError: () => void;
38
43
  }
39
44
  /** @internal */
40
45
  export interface CalculationPoll {
@@ -46,5 +51,5 @@ export interface CalculationPoll {
46
51
  *
47
52
  * @internal
48
53
  */
49
- export declare function useCalculationPoll({ refetch, onCalculated, onProcessingFailed, }: UseCalculationPollOptions): CalculationPoll;
54
+ export declare function useCalculationPoll({ refetch, onCalculated, onProcessingFailed, onError, }: UseCalculationPollOptions): CalculationPoll;
50
55
  export {};
@@ -122,6 +122,24 @@ export declare function hasBreakdownsMatchingWorkweeks(hourlyCompensations: Payr
122
122
  * @internal
123
123
  */
124
124
  export declare function derivePayrollEditEmployeeDefaults(employeeCompensation: PayrollEmployeeCompensationsType | undefined, workweeks: NormalizedWorkweek[], hasDirectDepositSetup: boolean, overtimeEarningNames: Set<string>, isOvertimeEligible: boolean, withOvertime: boolean, fixedCompensations?: FixedCompensationEntry[]): PayrollEditEmployeeFormData;
125
+ /**
126
+ * Coerces cleared-from-loaded workweek cells to `"0"` across both week-mapped
127
+ * sections (`hours`, `overtimeIncludedEarnings`).
128
+ *
129
+ * @remarks
130
+ * Run just before submit: a workweek input that loaded with a value and was
131
+ * cleared by the user should submit an explicit `0` for that cell (whether split
132
+ * by workweek or collapsed to a single box), instead of falling back to the
133
+ * original value or being blocked by the per-row completeness check. Cells that
134
+ * were blank at load are untouched. Each returned section is present only when it
135
+ * actually changed, so the caller can `setValue` selectively.
136
+ *
137
+ * @param current - The live form values.
138
+ * @param defaults - The form's loaded defaults (the API-seeded baseline for the current split mode).
139
+ * @returns The coerced `hours` and/or `overtimeIncludedEarnings` sections, each omitted when unchanged.
140
+ * @internal
141
+ */
142
+ export declare function zeroFillClearedWorkweekCells(current: Pick<PayrollEditEmployeeFormData, 'hours' | 'overtimeIncludedEarnings'>, defaults: Pick<PayrollEditEmployeeFormData, 'hours' | 'overtimeIncludedEarnings'>): Partial<Pick<PayrollEditEmployeeFormData, 'hours' | 'overtimeIncludedEarnings'>>;
125
143
  /**
126
144
  * Builds the `PayrollUpdate` employee-compensation payload from form values.
127
145
  *
@@ -70,7 +70,7 @@ export interface PayrollExecutionInternalFlowProps extends PayrollExecutionFlowP
70
70
  * | `runPayroll/edit` | Fired when user chooses to edit payroll | — |
71
71
  * | `runPayroll/calculated` | Fired when payroll calculation completes | `{ payrollUuid, payPeriod?, alert? }` |
72
72
  * | `runPayroll/alreadyProcessed` | Fired when the payroll turns out to already be processed while configuring it; the flow moves to the review screen | `{ payrollId, alert?, payPeriod? }` |
73
- * | `runPayroll/employee/edit` | Fired when user opens an employee row to edit | `{ employeeId, firstName, lastName }` |
73
+ * | `runPayroll/employee/edit` | Fired when user opens an employee row to edit | `{ payrollId, employeeId, firstName, lastName }` |
74
74
  * | `runPayroll/employee/saved` | Fired when employee edits are saved | — |
75
75
  * | `runPayroll/employee/cancelled` | Fired when employee edits are cancelled | — |
76
76
  * | `runPayroll/submitting` | Fired when payroll submission begins | — |
@@ -2,6 +2,14 @@ import { BreadcrumbNodes } from '../../Common/FlowBreadcrumbs/FlowBreadcrumbsTyp
2
2
  /** @internal */
3
3
  export declare const getPayrollExecutionBreadcrumbsNodes: (isDismissal?: boolean) => BreadcrumbNodes;
4
4
  /** @internal */
5
+ export declare const calculatedTransition: import('robot3').Transition<"runPayroll/calculated">;
6
+ /** @internal */
7
+ export declare const alreadyProcessedTransition: import('robot3').Transition<"runPayroll/alreadyProcessed">;
8
+ /** @internal */
9
+ export declare const employeeEditTransition: import('robot3').Transition<"runPayroll/employee/edit">;
10
+ /** @internal */
11
+ export declare const blockersViewAllTransition: import('robot3').Transition<"runPayroll/blockers/viewAll">;
12
+ /** @internal */
5
13
  export declare const payrollExecutionMachine: {
6
14
  configuration: import('robot3').MachineState<any>;
7
15
  overview: import('robot3').MachineState<any>;
@@ -12,7 +12,7 @@ import { PayrollFlowProps } from './PayrollFlowComponents';
12
12
  * | `payroll/review` | A calculated payroll is opened for review | `{ payrollId: string }` |
13
13
  * | `runPayroll/calculated` | Payroll calculations complete | — |
14
14
  * | `runPayroll/edit` | The user returns to configuration to make changes | — |
15
- * | `runPayroll/employee/edit` | An employee row is opened for editing | `{ employeeId: string, firstName: string, lastName: string }` |
15
+ * | `runPayroll/employee/edit` | An employee row is opened for editing | `{ payrollId: string, employeeId: string, firstName: string, lastName: string }` |
16
16
  * | `runPayroll/employee/saved` | Employee payroll changes are saved | `{ payrollPrepared: object, employee: object }` |
17
17
  * | `runPayroll/employee/cancelled` | Employee editing is cancelled | — |
18
18
  * | `runPayroll/submitted` | Payroll is successfully submitted | Response from the submit payroll endpoint |
@@ -1,2 +1,7 @@
1
- /** @internal */
1
+ /**
2
+ * Adapts the `PayrollFlow` machine context to {@link TransitionFlow}'s props. The resolve/resume
3
+ * lookup that used to live here now lives inside `TransitionPayroll`, so this is a thin bridge.
4
+ *
5
+ * @internal
6
+ */
2
7
  export declare function TransitionFlowContextual(): import("react").JSX.Element;
@@ -25,6 +25,15 @@ export interface UseSubmissionPollOptions {
25
25
  refetch: () => Promise<QueryObserverResult<PayrollsGetQueryData, PayrollsGetQueryError>>;
26
26
  onProcessed: (payroll: PayrollShow | undefined) => void;
27
27
  onProcessingFailed: (payroll: PayrollShow | undefined) => void;
28
+ /**
29
+ * Called when the poll gives up on a non-retryable read error, but only for a run that was
30
+ * actually tracking a submission (`baseline` set, or a `submitting` status observed mid-run).
31
+ * A baseline-less mount poll that never saw `submitting` swallows the error here -- it was only
32
+ * guarding the initial render, not watching a real submission, so surfacing it as a processing
33
+ * failure would be a false failure. The raw error is reported to observability by this hook
34
+ * either way.
35
+ */
36
+ onError: () => void;
28
37
  }
29
38
  /** @internal */
30
39
  export interface SubmissionPoll {
@@ -36,4 +45,4 @@ export interface SubmissionPoll {
36
45
  *
37
46
  * @internal
38
47
  */
39
- export declare function useSubmissionPoll({ refetch, onProcessed, onProcessingFailed, }: UseSubmissionPollOptions): SubmissionPoll;
48
+ export declare function useSubmissionPoll({ refetch, onProcessed, onProcessingFailed, onError, }: UseSubmissionPollOptions): SubmissionPoll;
@@ -1,29 +1,31 @@
1
1
  import { TransitionFlowProps } from './TransitionFlowComponents';
2
2
  /**
3
- * Guided flow to run a transition payroll when employees move from one pay schedule to another.
3
+ * Macro flow that runs a transition payroll end to end: resolve or create the payroll, then
4
+ * configure, review, submit, and view receipts.
4
5
  *
5
6
  * @remarks
6
- * When employees switch from an old pay schedule to a new one, the change can leave a gap between
7
- * the last pay period on the old schedule and the first on the new one. A transition payroll covers
8
- * the wages earned during that gap.
7
+ * Renders {@link TransitionPayroll} as its entry step, then routes the events its configuration
8
+ * screen emits into the shared payroll-execution states (overview, edit-employee, receipts,
9
+ * blockers). It owns the breadcrumb chrome and back-navigation, and re-runs the same cached resolve
10
+ * lookup to seed its initial breadcrumb and payroll context.
9
11
  *
10
- * Starts on the creation step (configure check date, deductions, and tax withholding for the
11
- * transition pay period). After the payroll is created, the flow hands off to the standard
12
- * payroll execution experience — configure compensation, review, submit, and view receipts.
13
- *
14
- * If a `payrollUuid` is supplied, the flow skips creation and resumes directly in execution.
12
+ * There is no terminal state (SDK-1169). Completion events bubble via `onEvent` for the parent to
13
+ * handle (in `Payroll.PayrollFlow` the parent machine does).
15
14
  *
16
15
  * @events
17
16
  * | Event | Description | Data |
18
17
  * | ----- | ----------- | ---- |
19
- * | `breadcrumb/navigate` | Fired when the user navigates back to the creation step via breadcrumbs | `{ key: string }` |
20
- * | `transition/created` | Fired when the transition payroll is created and the flow advances to execution | `{ payrollUuid: string }` |
18
+ * | `transition/created` | Fired when the transition payroll is created and the flow advances to configuration | `{ payrollUuid: string }` |
19
+ * | `breadcrumb/navigate` | Fired when the user navigates via the breadcrumb header | `{ key: string }` |
21
20
  *
22
- * Once execution begins, all standard run-payroll events are emitted as well.
21
+ * All standard run-payroll events are emitted once configuration begins.
23
22
  *
24
23
  * @components
25
- * - {@link TransitionCreation}
26
- * - {@link PayrollExecutionFlow}
24
+ * - {@link TransitionPayroll}
25
+ * - {@link PayrollOverview}
26
+ * - {@link PayrollEditEmployee}
27
+ * - {@link PayrollReceipts}
28
+ * - {@link PayrollBlockerList}
27
29
  *
28
30
  * @param props - See {@link TransitionFlowProps}.
29
31
  * @returns The transition payroll flow.
@@ -50,4 +52,4 @@ import { TransitionFlowProps } from './TransitionFlowComponents';
50
52
  * }
51
53
  * ```
52
54
  */
53
- export declare function TransitionFlow({ companyId, startDate, endDate, payScheduleUuid, payrollUuid, onEvent, }: TransitionFlowProps): import("react").JSX.Element;
55
+ export declare function TransitionFlow(props: TransitionFlowProps): import("react").JSX.Element;
@@ -1,22 +1,23 @@
1
- import { FlowContextInterface } from '../../Flow/useFlow';
1
+ import { PayrollFlowContextInterface } from '../PayrollFlow/PayrollFlowComponents';
2
2
  import { OnEventType } from '../../Base/useBase';
3
3
  import { EventType } from '../../../shared/constants';
4
4
  /**
5
- * Flow context shape carried through the transition payroll state machine.
5
+ * Flow context shape carried through the transition payroll macro state machine.
6
+ *
7
+ * @remarks
8
+ * Extends {@link PayrollFlowContextInterface} so the payroll-execution reducers reused by the
9
+ * transition machine (overview, edit-employee, receipts, blockers) typecheck against a single
10
+ * shared context shape.
6
11
  *
7
12
  * @internal
8
13
  */
9
- export interface TransitionFlowContextInterface extends FlowContextInterface {
10
- /** Company the transition payroll belongs to. */
11
- companyId: string;
14
+ export interface TransitionFlowContextInterface extends PayrollFlowContextInterface {
12
15
  /** Start date of the transition pay period (YYYY-MM-DD). */
13
16
  startDate: string;
14
17
  /** End date of the transition pay period (YYYY-MM-DD). */
15
18
  endDate: string;
16
19
  /** UUID of the pay schedule the transition is associated with. */
17
20
  payScheduleUuid: string;
18
- /** UUID of the created transition payroll, populated once creation completes. */
19
- payrollUuid?: string;
20
21
  }
21
22
  /**
22
23
  * Props for {@link TransitionFlow}.
@@ -32,12 +33,20 @@ export interface TransitionFlowProps {
32
33
  endDate: string;
33
34
  /** UUID of the pay schedule the transition is associated with. */
34
35
  payScheduleUuid: string;
35
- /** UUID of an existing transition payroll. When provided, the flow skips creation and resumes in execution. */
36
+ /**
37
+ * UUID of an existing transition payroll. When provided, the flow skips the lookup and starts on
38
+ * configuration for this payroll. When omitted, it resolves the payroll for the pay period.
39
+ */
36
40
  payrollUuid?: string;
41
+ /** Whether reimbursement fields are shown throughout the flow. Defaults to `true`. */
42
+ withReimbursements?: boolean;
37
43
  /** Callback invoked for each event emitted by the flow and its child steps. */
38
44
  onEvent: OnEventType<EventType, unknown>;
39
45
  }
40
- /** @internal */
41
- export declare function TransitionCreationContextual(): import("react").JSX.Element;
42
- /** @internal */
43
- export declare function TransitionExecutionContextual(): import("react").JSX.Element;
46
+ /**
47
+ * Renders {@link TransitionPayroll} as the entry step of {@link TransitionFlow}, wiring its events
48
+ * up to the flow's state machine.
49
+ *
50
+ * @internal
51
+ */
52
+ export declare function TransitionPayrollContextual(): import("react").JSX.Element;
@@ -1,8 +1,29 @@
1
1
  import { BreadcrumbNodes } from '../../Common/FlowBreadcrumbs/FlowBreadcrumbsTypes';
2
- /** @internal */
2
+ /**
3
+ * Breadcrumb nodes for the transition payroll macro flow: the creation crumb merged with the
4
+ * shared payroll-execution crumbs. `configuration` is nested under the creation crumb so the
5
+ * "Transition Payroll" crumb persists in the trail once the flow advances past creation, matching
6
+ * the display-only prefix the flow rendered before this refactor.
7
+ *
8
+ * @internal
9
+ */
3
10
  export declare const transitionBreadcrumbsNodes: BreadcrumbNodes;
4
- /** @internal */
11
+ /**
12
+ * Macro state machine for {@link TransitionFlow}.
13
+ *
14
+ * @remarks
15
+ * The entry state renders {@link TransitionPayroll}; the rest of the states are the shared
16
+ * {@link payrollExecutionMachine} states, reused via object spread. The entry state reuses that
17
+ * machine's onward transitions so configuration events route into overview / edit-employee /
18
+ * blockers.
19
+ *
20
+ * @internal
21
+ */
5
22
  export declare const transitionMachine: {
6
- createTransitionPayroll: import('robot3').MachineState<any>;
7
- execution: import('robot3').MachineState<any>;
23
+ configuration: import('robot3').MachineState<any>;
24
+ overview: import('robot3').MachineState<any>;
25
+ editEmployee: import('robot3').MachineState<any>;
26
+ receipts: import('robot3').MachineState<any>;
27
+ blockers: import('robot3').MachineState<any>;
28
+ transitionPayroll: import('robot3').MachineState<any>;
8
29
  };
@@ -0,0 +1,55 @@
1
+ import { TransitionPayrollProps } from './TransitionPayrollTypes';
2
+ /**
3
+ * Resolves and runs a transition payroll for a pay-schedule change, picking up an existing
4
+ * unprocessed transition payroll when one exists and creating one otherwise.
5
+ *
6
+ * @remarks
7
+ * A transition payroll covers the gap that opens when a company changes its pay schedule. This
8
+ * component looks up whether one already exists for the pay period and picks the starting screen:
9
+ *
10
+ * - If it exists, it starts on {@link PayrollConfiguration} for that payroll.
11
+ * - Otherwise it starts on {@link TransitionCreation}, then advances to {@link PayrollConfiguration}
12
+ * once the payroll is created.
13
+ *
14
+ * Configuration events (calculate, employee edit, blockers, etc.) are emitted through `onEvent` for
15
+ * the host to route. Compose it inside {@link TransitionFlow} for the full run-payroll experience,
16
+ * or handle the events yourself.
17
+ *
18
+ * @events
19
+ * | Event | Description | Data |
20
+ * | ----- | ----------- | ---- |
21
+ * | `transition/created` | The transition payroll has been created and the flow advances to configuration | `{ payrollUuid: string }` |
22
+ *
23
+ * Once configuration begins, all standard run-payroll events are emitted as well (e.g.
24
+ * `runPayroll/calculated`, `runPayroll/employee/edit`, `runPayroll/blockers/viewAll`).
25
+ *
26
+ * @components
27
+ * - {@link TransitionCreation}
28
+ * - {@link PayrollConfiguration}
29
+ *
30
+ * @param props - See {@link TransitionPayrollProps}.
31
+ * @returns The transition payroll component.
32
+ * @public
33
+ *
34
+ * @example
35
+ * ```tsx title="App.tsx"
36
+ * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'
37
+ *
38
+ * function MyApp() {
39
+ * return (
40
+ * <Payroll.TransitionPayroll
41
+ * companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
42
+ * startDate="2025-01-16"
43
+ * endDate="2025-01-31"
44
+ * payScheduleUuid="c75c1ef6-2ec0-4cca-94a5-8b4cf7e5ea21"
45
+ * onEvent={(eventType: EventType) => {
46
+ * if (eventType === 'runPayroll/calculated') {
47
+ * // Payroll calculated — navigate to your review screen
48
+ * }
49
+ * }}
50
+ * />
51
+ * )
52
+ * }
53
+ * ```
54
+ */
55
+ export declare function TransitionPayroll(props: TransitionPayrollProps): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { FlowContextInterface } from '../../Flow/useFlow';
2
+ /**
3
+ * Flow context shape carried through the {@link TransitionPayroll} state machine.
4
+ *
5
+ * @internal
6
+ */
7
+ export interface TransitionPayrollContextInterface extends FlowContextInterface {
8
+ /** Company the transition payroll belongs to. */
9
+ companyId: string;
10
+ /** Start date of the transition pay period (YYYY-MM-DD). */
11
+ startDate: string;
12
+ /** End date of the transition pay period (YYYY-MM-DD). */
13
+ endDate: string;
14
+ /** UUID of the pay schedule the transition is associated with. */
15
+ payScheduleUuid: string;
16
+ /** UUID of the transition payroll once it has been resolved or created. */
17
+ payrollUuid?: string;
18
+ /** Whether reimbursement fields are shown on the configuration screen. Defaults to `true`. */
19
+ withReimbursements?: boolean;
20
+ }
21
+ /** @internal */
22
+ export declare function TransitionCreationContextual(): import("react").JSX.Element;
23
+ /** @internal */
24
+ export declare function PayrollConfigurationContextual(): import("react").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { BaseComponentInterface } from '../../Base/Base';
2
+ /**
3
+ * Props for {@link TransitionPayroll}.
4
+ *
5
+ * @public
6
+ */
7
+ export interface TransitionPayrollProps extends BaseComponentInterface {
8
+ /** The company running the transition payroll. */
9
+ companyId: string;
10
+ /** The start date of the transition pay period (YYYY-MM-DD). */
11
+ startDate: string;
12
+ /** The end date of the transition pay period (YYYY-MM-DD). */
13
+ endDate: string;
14
+ /** The UUID of the pay schedule the transition is associated with. */
15
+ payScheduleUuid: string;
16
+ /**
17
+ * UUID of an existing transition payroll. When provided, the component skips the lookup and starts
18
+ * on configuration for this payroll. When omitted, it resolves the payroll for the pay period.
19
+ */
20
+ payrollUuid?: string;
21
+ /** Whether reimbursement fields are shown on the configuration screen. Defaults to `true`. */
22
+ withReimbursements?: boolean;
23
+ }
@@ -0,0 +1,2 @@
1
+ export { TransitionPayroll } from './TransitionPayroll';
2
+ export type { TransitionPayrollProps } from './TransitionPayrollTypes';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * State machine for {@link TransitionPayroll}.
3
+ *
4
+ * @remarks
5
+ * `creation` shows {@link TransitionCreation}; `configuration` shows {@link PayrollConfiguration}.
6
+ * The component freezes the initial state from the resolve lookup. `configuration` has no outgoing
7
+ * transitions (a plain zero-transition state, not a robot3 final state per SDK-1169) so its events
8
+ * bubble via `onEvent` and the screen keeps working if the host stays mounted past completion.
9
+ *
10
+ * @internal
11
+ */
12
+ export declare const transitionPayrollMachine: {
13
+ creation: import('robot3').MachineState<any>;
14
+ configuration: import('robot3').MachineState<any>;
15
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Arguments describing the transition pay period to resolve.
3
+ *
4
+ * @internal
5
+ */
6
+ export interface ResolveTransitionPayrollArgs {
7
+ companyId: string;
8
+ startDate: string;
9
+ endDate: string;
10
+ payScheduleUuid: string;
11
+ }
12
+ /**
13
+ * Looks up an existing unprocessed transition payroll for the given pay period.
14
+ *
15
+ * @remarks
16
+ * A transition payroll is an unprocessed off-cycle payroll whose `offCycleReason` is
17
+ * `"Transition from old pay schedule"` and whose pay period matches the supplied
18
+ * `startDate`, `endDate`, and `payScheduleUuid`. When the company changed its pay schedule
19
+ * the platform creates exactly one such payroll for the coverage gap; this hook finds it so
20
+ * the caller can resume it instead of creating a duplicate.
21
+ *
22
+ * Backed by a suspense query, so callers must render it under a suspense boundary.
23
+ *
24
+ * @param args - The pay period to match. See {@link ResolveTransitionPayrollArgs}.
25
+ * @returns The matching payroll's UUID, or `undefined` when none exists yet.
26
+ * @internal
27
+ */
28
+ export declare function useResolveTransitionPayroll({ companyId, startDate, endDate, payScheduleUuid, }: ResolveTransitionPayrollArgs): string | undefined;
@@ -40,3 +40,5 @@ export { TransitionFlow } from './Transition';
40
40
  export type { TransitionFlowProps } from './Transition';
41
41
  export { TransitionCreation } from './TransitionCreation';
42
42
  export type { TransitionCreationProps, TransitionCreationFormData } from './TransitionCreation';
43
+ export { TransitionPayroll } from './TransitionPayroll';
44
+ export type { TransitionPayrollProps } from './TransitionPayroll';
@@ -21,9 +21,11 @@ export interface ApiProviderProps {
21
21
  * Wires the `@gusto/embedded-api-v-2026-06-15` client and a React Query client into the React tree.
22
22
  *
23
23
  * @remarks
24
- * Registers the SDK's `X-Gusto-API-Version` header on every request, applies any default `headers`,
25
- * and registers user-supplied lifecycle hooks (`beforeCreateRequest`, `beforeRequest`, `afterSuccess`,
26
- * `afterError`). When no `queryClient` is supplied, one is created with the SDK's defaults so
24
+ * Registers the SDK's `X-Gusto-API-Version` header on every request, warns via `console.warn` if a
25
+ * response reports a different `X-Gusto-API-Version` than was requested (e.g. a proxy rewriting the
26
+ * header), applies any default `headers`, and registers user-supplied lifecycle hooks
27
+ * (`beforeCreateRequest`, `beforeRequest`, `afterSuccess`, `afterError`). When no `queryClient` is
28
+ * supplied, one is created with the SDK's defaults so
27
29
  * successful mutations under the `['@gusto/embedded-api-v-2026-06-15']` key invalidate every SDK
28
30
  * query automatically. Partners who supply their own `QueryClient` are responsible for matching that
29
31
  * contract.
@@ -0,0 +1,3 @@
1
+ import { AfterErrorHook, AfterSuccessHook } from '../../types/hooks';
2
+ /** @internal */
3
+ export declare const apiVersionMismatchHook: AfterSuccessHook & AfterErrorHook;
@@ -45,7 +45,15 @@ export interface GustoBaseProviderProps {
45
45
  * Also exposed to custom UI components via `useNonce`.
46
46
  */
47
47
  nonce?: string;
48
- /** Element to use as the portal container for SDK popovers and dropdowns. Useful when rendering inside a modal or shadow root. */
48
+ /**
49
+ * Element to use as the portal container for SDK popovers and dropdowns.
50
+ * Defaults to a themed root element the SDK appends to `document.body`.
51
+ *
52
+ * Pass an element here if rendering inside a modal, or **required** if
53
+ * rendering inside a shadow root — `document.body` sits outside every
54
+ * shadow boundary, so without an explicit container overlays would
55
+ * otherwise escape your shadow root's style encapsulation.
56
+ */
49
57
  portalContainer?: HTMLElement;
50
58
  /** Optional TanStack Query `QueryClient`. When omitted, the SDK creates its own client configured for Gusto's API. */
51
59
  queryClient?: QueryClient;