Blocks
Compensation
Self-contained block for viewing and managing an employee's jobs and compensation — the same experience the dashboard surfaces, but as a drop-in component that doesn't require the surrounding dashboard chrome.
Remarks
Renders a read-only card showing the employee's job(s), pay type, wage, and effective date, along with affordances to edit a job's compensation, add a first job from the empty state, add another job (when the primary job is Nonexempt), delete a non-primary job, and cancel a scheduled future-dated change. Choosing to edit or add a job swaps the card for the corresponding form; a successful add returns to the card with a dismissible "Job successfully added." alert, an edit returns to the card without an alert, and cancelling returns without saving. Wraps everything in error and suspense boundaries.
The card and form surfaces (CompensationCard, CompensationEditForm, CompensationAddJobForm, CompensationAddAnotherJobForm) are also exported individually for cases where that orchestration is the wrong fit — for example, when a form needs to render in a modal or drawer, when the card needs to appear read-only with no edit/add affordances, or when the swap is driven by a router. Using them directly means owning the swap, the alert, and any cross-component state yourself.
CompensationProps
Props for Compensation.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementCompensation>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/compensation/card/editRequested | Fired when an "Edit" CTA is clicked for a job; the block opens the edit form for that job | { employeeId: string, jobId: string } |
employee/management/compensation/card/addRequested | Fired when the "Add job" CTA is clicked from the card's empty state; the block opens the add-first-job form | { employeeId: string } |
employee/management/compensation/card/addAnotherRequested | Fired when the "Add another job" CTA is clicked; the block opens the add-another-job form | { employeeId: string } |
employee/management/compensation/card/jobDeleted | Fired after a non-primary job is deleted via the card's confirm dialog; the block stays on the card | { employeeId: string, jobId: string } |
employee/management/compensation/card/changeCancelled | Fired after a scheduled future-dated change is cancelled from the card; the block stays on the card | { employeeId: string, compensationId: string } |
employee/management/compensation/editForm/submitted | Fired after an edit-compensation save completes; the block returns to the card view | Updated Compensation entity |
employee/management/compensation/editForm/cancelled | Fired when the user cancels the edit form; the block returns to the card view | — |
employee/management/compensation/addJobForm/submitted | Fired after the first job + compensation are saved; the block returns to the card and surfaces the "Job added" alert | Updated Compensation entity |
employee/management/compensation/addJobForm/cancelled | Fired when the user cancels the add-job form; the block returns to the card view | — |
employee/management/compensation/addAnotherJobForm/submitted | Fired after a secondary job + compensation are saved; the block returns to the card and surfaces the "Job added" alert | Updated Compensation entity |
employee/management/compensation/addAnotherJobForm/cancelled | Fired when the user cancels the add-another-job form; the block returns to the card view | — |
employee/management/compensation/alertDismissed | Fired when the user dismisses the "Job added" success alert above the card | null |
Endpoints
| Method | Path |
|---|---|
| GET | /v1/employees/:employeeId/jobs |
| DELETE | /v1/jobs/:jobId |
CompensationAddAnotherJobForm
Standalone form for adding a secondary job and compensation to an employee from the management surface.
Remarks
Routed from CompensationCard's employee/management/compensation/card/addAnotherRequested event. Emits its own scoped submitted and cancelled events — both are your cue to return to the card. Compensation bundles the card, this form, and the swap and alert wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit.
CompensationAddAnotherJobFormProps
Props for CompensationAddAnotherJobForm.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the form emits an event. See the events table on CompensationAddAnotherJobForm for the available event types and payloads. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementCompensation>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues from CommonComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/compensation/addAnotherJobForm/submitted | Fired after the secondary job and compensation are saved; use it to return to the card | Saved Compensation entity |
employee/management/compensation/addAnotherJobForm/cancelled | Fired when the user clicks Cancel; use it to return to the card | — |
CompensationAddJobForm
Standalone form for adding an employee's first job and compensation from the management surface.
Remarks
Routed from CompensationCard's employee/management/compensation/card/addRequested event. Emits its own scoped submitted and cancelled events — both are your cue to return to the card. Compensation bundles the card, this form, and the swap and alert wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit.
CompensationAddJobFormProps
Props for CompensationAddJobForm.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the form emits an event. See the events table on CompensationAddJobForm for the available event types and payloads. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementCompensation>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues from CommonComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/compensation/addJobForm/submitted | Fired after the job and compensation are saved; use it to return to the card | Saved Compensation entity |
employee/management/compensation/addJobForm/cancelled | Fired when the user clicks Cancel; use it to return to the card | — |
CompensationCard
Standalone "Compensation" management card that displays an employee's current jobs and compensation, surfaces pending future-dated changes, and exposes edit, add, and delete affordances.
Remarks
The card owns its own data fetch, the pending-change alerts and review modal, and the delete-job confirm dialog. It does not render the compensation edit or add-job forms — instead, it emits a distinct request event for each action, and the consumer routes those to CompensationEditForm, CompensationAddJobForm, or CompensationAddAnotherJobForm and renders any post-save success alerts. Compensation bundles the card, the three form surfaces, and the swap and alert wiring as a single drop-in; reach for the card directly only when that orchestration is the wrong fit (for example, when a form needs to render in a modal or drawer, or when the swap is driven by a router).
CompensationCardProps
Props for CompensationCard.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the card emits an event. See the events table on CompensationCard for the available event types and payloads. |
Events
| Event | Description | Data |
|---|---|---|
employee/management/compensation/card/editRequested | Fired when an "Edit" CTA is clicked for a job | { employeeId: string, jobId: string } |
employee/management/compensation/card/addRequested | Fired when the "Add job" CTA is clicked from the empty state | { employeeId: string } |
employee/management/compensation/card/addAnotherRequested | Fired when the "Add another job" CTA is clicked | { employeeId: string } |
employee/management/compensation/card/jobDeleted | Fired after a non-primary job is deleted via the card's confirm dialog | { employeeId: string, jobId: string } |
employee/management/compensation/card/changeCancelled | Fired after a scheduled future-dated change is cancelled from the card | { employeeId: string, compensationId: string } |
CompensationEditForm
Standalone form that edits the compensation for a single job, branching automatically between editing the current compensation and an already-scheduled future-dated change.
Remarks
Pair with CompensationCard to route its employee/management/compensation/card/editRequested event to this form. Compensation bundles the card, the three form surfaces (edit, add job, add another job), and the swap and alert wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit (for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router).
CompensationEditFormProps
Props for CompensationEditForm.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
jobId | string | The id of the job whose compensation is being edited (for example, the jobId from the CompensationCard employee/management/compensation/card/editRequested payload). The form inspects the job's compensations to decide whether to edit the current compensation or an already-scheduled future-dated change. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the form emits an event. See the events table on CompensationEditForm for the available event types and payloads. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementCompensation>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues from CommonComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/compensation/editForm/submitted | Fired after the compensation change is saved; use it to return to the card | The updated Compensation entity |
employee/management/compensation/editForm/cancelled | Fired when the user clicks Cancel; use it to return to the card | — |
Dashboard
Employee self-service dashboard summarizing a single employee's basic details, job and pay, taxes, and documents.
Remarks
Renders a tabbed overview of the employee, wrapped in the SDK's standard error and suspense
boundaries. The active tab may be controlled via selectedTab or left uncontrolled, in which
case it defaults to basic details. Each tab composes the read-only section cards listed below.
DashboardProps
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events. |
dictionary? | Record<"en", DeepPartial<EmployeeDashboard>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
selectedTab? | DashboardTab | The currently active tab. Defaults to 'basicDetails' when uncontrolled. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Components
- ProfileCard
- HomeAddressCard
- WorkAddressCard
- CompensationCard
- PaymentMethodCard
- DeductionsCard
- PaystubsCard
- FederalTaxesCard
- StateTaxesCard
- DocumentsCard
Deductions
Self-contained block for viewing and managing an employee's post-tax deductions — the same experience the dashboard surfaces, but as a drop-in component that doesn't require the surrounding dashboard chrome.
Remarks
Renders a card listing the employee's active deductions with affordances to add a new deduction, edit an existing one, or delete one via a confirm dialog. Choosing to add or edit swaps the card for the deduction form; a successful save returns to the card and emits the corresponding event, and cancelling returns without saving. Wraps everything in error and suspense boundaries.
The card and form surfaces (DeductionsCard, DeductionsEditForm) are also exported individually for cases where that orchestration is the wrong fit — for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router. Using them directly means owning the swap, the alert, and any cross-component state yourself.
DeductionsProps
Props for Deductions.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementDeductions>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/deductions/card/addRequested | Fired when the "Add deduction" CTA is clicked from the card; the block opens the edit form in add mode | { employeeId: string } |
employee/management/deductions/card/editRequested | Fired when an "Edit" CTA is clicked for a deduction; the block opens the edit form pre-populated with that deduction | The matching Garnishment |
employee/management/deductions/card/deleted | Fired after a deduction is deleted via the confirm dialog; the block stays on the card | The deleted Garnishment |
employee/management/deductions/editForm/created | Fired after a new deduction is saved from the edit form; the block returns to the card view | The created Garnishment |
employee/management/deductions/editForm/updated | Fired after an existing deduction is updated from the edit form; the block returns to the card view | The updated Garnishment |
employee/management/deductions/editForm/cancelled | Fired when the user cancels the edit form; the block returns to the card view | — |
employee/management/deductions/alertDismissed | Fired when the user dismisses a success alert above the card | null |
DeductionsCard
Standalone read-only card listing an employee's active deductions, with affordances to add, edit, or delete a deduction.
Remarks
Fetches its own data and owns the delete confirm dialog. Has no alert API — alert rendering is the consumer's responsibility. Add and edit affordances do not open a form themselves; emit-then-route is the contract, so the consumer listens for the addRequested / editRequested events and renders DeductionsEditForm (or its own equivalent) accordingly. For an orchestrated card-plus-form flow, use Deductions instead.
DeductionsCardProps
Props for DeductionsCard.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the card emits an event. See the events table on DeductionsCard for the available event types and payloads. |
Events
| Event | Description | Data |
|---|---|---|
employee/management/deductions/card/addRequested | Fired when the "Add deduction" CTA is clicked | { employeeId: string } |
employee/management/deductions/card/editRequested | Fired when an "Edit" CTA is clicked for a deduction | The matching Garnishment |
employee/management/deductions/card/deleted | Fired after a deduction is deleted via the confirm dialog | The deleted Garnishment |
DeductionsEditForm
Standalone add/edit surface for a single employee deduction.
Remarks
Renders the inline form for a post-tax custom deduction or court-ordered garnishment. Looks up the row to edit by editingDeductionId; omit it to open in add mode. Resolves its text against the Employee.Management.Deductions translation namespace so partner overrides on that namespace flow into the form. For an orchestrated card-plus-form flow, use Deductions.
DeductionsEditFormProps
Props for DeductionsEditForm.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked when the form emits an event. See the events table on DeductionsEditForm for the available event types and payloads. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementDeductions>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
editingDeductionId? | string | When provided, the form opens in edit mode pre-populated with the matching active deduction. Omit to open in add mode. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/deductions/editForm/created | Fired after a new deduction is saved | The created Garnishment |
employee/management/deductions/editForm/updated | Fired after an existing deduction is updated | The updated Garnishment |
employee/management/deductions/editForm/cancelled | Fired when the user cancels the form | — |
DocumentManager
Read-only document viewer for the admin-facing employee dashboard. Renders the selected form's PDF — including unsigned forms, which are shown as-is. Signing is intentionally not offered here; forms are signed by the employee during onboarding, not by an admin viewing the dashboard.
Remarks
Emits the following events:
DocumentManagerProps
Props for DocumentManager.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
formId | string | The identifier of the form to display. |
onEvent | OnEventType<EventType, unknown> | Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events. |
dictionary? | Record<"en", DeepPartial<EmployeeDocumentManager>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
CANCEL | The back button is selected | — |
Documents
Standalone employee documents management flow.
Remarks
Orchestrates the documents card and the per-form document manager. The flow starts on the documents card and routes to the document manager when a row's View CTA is selected; cancelling from the document manager returns to the card.
DocumentsProps
Props for Documents.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events. |
dictionary? | Record<"en", DeepPartial<EmployeeManagementDocuments>> | Overrides for the component's i18n strings. Supply a partial object whose keys match the component's resource namespace — any omitted keys fall back to SDK defaults. See the Translation guide for details. |
Inherits children, className, defaultValues, FallbackComponent, LoaderComponent from BaseComponentInterface.
Events
| Event | Description | Data |
|---|---|---|
employee/management/documents/card/viewRequested | Fired when a row's View CTA is clicked on the documents card | { employeeId: string; formId: string } |
Endpoints
| Method | Path |
|---|---|
| GET | /v1/employees/:employeeId/forms |
| GET | /v1/employees/:employeeId/forms/:formId |
| GET | /v1/employees/:employeeId/forms/:formId/pdf |
DocumentsCard
Standalone "Documents" (forms) card. Owns its own data fetch via
useDocumentsList and renders the employee's forms in a table with a
per-row "View" action. Emits
employee/management/documents/card/viewRequested with
{ employeeId, formId } when a row's View CTA is clicked. The card is
read-only — viewing or signing a form happens in the screen the parent
routes to — and renders no alerts: alert rendering is the parent's
responsibility.
DocumentsCardProps
Props for DocumentsCard.
| Property | Type | Description |
|---|---|---|
employeeId | string | The associated employee identifier. |
onEvent | OnEventType<EventType, unknown> | Event handler fired when a row's View CTA is clicked. |