@gusto/embedded-react-sdk 0.56.4 → 0.56.6

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 (138) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/components/Common/DocumentEmbed/DocumentEmbed.js +18 -0
  3. package/dist/components/Common/DocumentEmbed/DocumentEmbed.js.map +1 -0
  4. package/dist/components/Common/DocumentViewer/DocumentViewer.js +35 -29
  5. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  7. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  8. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  9. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  11. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  12. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  13. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  14. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  15. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  16. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
  17. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  18. package/dist/components/Company/Industry/Context.js +7 -6
  19. package/dist/components/Company/Industry/Context.js.map +1 -1
  20. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  21. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  22. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  23. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  24. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  25. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  26. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js +39 -0
  27. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -0
  28. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.js +54 -0
  29. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.js.map +1 -0
  30. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js +56 -0
  31. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -0
  32. package/dist/components/Company/PaySchedule/management/PaySchedule.js +54 -39
  33. package/dist/components/Company/PaySchedule/management/PaySchedule.js.map +1 -1
  34. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +48 -32
  35. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
  36. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +8 -8
  37. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
  38. package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js +74 -32
  39. package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
  40. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  41. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  42. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  43. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  44. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -3
  45. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  46. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +64 -61
  47. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  48. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +133 -134
  49. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  50. package/dist/components/Contractor/ContractorListFlow/ContractorListFlow.js.map +1 -1
  51. package/dist/components/Contractor/ContractorListFlow/ContractorListFlowComponents.js +22 -9
  52. package/dist/components/Contractor/ContractorListFlow/ContractorListFlowComponents.js.map +1 -1
  53. package/dist/components/Contractor/ContractorListFlow/contractorListStateMachine.js +51 -20
  54. package/dist/components/Contractor/ContractorListFlow/contractorListStateMachine.js.map +1 -1
  55. package/dist/components/Contractor/Dismissal/Dismissal.js +77 -0
  56. package/dist/components/Contractor/Dismissal/Dismissal.js.map +1 -0
  57. package/dist/components/Contractor/Dismissal/DismissalPresentation.js +57 -0
  58. package/dist/components/Contractor/Dismissal/DismissalPresentation.js.map +1 -0
  59. package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +44 -0
  60. package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -0
  61. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +17 -14
  62. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  63. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +45 -41
  64. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  65. package/dist/components/Contractor/exports/contractorManagement.js +56 -54
  66. package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
  67. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  68. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  69. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +27 -16
  70. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  71. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +25 -17
  72. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  73. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +6 -5
  74. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  75. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  76. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  77. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +201 -196
  78. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  79. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +55 -52
  80. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  81. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +38 -29
  82. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
  83. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +63 -62
  84. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  85. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +25 -18
  86. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  87. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +72 -68
  88. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  89. package/dist/components/Payroll/usePreparedPayrollData.js +3 -2
  90. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  91. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  92. package/dist/i18n/I18n.js +2 -0
  93. package/dist/i18n/I18n.js.map +1 -1
  94. package/dist/i18n/en/Company.Management.AutoPilotDialog.json.js +22 -0
  95. package/dist/i18n/en/Company.Management.AutoPilotDialog.json.js.map +1 -0
  96. package/dist/i18n/en/Contractor.Dismissal.json.js +20 -0
  97. package/dist/i18n/en/Contractor.Dismissal.json.js.map +1 -0
  98. package/dist/i18n/en/Contractor.Payments.PaymentStatement.json.js +2 -2
  99. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +38 -38
  100. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +31 -31
  101. package/dist/i18n/en/common.json.js +37 -35
  102. package/dist/i18n/en/common.json.js.map +1 -1
  103. package/dist/package.json.js +1 -1
  104. package/dist/shared/constants.js +19 -15
  105. package/dist/shared/constants.js.map +1 -1
  106. package/dist/src/components/Common/DocumentEmbed/DocumentEmbed.d.ts +3 -0
  107. package/dist/src/components/Common/DocumentEmbed/DocumentEmbedTypes.d.ts +25 -0
  108. package/dist/src/components/Common/DocumentEmbed/index.d.ts +2 -0
  109. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +11 -0
  110. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.d.ts +17 -0
  111. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/index.d.ts +1 -0
  112. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +22 -0
  113. package/dist/src/components/Company/PaySchedule/management/PaySchedule.d.ts +17 -1
  114. package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +2 -0
  115. package/dist/src/components/Company/PaySchedule/management/index.d.ts +1 -1
  116. package/dist/src/components/Company/exports/companyManagement.d.ts +1 -1
  117. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorList.d.ts +2 -0
  118. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
  119. package/dist/src/components/Contractor/ContractorListFlow/ContractorListFlow.d.ts +6 -4
  120. package/dist/src/components/Contractor/ContractorListFlow/ContractorListFlowComponents.d.ts +2 -0
  121. package/dist/src/components/Contractor/ContractorListFlow/contractorListStateMachine.d.ts +1 -0
  122. package/dist/src/components/Contractor/ContractorListFlow/contractorListStateMachine.test.d.ts +1 -0
  123. package/dist/src/components/Contractor/Dismissal/Dismissal.d.ts +45 -0
  124. package/dist/src/components/Contractor/Dismissal/DismissalPresentation.d.ts +17 -0
  125. package/dist/src/components/Contractor/Dismissal/useDismissal/useDismissal.d.ts +41 -0
  126. package/dist/src/components/Contractor/Dismissal/useDismissal/useDismissal.test.d.ts +1 -0
  127. package/dist/src/components/Contractor/exports/contractorManagement.d.ts +1 -0
  128. package/dist/src/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +1 -1
  129. package/dist/src/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +6 -0
  130. package/dist/src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.test.d.ts +1 -0
  131. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +19 -0
  132. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  133. package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +5 -2
  134. package/dist/src/i18n/en/common.json.d.ts +3 -0
  135. package/dist/src/i18n/types.d.ts +128 -0
  136. package/dist/src/shared/constants.d.ts +8 -0
  137. package/docs/guides/endpoint-inventory.json +30 -1
  138. package/package.json +1 -1
@@ -1,16 +1,32 @@
1
1
  import { BaseComponentInterface } from '../../../Base';
2
+ import { DeepPartial, Resources, SupportedLanguages } from '../../../../types/Helpers';
3
+ /**
4
+ * Translation overrides for {@link PaySchedule}, covering both its own namespace and
5
+ * `Company.Management.AutoPilotDialog` — the AutoPilot dialog is an internal spoke of this
6
+ * flow with no standalone `dictionary` prop of its own.
7
+ *
8
+ * @alpha
9
+ */
10
+ export type PayScheduleDictionary = {
11
+ [Lang in SupportedLanguages]?: {
12
+ 'Company.Management.PaySchedule'?: DeepPartial<Resources['Company.Management.PaySchedule']>;
13
+ 'Company.Management.AutoPilotDialog'?: DeepPartial<Resources['Company.Management.AutoPilotDialog']>;
14
+ };
15
+ };
2
16
  /**
3
17
  * Props for {@link PaySchedule}.
4
18
  *
5
19
  * @alpha
6
20
  */
7
- export interface PayScheduleProps extends BaseComponentInterface<'Company.Management.PaySchedule'> {
21
+ export interface PayScheduleProps extends Omit<BaseComponentInterface<'Company.Management.PaySchedule'>, 'dictionary'> {
8
22
  /** Company whose pay schedule is managed. */
9
23
  companyId: string;
10
24
  /** Shows the AutoPilot row and its Edit action. */
11
25
  enableAutoPilot?: boolean;
12
26
  /** Shows the Manage action. */
13
27
  enableMultipleSchedules?: boolean;
28
+ /** Overrides for this flow's i18n strings, including the AutoPilot dialog's. */
29
+ dictionary?: PayScheduleDictionary;
14
30
  }
15
31
  /**
16
32
  * Manages a company's pay schedule after onboarding.
@@ -1,3 +1,4 @@
1
+ import { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow';
1
2
  import { PayScheduleDefaultValues } from '../PaySchedule';
2
3
  import { FlowContextInterface } from '../../../Flow/useFlow';
3
4
  /** @internal */
@@ -10,6 +11,7 @@ export interface PayScheduleManagementContextInterface extends FlowContextInterf
10
11
  enableAutoPilot?: boolean;
11
12
  enableMultipleSchedules?: boolean;
12
13
  successAlert?: PayScheduleManagementSuccessAlertCode | null;
14
+ autoPilotSchedule?: PayScheduleShow;
13
15
  component: React.ComponentType | null;
14
16
  }
15
17
  /** @internal */
@@ -1 +1 @@
1
- export { PaySchedule, type PayScheduleProps } from './PaySchedule';
1
+ export { PaySchedule, type PayScheduleProps, type PayScheduleDictionary } from './PaySchedule';
@@ -1,2 +1,2 @@
1
- export { PaySchedule, type PayScheduleProps } from '../PaySchedule/management';
1
+ export { PaySchedule, type PayScheduleProps, type PayScheduleDictionary, } from '../PaySchedule/management';
2
2
  export { PayScheduleAssignment, type PayScheduleAssignmentProps, } from '../PaySchedule/management/PayScheduleAssignment';
@@ -15,6 +15,8 @@ export interface ManagementContractorListProps extends BaseComponentInterface<'C
15
15
  companyId: string;
16
16
  /** Tab to render first: Active, Onboarding, or Dismissed. Defaults to `'active'`. */
17
17
  initialTab?: ContractorTab;
18
+ /** Success message to display in an alert above the list, typically after a dismissal is scheduled. */
19
+ successMessage?: string;
18
20
  }
19
21
  /**
20
22
  * Renders a tabbed list of a company's contractors split across Active, Onboarding, and Dismissed
@@ -10,6 +10,8 @@ export interface ManagementContractorListViewProps extends Pick<Extract<UseContr
10
10
  isFetching: boolean;
11
11
  selectedTab: ContractorTab;
12
12
  onTabChange: (tab: ContractorTab) => void;
13
+ /** Success message to display in an alert above the list, typically after a dismissal is scheduled. */
14
+ successMessage?: string;
13
15
  onEdit: (contractorId: string) => void;
14
16
  onView: (contractorId: string) => void;
15
17
  onDismiss: (contractorId: string) => void;
@@ -21,4 +23,4 @@ export interface ManagementContractorListViewProps extends Pick<Extract<UseContr
21
23
  onAddContractor: () => void;
22
24
  }
23
25
  /** @internal */
24
- export declare function ManagementContractorListView({ className, contractors, isFetching, selectedTab, onTabChange, status, pagination, onEdit, onView, onDismiss, onRehire, onDelete, onCancelSelfOnboarding, onCancelDismissal, onCancelRehire, onAddContractor, }: ManagementContractorListViewProps): import('react').JSX.Element;
26
+ export declare function ManagementContractorListView({ className, contractors, isFetching, selectedTab, onTabChange, successMessage, status, pagination, onEdit, onView, onDismiss, onRehire, onDelete, onCancelSelfOnboarding, onCancelDismissal, onCancelRehire, onAddContractor, }: ManagementContractorListViewProps): import('react').JSX.Element;
@@ -15,10 +15,11 @@ import { ContractorListFlowProps } from './ContractorListFlowComponents';
15
15
  * matching `OnboardingFlow`'s own screens exactly. Submitting, or cancelling
16
16
  * from any step, returns to this list.
17
17
  *
18
- * "Dismiss" and "Rehire" have no corresponding sub-flow yet and are not
19
- * handled internally — they continue to fire their documented events
20
- * (`contractor/dismiss`, `contractor/rehire`) straight through `onEvent` for
21
- * the host app to handle, exactly as they do outside this flow.
18
+ * "Dismiss" routes into {@link Dismissal}, a standalone form for scheduling
19
+ * the contractor's dismissal date. "Rehire" has no corresponding sub-flow yet
20
+ * and is not handled internally — it continues to fire its documented event
21
+ * (`contractor/rehire`) straight through `onEvent` for the host app to
22
+ * handle, exactly as it does outside this flow.
22
23
  *
23
24
  * The flow forwards every event emitted by its blocks to `onEvent`;
24
25
  * see the events table on each block for the full set of events and
@@ -27,6 +28,7 @@ import { ContractorListFlowProps } from './ContractorListFlowComponents';
27
28
  * @components
28
29
  * - {@link ContractorList}
29
30
  * - {@link DashboardFlow}
31
+ * - {@link Dismissal}
30
32
  * - {@link ContractorOnboarding.ContractorProfile | ContractorProfile}
31
33
  * - {@link ContractorOnboarding.Address | Address}
32
34
  * - {@link ContractorOnboarding.PaymentMethod | PaymentMethod}
@@ -15,3 +15,5 @@ export type ContractorListFlowContextInterface = OnboardingFlowContextInterface;
15
15
  export declare function ContractorListContextual(): import('react').JSX.Element;
16
16
  /** @internal */
17
17
  export declare function DashboardFlowContextual(): import('react').JSX.Element;
18
+ /** @internal */
19
+ export declare function DismissalContextual(): import('react').JSX.Element;
@@ -7,4 +7,5 @@ export declare const contractorListStateMachine: {
7
7
  submit: import('robot3').MachineState<any>;
8
8
  list: import('robot3').MachineState<any>;
9
9
  dashboard: import('robot3').MachineState<any>;
10
+ dismiss: import('robot3').MachineState<any>;
10
11
  };
@@ -0,0 +1,45 @@
1
+ import { BaseComponentInterface } from '../../Base/Base';
2
+ /**
3
+ * Props for {@link Dismissal}.
4
+ *
5
+ * @public
6
+ */
7
+ export interface DismissalProps extends BaseComponentInterface<'Contractor.Dismissal'> {
8
+ /** The contractor identifier to dismiss. */
9
+ contractorId: string;
10
+ }
11
+ /**
12
+ * Standalone form for scheduling a contractor's dismissal.
13
+ *
14
+ * @remarks
15
+ * Fetches the contractor, renders a single "Dismissal date" field bounded to
16
+ * the day after their start date, and schedules the dismissal on submit.
17
+ * Does not remove or hide the contractor itself — the dismissal can be
18
+ * cancelled up until the date takes effect.
19
+ *
20
+ * @events
21
+ * | Event | Description | Data |
22
+ * | ----- | ----------- | ---- |
23
+ * | `contractor/dismissal/scheduled` | Fired after the dismissal is successfully scheduled | `{ contractorId: string, endDate: string, message: string }` |
24
+ * | `CANCEL` | Fired when the user clicks Cancel | — |
25
+ *
26
+ * @param props - See {@link DismissalProps}.
27
+ * @returns The dismissal form.
28
+ * @public
29
+ * @group Block components
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * import { ContractorManagement } from '@gusto/embedded-react-sdk'
34
+ *
35
+ * function MyComponent() {
36
+ * return (
37
+ * <ContractorManagement.Dismissal
38
+ * contractorId="4b3f930f-82cd-48a8-b797-798686e12e5e"
39
+ * onEvent={() => {}}
40
+ * />
41
+ * )
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function Dismissal({ FallbackComponent, LoaderComponent, ...props }: DismissalProps): import('react').JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { Contractor } from '@gusto/embedded-api/models/components/contractor';
2
+ interface DismissalPresentationProps {
3
+ contractor: Contractor;
4
+ isPending: boolean;
5
+ onSubmit: (data: DismissalFormData) => void;
6
+ onCancel: () => void;
7
+ /** CSS class name applied to the root element. */
8
+ className?: string;
9
+ }
10
+ /** @internal */
11
+ export interface DismissalFormData {
12
+ /** The effective date of the dismissal — the contractor's last day. */
13
+ endDate: Date;
14
+ }
15
+ /** @internal */
16
+ export declare function DismissalPresentation({ contractor, isPending, onSubmit, onCancel, className, }: DismissalPresentationProps): import('react').JSX.Element;
17
+ export {};
@@ -0,0 +1,41 @@
1
+ import { Contractor } from '@gusto/embedded-api/models/components/contractor';
2
+ import { BaseHookReady, HookLoadingResult, HookSubmitResult } from '../../../../partner-hook-utils/types';
3
+ /**
4
+ * Props for {@link useDismissal}.
5
+ *
6
+ * @public
7
+ */
8
+ export interface UseDismissalProps {
9
+ /** The contractor identifier to dismiss. */
10
+ contractorId: string;
11
+ }
12
+ /**
13
+ * Ready state of {@link useDismissal}.
14
+ *
15
+ * @public
16
+ */
17
+ export interface UseDismissalReady extends BaseHookReady<{
18
+ contractor: Contractor;
19
+ }, {
20
+ isPending: boolean;
21
+ }> {
22
+ /** Actions available when the hook has loaded. */
23
+ actions: {
24
+ /** Schedules a dismissal effective on `endDate`. */
25
+ dismiss: (endDate: Date) => Promise<HookSubmitResult<unknown> | undefined>;
26
+ };
27
+ }
28
+ /**
29
+ * Return type of {@link useDismissal}.
30
+ *
31
+ * @public
32
+ */
33
+ export type UseDismissalResult = HookLoadingResult | UseDismissalReady;
34
+ /**
35
+ * Fetches a contractor and exposes an action to schedule their dismissal.
36
+ *
37
+ * @param input - The contractor to dismiss.
38
+ * @returns A {@link HookLoadingResult} while the contractor is being fetched, or a {@link UseDismissalReady} once it has arrived.
39
+ * @public
40
+ */
41
+ export declare function useDismissal({ contractorId }: UseDismissalProps): UseDismissalResult;
@@ -1,5 +1,6 @@
1
1
  export { ManagementContractorList as ContractorList, type ManagementContractorListProps, type ContractorTab, } from '../ContractorList/management/ManagementContractorList';
2
2
  export { ContractorListFlow, type ContractorListFlowProps } from '../ContractorListFlow';
3
+ export { Dismissal, type DismissalProps } from '../Dismissal/Dismissal';
3
4
  export { DashboardFlow, Dashboard } from '../Dashboard';
4
5
  export type { DashboardFlowProps, DashboardProps, DashboardTab } from '../Dashboard';
5
6
  export { Profile, ProfileCard, ProfileEditForm } from '../Profile/management';
@@ -39,4 +39,4 @@ import { EmployeeListFlowProps } from './EmployeeListFlowComponents';
39
39
  * }
40
40
  * ```
41
41
  */
42
- export declare const EmployeeListFlow: ({ companyId, onEvent }: EmployeeListFlowProps) => import('react').JSX.Element;
42
+ export declare const EmployeeListFlow: ({ companyId, onEvent, isSelfOnboardingEnabled, withEmployeeI9, }: EmployeeListFlowProps) => import('react').JSX.Element;
@@ -8,11 +8,17 @@ import { BaseComponentInterface } from '../../Base';
8
8
  export interface EmployeeListFlowProps extends BaseComponentInterface<never> {
9
9
  /** The associated company identifier. */
10
10
  companyId: string;
11
+ /** When true, presents the self-onboarding toggle in the onboarding flow. Defaults to `true`. */
12
+ isSelfOnboardingEnabled?: boolean;
13
+ /** When true, enables the Employee Documents step in the onboarding flow, allowing the admin to configure I-9 document requirements. Defaults to `false`. */
14
+ withEmployeeI9?: boolean;
11
15
  }
12
16
  /** @internal */
13
17
  export interface EmployeeListFlowContextInterface extends FlowContextInterface {
14
18
  companyId: string;
15
19
  employeeId?: string;
20
+ isSelfOnboardingEnabled?: boolean;
21
+ withEmployeeI9?: boolean;
16
22
  }
17
23
  /** @internal */
18
24
  export declare function EmployeeListContextual(): import('react').JSX.Element;
@@ -19,7 +19,9 @@ export declare const PAYMENT_METHOD_OPTIONS: {
19
19
  */
20
20
  export declare const PayrollEditEmployeeErrorCodes: {
21
21
  readonly NEGATIVE_AMOUNT: "NEGATIVE_AMOUNT";
22
+ readonly MAX_HOURS: "MAX_HOURS";
22
23
  readonly REIMBURSEMENT_AMOUNT: "REIMBURSEMENT_AMOUNT";
24
+ readonly MAX_REIMBURSEMENT_AMOUNT: "MAX_REIMBURSEMENT_AMOUNT";
23
25
  readonly REQUIRED_WORKWEEK: "REQUIRED_WORKWEEK";
24
26
  };
25
27
  /**
@@ -28,6 +30,23 @@ export declare const PayrollEditEmployeeErrorCodes: {
28
30
  * @public
29
31
  */
30
32
  export type PayrollEditEmployeeErrorCode = (typeof PayrollEditEmployeeErrorCodes)[keyof typeof PayrollEditEmployeeErrorCodes];
33
+ /**
34
+ * Mirrors the server's fixed hours cap (`draft_payrolls`' `MAX_HOURS`) so an
35
+ * over-limit value is caught inline instead of round-tripping to a 422. Also
36
+ * applied as the hours fields' native `max` so the stepper can't reach it.
37
+ *
38
+ * @public
39
+ */
40
+ export declare const MAX_HOURS = 99999;
41
+ /**
42
+ * Mirrors the server's fixed reimbursement cap (`payroll_core_data`'s
43
+ * `Reimbursements::MAX_AMOUNT`) so an over-limit value is caught inline
44
+ * instead of round-tripping to a 422. Also applied as the amount field's
45
+ * native `max` so the stepper can't reach it.
46
+ *
47
+ * @public
48
+ */
49
+ export declare const MAX_REIMBURSEMENT_AMOUNT = 1000000;
31
50
  /**
32
51
  * The single reimbursement validation schema: the "add reimbursement" draft row.
33
52
  * Amount must be a number greater than zero, matching the legacy editor's
@@ -29,6 +29,7 @@ export type { HeadingProps } from '../../components/Common/UI/Heading/HeadingTyp
29
29
  export type { PaginationControlProps, PaginationItemsPerPage, } from '../../components/Common/PaginationControl/PaginationControlTypes';
30
30
  export type { PayrollLoadingProps } from '../../components/Common/PayrollLoading/PayrollLoadingTypes';
31
31
  export type { FieldCaptionProps } from '../../components/Common/FieldCaption/FieldCaptionTypes';
32
+ export type { DocumentEmbedProps } from '../../components/Common/DocumentEmbed/DocumentEmbedTypes';
32
33
  export type { TextProps } from '../../components/Common/UI/Text/TextTypes';
33
34
  export type { CalendarPreviewProps } from '../../components/Common/UI/CalendarPreview/CalendarPreviewTypes';
34
35
  export type { DialogProps } from '../../components/Common/UI/Dialog/DialogTypes';
@@ -39,6 +39,7 @@ import { FormBoxHeaderProps } from '../../components/Common/UI/FormBoxHeader/For
39
39
  import { MultiSelectComboBoxProps } from '../../components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes';
40
40
  import { PayrollLoadingProps } from '../../components/Common/PayrollLoading/PayrollLoadingTypes';
41
41
  import { FieldCaptionProps } from '../../components/Common/FieldCaption/FieldCaptionTypes';
42
+ import { DocumentEmbedProps } from '../../components/Common/DocumentEmbed/DocumentEmbedTypes';
42
43
  /**
43
44
  * Full map of UI components used by the SDK. Every property is a React component that the
44
45
  * SDK renders internally — override any of them to substitute your own design system.
@@ -48,8 +49,8 @@ import { FieldCaptionProps } from '../../components/Common/FieldCaption/FieldCap
48
49
  *
49
50
  * To take full control of every UI component (and eliminate the React Aria dependency),
50
51
  * pass a complete {@link ComponentsContextType} to {@link GustoProviderCustomUIAdapter} instead.
51
- * All properties are then required except `PaginationControl`, `PayrollLoading`, and `FieldCaption`,
52
- * which fall back to built-in SDK implementations when omitted.
52
+ * All properties are then required except `PaginationControl`, `PayrollLoading`, `FieldCaption`,
53
+ * and `DocumentEmbed`, which fall back to built-in SDK implementations when omitted.
53
54
  *
54
55
  * @public
55
56
  * @group Component adapter
@@ -180,6 +181,8 @@ export interface ComponentsContextType {
180
181
  PaginationControl?: FunctionComponent<PaginationControlProps>;
181
182
  /** Loading indicator for payroll calculation. Defaults to the SDK's built-in loading state when omitted. */
182
183
  PayrollLoading?: FunctionComponent<PayrollLoadingProps>;
184
+ /** Inline PDF document renderer. Defaults to the SDK's built-in `<embed>`-based viewer when omitted; override to control how PDFs are rendered inline — especially useful if you have strict Content Security Policy directives. */
185
+ DocumentEmbed?: FunctionComponent<DocumentEmbedProps>;
183
186
  }
184
187
  /** @internal */
185
188
  export declare const ComponentsContext: import('react').Context<ComponentsContextType | null>;
@@ -6,6 +6,9 @@ declare const _default: {
6
6
  "errorEncountered": "There was a problem with your submission",
7
7
  "multipleErrorsEncountered": "There were multiple problems with your submission"
8
8
  },
9
+ "documentEmbed": {
10
+ "defaultTitle": "Document"
11
+ },
9
12
  "selectPlaceholder": "Select an option...",
10
13
  "progressBarLabel": "You are on step {{currentStep}} of {{totalSteps}}",
11
14
  "back": "Back",
@@ -29,6 +29,8 @@ export interface Resources {
29
29
  /** */
30
30
  'Company.Locations': Translations.CompanyLocations
31
31
  /** */
32
+ 'Company.Management.AutoPilotDialog': Translations.CompanyManagementAutoPilotDialog
33
+ /** */
32
34
  'Company.Management.PaySchedule': Translations.CompanyManagementPaySchedule
33
35
  /** */
34
36
  'Company.Management.PayScheduleAssignment': Translations.CompanyManagementPayScheduleAssignment
@@ -67,6 +69,8 @@ export interface Resources {
67
69
  /** */
68
70
  'Contractor.Dashboard': Translations.ContractorDashboard
69
71
  /** */
72
+ 'Contractor.Dismissal': Translations.ContractorDismissal
73
+ /** */
70
74
  'Contractor.DocumentsList': Translations.ContractorDocumentsList
71
75
  /** */
72
76
  'Contractor.Landing': Translations.ContractorLanding
@@ -940,6 +944,85 @@ export namespace Translations {
940
944
  phone: string
941
945
  }
942
946
  }
947
+ /** Translation keys for the `Company.Management.AutoPilotDialog` i18n namespace. */
948
+ export interface CompanyManagementAutoPilotDialog {
949
+ /** @defaultValue `"AutoPilot — {{scheduleName}}"` */
950
+ title: string
951
+ /** @defaultValue `"AutoPilot takes care of payroll for you. Payrolls are editable until 1 day before your pay deadline and funds are debited on your pay deadline."` */
952
+ description: string
953
+ /** @defaultValue `"Enable AutoPilot"` */
954
+ toggleLabel: string
955
+ /** @defaultValue `"Checking AutoPilot eligibility…"` */
956
+ checkingEligibility: string
957
+ /** @defaultValue `"Save"` */
958
+ saveCta: string
959
+ /** @defaultValue `"Cancel"` */
960
+ cancelCta: string
961
+ saveError: {
962
+ /** @defaultValue `"AutoPilot settings couldn't be saved"` */
963
+ title: string
964
+ /** @defaultValue `"Something went wrong saving your AutoPilot changes. Contact support if this continues."` */
965
+ description: string
966
+ }
967
+ blockers: {
968
+ /** @defaultValue `"AutoPilot isn't available yet"` */
969
+ heading: string
970
+ employees_not_on_direct_deposit: {
971
+ /** @defaultValue `"Some employees aren't on direct deposit"` */
972
+ title: string
973
+ /** @defaultValue `"Every employee on this schedule needs to be set up with direct deposit before AutoPilot can run their payroll automatically."` */
974
+ description: string
975
+ }
976
+ employees_not_salaried: {
977
+ /** @defaultValue `"Some employees aren't salaried"` */
978
+ title: string
979
+ /** @defaultValue `"AutoPilot requires every employee on this schedule to be salaried."` */
980
+ description: string
981
+ }
982
+ missing_state_tax_requirements: {
983
+ /** @defaultValue `"State tax setup is incomplete"` */
984
+ title: string
985
+ /** @defaultValue `"Finish state tax setup for every state this schedule's employees work in before enabling AutoPilot."` */
986
+ description: string
987
+ }
988
+ missing_funding_method: {
989
+ /** @defaultValue `"No funding method on file"` */
990
+ title: string
991
+ /** @defaultValue `"Add a verified bank account to use as the default funding method before enabling AutoPilot."` */
992
+ description: string
993
+ }
994
+ one_day_ach_speed_not_supported: {
995
+ /** @defaultValue `"Payment speed isn't eligible"` */
996
+ title: string
997
+ /** @defaultValue `"AutoPilot isn't available for schedules using next-day ACH."` */
998
+ description: string
999
+ }
1000
+ company_suspended: {
1001
+ /** @defaultValue `"Company is suspended"` */
1002
+ title: string
1003
+ /** @defaultValue `"Resolve your company's suspension before enabling AutoPilot."` */
1004
+ description: string
1005
+ }
1006
+ earned_fast_ach_not_met: {
1007
+ /** @defaultValue `"Fast ACH threshold not met"` */
1008
+ title: string
1009
+ /** @defaultValue `"This company hasn't yet met the funding history needed to qualify for fast ACH payments."` */
1010
+ description: string
1011
+ }
1012
+ hourly_employees_missing_default_hours: {
1013
+ /** @defaultValue `"Some hourly employees are missing default hours"` */
1014
+ title: string
1015
+ /** @defaultValue `"Set default hours for every hourly employee on this schedule before enabling AutoPilot."` */
1016
+ description: string
1017
+ }
1018
+ generic: {
1019
+ /** @defaultValue `"AutoPilot can't be enabled right now"` */
1020
+ title: string
1021
+ /** @defaultValue `"Something is preventing AutoPilot from being enabled for this schedule. Contact support if this continues."` */
1022
+ description: string
1023
+ }
1024
+ }
1025
+ }
943
1026
  /** Translation keys for the `Company.Management.PaySchedule` i18n namespace. */
944
1027
  export interface CompanyManagementPaySchedule {
945
1028
  /** @defaultValue `"Pay schedule"` */
@@ -2439,6 +2522,37 @@ export namespace Translations {
2439
2522
  compensationUpdated: string
2440
2523
  }
2441
2524
  }
2525
+ /** Translation keys for the `Contractor.Dismissal` i18n namespace. */
2526
+ export interface ContractorDismissal {
2527
+ /** @defaultValue `"Dismiss {{name}}"` */
2528
+ title: string
2529
+ /** @defaultValue `"Schedule a dismissal date for this contractor."` */
2530
+ subtitle: string
2531
+ alert: {
2532
+ /** @defaultValue `"This can be cancelled"` */
2533
+ label: string
2534
+ /** @defaultValue `"The dismissal can be cancelled from the contractor list any time before the dismissal date takes effect."` */
2535
+ text: string
2536
+ }
2537
+ form: {
2538
+ endDate: {
2539
+ /** @defaultValue `"Dismissal date"` */
2540
+ label: string
2541
+ }
2542
+ }
2543
+ validation: {
2544
+ /** @defaultValue `"Enter a dismissal date"` */
2545
+ endDateRequired: string
2546
+ }
2547
+ actions: {
2548
+ /** @defaultValue `"Cancel"` */
2549
+ cancel: string
2550
+ /** @defaultValue `"Dismiss contractor"` */
2551
+ submit: string
2552
+ }
2553
+ /** @defaultValue `"Dismissal scheduled"` */
2554
+ successMessage: string
2555
+ }
2442
2556
  /** Translation keys for the `Contractor.DocumentsList` i18n namespace. */
2443
2557
  export interface ContractorDocumentsList {
2444
2558
  /** @defaultValue `"Documents"` */
@@ -3471,6 +3585,8 @@ export namespace Translations {
3471
3585
  totalLabel: string
3472
3586
  /** @defaultValue `"Receipt Details"` */
3473
3587
  detailsLabel: string
3588
+ /** @defaultValue `"Receipt ID"` */
3589
+ receiptId: string
3474
3590
  /** @defaultValue `"From"` */
3475
3591
  from: string
3476
3592
  /** @defaultValue `"To"` */
@@ -7749,8 +7865,12 @@ export namespace Translations {
7749
7865
  validations: {
7750
7866
  /** @defaultValue `"Amount must be greater than zero"` */
7751
7867
  reimbursementAmount: string
7868
+ /** @defaultValue `"Amount must be less than or equal to 1,000,000"` */
7869
+ maxReimbursementAmount: string
7752
7870
  /** @defaultValue `"Amount cannot be negative"` */
7753
7871
  negativeAmount: string
7872
+ /** @defaultValue `"Hours must be less than or equal to 99,999"` */
7873
+ maxHours: string
7754
7874
  }
7755
7875
  }
7756
7876
  /** Translation keys for the `Payroll.PayrollFlow` i18n namespace. */
@@ -8635,10 +8755,14 @@ export namespace Translations {
8635
8755
  validations: {
8636
8756
  /** @defaultValue `"Amount must be greater than zero"` */
8637
8757
  reimbursementAmount: string
8758
+ /** @defaultValue `"Amount must be less than or equal to 1,000,000"` */
8759
+ maxReimbursementAmount: string
8638
8760
  /** @defaultValue `"Amount cannot be negative"` */
8639
8761
  negativeAmount: string
8640
8762
  /** @defaultValue `"Enter an amount for every workweek"` */
8641
8763
  requiredWorkweek: string
8764
+ /** @defaultValue `"Hours must be less than or equal to 99,999"` */
8765
+ maxHours: string
8642
8766
  }
8643
8767
  }
8644
8768
  /** Translation keys for the `Payroll.WireInstructions` i18n namespace. */
@@ -8718,6 +8842,10 @@ export namespace Translations {
8718
8842
  /** @defaultValue `"There were multiple problems with your submission"` */
8719
8843
  multipleErrorsEncountered: string
8720
8844
  }
8845
+ documentEmbed: {
8846
+ /** @defaultValue `"Document"` */
8847
+ defaultTitle: string
8848
+ }
8721
8849
  /** @defaultValue `"Select an option..."` */
8722
8850
  selectPlaceholder: string
8723
8851
  /** @defaultValue `"You are on step {{currentStep}} of {{totalSteps}}"` */
@@ -212,6 +212,7 @@ export declare const contractorEvents: {
212
212
  readonly CONTRACTOR_DISMISS: "contractor/dismiss";
213
213
  readonly CONTRACTOR_REHIRE: "contractor/rehire";
214
214
  readonly CONTRACTOR_DISMISSAL_CANCELLED: "contractor/dismissal/cancelled";
215
+ readonly CONTRACTOR_DISMISSAL_SCHEDULED: "contractor/dismissal/scheduled";
215
216
  readonly CONTRACTOR_REHIRE_CANCELLED: "contractor/rehire/cancelled";
216
217
  readonly CONTRACTOR_MANAGEMENT_PROFILE_EDIT_REQUESTED: "contractor/management/profile/editRequested";
217
218
  readonly CONTRACTOR_MANAGEMENT_PROFILE_UPDATED: "contractor/management/profile/updated";
@@ -321,6 +322,9 @@ export declare const payScheduleEvents: {
321
322
  readonly PAY_SCHEDULE_DONE: "paySchedule/done";
322
323
  readonly PAY_SCHEDULE_MANAGE_ASSIGNMENT: "paySchedule/management/manageAssignment";
323
324
  readonly PAY_SCHEDULE_AUTO_PILOT_EDIT: "paySchedule/management/autoPilotEdit";
325
+ readonly PAY_SCHEDULE_AUTO_PILOT_ENABLED: "paySchedule/management/autoPilotEnabled";
326
+ readonly PAY_SCHEDULE_AUTO_PILOT_DISABLED: "paySchedule/management/autoPilotDisabled";
327
+ readonly PAY_SCHEDULE_AUTO_PILOT_DISMISSED: "paySchedule/management/autoPilotDismissed";
324
328
  readonly PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED: "paySchedule/management/assignment/typeSelected";
325
329
  readonly PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED: "paySchedule/management/assignment/scheduleSelected";
326
330
  readonly PAY_SCHEDULE_ASSIGNMENT_BACK: "paySchedule/management/assignment/back";
@@ -673,6 +677,7 @@ export declare const componentEvents: {
673
677
  readonly CONTRACTOR_DISMISS: "contractor/dismiss";
674
678
  readonly CONTRACTOR_REHIRE: "contractor/rehire";
675
679
  readonly CONTRACTOR_DISMISSAL_CANCELLED: "contractor/dismissal/cancelled";
680
+ readonly CONTRACTOR_DISMISSAL_SCHEDULED: "contractor/dismissal/scheduled";
676
681
  readonly CONTRACTOR_REHIRE_CANCELLED: "contractor/rehire/cancelled";
677
682
  readonly CONTRACTOR_MANAGEMENT_PROFILE_EDIT_REQUESTED: "contractor/management/profile/editRequested";
678
683
  readonly CONTRACTOR_MANAGEMENT_PROFILE_UPDATED: "contractor/management/profile/updated";
@@ -705,6 +710,9 @@ export declare const componentEvents: {
705
710
  readonly PAY_SCHEDULE_DONE: "paySchedule/done";
706
711
  readonly PAY_SCHEDULE_MANAGE_ASSIGNMENT: "paySchedule/management/manageAssignment";
707
712
  readonly PAY_SCHEDULE_AUTO_PILOT_EDIT: "paySchedule/management/autoPilotEdit";
713
+ readonly PAY_SCHEDULE_AUTO_PILOT_ENABLED: "paySchedule/management/autoPilotEnabled";
714
+ readonly PAY_SCHEDULE_AUTO_PILOT_DISABLED: "paySchedule/management/autoPilotDisabled";
715
+ readonly PAY_SCHEDULE_AUTO_PILOT_DISMISSED: "paySchedule/management/autoPilotDismissed";
708
716
  readonly PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED: "paySchedule/management/assignment/typeSelected";
709
717
  readonly PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED: "paySchedule/management/assignment/scheduleSelected";
710
718
  readonly PAY_SCHEDULE_ASSIGNMENT_BACK: "paySchedule/management/assignment/back";
@@ -1986,6 +1986,16 @@
1986
1986
  "path": "/v1/companies/:companyId/pay_schedules",
1987
1987
  "docsUrl": "https://docs.gusto.com/embedded-payroll/v2026-06-15/reference/get-v1-companies-company_id-pay_schedules"
1988
1988
  },
1989
+ {
1990
+ "method": "GET",
1991
+ "path": "/v1/companies/:companyId/pay_schedules/:payScheduleId",
1992
+ "docsUrl": "https://docs.gusto.com/embedded-payroll/v2026-06-15/reference/get-v1-companies-company_id-pay_schedules-pay_schedule_id"
1993
+ },
1994
+ {
1995
+ "method": "PUT",
1996
+ "path": "/v1/companies/:companyId/pay_schedules/:payScheduleId",
1997
+ "docsUrl": "https://docs.gusto.com/embedded-payroll/v2026-06-15/reference/put-v1-companies-company_id-pay_schedules-pay_schedule_id"
1998
+ },
1989
1999
  {
1990
2000
  "method": "POST",
1991
2001
  "path": "/v1/companies/:companyId/pay_schedules/assign",
@@ -1998,7 +2008,8 @@
1998
2008
  }
1999
2009
  ],
2000
2010
  "variables": [
2001
- "companyId"
2011
+ "companyId",
2012
+ "payScheduleId"
2002
2013
  ]
2003
2014
  },
2004
2015
  "CompanyManagement.PayScheduleAssignment": {
@@ -2263,6 +2274,23 @@
2263
2274
  "contractorUuid"
2264
2275
  ]
2265
2276
  },
2277
+ "ContractorManagement.Dismissal": {
2278
+ "endpoints": [
2279
+ {
2280
+ "method": "GET",
2281
+ "path": "/v1/contractors/:contractorUuid",
2282
+ "docsUrl": "https://docs.gusto.com/embedded-payroll/v2026-06-15/reference/get-v1-contractors-contractor_uuid"
2283
+ },
2284
+ {
2285
+ "method": "POST",
2286
+ "path": "/v1/contractors/:contractorUuid/termination",
2287
+ "docsUrl": "https://docs.gusto.com/embedded-payroll/v2026-06-15/reference/post-v1-contractors-contractor_uuid-termination"
2288
+ }
2289
+ ],
2290
+ "variables": [
2291
+ "contractorUuid"
2292
+ ]
2293
+ },
2266
2294
  "ContractorManagement.DashboardFlow": {
2267
2295
  "endpoints": [
2268
2296
  {
@@ -2566,6 +2594,7 @@
2566
2594
  "blocks": [
2567
2595
  "ContractorManagement.ContractorList",
2568
2596
  "ContractorManagement.DashboardFlow",
2597
+ "ContractorManagement.Dismissal",
2569
2598
  "ContractorOnboarding.OnboardingFlow"
2570
2599
  ]
2571
2600
  },