@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePollingTask.js","sources":["../../../src/hooks/usePollingTask/usePollingTask.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\n/**\n * The outcome of evaluating a single poll tick.\n *\n * @typeParam TValue - The terminal value handed to `onDone`.\n * @internal\n */\nexport type PollTickResult<TValue> = { done: true; value: TValue } | { done: false }\n\n/**\n * Configuration for {@link usePollingTask}.\n *\n * @typeParam TData - The value each poll read resolves to.\n * @typeParam TValue - The terminal value produced by `evaluate` and handed to `onDone`.\n * @internal\n */\nexport interface UsePollingTaskOptions<TData, TValue> {\n /** Reads the current server state for one tick. Rejections are tolerated and retried next tick. */\n fetch: (signal: AbortSignal) => Promise<TData>\n /**\n * Decides whether the operation has reached a terminal state, from the data this tick just\n * read. Must not depend on rendered state — that dependency is the bug this hook exists to\n * avoid.\n */\n evaluate: (data: TData) => PollTickResult<TValue>\n /** Called once, from the poll loop, when `evaluate` reports a terminal state. */\n onDone: (value: TValue) => void\n /**\n * Called once when `deadlineMs` elapses without a terminal state, with the most recent data\n * successfully read (or `null` if no read ever succeeded). Verify against that data before\n * reporting a failure.\n */\n onDeadline: (lastData: TData | null) => void\n /** Delay between the end of one tick and the start of the next. Defaults to {@link DEFAULT_POLL_INTERVAL_MS}. */\n intervalMs?: number\n /** How long the task may run before `onDeadline` is called. Defaults to {@link DEFAULT_POLL_DEADLINE_MS}. */\n deadlineMs?: number\n}\n\n/**\n * Default delay between polling reads.\n *\n * @internal\n */\nexport const DEFAULT_POLL_INTERVAL_MS = 5_000\n\n/**\n * Default duration a polling task may run before its deadline fires.\n *\n * @internal\n */\nexport const DEFAULT_POLL_DEADLINE_MS = 3 * 60 * 1000\n\n/**\n * An imperative handle to a polling task.\n *\n * @internal\n */\nexport interface PollingTask {\n /** Begins polling, reading once immediately. Restarts the task if one is already running. */\n start: () => void\n /** Stops polling without calling `onDone` or `onDeadline`. */\n stop: () => void\n /** Whether the task is currently running. Safe to render; not used to decide completion. */\n isPolling: boolean\n}\n\n/**\n * Polls an async operation to completion in a self-contained loop that owns its own timer and\n * decides the terminal state from the data it reads.\n *\n * @remarks\n * Use this instead of driving a poll from a query's `refetchInterval` and reacting to the result\n * in an effect. That pattern makes completion depend on a render arriving — if the query\n * observer never notifies the component, the operation finishes on the server and the screen\n * never advances (SDK-1291). Here the loop reads the server directly and evaluates the result in\n * its own closure, so the terminal decision does not depend on the component rendering.\n *\n * Behavior worth knowing:\n *\n * - `start()` reads immediately, then every `intervalMs` after the previous read settles, so a\n * slow read never stacks up overlapping requests.\n * - A rejected read is not a failed task. It is ignored and retried on the next tick, which\n * matters because SDK queries are configured with `retry: false`. Note that when `fetch` reads\n * through a shared query key, the failure is still recorded on that key, so observers of it\n * see the error state even though the task carries on.\n * - A terminal result on the deadline tick wins over the deadline, and `onDeadline` receives the\n * last data read so the caller can verify before declaring failure.\n * - Each tick bumps internal state, which gives the calling component a render source\n * independent of any query observer. Fresh cache data is then picked up on that render.\n * - `stop()` and unmount abort the in-flight read and guarantee no further callbacks fire.\n *\n * Callbacks are read through a ref, so changing their identity between renders never restarts\n * the loop.\n *\n * @typeParam TData - The value each poll read resolves to.\n * @typeParam TValue - The terminal value produced by `evaluate` and handed to `onDone`.\n * @param options - See {@link UsePollingTaskOptions}.\n * @returns The {@link PollingTask} handle.\n * @internal\n */\nexport function usePollingTask<TData, TValue>(\n options: UsePollingTaskOptions<TData, TValue>,\n): PollingTask {\n const optionsRef = useRef(options)\n optionsRef.current = options\n\n const runIdRef = useRef(0)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const controllerRef = useRef<AbortController | null>(null)\n const [isPolling, setIsPolling] = useState(false)\n const [, setTickCount] = useState(0)\n\n const teardown = useCallback(() => {\n runIdRef.current += 1\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n controllerRef.current?.abort()\n controllerRef.current = null\n }, [])\n\n const stop = useCallback(() => {\n teardown()\n setIsPolling(false)\n }, [teardown])\n\n const start = useCallback(() => {\n teardown()\n\n const runId = runIdRef.current\n const controller = new AbortController()\n controllerRef.current = controller\n const { intervalMs = DEFAULT_POLL_INTERVAL_MS, deadlineMs = DEFAULT_POLL_DEADLINE_MS } =\n optionsRef.current\n const deadline = Date.now() + deadlineMs\n let last: { value: TData } | null = null\n\n setIsPolling(true)\n\n const isCurrentRun = () => runIdRef.current === runId\n\n const tick = async () => {\n if (!isCurrentRun()) return\n\n const { fetch: read, evaluate, onDone, onDeadline } = optionsRef.current\n\n try {\n last = { value: await read(controller.signal) }\n } catch {\n // One failed read is not a failed task — try again on the next tick.\n }\n\n if (!isCurrentRun()) return\n\n setTickCount(count => count + 1)\n\n if (last) {\n const result = evaluate(last.value)\n if (result.done) {\n stop()\n onDone(result.value)\n return\n }\n }\n\n if (Date.now() >= deadline) {\n stop()\n onDeadline(last ? last.value : null)\n return\n }\n\n timeoutRef.current = setTimeout(() => {\n void tick()\n }, intervalMs)\n }\n\n void tick()\n }, [teardown, stop])\n\n useEffect(() => teardown, [teardown])\n\n return { start, stop, isPolling }\n}\n"],"names":["DEFAULT_POLL_INTERVAL_MS","DEFAULT_POLL_DEADLINE_MS","usePollingTask","options","optionsRef","useRef","runIdRef","timeoutRef","controllerRef","isPolling","setIsPolling","useState","setTickCount","teardown","useCallback","stop","start","runId","controller","intervalMs","deadlineMs","deadline","last","isCurrentRun","tick","read","evaluate","onDone","onDeadline","count","result","useEffect"],"mappings":";AA6CO,MAAMA,IAA2B,KAO3BC,IAA2B,MAAS;AAkD1C,SAASC,EACdC,GACa;AACb,QAAMC,IAAaC,EAAOF,CAAO;AACjC,EAAAC,EAAW,UAAUD;AAErB,QAAMG,IAAWD,EAAO,CAAC,GACnBE,IAAaF,EAA6C,IAAI,GAC9DG,IAAgBH,EAA+B,IAAI,GACnD,CAACI,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,GAAGC,CAAY,IAAID,EAAS,CAAC,GAE7BE,IAAWC,EAAY,MAAM;AACjC,IAAAR,EAAS,WAAW,GAChBC,EAAW,YAAY,SACzB,aAAaA,EAAW,OAAO,GAC/BA,EAAW,UAAU,OAEvBC,EAAc,SAAS,MAAA,GACvBA,EAAc,UAAU;AAAA,EAC1B,GAAG,CAAA,CAAE,GAECO,IAAOD,EAAY,MAAM;AAC7B,IAAAD,EAAA,GACAH,EAAa,EAAK;AAAA,EACpB,GAAG,CAACG,CAAQ,CAAC,GAEPG,IAAQF,EAAY,MAAM;AAC9B,IAAAD,EAAA;AAEA,UAAMI,IAAQX,EAAS,SACjBY,IAAa,IAAI,gBAAA;AACvB,IAAAV,EAAc,UAAUU;AACxB,UAAM,EAAE,YAAAC,IAAanB,GAA0B,YAAAoB,IAAanB,EAAA,IAC1DG,EAAW,SACPiB,IAAW,KAAK,IAAA,IAAQD;AAC9B,QAAIE,IAAgC;AAEpC,IAAAZ,EAAa,EAAI;AAEjB,UAAMa,IAAe,MAAMjB,EAAS,YAAYW,GAE1CO,IAAO,YAAY;AACvB,UAAI,CAACD,IAAgB;AAErB,YAAM,EAAE,OAAOE,GAAM,UAAAC,GAAU,QAAAC,GAAQ,YAAAC,EAAA,IAAexB,EAAW;AAEjE,UAAI;AACF,QAAAkB,IAAO,EAAE,OAAO,MAAMG,EAAKP,EAAW,MAAM,EAAA;AAAA,MAC9C,QAAQ;AAAA,MAER;AAEA,UAAKK,KAIL;AAAA,YAFAX,EAAa,CAAAiB,MAASA,IAAQ,CAAC,GAE3BP,GAAM;AACR,gBAAMQ,IAASJ,EAASJ,EAAK,KAAK;AAClC,cAAIQ,EAAO,MAAM;AACf,YAAAf,EAAA,GACAY,EAAOG,EAAO,KAAK;AACnB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,KAAK,IAAA,KAAST,GAAU;AAC1B,UAAAN,EAAA,GACAa,EAAWN,IAAOA,EAAK,QAAQ,IAAI;AACnC;AAAA,QACF;AAEA,QAAAf,EAAW,UAAU,WAAW,MAAM;AACpC,UAAKiB,EAAA;AAAA,QACP,GAAGL,CAAU;AAAA;AAAA,IACf;AAEA,IAAKK,EAAA;AAAA,EACP,GAAG,CAACX,GAAUE,CAAI,CAAC;AAEnB,SAAAgB,EAAU,MAAMlB,GAAU,CAACA,CAAQ,CAAC,GAE7B,EAAE,OAAAG,GAAO,MAAAD,GAAM,WAAAN,EAAA;AACxB;"}
|
|
1
|
+
{"version":3,"file":"usePollingTask.js","sources":["../../../src/hooks/usePollingTask/usePollingTask.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror'\nimport { GustoEmbeddedError } from '@gusto/embedded-api/models/errors/gustoembeddederror'\n\n/**\n * The outcome of evaluating a single poll tick.\n *\n * @remarks\n * `'done'` (a domain-understood outcome, success or real failure) and `'error'` (the read failed\n * in a way not worth retrying, so the poll never learned what happened) are both terminal but go\n * to different callbacks — `onDone` and `onError` — so callers can't conflate the two.\n *\n * @typeParam TValue - The terminal value handed to `onDone`.\n * @internal\n */\nexport type PollTickResult<TValue> =\n { status: 'polling' } | { status: 'done'; value: TValue } | { status: 'error'; error: unknown }\n\n/**\n * The result of one poll tick's read — the data it resolved to, or the error it rejected with.\n *\n * @remarks\n * `lastData` (rejection only) is the most recent successfully-read data, or `null` if none has\n * succeeded yet — the same value `onDeadline` receives, and worth verifying against for the same\n * reason.\n *\n * @typeParam TData - The value a successful read resolves to.\n * @internal\n */\nexport type PollReadOutcome<TData> =\n { success: true; data: TData } | { success: false; error: unknown; lastData: TData | null }\n\nconst NON_RETRYABLE_HTTP_STATUSES = new Set([401, 403])\n\n/**\n * Whether a poll read's error is not worth retrying.\n *\n * @remarks\n * `SDKValidationError` (also matches `ResponseValidationError`) means the response failed schema\n * validation. A 401/403 means the session that started the poll expired mid-poll (SDK-1291) --\n * neither recovers by retrying. Everything else (network blips, timeouts, transient 5xx) may\n * still succeed on the next tick.\n *\n * @internal\n */\nexport function isNonRetryablePollError(error: unknown): boolean {\n if (error instanceof SDKValidationError) return true\n return (\n error instanceof GustoEmbeddedError &&\n NON_RETRYABLE_HTTP_STATUSES.has(error.httpMeta.response.status)\n )\n}\n\n/**\n * Configuration for {@link usePollingTask}.\n *\n * @typeParam TData - The value each poll read resolves to.\n * @typeParam TValue - The terminal value produced by `evaluate` and handed to `onDone`.\n * @internal\n */\nexport interface UsePollingTaskOptions<TData, TValue> {\n /** Reads the current server state for one tick. Rejections are passed to `evaluate`, not thrown. */\n fetch: (signal: AbortSignal) => Promise<TData>\n /**\n * Decides whether the operation has reached a terminal state, from this tick's read outcome.\n * Called on every tick, including ones where `fetch` rejected — see {@link PollReadOutcome} and\n * {@link isNonRetryablePollError}.\n */\n evaluate: (outcome: PollReadOutcome<TData>) => PollTickResult<TValue>\n /** Called once, from the poll loop, when `evaluate` reports a `'done'` terminal state. */\n onDone: (value: TValue) => void\n /** Called once, from the poll loop, when `evaluate` reports an `'error'` terminal state. */\n onError: (error: unknown) => void\n /**\n * Called once when `deadlineMs` elapses without a terminal state, with the most recent data\n * successfully read (or `null` if no read ever succeeded). Verify against that data before\n * reporting a failure.\n */\n onDeadline: (lastData: TData | null) => void\n /** Delay between the end of one tick and the start of the next. Defaults to {@link DEFAULT_POLL_INTERVAL_MS}. */\n intervalMs?: number\n /** How long the task may run before `onDeadline` is called. Defaults to {@link DEFAULT_POLL_DEADLINE_MS}. */\n deadlineMs?: number\n}\n\n/**\n * Default delay between polling reads.\n *\n * @internal\n */\nexport const DEFAULT_POLL_INTERVAL_MS = 5_000\n\n/**\n * Default duration a polling task may run before its deadline fires.\n *\n * @internal\n */\nexport const DEFAULT_POLL_DEADLINE_MS = 3 * 60 * 1000\n\n/**\n * An imperative handle to a polling task.\n *\n * @internal\n */\nexport interface PollingTask {\n /** Begins polling, reading once immediately. Restarts the task if one is already running. */\n start: () => void\n /** Stops polling without calling `onDone` or `onDeadline`. */\n stop: () => void\n /** Whether the task is currently running. Safe to render; not used to decide completion. */\n isPolling: boolean\n}\n\n/**\n * Polls an async operation to completion in a self-contained loop that owns its own timer and\n * decides the terminal state from the data it reads.\n *\n * @remarks\n * Use this instead of driving a poll from a query's `refetchInterval` and reacting to the result\n * in an effect. That pattern makes completion depend on a render arriving — if the query\n * observer never notifies the component, the operation finishes on the server and the screen\n * never advances (SDK-1291). Here the loop reads the server directly and evaluates the result in\n * its own closure, so the terminal decision does not depend on the component rendering.\n *\n * Behavior worth knowing:\n *\n * - `start()` reads immediately, then every `intervalMs` after the previous read settles, so a\n * slow read never stacks up overlapping requests.\n * - A rejected read isn't thrown; it's handed to `evaluate` as a {@link PollReadOutcome}, since\n * SDK queries are configured with `retry: false`. See {@link PollTickResult} for how `evaluate`\n * routes a read error to `'polling'` (retry) vs `'error'` (give up). When `fetch` reads through\n * a shared query key, observers of that key still see the error even though the task carries on.\n * - A `'done'` or `'error'` result on the deadline tick wins over the deadline, and `onDeadline`\n * receives the last data read so the caller can verify before declaring failure.\n * - Each tick bumps internal state, which gives the calling component a render source\n * independent of any query observer. Fresh cache data is then picked up on that render.\n * - `stop()` and unmount abort the in-flight read and guarantee no further callbacks fire.\n *\n * Callbacks are read through a ref, so changing their identity between renders never restarts\n * the loop.\n *\n * @typeParam TData - The value each poll read resolves to.\n * @typeParam TValue - The terminal value produced by `evaluate` and handed to `onDone`.\n * @param options - See {@link UsePollingTaskOptions}.\n * @returns The {@link PollingTask} handle.\n * @internal\n */\nexport function usePollingTask<TData, TValue>(\n options: UsePollingTaskOptions<TData, TValue>,\n): PollingTask {\n const optionsRef = useRef(options)\n optionsRef.current = options\n\n const runIdRef = useRef(0)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const controllerRef = useRef<AbortController | null>(null)\n const [isPolling, setIsPolling] = useState(false)\n const [, setTickCount] = useState(0)\n\n const teardown = useCallback(() => {\n runIdRef.current += 1\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n controllerRef.current?.abort()\n controllerRef.current = null\n }, [])\n\n const stop = useCallback(() => {\n teardown()\n setIsPolling(false)\n }, [teardown])\n\n const start = useCallback(() => {\n teardown()\n\n const runId = runIdRef.current\n const controller = new AbortController()\n controllerRef.current = controller\n const { intervalMs = DEFAULT_POLL_INTERVAL_MS, deadlineMs = DEFAULT_POLL_DEADLINE_MS } =\n optionsRef.current\n const deadline = Date.now() + deadlineMs\n let last: { value: TData } | null = null\n\n setIsPolling(true)\n\n const isCurrentRun = () => runIdRef.current === runId\n\n const tick = async () => {\n if (!isCurrentRun()) return\n\n const { fetch: read, evaluate, onDone, onError, onDeadline } = optionsRef.current\n\n let outcome: PollReadOutcome<TData>\n try {\n const data = await read(controller.signal)\n last = { value: data }\n outcome = { success: true, data }\n } catch (error) {\n outcome = { success: false, error, lastData: last ? last.value : null }\n }\n\n if (!isCurrentRun()) return\n\n setTickCount(count => count + 1)\n\n const result = evaluate(outcome)\n if (result.status === 'done') {\n stop()\n onDone(result.value)\n return\n }\n if (result.status === 'error') {\n stop()\n onError(result.error)\n return\n }\n\n if (Date.now() >= deadline) {\n stop()\n onDeadline(last ? last.value : null)\n return\n }\n\n timeoutRef.current = setTimeout(() => {\n void tick()\n }, intervalMs)\n }\n\n void tick()\n }, [teardown, stop])\n\n useEffect(() => teardown, [teardown])\n\n return { start, stop, isPolling }\n}\n"],"names":["NON_RETRYABLE_HTTP_STATUSES","isNonRetryablePollError","error","SDKValidationError","GustoEmbeddedError","DEFAULT_POLL_INTERVAL_MS","DEFAULT_POLL_DEADLINE_MS","usePollingTask","options","optionsRef","useRef","runIdRef","timeoutRef","controllerRef","isPolling","setIsPolling","useState","setTickCount","teardown","useCallback","stop","start","runId","controller","intervalMs","deadlineMs","deadline","last","isCurrentRun","tick","read","evaluate","onDone","onError","onDeadline","outcome","data","count","result","useEffect"],"mappings":";;;AAgCA,MAAMA,IAA8B,oBAAI,IAAI,CAAC,KAAK,GAAG,CAAC;AAa/C,SAASC,EAAwBC,GAAyB;AAC/D,SAAIA,aAAiBC,IAA2B,KAE9CD,aAAiBE,KACjBJ,EAA4B,IAAIE,EAAM,SAAS,SAAS,MAAM;AAElE;AAuCO,MAAMG,IAA2B,KAO3BC,IAA2B,MAAS;AAkD1C,SAASC,EACdC,GACa;AACb,QAAMC,IAAaC,EAAOF,CAAO;AACjC,EAAAC,EAAW,UAAUD;AAErB,QAAMG,IAAWD,EAAO,CAAC,GACnBE,IAAaF,EAA6C,IAAI,GAC9DG,IAAgBH,EAA+B,IAAI,GACnD,CAACI,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,GAAGC,CAAY,IAAID,EAAS,CAAC,GAE7BE,IAAWC,EAAY,MAAM;AACjC,IAAAR,EAAS,WAAW,GAChBC,EAAW,YAAY,SACzB,aAAaA,EAAW,OAAO,GAC/BA,EAAW,UAAU,OAEvBC,EAAc,SAAS,MAAA,GACvBA,EAAc,UAAU;AAAA,EAC1B,GAAG,CAAA,CAAE,GAECO,IAAOD,EAAY,MAAM;AAC7B,IAAAD,EAAA,GACAH,EAAa,EAAK;AAAA,EACpB,GAAG,CAACG,CAAQ,CAAC,GAEPG,IAAQF,EAAY,MAAM;AAC9B,IAAAD,EAAA;AAEA,UAAMI,IAAQX,EAAS,SACjBY,IAAa,IAAI,gBAAA;AACvB,IAAAV,EAAc,UAAUU;AACxB,UAAM,EAAE,YAAAC,IAAanB,GAA0B,YAAAoB,IAAanB,EAAA,IAC1DG,EAAW,SACPiB,IAAW,KAAK,IAAA,IAAQD;AAC9B,QAAIE,IAAgC;AAEpC,IAAAZ,EAAa,EAAI;AAEjB,UAAMa,IAAe,MAAMjB,EAAS,YAAYW,GAE1CO,IAAO,YAAY;AACvB,UAAI,CAACD,IAAgB;AAErB,YAAM,EAAE,OAAOE,GAAM,UAAAC,GAAU,QAAAC,GAAQ,SAAAC,GAAS,YAAAC,MAAezB,EAAW;AAE1E,UAAI0B;AACJ,UAAI;AACF,cAAMC,IAAO,MAAMN,EAAKP,EAAW,MAAM;AACzC,QAAAI,IAAO,EAAE,OAAOS,EAAA,GAChBD,IAAU,EAAE,SAAS,IAAM,MAAAC,EAAA;AAAA,MAC7B,SAASlC,GAAO;AACd,QAAAiC,IAAU,EAAE,SAAS,IAAO,OAAAjC,GAAO,UAAUyB,IAAOA,EAAK,QAAQ,KAAA;AAAA,MACnE;AAEA,UAAI,CAACC,IAAgB;AAErB,MAAAX,EAAa,CAAAoB,MAASA,IAAQ,CAAC;AAE/B,YAAMC,IAASP,EAASI,CAAO;AAC/B,UAAIG,EAAO,WAAW,QAAQ;AAC5B,QAAAlB,EAAA,GACAY,EAAOM,EAAO,KAAK;AACnB;AAAA,MACF;AACA,UAAIA,EAAO,WAAW,SAAS;AAC7B,QAAAlB,EAAA,GACAa,EAAQK,EAAO,KAAK;AACpB;AAAA,MACF;AAEA,UAAI,KAAK,IAAA,KAASZ,GAAU;AAC1B,QAAAN,EAAA,GACAc,EAAWP,IAAOA,EAAK,QAAQ,IAAI;AACnC;AAAA,MACF;AAEA,MAAAf,EAAW,UAAU,WAAW,MAAM;AACpC,QAAKiB,EAAA;AAAA,MACP,GAAGL,CAAU;AAAA,IACf;AAEA,IAAKK,EAAA;AAAA,EACP,GAAG,CAACX,GAAUE,CAAI,CAAC;AAEnB,SAAAmB,EAAU,MAAMrB,GAAU,CAACA,CAAQ,CAAC,GAE7B,EAAE,OAAAG,GAAO,MAAAD,GAAM,WAAAN,EAAA;AACxB;"}
|
package/dist/i18n/I18n.js
CHANGED
|
@@ -232,23 +232,28 @@ const j = "common", i = /* @__PURE__ */ Object.assign({
|
|
|
232
232
|
"./es_US/Payroll.PayrollList.json": () => import("./es_US/Payroll.PayrollList.json.js").then((e) => e.default),
|
|
233
233
|
"./es_US/Payroll.PayrollOverview.json": () => import("./es_US/Payroll.PayrollOverview.json.js").then((e) => e.default),
|
|
234
234
|
"./es_US/Payroll.PayrollReceipts.json": () => import("./es_US/Payroll.PayrollReceipts.json.js").then((e) => e.default),
|
|
235
|
+
"./es_US/Payroll.PrintChecksBanner.json": () => import("./es_US/Payroll.PrintChecksBanner.json.js").then((e) => e.default),
|
|
236
|
+
"./es_US/Payroll.PrintChecksFailure.json": () => import("./es_US/Payroll.PrintChecksFailure.json.js").then((e) => e.default),
|
|
237
|
+
"./es_US/Payroll.PrintChecksForm.json": () => import("./es_US/Payroll.PrintChecksForm.json.js").then((e) => e.default),
|
|
238
|
+
"./es_US/Payroll.PrintChecksSummary.json": () => import("./es_US/Payroll.PrintChecksSummary.json.js").then((e) => e.default),
|
|
235
239
|
"./es_US/Payroll.RecoveryCasesList.json": () => import("./es_US/Payroll.RecoveryCasesList.json.js").then((e) => e.default),
|
|
236
240
|
"./es_US/Payroll.RecoveryCasesResubmit.json": () => import("./es_US/Payroll.RecoveryCasesResubmit.json.js").then((e) => e.default),
|
|
237
241
|
"./es_US/Payroll.Transition.json": () => import("./es_US/Payroll.Transition.json.js").then((e) => e.default),
|
|
238
242
|
"./es_US/Payroll.TransitionCreation.json": () => import("./es_US/Payroll.TransitionCreation.json.js").then((e) => e.default),
|
|
239
243
|
"./es_US/Payroll.TransitionPayrollAlert.json": () => import("./es_US/Payroll.TransitionPayrollAlert.json.js").then((e) => e.default),
|
|
244
|
+
"./es_US/Payroll.UNSTABLE_PayrollEditEmployee.json": () => import("./es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js").then((e) => e.default),
|
|
240
245
|
"./es_US/Payroll.WireInstructions.json": () => import("./es_US/Payroll.WireInstructions.json.js").then((e) => e.default),
|
|
241
246
|
"./es_US/common.json": () => import("./es_US/common.json.js").then((e) => e.default)
|
|
242
247
|
});
|
|
243
|
-
function
|
|
248
|
+
function u(e, t) {
|
|
244
249
|
const o = `./${e ?? "en"}/${t}.json`;
|
|
245
250
|
return i[o] ?? i[`./en/${t}.json`];
|
|
246
251
|
}
|
|
247
|
-
const s = new f(50),
|
|
252
|
+
const s = new f(50), d = ({ lng: e = "en", ns: t }) => {
|
|
248
253
|
let n = !0, o = !1, a;
|
|
249
254
|
const l = (async () => {
|
|
250
255
|
try {
|
|
251
|
-
const m =
|
|
256
|
+
const m = u(e, t);
|
|
252
257
|
if (!m) {
|
|
253
258
|
o = !0, n = !1;
|
|
254
259
|
return;
|
|
@@ -271,7 +276,7 @@ const s = new f(50), u = ({ lng: e = "en", ns: t }) => {
|
|
|
271
276
|
const n = Array.isArray(e) ? e : [e];
|
|
272
277
|
for (const o of n) {
|
|
273
278
|
const a = `${t.language}:${o}`;
|
|
274
|
-
s.get(a) === null && s.put(a,
|
|
279
|
+
s.get(a) === null && s.put(a, d({ lng: t.language, ns: o }));
|
|
275
280
|
const r = s.get(a);
|
|
276
281
|
if (r) {
|
|
277
282
|
const l = r();
|
package/dist/i18n/I18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18n.js","sources":["../../src/i18n/I18n.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\nimport { useTranslation } from 'react-i18next'\nimport type { CustomTypeOptions } from 'i18next'\nimport type { Resources } from './types'\nimport { LRUCache } from '@/helpers/LRUCache'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport const defaultNS = 'common'\n\nconst translationLoaders = import.meta.glob<Record<string, string>>('./*/*.json', {\n import: 'default',\n})\n\nfunction resolveTranslationLoader(lng: string | undefined, ns: string) {\n const language = lng ?? 'en'\n const primaryPath = `./${language}/${ns}.json`\n const load =\n translationLoaders[primaryPath as keyof typeof translationLoaders] ??\n translationLoaders[`./en/${ns}.json` as keyof typeof translationLoaders]\n return load\n}\n\n//LRU cache holding requested resources\nconst resourceCache = new LRUCache(50)\n/**\n * Dynamic loading of translation resources - works with Suspence to prevent early access to loadable strings\n *\n * @param lng - resource language\n * @param ns - Namespace/name of the component/resource\n * @returns translation resource\n */\nconst loadResource = ({ lng = 'en', ns }: { ns: string; lng?: string }) => {\n let isLoading = true\n let isError = false\n let resource: Record<string, string>\n\n const importResources = async () => {\n try {\n const load = resolveTranslationLoader(lng, ns)\n if (!load) {\n isError = true\n isLoading = false\n return\n }\n resource = await load()\n isLoading = false\n } catch {\n isError = true\n isLoading = false\n }\n }\n const promise = importResources()\n return () => {\n if (isLoading) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw promise // Throw the promise to indicate Suspense should suspend.\n } else if (isError) {\n throw new Error(`Error loading translation for component: ${ns}`) // Handle error\n } else {\n return resource // Return the resource when loading is complete\n }\n }\n}\n\n/**\n * Hook that allows component to load custom dictionary\n *\n * @param ns - Namespace - should match component name exactly - not exposed to consumers\n * @internal\n */\nexport const useI18n = (\n namespaces:\n keyof CustomTypeOptions['resources'] | Array<keyof CustomTypeOptions['resources']> | null,\n) => {\n //Getting our instance of i18n -> supplied by the provider set in GustoProvider\n const { i18n: i18nInstance } = useTranslation()\n //Abort when namespace is not provided\n if (!namespaces) return\n const nsMap = Array.isArray(namespaces) ? namespaces : [namespaces]\n for (const ns of nsMap) {\n // `language` (the requested language) rather than `resolvedLanguage` (the language i18next has\n // already loaded translations for) - resolvedLanguage stays pinned to whatever language already\n // has resources (typically 'en', preloaded in SDKI18next) until a resource bundle is registered\n // under the newly requested language, which is exactly what this loop is trying to do.\n const key = `${i18nInstance.language}:${ns}`\n //Skip loading default resource if it is already in cache\n if (resourceCache.get(key) === null) {\n //If resource not in cache, initiate loading and add getter to cache\n resourceCache.put(key, loadResource({ lng: i18nInstance.language, ns: ns }))\n }\n //Get resourceGetter from cache\n const resourceGetter = resourceCache.get(key)\n if (resourceGetter) {\n const resource = resourceGetter()\n i18nInstance.addResourceBundle(i18nInstance.language, ns, resource, true, false) //Last argument is set to false to prevent override of keys provided by partners on GustoProvider level through dictionary prop\n }\n }\n}\n\n/**\n * Used by individual components to override their dictionaries with partner provided resources\n *\n * @internal\n */\nexport const useComponentDictionary = <K extends keyof Resources>(\n ns: K,\n resource?: ResourceDictionary<K> | null,\n) => {\n const { i18n: i18nInstance } = useTranslation()\n if (resource) {\n for (const lang in resource) {\n i18nInstance.addResourceBundle(lang, ns, resource[lang], true, true)\n }\n }\n}\n"],"names":["defaultNS","translationLoaders","m","resolveTranslationLoader","lng","ns","primaryPath","resourceCache","LRUCache","loadResource","isLoading","isError","resource","promise","load","useI18n","namespaces","i18nInstance","useTranslation","nsMap","key","resourceGetter","useComponentDictionary","lang"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"I18n.js","sources":["../../src/i18n/I18n.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\nimport { useTranslation } from 'react-i18next'\nimport type { CustomTypeOptions } from 'i18next'\nimport type { Resources } from './types'\nimport { LRUCache } from '@/helpers/LRUCache'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport const defaultNS = 'common'\n\nconst translationLoaders = import.meta.glob<Record<string, string>>('./*/*.json', {\n import: 'default',\n})\n\nfunction resolveTranslationLoader(lng: string | undefined, ns: string) {\n const language = lng ?? 'en'\n const primaryPath = `./${language}/${ns}.json`\n const load =\n translationLoaders[primaryPath as keyof typeof translationLoaders] ??\n translationLoaders[`./en/${ns}.json` as keyof typeof translationLoaders]\n return load\n}\n\n//LRU cache holding requested resources\nconst resourceCache = new LRUCache(50)\n/**\n * Dynamic loading of translation resources - works with Suspence to prevent early access to loadable strings\n *\n * @param lng - resource language\n * @param ns - Namespace/name of the component/resource\n * @returns translation resource\n */\nconst loadResource = ({ lng = 'en', ns }: { ns: string; lng?: string }) => {\n let isLoading = true\n let isError = false\n let resource: Record<string, string>\n\n const importResources = async () => {\n try {\n const load = resolveTranslationLoader(lng, ns)\n if (!load) {\n isError = true\n isLoading = false\n return\n }\n resource = await load()\n isLoading = false\n } catch {\n isError = true\n isLoading = false\n }\n }\n const promise = importResources()\n return () => {\n if (isLoading) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw promise // Throw the promise to indicate Suspense should suspend.\n } else if (isError) {\n throw new Error(`Error loading translation for component: ${ns}`) // Handle error\n } else {\n return resource // Return the resource when loading is complete\n }\n }\n}\n\n/**\n * Hook that allows component to load custom dictionary\n *\n * @param ns - Namespace - should match component name exactly - not exposed to consumers\n * @internal\n */\nexport const useI18n = (\n namespaces:\n keyof CustomTypeOptions['resources'] | Array<keyof CustomTypeOptions['resources']> | null,\n) => {\n //Getting our instance of i18n -> supplied by the provider set in GustoProvider\n const { i18n: i18nInstance } = useTranslation()\n //Abort when namespace is not provided\n if (!namespaces) return\n const nsMap = Array.isArray(namespaces) ? namespaces : [namespaces]\n for (const ns of nsMap) {\n // `language` (the requested language) rather than `resolvedLanguage` (the language i18next has\n // already loaded translations for) - resolvedLanguage stays pinned to whatever language already\n // has resources (typically 'en', preloaded in SDKI18next) until a resource bundle is registered\n // under the newly requested language, which is exactly what this loop is trying to do.\n const key = `${i18nInstance.language}:${ns}`\n //Skip loading default resource if it is already in cache\n if (resourceCache.get(key) === null) {\n //If resource not in cache, initiate loading and add getter to cache\n resourceCache.put(key, loadResource({ lng: i18nInstance.language, ns: ns }))\n }\n //Get resourceGetter from cache\n const resourceGetter = resourceCache.get(key)\n if (resourceGetter) {\n const resource = resourceGetter()\n i18nInstance.addResourceBundle(i18nInstance.language, ns, resource, true, false) //Last argument is set to false to prevent override of keys provided by partners on GustoProvider level through dictionary prop\n }\n }\n}\n\n/**\n * Used by individual components to override their dictionaries with partner provided resources\n *\n * @internal\n */\nexport const useComponentDictionary = <K extends keyof Resources>(\n ns: K,\n resource?: ResourceDictionary<K> | null,\n) => {\n const { i18n: i18nInstance } = useTranslation()\n if (resource) {\n for (const lang in resource) {\n i18nInstance.addResourceBundle(lang, ns, resource[lang], true, true)\n }\n }\n}\n"],"names":["defaultNS","translationLoaders","m","resolveTranslationLoader","lng","ns","primaryPath","resourceCache","LRUCache","loadResource","isLoading","isError","resource","promise","load","useI18n","namespaces","i18nInstance","useTranslation","nsMap","key","resourceGetter","useComponentDictionary","lang"],"mappings":"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"}
|
|
@@ -1,40 +1,44 @@
|
|
|
1
|
-
const e = "Employees", t = "Add employee", o = "Back to employees",
|
|
1
|
+
const e = "Employees", t = "Add employee", o = "Back to employees", s = "Employee status tabs", a = { active: "Active", onboarding: "Onboarding", dismissed: "Dismissed" }, n = "Employee name", i = "Job title", l = "Start date", c = "Status", d = "Last day", m = "Pending dismissal", p = "Last day {{date}}", r = "Edit employee", y = "Dismiss employee", b = "Cancel onboarding", g = "Employee actions menu", L = "List of employees", h = { active: { title: "There are no active employees", description: "Employees who have completed onboarding will appear here" }, onboarding: { title: "There are no employees onboarding", description: "Employees currently being onboarded will appear here" }, dismissed: { title: "There are no dismissed employees", description: "Terminated employees will appear here" } }, u = { title: "Cancel employee onboarding?", description: "This will permanently delete this employee from your account. This action cannot be undone.", confirmCta: "Delete employee", cancelCta: "Cancel" }, C = {
|
|
2
2
|
title: e,
|
|
3
3
|
addEmployeeCta: t,
|
|
4
4
|
backToListCta: o,
|
|
5
|
-
tabsLabel:
|
|
6
|
-
tabs:
|
|
5
|
+
tabsLabel: s,
|
|
6
|
+
tabs: a,
|
|
7
7
|
nameLabel: n,
|
|
8
|
-
jobTitleLabel:
|
|
9
|
-
startDateLabel:
|
|
8
|
+
jobTitleLabel: i,
|
|
9
|
+
startDateLabel: l,
|
|
10
10
|
statusLabel: c,
|
|
11
|
-
lastDayLabel:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
lastDayLabel: d,
|
|
12
|
+
pendingDismissalLabel: m,
|
|
13
|
+
pendingDismissalBadge: p,
|
|
14
|
+
editCta: r,
|
|
15
|
+
dismissCta: y,
|
|
16
|
+
cancelCta: b,
|
|
17
|
+
hamburgerTitle: g,
|
|
18
|
+
employeeListLabel: L,
|
|
17
19
|
emptyState: h,
|
|
18
|
-
deleteDialog:
|
|
20
|
+
deleteDialog: u
|
|
19
21
|
};
|
|
20
22
|
export {
|
|
21
23
|
t as addEmployeeCta,
|
|
22
24
|
o as backToListCta,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
b as cancelCta,
|
|
26
|
+
C as default,
|
|
27
|
+
u as deleteDialog,
|
|
28
|
+
y as dismissCta,
|
|
29
|
+
r as editCta,
|
|
30
|
+
L as employeeListLabel,
|
|
29
31
|
h as emptyState,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
g as hamburgerTitle,
|
|
33
|
+
i as jobTitleLabel,
|
|
34
|
+
d as lastDayLabel,
|
|
33
35
|
n as nameLabel,
|
|
34
|
-
|
|
36
|
+
p as pendingDismissalBadge,
|
|
37
|
+
m as pendingDismissalLabel,
|
|
38
|
+
l as startDateLabel,
|
|
35
39
|
c as statusLabel,
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
a as tabs,
|
|
41
|
+
s as tabsLabel,
|
|
38
42
|
e as title
|
|
39
43
|
};
|
|
40
44
|
//# sourceMappingURL=Employee.ManagementEmployeeList.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Employee.ManagementEmployeeList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Employee.ManagementEmployeeList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const t = "Enter a net amount", a = "Please enter the net amount you want this employee to receive. We'll then automatically calculate the gross amount you need to pay, including taxes and deductions.", e = "This will override any previously entered amounts.", n = "Net amount", o = "Calculate", l = "Calculating...", s = "Apply", c = "
|
|
1
|
+
const t = "Enter a net amount", a = "Please enter the net amount you want this employee to receive. We'll then automatically calculate the gross amount you need to pay, including taxes and deductions.", e = "This will override any previously entered amounts.", n = "Net amount", o = "Calculate", l = "Calculating...", s = "Apply", c = "Calculate a gross amount first to apply it.", r = "Cancel", u = "Calculated gross pay", i = "Unable to calculate gross up. Please try again.", y = { netPay: "Net amount must be greater than zero cents" }, p = {
|
|
2
2
|
title: t,
|
|
3
3
|
description: a,
|
|
4
4
|
warning: e,
|
|
@@ -6,23 +6,25 @@ const t = "Enter a net amount", a = "Please enter the net amount you want this e
|
|
|
6
6
|
calculateCta: o,
|
|
7
7
|
calculatingCta: l,
|
|
8
8
|
applyCta: s,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
applyHint: c,
|
|
10
|
+
cancelCta: r,
|
|
11
|
+
grossPayResult: u,
|
|
12
|
+
errorMessage: i,
|
|
13
|
+
validations: y
|
|
13
14
|
};
|
|
14
15
|
export {
|
|
15
16
|
s as applyCta,
|
|
17
|
+
c as applyHint,
|
|
16
18
|
o as calculateCta,
|
|
17
19
|
l as calculatingCta,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
r as cancelCta,
|
|
21
|
+
p as default,
|
|
20
22
|
a as description,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
i as errorMessage,
|
|
24
|
+
u as grossPayResult,
|
|
23
25
|
n as netPayLabel,
|
|
24
26
|
t as title,
|
|
25
|
-
|
|
27
|
+
y as validations,
|
|
26
28
|
e as warning
|
|
27
29
|
};
|
|
28
30
|
//# sourceMappingURL=Payroll.GrossUpModal.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payroll.GrossUpModal.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Payroll.GrossUpModal.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment resubmitted", description: "We are reviewing your submission and will reach out if we need any additional information." }, informationRequestResponded: { title: "We've received your response", description: "We are reviewing your submission and will reach out if we need any additional information." } }, t = "Exit", n = "{{count}} issues are preventing you from running payroll", i = "View All Blockers", r = "View Blocker", a = "Payroll blockers", s = "Blocker", l = "The following issues must be resolved before you can run payroll:", p = "No payroll blockers at this time.",
|
|
1
|
+
const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment resubmitted", description: "We are reviewing your submission and will reach out if we need any additional information." }, informationRequestResponded: { title: "We've received your response", description: "We are reviewing your submission and will reach out if we need any additional information." } }, t = "Exit", n = "{{count}} issues are preventing you from running payroll", i = "View All Blockers", r = "View Blocker", a = "Payroll blockers", s = "Blocker", l = "The following issues must be resolved before you can run payroll:", p = "No payroll blockers at this time.", c = "Estimated time", d = "Unknown blocker", u = "Please contact support.", m = "Payroll blocker", y = { partner_tos_not_accepted: { title: "Terms of Service Required" }, geocode_error: { title: "Address Verification Failed", description: "Company or employee address could not be verified.", help: "Please ensure all addresses are valid and complete." }, geocode_needed: { title: "Address Verification Missing", description: "Company or employee address verification is missing.", help: "Please ensure all addresses are entered correctly." }, missing_signatory: { title: "Signatory Required", description: "A signatory who is authorized to sign documents on behalf of your company is required.", help: "Designate an authorized company signatory to continue.", defaultAction: "Set Up Signatory" }, invalid_signatory: { title: "Signatory Verification Failed", description: "Please ensure that the identity verification of the company signatory is successful.", help: "The signatory must complete identity verification." }, suspended: { title: "Company Suspended", description: "Company is suspended and cannot run payroll.", help: "Contact support if you believe this is an error.", defaultAction: "Contact Support" }, needs_onboarding: { title: "Onboarding Incomplete", description: "Company must complete all onboarding requirements in order to run payroll.", help: "Complete all required onboarding steps.", defaultAction: "Complete Onboarding" }, missing_bank_info: { title: "Bank Account Required", description: "Company must have a bank account in order to run payroll.", help: "Add and verify a company bank account.", defaultAction: "Add Bank Account" }, missing_bank_verification: { title: "Bank Account Verification Required", description: "Company bank account must be verified in order to run payroll.", help: "Complete bank account verification process.", defaultAction: "Verify Account" }, missing_employee_setup: { title: "Employees Required", description: "Company must add employees in order to run payroll.", help: "Add at least one employee to continue." }, missing_pay_schedule: { title: "Pay Schedule Required", description: "Company must have a pay schedule in order to run payroll.", help: "Set up a pay schedule for your employees." }, pay_schedule_setup_not_complete: { title: "Employee Pay Schedule Missing", description: "Some employees don't have a pay schedule set up yet.", help: "Assign all employees to a pay schedule." }, missing_forms: { title: "Forms Require Signature", description: "Company forms must be signed in order to run payroll.", help: "Complete and sign all required forms." }, needs_approval: { title: "Pending Approval", description: "Company needs to be approved to run payroll.", help: "Your account is under review. Please wait for approval." }, pending_payroll_review: { title: "Payroll Under Review", description: "Payroll is blocked. We are reviewing payroll information in your account.", help: "Contact support if you believe this is an error.", defaultAction: "Contact Support" }, contractor_only_company: { title: "Contractor-Only Company", description: "Company is set to contractor_only and cannot run payroll.", help: "Update company type and complete additional onboarding." }, eftps_ic_error: { title: "Electronic Federal Tax Payment System Error", description: "We could not make payments to the Electronic Federal Tax Payment System.", help: "Please contact support.", defaultAction: "Contact Support" }, wc_pending_approval: { title: "Worker's Compensation Pending Approval", description: "Worker's compensation policy needs to be approved.", help: "The worker's compensation process has not been completed and may require more information. Please contact support.", defaultAction: "Contact Support" }, pending_recovery_case: { title: "Recovery Case Pending", description: "Company has an open recovery case that must be resolved in order to unblock payroll.", help: "Please contact support.", defaultAction: "Contact Support" }, pending_information_request: { title: "Information Request Pending", description: "Company has an open information request that must be submitted and approved in order to unblock payroll.", help: "Please contact support.", defaultAction: "Contact Support" }, missing_addresses: { title: "Company Addresses Missing", description: "Company must add addresses in order to run payroll.", help: "Missing company onboarding requirement. Confirm that company addresses have been added.", defaultAction: "Add Addresses" }, missing_federal_tax_setup: { title: "Federal Tax Setup Missing", description: "Company must complete federal tax setup in order to run payroll.", help: "Missing company onboarding requirement. Confirm that company federal tax setup has been completed.", defaultAction: "Complete Federal Tax Setup" }, missing_industry_selection: { title: "Industry Selection Missing", description: "Company must complete industry selection in order to run payroll.", help: "Missing company onboarding requirement. Confirm that a company industry has been selected.", defaultAction: "Select Industry" }, missing_state_tax_setup: { title: "State Tax Setup Missing", description: "Company must complete state tax setup in order to run payroll.", help: "Missing company onboarding requirement. Confirm that the company has completed state tax setup.", defaultAction: "Complete State Tax Setup" } }, f = {
|
|
2
2
|
breadcrumbLabel: e,
|
|
3
3
|
alerts: o,
|
|
4
4
|
exitFlowCta: t,
|
|
@@ -9,23 +9,25 @@ const e = "Payroll Blockers", o = { recoveryCaseResubmitted: { title: "Payment r
|
|
|
9
9
|
blockerSectionLabel: s,
|
|
10
10
|
blockersListDescription: l,
|
|
11
11
|
noBlockersMessage: p,
|
|
12
|
-
estimatedTime:
|
|
13
|
-
defaultBlockerDescription:
|
|
12
|
+
estimatedTime: c,
|
|
13
|
+
defaultBlockerDescription: d,
|
|
14
14
|
defaultBlockerHelp: u,
|
|
15
|
-
|
|
15
|
+
genericBlockerTitle: m,
|
|
16
|
+
blockers: y
|
|
16
17
|
};
|
|
17
18
|
export {
|
|
18
19
|
o as alerts,
|
|
19
20
|
s as blockerSectionLabel,
|
|
20
|
-
|
|
21
|
+
y as blockers,
|
|
21
22
|
l as blockersListDescription,
|
|
22
23
|
a as blockersListTitle,
|
|
23
24
|
e as breadcrumbLabel,
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
f as default,
|
|
26
|
+
d as defaultBlockerDescription,
|
|
26
27
|
u as defaultBlockerHelp,
|
|
27
|
-
|
|
28
|
+
c as estimatedTime,
|
|
28
29
|
t as exitFlowCta,
|
|
30
|
+
m as genericBlockerTitle,
|
|
29
31
|
n as multipleIssuesTitle,
|
|
30
32
|
p as noBlockersMessage,
|
|
31
33
|
i as viewAllBlockers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payroll.PayrollBlocker.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Payroll.PayrollBlocker.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const e = "Edit Payroll", a = "{{payrollType}} payroll for <dateWrapper>{{startDate}} - {{endDate}}</dateWrapper>", l = "{{payrollType}} payroll", o = "Edit Payroll for {{startDate}} - {{endDate}}", t = "Edit Dismissal Payroll",
|
|
1
|
+
const e = "Edit Payroll", a = "{{payrollType}} payroll for <dateWrapper>{{startDate}} - {{endDate}}</dateWrapper>", l = "{{payrollType}} payroll", o = "Edit Payroll for {{startDate}} - {{endDate}}", t = "Edit Dismissal Payroll", s = "Save and exit", i = "Calculate and review", n = "Calculate and review", r = "Hours and additional earnings", p = "Review and update your employee's hours, reimbursements, and additional earnings below.", d = "Employee compensations", y = { employees: "Employees", hours: "Hours", timeOff: "Time off", additionalEarnings: "Additional earnings", reimbursements: "Reimbursements", totalPay: "Total pay" }, c = "Skipped", u = "Unknown employee", m = { edit: "Edit", skip: "Skip employee", unskip: "Unskip employee", setNetEarnings: "Set employee net earnings" }, g = { alreadyProcessed: "This payroll is already processed. If you'd like to make changes, please cancel and re-run it.", progressSaved: "Your progress has been saved", directDepositDeadline: "To pay your employees with direct deposit by {{payDate}}, you'll need to run payroll by {{time}} on {{date}}.", directDepositDeadlineText: "Make sure to submit before the deadline to ensure timely payments.", payrollLate: "Your original pay date was {{initialCheckDate}}", payrollLateText: "Run payroll before {{time}} on {{date}} to pay your employees on {{newCheckDate}}.", payrollDeadline: { label: "Payroll Deadline", message: "To pay your employees with direct deposit by the check date, you'll need to run payroll by the deadline." }, skippedEmployees: { label: "Skipped Employees", employeeAddressNotVerified: "Employee address not verified" }, employeeUpdated: { label: "{{employeeName}} updated successfully" }, processingFailed: { label: "This payroll couldn't be calculated", message: "Please try calculating again." } }, b = "Preparing payroll...", h = "This may take a minute or two. You can navigate away while this happens.", k = "Calculating payroll...", D = "This may take a minute or two. You can navigate away while this happens.", T = "Calculating payroll...", w = {
|
|
2
2
|
pageTitle: e,
|
|
3
3
|
description: a,
|
|
4
4
|
descriptionDismissal: l,
|
|
5
5
|
breadcrumbLabel: o,
|
|
6
6
|
breadcrumbLabelDismissal: t,
|
|
7
|
-
exitFlowCta:
|
|
7
|
+
exitFlowCta: s,
|
|
8
8
|
calculatePayroll: i,
|
|
9
|
-
calculatePayrollTitle:
|
|
9
|
+
calculatePayrollTitle: n,
|
|
10
10
|
hoursAndEarningsTitle: r,
|
|
11
11
|
hoursAndEarningsDescription: p,
|
|
12
12
|
employeeCompensationsTitle: d,
|
|
@@ -19,23 +19,23 @@ const e = "Edit Payroll", a = "{{payrollType}} payroll for <dateWrapper>{{startD
|
|
|
19
19
|
loadingDescription: h,
|
|
20
20
|
calculatingTitle: k,
|
|
21
21
|
calculatingDescription: D,
|
|
22
|
-
calculatingPayroll:
|
|
22
|
+
calculatingPayroll: T
|
|
23
23
|
};
|
|
24
24
|
export {
|
|
25
25
|
g as alerts,
|
|
26
26
|
o as breadcrumbLabel,
|
|
27
27
|
t as breadcrumbLabelDismissal,
|
|
28
28
|
i as calculatePayroll,
|
|
29
|
-
|
|
29
|
+
n as calculatePayrollTitle,
|
|
30
30
|
D as calculatingDescription,
|
|
31
|
-
|
|
31
|
+
T as calculatingPayroll,
|
|
32
32
|
k as calculatingTitle,
|
|
33
|
-
|
|
33
|
+
w as default,
|
|
34
34
|
a as description,
|
|
35
35
|
l as descriptionDismissal,
|
|
36
36
|
m as editMenu,
|
|
37
37
|
d as employeeCompensationsTitle,
|
|
38
|
-
|
|
38
|
+
s as exitFlowCta,
|
|
39
39
|
p as hoursAndEarningsDescription,
|
|
40
40
|
r as hoursAndEarningsTitle,
|
|
41
41
|
h as loadingDescription,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = "Submit", a = "Back", t = "Save and exit", o = "Review payroll", l = "Payroll summary", s = "{{payrollType}} payroll for <dateWrapper>{{startDate}} - {{endDate}}</dateWrapper>", i = "{{payrollType}} payroll", n = "Submit", r = "Edit", y = "Cancel payroll", p = "Cancel {{startDate}} - {{endDate}} payroll?", c = "Cancel payroll?", d = "You may cancel this payroll and run it again later. Your changes will be saved.", m = "Run this payroll by {{deadline}} to pay your employees on time.", u = "Yes, cancel payroll", b = "No, go back", T = "View payroll receipt", g = "Download paystub pdf",
|
|
1
|
+
const e = "Submit", a = "Back", t = "Save and exit", o = "Review payroll", l = "Payroll summary", s = "{{payrollType}} payroll for <dateWrapper>{{startDate}} - {{endDate}}</dateWrapper>", i = "{{payrollType}} payroll", n = "Submit", r = "Edit", y = "Cancel payroll", p = "Cancel {{startDate}} - {{endDate}} payroll?", c = "Cancel payroll?", d = "You may cancel this payroll and run it again later. Your changes will be saved.", m = "Run this payroll by {{deadline}} to pay your employees on time.", u = "Yes, cancel payroll", b = "No, go back", T = "View payroll receipt", g = "Download paystub pdf", h = "Generating paystub…", D = "Submitting payroll...", f = "This may take a minute or two. You can navigate away while this happens.", w = "Loading payroll...", P = "Cancelling payroll...", x = "This payroll has been cancelled.", k = "Skipped", C = { payrollNotCalculated: "Payroll is not calculated", payrollLoadFailed: "There was an issue loading this payroll. Please try again.", directDepositDeadline: "To pay your employees with direct deposit by {{payDate}}, you'll need to run payroll by {{time}} on {{date}}.", directDepositDeadlineText: "Make sure to submit before the deadline to ensure timely payments.", paystubPdfError: "There was an issue generating the paystub PDF. Please try again later.", payrollProcessedTitle: "Payroll submitted", payrollProcessedMessage: "{{amount}} will be debited on {{date}}. Make sure you have these funds available.", payrollProcessingFailedTitle: "There was an error submitting payroll", payrollProcessingFailedCtaLabel: "Recalculate payroll", wireDetailsSubmittedTitle: "Wire details submitted", wireDetailsSubmittedMessage: "Once we receive the funds from your bank we'll pay your team on {{checkDate}}" }, L = "Payroll Summary", S = "Payroll summary (Wire funds)", v = "Payroll summary (4-day direct deposit)", E = "Payroll summary table", B = { label: "Payroll details", companyPaysTab: "Company pays", companyPaysTable: "Company pays by employee", hoursWorkedTab: "Hours worked", hoursWorkedTable: "Hours worked by employee", employeeTakeHomeTab: "Employee take home", employeeTakeHomeTable: "Employee take home by employee", taxesTab: "Taxed and debited", taxesTable: "Taxes breakdown", debitedTable: "Debited totals by company" }, W = { totalPayroll: "Total payroll", debitAmount: "Debit amount", wireAmount: "Wire amount", wireTransferDeadline: "Wire transfer deadline", employees: "Employees", grossPay: "Gross Pay", reimbursements: "Reimbursements", debitAccount: "Debit account", debitDate: "Debit date", employeePayDate: "Employee pay date", companyTaxes: "Company taxes", companyBenefits: "Company benefits", companyPays: "Company pays", compensationType: "Compensation type", regular: "Regular", overtime: "Overtime (1.5x)", doubleOT: "Overtime (2x)", timeOff: "Paid time off", totalHours: "Total hours", paymentType: "Payment type", employeeTaxes: "Employee taxes", employeeBenefits: "Employee benefits", payment: "Payment", deductions: "Deductions", taxDescription: "Tax description", byYourEmployees: "By your employees", byYourCompany: "By your company", debitedByGusto: "Debited by Gusto", taxesTotal: "Total", paystub: "Paystub", footerTotalsLabel: "Totals", footerTotalsDescription: "All employees in this payroll" }, F = "Totals", _ = "Direct deposits", O = "Reimbursements", Y = "Garnishments", H = "Taxes (Employees and Employers)", R = { exempt: "Salaried / Exempt", nonexempt: "Hourly / Nonexempt" }, M = { genericBlockerTitle: "Submission blocked", genericBlockerMessage: "This payroll cannot be submitted. Please contact support for assistance.", fastAchOptions: { description: "Payroll can still be funded by selecting one of the options below. The selected funding method will only be used for this cycle and will not apply to future payroll.", fundingOptionsLabel: "Funding options", wireLabel: "Wire funds", wireFastestBadge: "Fastest", wireDescription: "Pay your employees on time by sending a wire transfer. We'll provide instructions on the next step.", directDepositLabel: "Switch to 4-day direct deposit", directDepositDescription: "Delay your employees pay date by four days and process using regular debits.", employeePayDate: "Employee pay date: {{date}}" }, fast_ach_threshold_exceeded: { title: "You have exceeded the limit at which you can process {{days}} payroll." }, needs_earned_access_for_fast_ach: { title: "You have not yet earned access to faster payroll." } }, A = {
|
|
2
2
|
breadcrumbLabel: e,
|
|
3
3
|
backCta: a,
|
|
4
4
|
exitFlowCta: t,
|
|
@@ -17,22 +17,22 @@ const e = "Submit", a = "Back", t = "Save and exit", o = "Review payroll", l = "
|
|
|
17
17
|
declineCancelCta: b,
|
|
18
18
|
payrollReceiptCta: T,
|
|
19
19
|
downloadPaystubLabel: g,
|
|
20
|
-
downloadLoadingMessage:
|
|
21
|
-
loadingTitle:
|
|
20
|
+
downloadLoadingMessage: h,
|
|
21
|
+
loadingTitle: D,
|
|
22
22
|
loadingDescription: f,
|
|
23
23
|
dataLoadingTitle: w,
|
|
24
24
|
cancellingTitle: P,
|
|
25
25
|
cancelledEmptyState: x,
|
|
26
26
|
skippedBadge: k,
|
|
27
27
|
alerts: C,
|
|
28
|
-
payrollSummaryTitle:
|
|
29
|
-
payrollSummaryTitleWire:
|
|
30
|
-
payrollSummaryTitleFourDay:
|
|
28
|
+
payrollSummaryTitle: L,
|
|
29
|
+
payrollSummaryTitleWire: S,
|
|
30
|
+
payrollSummaryTitleFourDay: v,
|
|
31
31
|
payrollSummaryLabel: E,
|
|
32
32
|
dataViews: B,
|
|
33
33
|
tableHeaders: W,
|
|
34
|
-
totalsLabel:
|
|
35
|
-
directDepositLabel:
|
|
34
|
+
totalsLabel: F,
|
|
35
|
+
directDepositLabel: _,
|
|
36
36
|
reimbursementLabel: O,
|
|
37
37
|
garnishmentsLabel: Y,
|
|
38
38
|
taxesLabel: H,
|
|
@@ -56,22 +56,22 @@ export {
|
|
|
56
56
|
B as dataViews,
|
|
57
57
|
b as declineCancelCta,
|
|
58
58
|
A as default,
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
_ as directDepositLabel,
|
|
60
|
+
h as downloadLoadingMessage,
|
|
61
61
|
g as downloadPaystubLabel,
|
|
62
62
|
r as editCta,
|
|
63
63
|
t as exitFlowCta,
|
|
64
64
|
Y as garnishmentsLabel,
|
|
65
65
|
f as loadingDescription,
|
|
66
|
-
|
|
66
|
+
D as loadingTitle,
|
|
67
67
|
o as overviewTitle,
|
|
68
68
|
s as pageSubtitle,
|
|
69
69
|
i as pageSubtitleDismissal,
|
|
70
70
|
T as payrollReceiptCta,
|
|
71
71
|
E as payrollSummaryLabel,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
L as payrollSummaryTitle,
|
|
73
|
+
v as payrollSummaryTitleFourDay,
|
|
74
|
+
S as payrollSummaryTitleWire,
|
|
75
75
|
O as reimbursementLabel,
|
|
76
76
|
k as skippedBadge,
|
|
77
77
|
M as submissionBlockers,
|
|
@@ -79,6 +79,6 @@ export {
|
|
|
79
79
|
l as summaryTitle,
|
|
80
80
|
W as tableHeaders,
|
|
81
81
|
H as taxesLabel,
|
|
82
|
-
|
|
82
|
+
F as totalsLabel
|
|
83
83
|
};
|
|
84
84
|
//# sourceMappingURL=Payroll.PayrollOverview.json.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = { cancelCta: "Cancelar", effectiveFromLabel: "Válido desde: {{date}}", saveCta: "Guardar", title: "Requisitos de impuestos de {{state}}", validations: { maxValue: "El valor máximo es {{max}}%", minValue: "El valor mínimo es {{min}}%", oneOf: "El valor debe ser uno de los siguientes: {{values}}", required: "Este campo es obligatorio" } }, a = { completeBadge: "Completar", continueCta: "Continuar", continueStateTaxSetupCta: "Seguir con la configuración", defaultRatesAppliedText: "Se aplicaron las tasas de impuestos predeterminadas", editStateTaxCta: "Editar configuraciones de impuestos", emptyTableDescription: "Agrega la ubicación de la empresa o un empleado para comenzar.", emptyTableTitle: "Sin requisitos de impuestos estatales", hamburgerTitle: "Acciones para {{state}}", inProgressBadge: "En progreso", incompleteBadge: "Información faltante", manageRatesCta: "Administrar tasas de impuestos", notStartedBadge: "No iniciado", readyToRunPayrollBadge: "Listo para procesar la nómina", requirementsListCol1: "Estado", requirementsListCol2: "Estado", requirementsListLabel: "Requisitos de impuestos estatales", selfOnboardingWarningDescription: "Si tus empleados realizan la integración por cuenta propia e introducen detalles que modifiquen los requisitos impositivos estatales de tu empresa (por ejemplo, el domicilio en un nuevo estado), puede que debas efectuar nuevamente la configuración de impuestos estatales.", selfOnboardingWarningLabel: "Los empleados que realizan la integración por cuenta propia pueden cambiar los requisitos fiscales de tu empresa", startStateTaxSetupCta: "Comenzar configuración" }, t = { addRateCta: "Agregar tasa de impuesto", addRateDialogDescription: "Programa una nueva configuración de impuestos para que entre en vigor en una fecha futura.", addRateDialogTitle: "Agregar tasa de impuesto para {{state}}", backCta: "Volver a estados", cancelCta: "Cancelar", currentBadge: "Actual", effectiveDateColumnLabel: "Fecha de vigencia", effectiveDateLabel: "Fecha de vigencia", effectiveDatePlaceholder: "Selecciona una fecha de vigencia", emptyHistoryDescription: "Agrega una tasa de impuesto para programar una configuración con fecha futura.", emptyHistoryTitle: "Aún no hay tasas con fecha de vigencia", historicalBadge: "Histórico", noEditableFieldsDescription: "Este estado no muestra requisitos de impuestos editables con fecha de vigencia.", noEditableFieldsTitle: "No hay campos editables", rateScheduledSuccess: "La tasa de impuesto está programada para entrar en vigor el {{date}}.", saveRateCta: "Guardar tasa de impuesto", scheduledBadge: "Programado", statusColumnLabel: "Estado", subtitle: "Historial de tasas de impuestos por fecha de vigencia y tasas programadas a futuro.", title: "Tasas de impuestos para {{state}}" }, i = {
|
|
1
|
+
const e = { cancelCta: "Cancelar", effectiveFromLabel: "Válido desde: {{date}}", noEditableRequirementsDescription: "Este estado no tiene requisitos fiscales editables.", noEditableRequirementsTitle: "No hay requisitos editables", saveCta: "Guardar", title: "Requisitos de impuestos de {{state}}", validations: { maxValue: "El valor máximo es {{max}}%", minValue: "El valor mínimo es {{min}}%", oneOf: "El valor debe ser uno de los siguientes: {{values}}", required: "Este campo es obligatorio" } }, a = { completeBadge: "Completar", continueCta: "Continuar", continueStateTaxSetupCta: "Seguir con la configuración", defaultRatesAppliedText: "Se aplicaron las tasas de impuestos predeterminadas", editStateTaxCta: "Editar configuraciones de impuestos", emptyTableDescription: "Agrega la ubicación de la empresa o un empleado para comenzar.", emptyTableTitle: "Sin requisitos de impuestos estatales", hamburgerTitle: "Acciones para {{state}}", inProgressBadge: "En progreso", incompleteBadge: "Información faltante", manageRatesCta: "Administrar tasas de impuestos", notStartedBadge: "No iniciado", readyToRunPayrollBadge: "Listo para procesar la nómina", requirementsListCol1: "Estado", requirementsListCol2: "Estado", requirementsListLabel: "Requisitos de impuestos estatales", selfOnboardingWarningDescription: "Si tus empleados realizan la integración por cuenta propia e introducen detalles que modifiquen los requisitos impositivos estatales de tu empresa (por ejemplo, el domicilio en un nuevo estado), puede que debas efectuar nuevamente la configuración de impuestos estatales.", selfOnboardingWarningLabel: "Los empleados que realizan la integración por cuenta propia pueden cambiar los requisitos fiscales de tu empresa", startStateTaxSetupCta: "Comenzar configuración" }, t = { addRateCta: "Agregar tasa de impuesto", addRateDialogDescription: "Programa una nueva configuración de impuestos para que entre en vigor en una fecha futura.", addRateDialogTitle: "Agregar tasa de impuesto para {{state}}", backCta: "Volver a estados", cancelCta: "Cancelar", currentBadge: "Actual", effectiveDateColumnLabel: "Fecha de vigencia", effectiveDateLabel: "Fecha de vigencia", effectiveDatePlaceholder: "Selecciona una fecha de vigencia", emptyHistoryDescription: "Agrega una tasa de impuesto para programar una configuración con fecha futura.", emptyHistoryTitle: "Aún no hay tasas con fecha de vigencia", historicalBadge: "Histórico", noEditableFieldsDescription: "Este estado no muestra requisitos de impuestos editables con fecha de vigencia.", noEditableFieldsTitle: "No hay campos editables", rateScheduledSuccess: "La tasa de impuesto está programada para entrar en vigor el {{date}}.", saveRateCta: "Guardar tasa de impuesto", scheduledBadge: "Programado", statusColumnLabel: "Estado", subtitle: "Historial de tasas de impuestos por fecha de vigencia y tasas programadas a futuro.", title: "Tasas de impuestos para {{state}}" }, i = {
|
|
2
2
|
form: e,
|
|
3
3
|
list: a,
|
|
4
4
|
manageRates: t
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
const t = "+ Agregar otro contratista", a = "Agregar un contratista", n = "Una lista de contratistas", r = { confirmCta: "Eliminar contratista", description: "Esto eliminará permanentemente a este contratista de tu cuenta. Esta acción no se puede deshacer.", title: "¿Eliminar al contratista?" },
|
|
1
|
+
const t = "+ Agregar otro contratista", a = "Agregar un contratista", n = "Una lista de contratistas", r = { confirmCta: "Eliminar contratista", description: "Esto eliminará permanentemente a este contratista de tu cuenta. Esta acción no se puede deshacer.", title: "¿Eliminar al contratista?" }, e = "Agrega contratistas para configurarlos para la nómina.", o = "Aún no has agregado ningún contratista", s = "Acciones para {{name}}", i = "Regresar a contratistas", c = "Revisar", l = "Contratistas", g = {
|
|
2
2
|
addAnotherCta: t,
|
|
3
3
|
addContractorCta: a,
|
|
4
4
|
contractorListLabel: n,
|
|
5
5
|
deleteDialog: r,
|
|
6
|
-
emptyTableDescription:
|
|
7
|
-
emptyTableTitle:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
emptyTableDescription: e,
|
|
7
|
+
emptyTableTitle: o,
|
|
8
|
+
hamburgerTitle: s,
|
|
9
|
+
progressBarCta: i,
|
|
10
|
+
reviewCta: c,
|
|
11
|
+
title: l
|
|
11
12
|
};
|
|
12
13
|
export {
|
|
13
14
|
t as addAnotherCta,
|
|
14
15
|
a as addContractorCta,
|
|
15
16
|
n as contractorListLabel,
|
|
16
|
-
|
|
17
|
+
g as default,
|
|
17
18
|
r as deleteDialog,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
s as
|
|
21
|
-
i as
|
|
22
|
-
c as
|
|
19
|
+
e as emptyTableDescription,
|
|
20
|
+
o as emptyTableTitle,
|
|
21
|
+
s as hamburgerTitle,
|
|
22
|
+
i as progressBarCta,
|
|
23
|
+
c as reviewCta,
|
|
24
|
+
l as title
|
|
23
25
|
};
|
|
24
26
|
//# sourceMappingURL=Contractor.ContractorList.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contractor.ContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contractor.ContractorList.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|