@gusto/embedded-react-sdk 0.56.5 → 0.56.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -5
  3. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -5
  5. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  6. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -7
  7. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  8. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -5
  9. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  10. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  11. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  12. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -10
  13. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  14. package/dist/components/Company/Industry/Context.js +6 -8
  15. package/dist/components/Company/Industry/Context.js.map +1 -1
  16. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -5
  17. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  18. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -5
  19. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  20. package/dist/components/Company/OnboardingOverview/context.js +3 -5
  21. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  22. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js +39 -0
  23. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -0
  24. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.js +54 -0
  25. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.js.map +1 -0
  26. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js +56 -0
  27. package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -0
  28. package/dist/components/Company/PaySchedule/management/PaySchedule.js +54 -39
  29. package/dist/components/Company/PaySchedule/management/PaySchedule.js.map +1 -1
  30. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +48 -32
  31. package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
  32. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +8 -8
  33. package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
  34. package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js +74 -32
  35. package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
  36. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -5
  37. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  38. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -5
  39. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  40. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -5
  41. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  42. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +17 -14
  43. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  44. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  45. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  46. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +27 -16
  47. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  48. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +25 -17
  49. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  50. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +6 -5
  51. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  52. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +49 -48
  53. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  54. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +55 -57
  55. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  56. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +25 -18
  57. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  58. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +49 -47
  59. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  60. package/dist/components/Payroll/usePreparedPayrollData.js +7 -9
  61. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  62. package/dist/contexts/ApiProvider/ApiProvider.js +13 -12
  63. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  64. package/dist/contexts/ApiProvider/payrollDeductionAmountHook.js +36 -0
  65. package/dist/contexts/ApiProvider/payrollDeductionAmountHook.js.map +1 -0
  66. package/dist/i18n/I18n.js +1 -0
  67. package/dist/i18n/I18n.js.map +1 -1
  68. package/dist/i18n/en/Company.Management.AutoPilotDialog.json.js +22 -0
  69. package/dist/i18n/en/Company.Management.AutoPilotDialog.json.js.map +1 -0
  70. package/dist/package.json.js +1 -1
  71. package/dist/shared/constants.js +18 -15
  72. package/dist/shared/constants.js.map +1 -1
  73. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +11 -0
  74. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialogPresentation.d.ts +17 -0
  75. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/index.d.ts +1 -0
  76. package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +22 -0
  77. package/dist/src/components/Company/PaySchedule/management/PaySchedule.d.ts +17 -1
  78. package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +2 -0
  79. package/dist/src/components/Company/PaySchedule/management/index.d.ts +1 -1
  80. package/dist/src/components/Company/exports/companyManagement.d.ts +1 -1
  81. package/dist/src/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +1 -1
  82. package/dist/src/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +6 -0
  83. package/dist/src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.test.d.ts +1 -0
  84. package/dist/src/components/Payroll/PayrollList/__fixtures__/payrollListMocks.d.ts +67 -0
  85. package/dist/src/contexts/ApiProvider/payrollDeductionAmountHook.d.ts +12 -0
  86. package/dist/src/contexts/ApiProvider/payrollDeductionAmountHook.test.d.ts +1 -0
  87. package/dist/src/i18n/types.d.ts +81 -0
  88. package/dist/src/shared/constants.d.ts +6 -0
  89. package/docs/guides/endpoint-inventory.json +12 -1
  90. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  import { state as i, transition as t, reduce as n } from "robot3";
2
2
  import { PaymentListContextual as o, CreatePaymentFlowContextual as l, HistoricalPaymentFlowContextual as s, ViewPaymentFlowContextual as u, InformationRequestsContextual as R } from "./PaymentFlowComponents.js";
3
- import { informationRequestEvents as d, componentEvents as r, payrollWireEvents as T } from "../../../../shared/constants.js";
3
+ import { informationRequestEvents as c, componentEvents as r, payrollWireEvents as T } from "../../../../shared/constants.js";
4
4
  import { patchBreadcrumbsHeader as a } from "../../../../helpers/breadcrumbHelpers.js";
5
5
  import { createBreadcrumbNavigateTransition as C } from "../../../Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js";
6
6
  const A = {
@@ -16,7 +16,7 @@ const A = {
16
16
  }))
17
17
  }
18
18
  }
19
- }, c = C(), y = {
19
+ }, m = C(), y = {
20
20
  landing: i(
21
21
  t(
22
22
  r.CONTRACTOR_PAYMENT_CREATE,
@@ -40,10 +40,10 @@ const A = {
40
40
  r.CONTRACTOR_PAYMENT_VIEW,
41
41
  "history",
42
42
  n(
43
- (e, m) => ({
43
+ (e, d) => ({
44
44
  ...e,
45
45
  component: u,
46
- currentPaymentId: m.payload.paymentId,
46
+ currentPaymentId: d.payload.paymentId,
47
47
  alerts: void 0
48
48
  })
49
49
  )
@@ -53,20 +53,21 @@ const A = {
53
53
  "informationRequests",
54
54
  n((e) => ({
55
55
  ...a(e, { currentBreadcrumbId: void 0 }),
56
- component: R
56
+ component: R,
57
+ alerts: void 0
57
58
  }))
58
59
  ),
59
60
  t(
60
61
  T.PAYROLL_WIRE_FORM_DONE,
61
62
  "landing",
62
63
  n(
63
- (e, m) => ({
64
+ (e, d) => ({
64
65
  ...e,
65
66
  alerts: [
66
67
  {
67
68
  type: "success",
68
69
  title: "wireDetailsSubmitted",
69
- content: m.payload.confirmationAlert.content
70
+ content: d.payload.confirmationAlert.content
70
71
  }
71
72
  ]
72
73
  })
@@ -83,7 +84,7 @@ const A = {
83
84
  alerts: void 0
84
85
  }))
85
86
  ),
86
- c("landing")
87
+ m("landing")
87
88
  ),
88
89
  historicalPayment: i(
89
90
  t(
@@ -95,7 +96,7 @@ const A = {
95
96
  alerts: void 0
96
97
  }))
97
98
  ),
98
- c("landing")
99
+ m("landing")
99
100
  ),
100
101
  history: i(
101
102
  t(
@@ -112,23 +113,25 @@ const A = {
112
113
  ]
113
114
  }))
114
115
  ),
115
- c("landing")
116
+ m("landing")
116
117
  ),
117
118
  informationRequests: i(
118
119
  t(
119
- d.INFORMATION_REQUEST_FORM_DONE,
120
+ c.INFORMATION_REQUEST_FORM_DONE,
120
121
  "landing",
121
122
  n((e) => ({
122
123
  ...a(e, { currentBreadcrumbId: void 0 }),
123
- component: o
124
+ component: o,
125
+ alerts: void 0
124
126
  }))
125
127
  ),
126
128
  t(
127
- d.INFORMATION_REQUEST_FORM_CANCEL,
129
+ c.INFORMATION_REQUEST_FORM_CANCEL,
128
130
  "landing",
129
131
  n((e) => ({
130
132
  ...a(e, { currentBreadcrumbId: void 0 }),
131
- component: o
133
+ component: o,
134
+ alerts: void 0
132
135
  }))
133
136
  )
134
137
  )
@@ -1 +1 @@
1
- {"version":3,"file":"paymentStateMachine.js","sources":["../../../../../src/components/Contractor/Payments/PaymentFlow/paymentStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport {\n CreatePaymentFlowContextual,\n HistoricalPaymentFlowContextual,\n InformationRequestsContextual,\n PaymentListContextual,\n type PaymentFlowContextInterface,\n ViewPaymentFlowContextual,\n} from './PaymentFlowComponents'\nimport { componentEvents, informationRequestEvents, payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { createBreadcrumbNavigateTransition } from '@/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_PAYMENT_CREATE]: undefined\n [componentEvents.CONTRACTOR_PAYMENT_EXIT]: { uuid?: string | null }\n [componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_CREATE]: undefined\n [componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_EXIT]: undefined\n [componentEvents.CONTRACTOR_PAYMENT_VIEW]: { paymentId: string }\n [componentEvents.CONTRACTOR_PAYMENT_CANCEL]: { paymentId: string }\n [componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND]: undefined\n [componentEvents.BREADCRUMB_NAVIGATE]: {\n key: string\n onNavigate: (ctx: PaymentFlowContextInterface) => PaymentFlowContextInterface\n }\n [informationRequestEvents.INFORMATION_REQUEST_FORM_DONE]: undefined\n [informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL]: undefined\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n wireInRequest: WireInRequest\n confirmationAlert: {\n title: string\n content?: string\n }\n }\n}\n\n/**\n * Hub-level breadcrumb nodes for {@link PaymentFlow}.\n *\n * @remarks\n * Only `landing` is defined here — the `createPayment`, `historicalPayment`, and `history` spokes\n * own and render their own breadcrumb trails (via `CreatePaymentFlow`/`HistoricalPaymentFlow`/\n * `ViewPaymentFlow`), prefixed with this `landing` item so the trail reads continuously across the\n * hub/spoke boundary.\n *\n * @internal\n */\nexport const paymentFlowBreadcrumbsNodes: BreadcrumbNodes = {\n landing: {\n parent: null,\n item: {\n id: 'landing',\n label: 'breadcrumbLabel',\n namespace: 'Contractor.Payments.PaymentsList',\n onNavigate: ((ctx: PaymentFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nconst breadcrumbNavigateTransition =\n createBreadcrumbNavigateTransition<PaymentFlowContextInterface>()\n\n/**\n * Hub machine for {@link PaymentFlow}.\n *\n * @remarks\n * `createPayment`, `historicalPayment`, and `history` each stay active for the full lifetime of\n * their respective spoke (`CreatePaymentFlow`, `HistoricalPaymentFlow`, `ViewPaymentFlow`) rather\n * than tracking the spoke's internal screen. The spoke's own machine drives its internal steps and\n * breadcrumb trail; events it can't handle locally (e.g. the `landing` breadcrumb, or a terminal\n * exit/cancel event) bubble up here to transition the hub back to `landing`.\n *\n * @internal\n */\nexport const paymentMachine = {\n landing: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_CREATE,\n 'createPayment',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: CreatePaymentFlowContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_CREATE,\n 'historicalPayment',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: HistoricalPaymentFlowContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_VIEW,\n 'history',\n reduce(\n (\n ctx: PaymentFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PAYMENT_VIEW>,\n ): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: ViewPaymentFlowContextual,\n currentPaymentId: ev.payload.paymentId,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND,\n 'informationRequests',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: InformationRequestsContextual,\n }\n }),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'landing',\n reduce(\n (\n ctx: PaymentFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): PaymentFlowContextInterface => {\n return {\n ...ctx,\n alerts: [\n {\n type: 'success',\n title: 'wireDetailsSubmitted',\n content: ev.payload.confirmationAlert.content,\n },\n ],\n }\n },\n ),\n ),\n ),\n createPayment: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_EXIT,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n historicalPayment: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_EXIT,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n history: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_CANCEL,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: [\n {\n type: 'success',\n title: 'paymentCancelledSuccessfully',\n },\n ],\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n informationRequests: state<MachineTransition>(\n transition(\n informationRequestEvents.INFORMATION_REQUEST_FORM_DONE,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n }\n }),\n ),\n transition(\n informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n }\n }),\n ),\n ),\n}\n"],"names":["paymentFlowBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","PaymentListContextual","breadcrumbNavigateTransition","createBreadcrumbNavigateTransition","paymentMachine","state","transition","componentEvents","reduce","CreatePaymentFlowContextual","HistoricalPaymentFlowContextual","ev","ViewPaymentFlowContextual","InformationRequestsContextual","payrollWireEvents","informationRequestEvents"],"mappings":"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"}
1
+ {"version":3,"file":"paymentStateMachine.js","sources":["../../../../../src/components/Contractor/Payments/PaymentFlow/paymentStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport {\n CreatePaymentFlowContextual,\n HistoricalPaymentFlowContextual,\n InformationRequestsContextual,\n PaymentListContextual,\n type PaymentFlowContextInterface,\n ViewPaymentFlowContextual,\n} from './PaymentFlowComponents'\nimport { componentEvents, informationRequestEvents, payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { createBreadcrumbNavigateTransition } from '@/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_PAYMENT_CREATE]: undefined\n [componentEvents.CONTRACTOR_PAYMENT_EXIT]: { uuid?: string | null }\n [componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_CREATE]: undefined\n [componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_EXIT]: undefined\n [componentEvents.CONTRACTOR_PAYMENT_VIEW]: { paymentId: string }\n [componentEvents.CONTRACTOR_PAYMENT_CANCEL]: { paymentId: string }\n [componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND]: undefined\n [componentEvents.BREADCRUMB_NAVIGATE]: {\n key: string\n onNavigate: (ctx: PaymentFlowContextInterface) => PaymentFlowContextInterface\n }\n [informationRequestEvents.INFORMATION_REQUEST_FORM_DONE]: undefined\n [informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL]: undefined\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n wireInRequest: WireInRequest\n confirmationAlert: {\n title: string\n content?: string\n }\n }\n}\n\n/**\n * Hub-level breadcrumb nodes for {@link PaymentFlow}.\n *\n * @remarks\n * Only `landing` is defined here — the `createPayment`, `historicalPayment`, and `history` spokes\n * own and render their own breadcrumb trails (via `CreatePaymentFlow`/`HistoricalPaymentFlow`/\n * `ViewPaymentFlow`), prefixed with this `landing` item so the trail reads continuously across the\n * hub/spoke boundary.\n *\n * @internal\n */\nexport const paymentFlowBreadcrumbsNodes: BreadcrumbNodes = {\n landing: {\n parent: null,\n item: {\n id: 'landing',\n label: 'breadcrumbLabel',\n namespace: 'Contractor.Payments.PaymentsList',\n onNavigate: ((ctx: PaymentFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nconst breadcrumbNavigateTransition =\n createBreadcrumbNavigateTransition<PaymentFlowContextInterface>()\n\n/**\n * Hub machine for {@link PaymentFlow}.\n *\n * @remarks\n * `createPayment`, `historicalPayment`, and `history` each stay active for the full lifetime of\n * their respective spoke (`CreatePaymentFlow`, `HistoricalPaymentFlow`, `ViewPaymentFlow`) rather\n * than tracking the spoke's internal screen. The spoke's own machine drives its internal steps and\n * breadcrumb trail; events it can't handle locally (e.g. the `landing` breadcrumb, or a terminal\n * exit/cancel event) bubble up here to transition the hub back to `landing`.\n *\n * @internal\n */\nexport const paymentMachine = {\n landing: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_CREATE,\n 'createPayment',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: CreatePaymentFlowContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_CREATE,\n 'historicalPayment',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: HistoricalPaymentFlowContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_VIEW,\n 'history',\n reduce(\n (\n ctx: PaymentFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PAYMENT_VIEW>,\n ): PaymentFlowContextInterface => {\n return {\n ...ctx,\n component: ViewPaymentFlowContextual,\n currentPaymentId: ev.payload.paymentId,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND,\n 'informationRequests',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: InformationRequestsContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'landing',\n reduce(\n (\n ctx: PaymentFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): PaymentFlowContextInterface => {\n return {\n ...ctx,\n alerts: [\n {\n type: 'success',\n title: 'wireDetailsSubmitted',\n content: ev.payload.confirmationAlert.content,\n },\n ],\n }\n },\n ),\n ),\n ),\n createPayment: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_EXIT,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n historicalPayment: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_HISTORICAL_PAYMENT_EXIT,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n history: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_CANCEL,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: [\n {\n type: 'success',\n title: 'paymentCancelledSuccessfully',\n },\n ],\n }\n }),\n ),\n breadcrumbNavigateTransition('landing'),\n ),\n informationRequests: state<MachineTransition>(\n transition(\n informationRequestEvents.INFORMATION_REQUEST_FORM_DONE,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL,\n 'landing',\n reduce((ctx: PaymentFlowContextInterface): PaymentFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PaymentListContextual,\n alerts: undefined,\n }\n }),\n ),\n ),\n}\n"],"names":["paymentFlowBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","PaymentListContextual","breadcrumbNavigateTransition","createBreadcrumbNavigateTransition","paymentMachine","state","transition","componentEvents","reduce","CreatePaymentFlowContextual","HistoricalPaymentFlowContextual","ev","ViewPaymentFlowContextual","InformationRequestsContextual","payrollWireEvents","informationRequestEvents"],"mappings":"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"}
@@ -9,15 +9,13 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
9
9
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
10
10
  import "@gusto/embedded-api/models/errors/unprocessableentityerror";
11
11
  import "@gusto/embedded-api/models/errors/httpclienterrors";
12
- import "dompurify";
13
- import "../../../../../../contexts/LocaleProvider/useLocale.js";
14
12
  import "../../../../../../shared/constants.js";
15
13
  import "../../../../../../contexts/ComponentAdapter/useComponentContext.js";
16
14
  import "../../../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
15
  import { createCompoundContext as t } from "../../../../../Base/createCompoundContext.js";
18
- const [v, P] = t("DocumentListContext");
16
+ const [a, f] = t("DocumentListContext");
19
17
  export {
20
- P as DocumentListProvider,
21
- v as useDocumentList
18
+ f as DocumentListProvider,
19
+ a as useDocumentList
22
20
  };
23
21
  //# sourceMappingURL=useDocumentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AAYA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
1
+ {"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
@@ -1,25 +1,36 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { createMachine as i } from "robot3";
3
- import { useMemo as p } from "react";
4
- import { employeeListStateMachine as n } from "./employeeListStateMachine.js";
5
- import { EmployeeListContextual as s } from "./EmployeeListFlowComponents.js";
6
- import { Flow as l } from "../../Flow/Flow.js";
7
- const L = ({ companyId: o, onEvent: t }) => {
8
- const e = p(
9
- () => i(
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { createMachine as n } from "robot3";
3
+ import { useMemo as s } from "react";
4
+ import { employeeListStateMachine as l } from "./employeeListStateMachine.js";
5
+ import { EmployeeListContextual as c } from "./EmployeeListFlowComponents.js";
6
+ import { Flow as f } from "../../Flow/Flow.js";
7
+ const w = ({
8
+ companyId: o,
9
+ onEvent: t,
10
+ isSelfOnboardingEnabled: e,
11
+ withEmployeeI9: m
12
+ }) => {
13
+ const r = s(
14
+ () => n(
10
15
  "list",
11
- n,
12
- (m) => ({
13
- ...m,
14
- component: s,
15
- companyId: o
16
+ l,
17
+ (i) => ({
18
+ ...i,
19
+ component: c,
20
+ companyId: o,
21
+ isSelfOnboardingEnabled: e,
22
+ withEmployeeI9: m
16
23
  })
17
24
  ),
25
+ // `isSelfOnboardingEnabled`/`withEmployeeI9` are intentionally omitted: they only
26
+ // seed the initial context once, and reacting to a later change would discard the
27
+ // machine's current navigation state (see Compensation.tsx for the same pattern).
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18
29
  [o]
19
30
  );
20
- return /* @__PURE__ */ r(l, { machine: e, onEvent: t });
31
+ return /* @__PURE__ */ p(f, { machine: r, onEvent: t });
21
32
  };
22
33
  export {
23
- L as EmployeeListFlow
34
+ w as EmployeeListFlow
24
35
  };
25
36
  //# sourceMappingURL=EmployeeListFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmployeeListFlow.js","sources":["../../../../src/components/Employee/EmployeeListFlow/EmployeeListFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { employeeListStateMachine } from './employeeListStateMachine'\nimport {\n EmployeeListContextual,\n type EmployeeListFlowContextInterface,\n type EmployeeListFlowProps,\n} from './EmployeeListFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\n/**\n * Hub for viewing and managing all employees, including onboarding new ones.\n *\n * @remarks\n * Drop-in entry point for managing all employees in a company. Begins on the\n * management employee list and routes into {@link DashboardFlow},\n * {@link TerminationFlow}, or {@link EmployeeOnboarding.OnboardingExecutionFlow | OnboardingExecutionFlow} based on the\n * action the admin invokes on a row (or the \"Add employee\" CTA). A \"Back to\n * employees\" header is added to each sub-flow so the admin can return to the\n * list at any time.\n *\n * The flow forwards every event emitted by its blocks to `onEvent`;\n * see the events table on each block for the full set of events and\n * payloads observable from this flow.\n *\n * @components\n * - {@link EmployeeList}\n * - {@link DashboardFlow}\n * - {@link TerminationFlow}\n * - {@link EmployeeOnboarding.OnboardingExecutionFlow | OnboardingExecutionFlow}\n *\n * @param props - See {@link EmployeeListFlowProps}.\n * @returns The employee list workflow with internal navigation to the dashboard, termination, and onboarding flows.\n * @public\n * @group Flow components\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { EmployeeManagement } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <EmployeeManagement.EmployeeListFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport const EmployeeListFlow = ({ companyId, onEvent }: EmployeeListFlowProps) => {\n const machine = useMemo(\n () =>\n createMachine(\n 'list',\n employeeListStateMachine,\n (initialContext: EmployeeListFlowContextInterface) => ({\n ...initialContext,\n component: EmployeeListContextual,\n companyId,\n }),\n ),\n [companyId],\n )\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["EmployeeListFlow","companyId","onEvent","machine","useMemo","createMachine","employeeListStateMachine","initialContext","EmployeeListContextual","jsx","Flow"],"mappings":";;;;;;AAkDO,MAAMA,IAAmB,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAAqC;AACjF,QAAMC,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAsD;AAAA,QACrD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAP;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACA,CAAS;AAAA,EAAA;AAEZ,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAD,EAAA,CAAkB;AACnD;"}
1
+ {"version":3,"file":"EmployeeListFlow.js","sources":["../../../../src/components/Employee/EmployeeListFlow/EmployeeListFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { employeeListStateMachine } from './employeeListStateMachine'\nimport {\n EmployeeListContextual,\n type EmployeeListFlowContextInterface,\n type EmployeeListFlowProps,\n} from './EmployeeListFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\n/**\n * Hub for viewing and managing all employees, including onboarding new ones.\n *\n * @remarks\n * Drop-in entry point for managing all employees in a company. Begins on the\n * management employee list and routes into {@link DashboardFlow},\n * {@link TerminationFlow}, or {@link EmployeeOnboarding.OnboardingExecutionFlow | OnboardingExecutionFlow} based on the\n * action the admin invokes on a row (or the \"Add employee\" CTA). A \"Back to\n * employees\" header is added to each sub-flow so the admin can return to the\n * list at any time.\n *\n * The flow forwards every event emitted by its blocks to `onEvent`;\n * see the events table on each block for the full set of events and\n * payloads observable from this flow.\n *\n * @components\n * - {@link EmployeeList}\n * - {@link DashboardFlow}\n * - {@link TerminationFlow}\n * - {@link EmployeeOnboarding.OnboardingExecutionFlow | OnboardingExecutionFlow}\n *\n * @param props - See {@link EmployeeListFlowProps}.\n * @returns The employee list workflow with internal navigation to the dashboard, termination, and onboarding flows.\n * @public\n * @group Flow components\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { EmployeeManagement } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <EmployeeManagement.EmployeeListFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport const EmployeeListFlow = ({\n companyId,\n onEvent,\n isSelfOnboardingEnabled,\n withEmployeeI9,\n}: EmployeeListFlowProps) => {\n const machine = useMemo(\n () =>\n createMachine(\n 'list',\n employeeListStateMachine,\n (initialContext: EmployeeListFlowContextInterface) => ({\n ...initialContext,\n component: EmployeeListContextual,\n companyId,\n isSelfOnboardingEnabled,\n withEmployeeI9,\n }),\n ),\n // `isSelfOnboardingEnabled`/`withEmployeeI9` are intentionally omitted: they only\n // seed the initial context once, and reacting to a later change would discard the\n // machine's current navigation state (see Compensation.tsx for the same pattern).\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [companyId],\n )\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["EmployeeListFlow","companyId","onEvent","isSelfOnboardingEnabled","withEmployeeI9","machine","useMemo","createMachine","employeeListStateMachine","initialContext","EmployeeListContextual","jsx","Flow"],"mappings":";;;;;;AAkDO,MAAMA,IAAmB,CAAC;AAAA,EAC/B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,gBAAAC;AACF,MAA6B;AAC3B,QAAMC,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAsD;AAAA,QACrD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAT;AAAA,QACA,yBAAAE;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA,IAMJ,CAACH,CAAS;AAAA,EAAA;AAEZ,SAAO,gBAAAU,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAH,EAAA,CAAkB;AACnD;"}
@@ -1,22 +1,22 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { ManagementEmployeeList as i } from "../EmployeeList/management/ManagementEmployeeList.js";
3
- import { TerminationFlow as a } from "../Terminations/TerminationFlow/TerminationFlow.js";
4
- import { OnboardingExecutionFlow as p } from "../OnboardingExecutionFlow/OnboardingExecutionFlow.js";
2
+ import { ManagementEmployeeList as a } from "../EmployeeList/management/ManagementEmployeeList.js";
3
+ import { TerminationFlow as p } from "../Terminations/TerminationFlow/TerminationFlow.js";
4
+ import { OnboardingExecutionFlow as l } from "../OnboardingExecutionFlow/OnboardingExecutionFlow.js";
5
5
  import { useFlow as r } from "../../Flow/useFlow.js";
6
6
  import { ensureRequired as e } from "../../../helpers/ensureRequired.js";
7
- import { DashboardFlow as l } from "../Dashboard/DashboardFlow.js";
8
- function x() {
7
+ import { DashboardFlow as d } from "../Dashboard/DashboardFlow.js";
8
+ function w() {
9
9
  const { companyId: o, onEvent: n } = r();
10
- return /* @__PURE__ */ t(i, { companyId: e(o), onEvent: n });
10
+ return /* @__PURE__ */ t(a, { companyId: e(o), onEvent: n });
11
11
  }
12
- function E() {
12
+ function x() {
13
13
  const { employeeId: o, onEvent: n } = r();
14
- return /* @__PURE__ */ t(l, { employeeId: e(o), onEvent: n });
14
+ return /* @__PURE__ */ t(d, { employeeId: e(o), onEvent: n });
15
15
  }
16
- function w() {
16
+ function F() {
17
17
  const { companyId: o, employeeId: n, onEvent: m } = r();
18
18
  return /* @__PURE__ */ t(
19
- a,
19
+ p,
20
20
  {
21
21
  companyId: e(o),
22
22
  employeeId: e(n),
@@ -24,14 +24,22 @@ function w() {
24
24
  }
25
25
  );
26
26
  }
27
- function F() {
28
- const { companyId: o, onEvent: n } = r();
29
- return /* @__PURE__ */ t(p, { companyId: e(o), onEvent: n });
27
+ function b() {
28
+ const { companyId: o, onEvent: n, isSelfOnboardingEnabled: m, withEmployeeI9: i } = r();
29
+ return /* @__PURE__ */ t(
30
+ l,
31
+ {
32
+ companyId: e(o),
33
+ onEvent: n,
34
+ isSelfOnboardingEnabled: m,
35
+ withEmployeeI9: i
36
+ }
37
+ );
30
38
  }
31
39
  export {
32
- E as DashboardFlowContextual,
33
- x as EmployeeListContextual,
34
- F as OnboardingExecutionFlowContextual,
35
- w as TerminationFlowContextual
40
+ x as DashboardFlowContextual,
41
+ w as EmployeeListContextual,
42
+ b as OnboardingExecutionFlowContextual,
43
+ F as TerminationFlowContextual
36
44
  };
37
45
  //# sourceMappingURL=EmployeeListFlowComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmployeeListFlowComponents.js","sources":["../../../../src/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.tsx"],"sourcesContent":["import { ManagementEmployeeList } from '../EmployeeList/management/ManagementEmployeeList'\nimport { DashboardFlow } from '../Dashboard'\nimport { TerminationFlow } from '../Terminations/TerminationFlow/TerminationFlow'\nimport { OnboardingExecutionFlow } from '../OnboardingExecutionFlow/OnboardingExecutionFlow'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeListFlow}.\n *\n * @public\n */\nexport interface EmployeeListFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/** @internal */\nexport interface EmployeeListFlowContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n}\n\n/** @internal */\nexport function EmployeeListContextual() {\n const { companyId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return <ManagementEmployeeList companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function DashboardFlowContextual() {\n const { employeeId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return <DashboardFlow employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function TerminationFlowContextual() {\n const { companyId, employeeId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return (\n <TerminationFlow\n companyId={ensureRequired(companyId)}\n employeeId={ensureRequired(employeeId)}\n onEvent={onEvent}\n />\n )\n}\n\n/** @internal */\nexport function OnboardingExecutionFlowContextual() {\n const { companyId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return <OnboardingExecutionFlow companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n"],"names":["EmployeeListContextual","companyId","onEvent","useFlow","ManagementEmployeeList","ensureRequired","DashboardFlowContextual","employeeId","DashboardFlow","TerminationFlowContextual","jsx","TerminationFlow","OnboardingExecutionFlowContextual","OnboardingExecutionFlow"],"mappings":";;;;;;;AAyBO,SAASA,IAAyB;AACvC,QAAM,EAAE,WAAAC,GAAW,SAAAC,EAAA,IAAYC,EAAA;AAC/B,2BAAQC,GAAA,EAAuB,WAAWC,EAAeJ,CAAS,GAAG,SAAAC,GAAkB;AACzF;AAGO,SAASI,IAA0B;AACxC,QAAM,EAAE,YAAAC,GAAY,SAAAL,EAAA,IAAYC,EAAA;AAChC,2BAAQK,GAAA,EAAc,YAAYH,EAAeE,CAAU,GAAG,SAAAL,GAAkB;AAClF;AAGO,SAASO,IAA4B;AAC1C,QAAM,EAAE,WAAAR,GAAW,YAAAM,GAAY,SAAAL,EAAA,IAAYC,EAAA;AAC3C,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWN,EAAeJ,CAAS;AAAA,MACnC,YAAYI,EAAeE,CAAU;AAAA,MACrC,SAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASU,IAAoC;AAClD,QAAM,EAAE,WAAAX,GAAW,SAAAC,EAAA,IAAYC,EAAA;AAC/B,2BAAQU,GAAA,EAAwB,WAAWR,EAAeJ,CAAS,GAAG,SAAAC,GAAkB;AAC1F;"}
1
+ {"version":3,"file":"EmployeeListFlowComponents.js","sources":["../../../../src/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.tsx"],"sourcesContent":["import { ManagementEmployeeList } from '../EmployeeList/management/ManagementEmployeeList'\nimport { DashboardFlow } from '../Dashboard'\nimport { TerminationFlow } from '../Terminations/TerminationFlow/TerminationFlow'\nimport { OnboardingExecutionFlow } from '../OnboardingExecutionFlow/OnboardingExecutionFlow'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeListFlow}.\n *\n * @public\n */\nexport interface EmployeeListFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n /** When true, presents the self-onboarding toggle in the onboarding flow. Defaults to `true`. */\n isSelfOnboardingEnabled?: boolean\n /** When true, enables the Employee Documents step in the onboarding flow, allowing the admin to configure I-9 document requirements. Defaults to `false`. */\n withEmployeeI9?: boolean\n}\n\n/** @internal */\nexport interface EmployeeListFlowContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n isSelfOnboardingEnabled?: boolean\n withEmployeeI9?: boolean\n}\n\n/** @internal */\nexport function EmployeeListContextual() {\n const { companyId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return <ManagementEmployeeList companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function DashboardFlowContextual() {\n const { employeeId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return <DashboardFlow employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function TerminationFlowContextual() {\n const { companyId, employeeId, onEvent } = useFlow<EmployeeListFlowContextInterface>()\n return (\n <TerminationFlow\n companyId={ensureRequired(companyId)}\n employeeId={ensureRequired(employeeId)}\n onEvent={onEvent}\n />\n )\n}\n\n/** @internal */\nexport function OnboardingExecutionFlowContextual() {\n const { companyId, onEvent, isSelfOnboardingEnabled, withEmployeeI9 } =\n useFlow<EmployeeListFlowContextInterface>()\n return (\n <OnboardingExecutionFlow\n companyId={ensureRequired(companyId)}\n onEvent={onEvent}\n isSelfOnboardingEnabled={isSelfOnboardingEnabled}\n withEmployeeI9={withEmployeeI9}\n />\n )\n}\n"],"names":["EmployeeListContextual","companyId","onEvent","useFlow","ManagementEmployeeList","ensureRequired","DashboardFlowContextual","employeeId","DashboardFlow","TerminationFlowContextual","jsx","TerminationFlow","OnboardingExecutionFlowContextual","isSelfOnboardingEnabled","withEmployeeI9","OnboardingExecutionFlow"],"mappings":";;;;;;;AA+BO,SAASA,IAAyB;AACvC,QAAM,EAAE,WAAAC,GAAW,SAAAC,EAAA,IAAYC,EAAA;AAC/B,2BAAQC,GAAA,EAAuB,WAAWC,EAAeJ,CAAS,GAAG,SAAAC,GAAkB;AACzF;AAGO,SAASI,IAA0B;AACxC,QAAM,EAAE,YAAAC,GAAY,SAAAL,EAAA,IAAYC,EAAA;AAChC,2BAAQK,GAAA,EAAc,YAAYH,EAAeE,CAAU,GAAG,SAAAL,GAAkB;AAClF;AAGO,SAASO,IAA4B;AAC1C,QAAM,EAAE,WAAAR,GAAW,YAAAM,GAAY,SAAAL,EAAA,IAAYC,EAAA;AAC3C,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWN,EAAeJ,CAAS;AAAA,MACnC,YAAYI,EAAeE,CAAU;AAAA,MACrC,SAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASU,IAAoC;AAClD,QAAM,EAAE,WAAAX,GAAW,SAAAC,GAAS,yBAAAW,GAAyB,gBAAAC,EAAA,IACnDX,EAAA;AACF,SACE,gBAAAO;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,WAAWV,EAAeJ,CAAS;AAAA,MACnC,SAAAC;AAAA,MACA,yBAAAW;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,14 +1,15 @@
1
1
  import { state as i, transition as e, reduce as r } from "robot3";
2
- import { ConfirmWireDetailsFormContextual as I, WireInstructionsContextual as a } from "./ConfirmWireDetailsComponents.js";
2
+ import { ConfirmWireDetailsFormContextual as a, WireInstructionsContextual as I } from "./ConfirmWireDetailsComponents.js";
3
3
  import { payrollWireEvents as o } from "../../../shared/constants.js";
4
- const m = {
4
+ const R = {
5
5
  banner: i(
6
6
  e(
7
7
  o.PAYROLL_WIRE_START_TRANSFER,
8
8
  "wireInstructions",
9
9
  r((n) => ({
10
10
  ...n,
11
- component: a
11
+ component: I,
12
+ confirmationAlert: void 0
12
13
  }))
13
14
  )
14
15
  ),
@@ -29,7 +30,7 @@ const m = {
29
30
  r(
30
31
  (n, t) => ({
31
32
  ...n,
32
- component: I,
33
+ component: a,
33
34
  selectedWireInId: t.payload.selectedWireInId
34
35
  })
35
36
  )
@@ -66,6 +67,6 @@ const m = {
66
67
  final: i()
67
68
  };
68
69
  export {
69
- m as confirmWireDetailsMachine
70
+ R as confirmWireDetailsMachine
70
71
  };
71
72
  //# sourceMappingURL=confirmWireDetailsStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmWireDetailsStateMachine.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.tsx"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { ConfirmationAlert } from './types'\nimport type { ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport {\n WireInstructionsContextual,\n ConfirmWireDetailsFormContextual,\n} from './ConfirmWireDetailsComponents'\nimport { payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/**\n * Payload shapes for each wire-confirmation state machine event.\n *\n * @internal\n */\nexport type EventPayloads = {\n /** Wire-in request selected within the instructions screen. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT]: {\n selectedWireInId: string\n }\n /** Banner button pressed to begin the wire transfer flow. */\n [payrollWireEvents.PAYROLL_WIRE_START_TRANSFER]: undefined\n /** Instructions screen completed; advances to the confirmation form. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE]: {\n selectedWireInId: string\n }\n /** Confirmation form submitted; carries the alert to surface on the banner. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n confirmationAlert: ConfirmationAlert\n }\n /** Confirmation form cancelled. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL]: undefined\n}\n\n/** @internal */\nexport const confirmWireDetailsMachine = {\n banner: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_START_TRANSFER,\n 'wireInstructions',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: WireInstructionsContextual,\n })),\n ),\n ),\n wireInstructions: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT,\n 'wireInstructions',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE,\n 'confirmForm',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: ConfirmWireDetailsFormContextual,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n })),\n ),\n ),\n confirmForm: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'banner',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n confirmationAlert: ev.payload.confirmationAlert,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["confirmWireDetailsMachine","state","transition","payrollWireEvents","reduce","ctx","WireInstructionsContextual","ev","ConfirmWireDetailsFormContextual"],"mappings":";;;AAmCO,MAAMA,IAA4B;AAAA,EACvC,QAAQC;AAAA,IACNC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAWC;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,kBAAkBL;AAAA,IAChBC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,kBAAkBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAWG;AAAA,UACX,kBAAkBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,MAAA,EACH;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,aAAaJ;AAAA,IACXC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OACwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAW;AAAA,UACX,mBAAmBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAChC;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAW;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
1
+ {"version":3,"file":"confirmWireDetailsStateMachine.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.tsx"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { ConfirmationAlert } from './types'\nimport type { ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport {\n WireInstructionsContextual,\n ConfirmWireDetailsFormContextual,\n} from './ConfirmWireDetailsComponents'\nimport { payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/**\n * Payload shapes for each wire-confirmation state machine event.\n *\n * @internal\n */\nexport type EventPayloads = {\n /** Wire-in request selected within the instructions screen. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT]: {\n selectedWireInId: string\n }\n /** Banner button pressed to begin the wire transfer flow. */\n [payrollWireEvents.PAYROLL_WIRE_START_TRANSFER]: undefined\n /** Instructions screen completed; advances to the confirmation form. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE]: {\n selectedWireInId: string\n }\n /** Confirmation form submitted; carries the alert to surface on the banner. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n confirmationAlert: ConfirmationAlert\n }\n /** Confirmation form cancelled. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL]: undefined\n}\n\n/** @internal */\nexport const confirmWireDetailsMachine = {\n banner: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_START_TRANSFER,\n 'wireInstructions',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: WireInstructionsContextual,\n confirmationAlert: undefined,\n })),\n ),\n ),\n wireInstructions: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT,\n 'wireInstructions',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE,\n 'confirmForm',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: ConfirmWireDetailsFormContextual,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n })),\n ),\n ),\n confirmForm: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'banner',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n confirmationAlert: ev.payload.confirmationAlert,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["confirmWireDetailsMachine","state","transition","payrollWireEvents","reduce","ctx","WireInstructionsContextual","ev","ConfirmWireDetailsFormContextual"],"mappings":";;;AAmCO,MAAMA,IAA4B;AAAA,EACvC,QAAQC;AAAA,IACNC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,mBAAmB;AAAA,MAAA,EACnB;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,kBAAkBL;AAAA,IAChBC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,kBAAkBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAWG;AAAA,UACX,kBAAkBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,MAAA,EACH;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,aAAaJ;AAAA,IACXC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OACwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAW;AAAA,UACX,mBAAmBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAChC;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAW;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
@@ -1,50 +1,50 @@
1
- import { useState as R, useRef as q, useMemo as y, useEffect as P, useCallback as L } from "react";
1
+ import { useState as q, useRef as L, useMemo as y, useEffect as P, useCallback as F } from "react";
2
2
  import { useEmployeesList as te } from "@gusto/embedded-api/react-query/employeesList";
3
- import { useQueryClient as se, keepPreviousData as F, useQuery as K } from "@tanstack/react-query";
4
- import { usePaySchedulesGet as oe } from "@gusto/embedded-api/react-query/paySchedulesGet";
3
+ import { useQueryClient as oe, keepPreviousData as K, useQuery as _ } from "@tanstack/react-query";
4
+ import { usePaySchedulesGet as se } from "@gusto/embedded-api/react-query/paySchedulesGet";
5
5
  import { useGustoEmbeddedContext as re } from "@gusto/embedded-api/react-query/_context";
6
6
  import { payrollsPrepare as ae } from "@gusto/embedded-api/funcs/payrollsPrepare";
7
7
  import { employeesGet as ne } from "@gusto/embedded-api/funcs/employeesGet";
8
8
  import { UnprocessableEntityError as ie } from "@gusto/embedded-api/models/errors/unprocessableentityerror";
9
9
  import { derivePayrollCategory as le } from "../payrollTypes.js";
10
10
  import { usePagination as ue } from "../../../hooks/usePagination/usePagination.js";
11
- const f = "payroll-prepare", _ = 300 * 1e3, ce = 3, A = (n) => n instanceof ie ? n.errors.some((s) => s.category === "invalid_operation") : !1;
12
- function we({
11
+ const f = "payroll-prepare", A = 300 * 1e3, ce = 3, S = (n) => n instanceof ie ? n.errors.some((o) => o.category === "invalid_operation") : !1;
12
+ function De({
13
13
  companyId: n,
14
- payrollId: s,
14
+ payrollId: o,
15
15
  disablePrepare: d = !1,
16
- excludedEmployeeUuids: S = [],
16
+ excludedEmployeeUuids: w = [],
17
17
  isTransitionPayroll: Q = !1
18
18
  }) {
19
- const D = re(), i = se(), { currentPage: c, itemsPerPage: T, getPaginationProps: k } = ue({
19
+ const D = re(), i = oe(), { currentPage: c, itemsPerPage: T, getPaginationProps: k } = ue({
20
20
  defaultItemsPerPage: 25
21
- }), [x, M] = R([]), [b, h] = R(!1), g = q(!1), { data: l, isFetching: w } = te(
21
+ }), [x, M] = q([]), [b, h] = q(!1), g = L(!1), { data: l, isFetching: U } = te(
22
22
  {
23
23
  companyId: n,
24
- payrollUuid: s,
24
+ payrollUuid: o,
25
25
  per: T,
26
26
  page: c,
27
27
  sortBy: "name"
28
28
  },
29
- { placeholderData: F }
30
- ), U = q(l);
31
- U.current = l;
29
+ { placeholderData: K, throwOnError: !0 }
30
+ ), C = L(l);
31
+ C.current = l;
32
32
  const p = y(() => l?.showEmployees?.map((e) => e.uuid) || [], [l?.showEmployees]), u = y(() => {
33
33
  const e = new Set(p);
34
- return S.filter((t) => !e.has(t));
35
- }, [S, p]), m = y(() => c === 1 ? [...p, ...u] : p, [p, u, c]), B = y(() => m.join(","), [m]), {
34
+ return w.filter((t) => !e.has(t));
35
+ }, [w, p]), m = y(() => c === 1 ? [...p, ...u] : p, [p, u, c]), B = y(() => m.join(","), [m]), {
36
36
  data: r,
37
37
  error: G,
38
38
  isLoading: j,
39
39
  isFetching: I
40
- } = K({
41
- queryKey: [f, s, B],
40
+ } = _({
41
+ queryKey: [f, o, B],
42
42
  queryFn: async ({ signal: e }) => {
43
43
  const t = await ae(
44
44
  D,
45
45
  {
46
46
  companyId: n,
47
- payrollId: s,
47
+ payrollId: o,
48
48
  sortBy: "last_name",
49
49
  requestBody: {
50
50
  employeeUuids: Q ? void 0 : m
@@ -57,55 +57,56 @@ function we({
57
57
  return t.value.payrollPrepared;
58
58
  },
59
59
  enabled: m.length > 0 && !d,
60
- staleTime: _,
61
- placeholderData: F,
60
+ staleTime: A,
61
+ placeholderData: K,
62
+ throwOnError: (e) => !S(e),
62
63
  // An "already processed" prepare failure is terminal — retrying it wastes time. Other
63
64
  // errors (network blips, etc.) still get the standard retry treatment.
64
- retry: (e, t) => !A(t) && e < ce
65
- }), Y = A(G);
65
+ retry: (e, t) => !S(t) && e < ce
66
+ }), O = S(G);
66
67
  P(() => () => {
67
68
  i.cancelQueries({
68
- queryKey: [f, s]
69
+ queryKey: [f, o]
69
70
  });
70
- }, [i, s]), P(() => {
71
+ }, [i, o]), P(() => {
71
72
  d && i.cancelQueries({
72
- queryKey: [f, s]
73
+ queryKey: [f, o]
73
74
  });
74
- }, [d, i, s]);
75
- const H = y(() => u.join(","), [u]), { data: E } = K({
76
- queryKey: ["excluded-employee-details", H],
75
+ }, [d, i, o]);
76
+ const Y = y(() => u.join(","), [u]), { data: E } = _({
77
+ queryKey: ["excluded-employee-details", Y],
77
78
  queryFn: async () => {
78
79
  const e = await Promise.all(
79
- u.map((o) => ne(D, { employeeId: o }))
80
- ), t = e.find((o) => !o.ok);
80
+ u.map((s) => ne(D, { employeeId: s }))
81
+ ), t = e.find((s) => !s.ok);
81
82
  if (t)
82
83
  throw t.error;
83
- return e.filter((o) => o.ok).map((o) => o.value.employee).filter((o) => o != null);
84
+ return e.filter((s) => s.ok).map((s) => s.value.employee).filter((s) => s != null);
84
85
  },
85
86
  enabled: u.length > 0 && !d,
86
- staleTime: _
87
- }), C = L(() => {
88
- const e = U.current;
87
+ staleTime: A
88
+ }), v = F(() => {
89
+ const e = C.current;
89
90
  if (!e?.showEmployees || !r?.employeeCompensations) {
90
91
  h(!1);
91
92
  return;
92
93
  }
93
- const t = e.showEmployees.map((a) => a.uuid), o = new Set(r.employeeCompensations.map((a) => a.employeeUuid));
94
- if (t.length > 0 && t.every((a) => o.has(a))) {
94
+ const t = e.showEmployees.map((a) => a.uuid), s = new Set(r.employeeCompensations.map((a) => a.employeeUuid));
95
+ if (t.length > 0 && t.every((a) => s.has(a))) {
95
96
  const a = [...e.showEmployees];
96
97
  if (c === 1 && E?.length) {
97
98
  const ee = new Set(t);
98
- for (const v of E)
99
- ee.has(v.uuid) || a.push(v);
99
+ for (const R of E)
100
+ ee.has(R.uuid) || a.push(R);
100
101
  }
101
102
  M(a), h(!0), g.current = !0;
102
103
  } else
103
104
  h(!1);
104
105
  }, [r?.employeeCompensations, E, c]);
105
106
  P(() => {
106
- C();
107
- }, [C]);
108
- const { data: N, isLoading: V } = oe(
107
+ v();
108
+ }, [v]);
109
+ const { data: H, isLoading: N } = se(
109
110
  {
110
111
  companyId: n,
111
112
  payScheduleId: r?.payPeriod?.payScheduleUuid || ""
@@ -113,25 +114,25 @@ function we({
113
114
  {
114
115
  enabled: !!r?.payPeriod?.payScheduleUuid
115
116
  }
116
- ), X = L(async () => {
117
+ ), V = F(async () => {
117
118
  await i.invalidateQueries({
118
- queryKey: [f, s]
119
+ queryKey: [f, o]
119
120
  });
120
- }, [i, s]), z = j && !g.current, J = I && g.current, O = w || J || !b, W = z || V || !l && w, Z = l?.httpMeta.response.headers ?? new Headers(), $ = k(Z, O);
121
+ }, [i, o]), X = j && !g.current, z = I && g.current, J = U || z || !b, W = X || N || !l && U, Z = l?.httpMeta.response.headers ?? new Headers(), $ = k(Z, J);
121
122
  return {
122
123
  employeeCompensations: r?.employeeCompensations ?? [],
123
124
  employeeDetails: x,
124
125
  payPeriod: r?.payPeriod,
125
- paySchedule: N?.payScheduleShow,
126
+ paySchedule: H?.payScheduleShow,
126
127
  payrollCategory: le(r ?? {}),
127
128
  pagination: $,
128
129
  isLoading: W,
129
- isAlreadyProcessed: Y,
130
- refetch: X
130
+ isAlreadyProcessed: O,
131
+ refetch: V
131
132
  };
132
133
  }
133
134
  export {
134
135
  f as PREPARE_QUERY_KEY,
135
- we as usePayrollConfigurationData
136
+ De as usePayrollConfigurationData
136
137
  };
137
138
  //# sourceMappingURL=usePayrollConfigurationData.js.map