@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.
- package/CHANGELOG.md +56 -0
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +70 -69
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +2 -2
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +51 -42
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -2
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +11 -11
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +3 -3
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +76 -79
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +10 -10
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +49 -45
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +24 -18
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +39 -21
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +98 -88
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +64 -60
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +12 -12
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +40 -40
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +205 -185
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +13 -16
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +138 -110
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +149 -146
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +4 -0
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +22 -35
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +185 -171
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +44 -44
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +16 -16
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +49 -36
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -47
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.js +35 -40
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +48 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +35 -0
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +23 -0
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +1 -0
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +32 -0
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -0
- package/dist/components/Payroll/index.js +7 -5
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +9 -8
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
- package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
- package/dist/i18n/I18n.js +9 -4
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
- package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
- package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollBlocker.json.js +10 -8
- package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
- package/dist/i18n/es_US/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/es_US/Contractor.ContractorList.json.js +14 -12
- package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +4 -4
- package/dist/i18n/es_US/Contractor.Management.Profile.json.js +4 -4
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +40 -38
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +18 -16
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -1
- package/dist/i18n/es_US/Contractor.Profile.json.js +5 -5
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +11 -9
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +2 -2
- package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +6 -6
- package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +15 -15
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +28 -26
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +40 -38
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js +14 -0
- package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js +12 -0
- package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js +26 -0
- package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js +14 -0
- package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js +78 -0
- package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/es_US/common.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/shared/constants.js +21 -20
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
- package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
- package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
- package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +7 -2
- package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
- package/dist/src/components/Payroll/OffCycle/OffCycleFlow.d.ts +2 -0
- package/dist/src/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +2 -0
- package/dist/src/components/Payroll/OffCycle/offCycleStateMachine.d.ts +1 -0
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -0
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +11 -0
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +18 -0
- package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +8 -0
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
- package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +17 -15
- package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +21 -12
- package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +25 -4
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +55 -0
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +24 -0
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +23 -0
- package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +15 -0
- package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +28 -0
- package/dist/src/components/Payroll/index.d.ts +2 -0
- package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
- package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
- package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
- package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
- package/dist/src/i18n/types.d.ts +20 -0
- package/dist/src/shared/constants.d.ts +2 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +19 -19
- 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
|
|
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
|
|
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`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
-
/**
|
|
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
|
-
*
|
|
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
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* the
|
|
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
|
-
*
|
|
11
|
-
*
|
|
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
|
-
* | `
|
|
20
|
-
* | `
|
|
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
|
-
*
|
|
21
|
+
* All standard run-payroll events are emitted once configuration begins.
|
|
23
22
|
*
|
|
24
23
|
* @components
|
|
25
|
-
* - {@link
|
|
26
|
-
* - {@link
|
|
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(
|
|
55
|
+
export declare function TransitionFlow(props: TransitionFlowProps): import("react").JSX.Element;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
|
|
7
|
-
|
|
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,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,
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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 @@
|
|
|
1
|
+
export {};
|
|
@@ -45,7 +45,15 @@ export interface GustoBaseProviderProps {
|
|
|
45
45
|
* Also exposed to custom UI components via `useNonce`.
|
|
46
46
|
*/
|
|
47
47
|
nonce?: string;
|
|
48
|
-
/**
|
|
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;
|