@gusto/embedded-react-sdk 0.54.0 → 0.54.1-rc.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 +39 -0
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +3 -3
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +6 -5
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
- package/dist/components/Common/Loading/Loading.d.ts +6 -1
- package/dist/components/Common/Loading/Loading.js +13 -12
- package/dist/components/Common/Loading/Loading.js.map +1 -1
- package/dist/components/Common/Loading/Loading.module.scss.js +1 -1
- package/dist/components/Common/PayrollLoading/PayrollLoading.js +1 -1
- package/dist/components/Common/PayrollLoading/PayrollLoading.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.js +8 -8
- package/dist/components/Common/UI/Alert/Alert.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.module.scss.js +18 -16
- package/dist/components/Common/UI/Alert/Alert.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Menu/Menu.js +19 -18
- package/dist/components/Common/UI/Menu/Menu.js.map +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +9 -9
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/stateMachine.d.ts +3 -3
- package/dist/components/Company/BankAccount/stateMachine.js +7 -6
- package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +10 -10
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js +13 -12
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/DocumentSigner/stateMachine.d.ts +4 -4
- package/dist/components/Company/DocumentSigner/stateMachine.js +14 -13
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.js +8 -8
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/Locations/stateMachine.d.ts +3 -3
- package/dist/components/Company/Locations/stateMachine.js +3 -2
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +8 -8
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +10 -10
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +11 -10
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +20 -19
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +16 -15
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +29 -28
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +3 -3
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +4 -3
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +24 -21
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +11 -11
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.js +8 -8
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +14 -13
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -4
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +3 -3
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +13 -12
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Contractor/Address/management/Address.js +7 -7
- package/dist/components/Contractor/Address/management/Address.js.map +1 -1
- package/dist/components/Contractor/Address/management/addressStateMachine.d.ts +2 -2
- package/dist/components/Contractor/Address/management/addressStateMachine.js +14 -13
- package/dist/components/Contractor/Address/management/addressStateMachine.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/Compensation.js +7 -7
- package/dist/components/Contractor/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/compensationStateMachine.d.ts +2 -2
- package/dist/components/Contractor/Compensation/management/compensationStateMachine.js +4 -3
- package/dist/components/Contractor/Compensation/management/compensationStateMachine.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +22 -21
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/Dashboard/DashboardFlow.js +8 -8
- package/dist/components/Contractor/Dashboard/DashboardFlow.js.map +1 -1
- package/dist/components/Contractor/Dashboard/dashboardStateMachine.d.ts +5 -5
- package/dist/components/Contractor/Dashboard/dashboardStateMachine.js +7 -6
- package/dist/components/Contractor/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js +8 -8
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.d.ts +2 -2
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js +13 -12
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/fields.js +8 -8
- package/dist/components/Contractor/Landing/Landing.js +30 -29
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +8 -8
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +7 -7
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +8 -7
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +18 -17
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js +7 -7
- package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.d.ts +2 -2
- package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js +14 -13
- package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.d.ts +41 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +175 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/index.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/useFormDictionary.d.ts +18 -0
- package/dist/components/Contractor/Payments/{HistoricalPaymentAmounts → CreateHistoricalPayment}/useFormDictionary.js +37 -7
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js +9 -9
- package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.d.ts +2 -2
- package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js +9 -8
- package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.d.ts +30 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +56 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/index.d.ts +1 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.d.ts +9 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.js +33 -0
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +8 -8
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +4 -4
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +10 -9
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +46 -131
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.d.ts +9 -0
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.js +36 -0
- package/dist/components/Contractor/Payments/PaymentSummary/useFormDictionary.js.map +1 -0
- package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js +8 -8
- package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.d.ts +2 -2
- package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js +15 -14
- package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.d.ts +83 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js +124 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/PaymentSummaryBlock.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/PaymentSummaryBlock/index.d.ts +1 -0
- package/dist/components/Contractor/Profile/management/Profile.js +7 -7
- package/dist/components/Contractor/Profile/management/Profile.js.map +1 -1
- package/dist/components/Contractor/Profile/management/profileStateMachine.d.ts +2 -2
- package/dist/components/Contractor/Profile/management/profileStateMachine.js +11 -10
- package/dist/components/Contractor/Profile/management/profileStateMachine.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +16 -16
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingFlow.js +8 -8
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.d.ts +5 -5
- package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.js +7 -6
- package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- package/dist/components/Contractor/exports/contractorManagement.d.ts +2 -2
- package/dist/components/Contractor/exports/contractorManagement.js +20 -20
- package/dist/components/Employee/Compensation/management/Compensation.js +7 -7
- package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationComponents.js +4 -4
- package/dist/components/Employee/Compensation/management/compensationStateMachine.d.ts +4 -4
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js +21 -20
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.js +11 -11
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.d.ts +4 -4
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +11 -10
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Dashboard/DashboardFlow.js +8 -8
- package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +13 -13
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +15 -14
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/management/Deductions.js +7 -7
- package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.d.ts +2 -2
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +9 -8
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/Deductions.js +7 -7
- package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +3 -3
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js +9 -8
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +2 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/Documents.js +7 -7
- package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
- package/dist/components/Employee/Documents/management/documentsStateMachine.d.ts +2 -2
- package/dist/components/Employee/Documents/management/documentsStateMachine.js +4 -3
- package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +10 -10
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.d.ts +4 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js +13 -12
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +8 -8
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +4 -4
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +8 -7
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +7 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.d.ts +2 -2
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +4 -3
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +7 -7
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.d.ts +2 -2
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +6 -5
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +31 -30
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js +6 -6
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +8 -8
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +20 -19
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +8 -8
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.d.ts +3 -3
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +4 -3
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +59 -58
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +7 -7
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.d.ts +3 -3
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +9 -8
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +8 -8
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.d.ts +3 -3
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +7 -6
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/management/Profile.js +7 -7
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/management/profileStateMachine.d.ts +2 -2
- package/dist/components/Employee/Profile/management/profileStateMachine.js +12 -11
- package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js +8 -8
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.d.ts +6 -6
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +21 -20
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +7 -7
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.d.ts +2 -2
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +4 -3
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +9 -9
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +4 -4
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +7 -6
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +7 -7
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.d.ts +2 -2
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +2 -1
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
- package/dist/components/Flow/Flow.d.ts +6 -7
- package/dist/components/Flow/Flow.js +27 -21
- package/dist/components/Flow/Flow.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequests.js +19 -19
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/informationRequestsStateMachine.d.ts +3 -3
- package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -9
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +18 -18
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +4 -4
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +4 -3
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.js +7 -7
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +2 -2
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +10 -9
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js +7 -7
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +2 -2
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +15 -14
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +44 -44
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +108 -108
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +9 -9
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +5 -5
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +12 -11
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +10 -10
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +7 -7
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +15 -14
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +7 -7
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +3 -3
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +13 -12
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +12 -12
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +3 -3
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +6 -5
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +7 -7
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +2 -2
- package/dist/components/Payroll/Transition/transitionStateMachine.js +15 -14
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +8 -9
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js +8 -8
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +14 -14
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +5 -4
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +23 -23
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.d.ts +4 -11
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js +8 -8
- package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js.map +1 -1
- package/dist/i18n/I18n.js +7 -7
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +5 -5
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +20 -18
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js +46 -44
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js +36 -0
- package/dist/i18n/en/Contractor.Payments.CreateHistoricalPayment.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentSummary.json.js +48 -0
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentSummary.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js +7 -7
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +29 -27
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
- package/dist/i18n/types.d.ts +219 -105
- package/dist/lib/state-machine/__tests__/core.test.d.ts +1 -0
- package/dist/lib/state-machine/core.d.ts +20 -0
- package/dist/lib/state-machine/core.js +48 -0
- package/dist/lib/state-machine/core.js.map +1 -0
- package/dist/lib/state-machine/index.d.ts +5 -0
- package/dist/lib/state-machine/index.js +39 -0
- package/dist/lib/state-machine/index.js.map +1 -0
- package/dist/lib/state-machine/types.d.ts +60 -0
- package/dist/shared/constants.d.ts +12 -4
- package/dist/shared/constants.js +23 -20
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +1 -3
- package/docs/guides/endpoint-inventory.json +30 -1
- package/package.json +18 -19
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.d.ts +0 -33
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js +0 -62
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/index.d.ts +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.d.ts +0 -9
- package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.d.ts +0 -27
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js +0 -56
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js.map +0 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentContractors/index.d.ts +0 -1
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js +0 -36
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js.map +0 -1
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js +0 -18
- package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js.map +0 -1
package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as r } from "react-i18next";
|
|
3
3
|
import { EmployeeStateTaxesErrorCodes as c } from "./employeeStateTaxesSchema.js";
|
|
4
|
-
import {
|
|
5
|
-
import { SelectHookField as m } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
|
+
import { DatePickerHookField as d } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
6
5
|
import { NumberInputHookField as l } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
7
|
-
import {
|
|
8
|
-
import { RadioGroupHookField as
|
|
6
|
+
import { TextInputHookField as m } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
7
|
+
import { RadioGroupHookField as u } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
8
|
+
import { SelectHookField as f } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
9
9
|
function F() {
|
|
10
10
|
const { t: o } = r("Employee.StateTaxesView");
|
|
11
11
|
return { [c.REQUIRED]: o("validations.required") };
|
|
@@ -26,21 +26,21 @@ function P({ meta: o, ...e }) {
|
|
|
26
26
|
placeholder: e.placeholder ?? n("selectPlaceholder"),
|
|
27
27
|
FieldComponent: e.FieldComponent
|
|
28
28
|
};
|
|
29
|
-
return /* @__PURE__ */ i(
|
|
29
|
+
return /* @__PURE__ */ i(f, { ...s });
|
|
30
30
|
}
|
|
31
31
|
function H({ meta: o, ...e }) {
|
|
32
32
|
const t = {
|
|
33
33
|
...a(o, e),
|
|
34
34
|
FieldComponent: e.FieldComponent
|
|
35
35
|
};
|
|
36
|
-
return /* @__PURE__ */ i(
|
|
36
|
+
return /* @__PURE__ */ i(u, { ...t });
|
|
37
37
|
}
|
|
38
38
|
function R({ meta: o, ...e }) {
|
|
39
39
|
const t = {
|
|
40
40
|
...a(o, e),
|
|
41
41
|
placeholder: e.placeholder
|
|
42
42
|
};
|
|
43
|
-
return /* @__PURE__ */ i(
|
|
43
|
+
return /* @__PURE__ */ i(m, { ...t });
|
|
44
44
|
}
|
|
45
45
|
function v({ meta: o, ...e }) {
|
|
46
46
|
const t = {
|
|
@@ -63,7 +63,7 @@ function E({ meta: o, ...e }) {
|
|
|
63
63
|
...a(o, e),
|
|
64
64
|
FieldComponent: e.FieldComponent
|
|
65
65
|
};
|
|
66
|
-
return /* @__PURE__ */ i(
|
|
66
|
+
return /* @__PURE__ */ i(d, { ...t });
|
|
67
67
|
}
|
|
68
68
|
export {
|
|
69
69
|
D as CurrencyStateTaxField,
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useMemo as n } from "react";
|
|
3
|
+
import { terminationMachine as a, terminationBreadcrumbNodes as c } from "./terminationStateMachine.js";
|
|
4
|
+
import { TerminateEmployeeContextual as u } from "./TerminationFlowComponents.js";
|
|
5
|
+
import { createMachine as f } from "../../../../lib/state-machine/core.js";
|
|
6
6
|
import { Flow as p } from "../../../Flow/Flow.js";
|
|
7
7
|
import { buildBreadcrumbs as b } from "../../../../helpers/breadcrumbHelpers.js";
|
|
8
8
|
const F = ({ companyId: r, employeeId: o, onEvent: m }) => {
|
|
9
|
-
const e =
|
|
10
|
-
() =>
|
|
9
|
+
const e = n(
|
|
10
|
+
() => f(
|
|
11
11
|
"form",
|
|
12
|
-
|
|
12
|
+
a,
|
|
13
13
|
(t) => ({
|
|
14
14
|
...t,
|
|
15
|
-
component:
|
|
15
|
+
component: u,
|
|
16
16
|
companyId: r,
|
|
17
17
|
employeeId: o,
|
|
18
18
|
header: {
|
|
19
19
|
type: "breadcrumbs",
|
|
20
|
-
breadcrumbs: b(
|
|
20
|
+
breadcrumbs: b(c),
|
|
21
21
|
currentBreadcrumbId: "form"
|
|
22
22
|
}
|
|
23
23
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminationFlow.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/TerminationFlow.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TerminationFlow.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/TerminationFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { terminationMachine, terminationBreadcrumbNodes } from './terminationStateMachine'\nimport type {\n TerminationFlowProps,\n TerminationFlowContextInterface,\n} from './TerminationFlowComponents'\nimport { TerminateEmployeeContextual } from './TerminationFlowComponents'\nimport { createMachine } from '@/lib/state-machine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to terminate an employee and arrange their final paycheck.\n *\n * @remarks\n * This is the flow for ending employment. It sets the termination date, decides how the final\n * paycheck is handled, and can launch the dismissal payroll as one option. To run the final payroll\n * on its own for an already-terminated employee, use {@link Payroll.DismissalFlow} directly.\n *\n * Provides a complete experience for terminating an employee — guides the user through selecting a termination date, choosing how to process final payroll, reviewing termination details, and managing the offboarding process. Drives a multi-step flow with breadcrumb navigation between the termination form, the summary, and the dismissal payroll flow (when the dismissal payroll option is selected).\n *\n * On mount, the flow detects existing terminations: if an active termination exists, the form is pre-populated for editing; if the employee is already terminated, the user is routed to the summary view.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/termination/created` | Fired when a new termination is created | `{ employeeId: string, effectiveDate: string, payrollOption: PayrollOption }` |\n * | `employee/termination/updated` | Fired when an existing termination is updated | `{ employeeId: string, effectiveDate: string, payrollOption: PayrollOption }` |\n * | `employee/termination/done` | Fired when the termination process is complete | `{ employeeId: string, effectiveDate: string, payrollOption: PayrollOption, payrollUuid?: string }` |\n * | `employee/termination/viewSummary` | Fired when viewing an existing termination summary | `{ employeeId: string, effectiveDate: string }` |\n * | `employee/termination/edit` | Fired when user clicks to edit termination details | `{ employeeId: string }` |\n * | `employee/termination/cancelled` | Fired when a termination is cancelled | `{ employeeId: string, alert?: `{@link TerminationFlowAlert}` }` |\n * | `employee/termination/runPayroll` | Fired when user chooses to run termination payroll | `{ employeeId: string, companyId: string, effectiveDate: string }` |\n * | `employee/termination/runOffCyclePayroll` | Fired when user chooses to run an off-cycle payroll | `{ employeeId: string, companyId: string }` |\n * | `employee/termination/payrollCreated` | Fired when an off-cycle payroll is created for termination | `{ employeeId: string, effectiveDate: string }` |\n * | `employee/termination/payrollFailed` | Fired when off-cycle payroll creation fails | `{ employeeId: string }` |\n *\n * The {@link PayrollOption} on each event identifies how the partner has chosen to handle the employee's final paycheck:\n *\n * - `dismissalPayroll` — Run a dismissal payroll (the most guided option). The flow swaps the employee's last regular payroll into a dismissal payroll with the termination date as the pay-period end and makes a default PTO payout recommendation.\n * - `regularPayroll` — Include the final pay in the employee's next scheduled regular payroll. The termination can still be cancelled after the fact.\n * - `anotherWay` — Handle the final pay another way: either run an off-cycle payroll to calculate final amounts, or pay the employee outside of Gusto (reporting it separately so the amounts land on tax forms). The employee is removed from unprocessed future payrolls, and the termination can still be cancelled after the fact.\n *\n * @components\n * - {@link TerminateEmployee}\n * - {@link TerminationSummary}\n * - {@link Payroll.DismissalFlow}\n * - {@link Payroll.PayrollLanding}\n *\n * @param props - See {@link TerminationFlowProps}.\n * @returns The multi-step termination workflow.\n * @public\n * @group Flow components\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { EmployeeManagement, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <EmployeeManagement.TerminationFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * employeeId=\"4b3f930f-82cd-48a8-b797-798686e12e5e\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'employee/termination/done') {\n * // Termination complete — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport const TerminationFlow = ({ companyId, employeeId, onEvent }: TerminationFlowProps) => {\n const terminationFlow = useMemo(\n () =>\n createMachine(\n 'form',\n terminationMachine,\n (initialContext: TerminationFlowContextInterface) => ({\n ...initialContext,\n component: TerminateEmployeeContextual,\n companyId,\n employeeId,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(terminationBreadcrumbNodes),\n currentBreadcrumbId: 'form',\n },\n }),\n ),\n [companyId, employeeId],\n )\n return <Flow machine={terminationFlow} onEvent={onEvent} />\n}\n"],"names":["TerminationFlow","companyId","employeeId","onEvent","terminationFlow","useMemo","createMachine","terminationMachine","initialContext","TerminateEmployeeContextual","buildBreadcrumbs","terminationBreadcrumbNodes","jsx","Flow"],"mappings":";;;;;;;AAyEO,MAAMA,IAAkB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,QAAoC;AAC3F,QAAMC,IAAkBC;AAAA,IACtB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAqD;AAAA,QACpD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAR;AAAA,QACA,YAAAC;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaQ,EAAiBC,CAA0B;AAAA,UACxD,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAAA,IACF;AAAA,IAEJ,CAACV,GAAWC,CAAU;AAAA,EAAA;AAExB,SAAO,gBAAAU,EAACC,GAAA,EAAK,SAAST,GAAiB,SAAAD,EAAA,CAAkB;AAC3D;"}
|
|
@@ -3,8 +3,8 @@ import { BreadcrumbNodes } from '../../../Common/FlowBreadcrumbs/FlowBreadcrumbs
|
|
|
3
3
|
export declare const terminationBreadcrumbNodes: BreadcrumbNodes;
|
|
4
4
|
/** @internal */
|
|
5
5
|
export declare const terminationMachine: {
|
|
6
|
-
form: import('
|
|
7
|
-
summary: import('
|
|
8
|
-
dismissalPayroll: import('
|
|
9
|
-
payrollLanding: import('
|
|
6
|
+
form: import('../../../../lib/state-machine').StateDefinition;
|
|
7
|
+
summary: import('../../../../lib/state-machine').StateDefinition;
|
|
8
|
+
dismissalPayroll: import('../../../../lib/state-machine').StateDefinition;
|
|
9
|
+
payrollLanding: import('../../../../lib/state-machine').StateDefinition;
|
|
10
10
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { PayrollLandingContextual as p, DismissalFlowContextual as u, TerminateEmployeeContextual as i, TerminationSummaryContextual as d } from "./TerminationFlowComponents.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { state as t, transition as m, reduce as e, guard as s } from "../../../../lib/state-machine/core.js";
|
|
3
4
|
import { componentEvents as n } from "../../../../shared/constants.js";
|
|
4
5
|
import { patchBreadcrumbsHeader as o } from "../../../../helpers/breadcrumbHelpers.js";
|
|
5
|
-
const
|
|
6
|
+
const O = {
|
|
6
7
|
form: {
|
|
7
8
|
parent: null,
|
|
8
9
|
item: {
|
|
@@ -66,7 +67,7 @@ const l = m(
|
|
|
66
67
|
(r, a) => a.payload.key === "summary"
|
|
67
68
|
),
|
|
68
69
|
e(E)
|
|
69
|
-
),
|
|
70
|
+
), f = {
|
|
70
71
|
form: t(
|
|
71
72
|
m(
|
|
72
73
|
n.EMPLOYEE_TERMINATION_DONE,
|
|
@@ -151,7 +152,7 @@ const l = m(
|
|
|
151
152
|
payrollLanding: t(c, l)
|
|
152
153
|
};
|
|
153
154
|
export {
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
O as terminationBreadcrumbNodes,
|
|
156
|
+
f as terminationMachine
|
|
156
157
|
};
|
|
157
158
|
//# sourceMappingURL=terminationStateMachine.js.map
|
package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\n/** @internal */\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\n/** @internal */\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n alerts: undefined,\n }\n }),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\n })),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","patchBreadcrumbsHeader","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":";;;;AAgDO,MAAMA,IAA8C;AAAA,EACzD,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACC,OAA0C;AAAA,QACtD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAQ;AAAA,QAC9D,WAAWE;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAAA,EAEF,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACF,OAA0C;AAAA,QACtD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,WAAW;AAAA,QACjE,WAAWG;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACH,OAA0C;AAAA,QACtD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,QACjE,WAAWI;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;AAEA,SAASC,EAAcL,GAAuE;AAC5F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAQ;AAAA,IAC9D,WAAWE;AAAA,EAAA;AAEf;AAEA,SAASI,EAAiBN,GAAuE;AAC/F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,WAAW;AAAA,IACjE,WAAWG;AAAA,EAAA;AAEf;AAEA,MAAMI,IAA2BC;AAAA,EAC/BC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAuCC,MACtCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOR,CAAa;AACtB,GAEMS,IAA8BN;AAAA,EAClCC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAuCC,MACtCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOP,CAAgB;AACzB,GAGaS,IAAqB;AAAA,EAChC,MAAMC;AAAA,IACJR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEb,GACAY,OAEO;AAAA,UACL,GAAGX,EAAuBD,GAAK,EAAE,qBAAqB,WAAW;AAAA,UACjE,WAAWG;AAAA,UACX,eAAeS,EAAG,QAAQ;AAAA,UAC1B,aAAaA,EAAG,QAAQ;AAAA,UACxB,QAAQ;AAAA,QAAA;AAAA,MAEZ;AAAA,IACF;AAAA,IAEFJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI,EAAO,CAACb,OACC;AAAA,QACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,WAAW;AAAA,QACjE,WAAWG;AAAA,QACX,QAAQ;AAAA,MAAA,EAEX;AAAA,IAAA;AAAA,EACH;AAAA,EAEF,SAASa;AAAA,IACPR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI,EAAO,CAACb,OACC;AAAA,QACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAQ;AAAA,QAC9D,WAAWE;AAAA,QACX,QAAQ;AAAA,MAAA,EAEX;AAAA,IAAA;AAAA,IAEHM;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEb,GACAY,OAKO;AAAA,UACL,GAAGX,EAAuBD,GAAK,EAAE,qBAAqB,QAAQ;AAAA,UAC9D,WAAWE;AAAA,UACX,QAAQU,EAAG,QAAQ,QAAQ,CAACA,EAAG,QAAQ,KAAK,IAAI;AAAA,UAChD,eAAe;AAAA,QAAA;AAAA,MAEnB;AAAA,IACF;AAAA,IAEFJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEb,GACAY,OAKO;AAAA,UACL,GAAGX,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,WAAWI;AAAA,UACX,aAAaQ,EAAG,QAAQ,eAAeZ,EAAI;AAAA,QAAA;AAAA,MAE/C;AAAA,IACF;AAAA,IAEFQ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI,EAAO,CAACb,OACC;AAAA,QACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,QACjE,WAAWI;AAAA,QACX,aAAa;AAAA,MAAA,EAEhB;AAAA,IAAA;AAAA,IAEHG;AAAA,EAAA;AAAA,EAEF,kBAAkBS;AAAA,IAChBR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI,EAAO,CAACb,OAA2E;AAAA,QACjF,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,QACjE,WAAWiB;AAAA,QACX,eAAe;AAAA,MAAA,EACf;AAAA,IAAA;AAAA,IAEJH;AAAA,IACAP;AAAA,EAAA;AAAA,EAEF,gBAAgBS,EAAyBF,GAA6BP,CAAwB;AAChG;"}
|
|
1
|
+
{"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { transition, reduce, state, guard } from '@/lib/state-machine'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\n/** @internal */\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\n/** @internal */\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n alerts: undefined,\n }\n }),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\n })),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","patchBreadcrumbsHeader","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useMemo as s } from "react";
|
|
3
|
+
import { WorkAddressCardContextual as i } from "./WorkAddressComponents.js";
|
|
4
|
+
import { workAddressStateMachine as a } from "./workAddressStateMachine.js";
|
|
5
|
+
import { createMachine as d } from "../../../../lib/state-machine/core.js";
|
|
6
6
|
import { Flow as p } from "../../../Flow/Flow.js";
|
|
7
7
|
import { BaseBoundaries as c } from "../../../Base/Base.js";
|
|
8
8
|
import "../../../Base/useBase.js";
|
|
9
9
|
import { useComponentDictionary as f, useI18n as u } from "../../../../i18n/I18n.js";
|
|
10
10
|
function k({ employeeId: o, onEvent: e, LoaderComponent: r }) {
|
|
11
11
|
u("Employee.Management.WorkAddress");
|
|
12
|
-
const m =
|
|
13
|
-
() =>
|
|
12
|
+
const m = s(
|
|
13
|
+
() => d("card", a, (n) => ({
|
|
14
14
|
...n,
|
|
15
|
-
component:
|
|
15
|
+
component: i,
|
|
16
16
|
employeeId: o,
|
|
17
17
|
LoaderComponent: r
|
|
18
18
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddress.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"WorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddress.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n WorkAddressCardContextual,\n type WorkAddressContextInterface,\n} from './WorkAddressComponents'\nimport { workAddressStateMachine } from './workAddressStateMachine'\nimport { createMachine } from '@/lib/state-machine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for {@link WorkAddress}.\n *\n * @public\n */\nexport interface WorkAddressProps extends BaseComponentInterface<'Employee.Management.WorkAddress'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\nfunction WorkAddressFlow({ employeeId, onEvent, LoaderComponent }: WorkAddressProps) {\n useI18n('Employee.Management.WorkAddress')\n\n const machine = useMemo(\n () =>\n createMachine('card', workAddressStateMachine, (ctx: WorkAddressContextInterface) => ({\n ...ctx,\n component: WorkAddressCardContextual,\n employeeId,\n LoaderComponent,\n })),\n [employeeId, LoaderComponent],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n\n/**\n * Standalone employee work address management flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/workAddress/editRequested` | Manage button on the work address card clicked | `{ employeeId: string }` |\n * | `employee/management/workAddress/editCancelled` | User backed out of the edit form | — |\n * | `employee/management/workAddress/created` | A new work address was created | {@link APIModels.EmployeeWorkAddress} |\n * | `employee/management/workAddress/updated` | An existing work address was updated | {@link APIModels.EmployeeWorkAddress} |\n * | `employee/management/workAddress/deleted` | A work address was deleted | {@link APIModels.EmployeeWorkAddress} |\n *\n * @public\n */\nexport function WorkAddress({\n dictionary,\n FallbackComponent,\n LoaderComponent,\n ...props\n}: WorkAddressProps) {\n useComponentDictionary('Employee.Management.WorkAddress', dictionary)\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.WorkAddress\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <WorkAddressFlow LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["WorkAddressFlow","employeeId","onEvent","LoaderComponent","useI18n","machine","useMemo","createMachine","workAddressStateMachine","ctx","WorkAddressCardContextual","jsx","Flow","WorkAddress","dictionary","FallbackComponent","props","useComponentDictionary","BaseBoundaries"],"mappings":";;;;;;;;;AAsBA,SAASA,EAAgB,EAAE,YAAAC,GAAY,SAAAC,GAAS,iBAAAC,KAAqC;AACnF,EAAAC,EAAQ,iCAAiC;AAEzC,QAAMC,IAAUC;AAAA,IACd,MACEC,EAAc,QAAQC,GAAyB,CAACC,OAAsC;AAAA,MACpF,GAAGA;AAAA,MACH,WAAWC;AAAA,MACX,YAAAT;AAAA,MACA,iBAAAE;AAAA,IAAA,EACA;AAAA,IACJ,CAACF,GAAYE,CAAe;AAAA,EAAA;AAG9B,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAH,EAAA,CAAkB;AACnD;AAgBO,SAASW,EAAY;AAAA,EAC1B,YAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,iBAAAZ;AAAA,EACA,GAAGa;AACL,GAAqB;AACnB,SAAAC,EAAuB,mCAAmCH,CAAU,GAElE,gBAAAH;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAH;AAAA,MACA,iBAAAZ;AAAA,MAEA,UAAA,gBAAAQ,EAACX,GAAA,EAAgB,iBAAAG,GAAmC,GAAGa,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGpE;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
export declare const workAddressStateMachine: {
|
|
3
|
-
card: import('
|
|
4
|
-
editWorkAddress: import('
|
|
3
|
+
card: import('../../../../lib/state-machine').StateDefinition;
|
|
4
|
+
editWorkAddress: import('../../../../lib/state-machine').StateDefinition;
|
|
5
5
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { state as o, transition as t, reduce as e } from "robot3";
|
|
2
1
|
import { WorkAddressEditFormContextual as d, WorkAddressCardContextual as n } from "./WorkAddressComponents.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { state as o, transition as t, reduce as e } from "../../../../lib/state-machine/core.js";
|
|
3
4
|
import { componentEvents as E } from "../../../../shared/constants.js";
|
|
4
5
|
const s = e((r) => ({
|
|
5
6
|
...r,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workAddressStateMachine.js","sources":["../../../../../src/components/Employee/WorkAddress/management/workAddressStateMachine.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"workAddressStateMachine.js","sources":["../../../../../src/components/Employee/WorkAddress/management/workAddressStateMachine.ts"],"sourcesContent":["import type { ComponentType } from 'react'\nimport type { WorkAddressContextInterface } from './WorkAddressComponents'\nimport { WorkAddressCardContextual, WorkAddressEditFormContextual } from './WorkAddressComponents'\nimport { reduce, state, transition } from '@/lib/state-machine'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\nconst returnToCard = reduce((ctx: WorkAddressContextInterface): WorkAddressContextInterface => ({\n ...ctx,\n component: WorkAddressCardContextual as ComponentType,\n}))\n\n/** @internal */\nexport const workAddressStateMachine = {\n card: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_EDIT_REQUESTED,\n 'editWorkAddress',\n reduce((ctx: WorkAddressContextInterface): WorkAddressContextInterface => ({\n ...ctx,\n component: WorkAddressEditFormContextual as ComponentType,\n })),\n ),\n ),\n // The edit surface is modal-style: editing/changing/deleting a row closes\n // the modal but keeps the user on the edit screen so they can manage\n // additional rows. Only the explicit Back action returns to the card.\n editWorkAddress: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_WORK_ADDRESS_EDIT_CANCELLED,\n 'card',\n returnToCard,\n ),\n ),\n}\n"],"names":["returnToCard","reduce","ctx","WorkAddressCardContextual","workAddressStateMachine","state","transition","componentEvents","WorkAddressEditFormContextual"],"mappings":";;;;AAOA,MAAMA,IAAeC,EAAO,CAACC,OAAmE;AAAA,EAC9F,GAAGA;AAAA,EACH,WAAWC;AACb,EAAE,GAGWC,IAA0B;AAAA,EACrC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAN,EAAO,CAACC,OAAmE;AAAA,QACzE,GAAGA;AAAA,QACH,WAAWM;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKF,iBAAiBH;AAAA,IACfC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAP;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { Machine } from 'robot3';
|
|
2
1
|
import { OnEventType } from '../Base/useBase';
|
|
3
2
|
import { FlowContextInterface } from './useFlow';
|
|
3
|
+
import { Machine } from '../../lib/state-machine';
|
|
4
4
|
import { EventType } from '../../shared/constants';
|
|
5
5
|
type FlowProps<M extends Machine> = {
|
|
6
6
|
machine: M;
|
|
7
7
|
onEvent: OnEventType<EventType, unknown>;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
* Drives a
|
|
10
|
+
* Drives a state machine that orchestrates a multi-step SDK flow, rendering the active
|
|
11
11
|
* step component inside a {@link FlowContext} provider with optional header chrome above it.
|
|
12
12
|
*
|
|
13
13
|
* @remarks
|
|
14
|
-
* Re-emits every event
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* machine itself rather than a fixed catalogue.
|
|
14
|
+
* Re-emits every event to the upstream `onEvent` callback, so the consuming flow component
|
|
15
|
+
* (e.g. `PayrollFlow`, `OnboardingFlow`) can forward them to partner code. The set of event
|
|
16
|
+
* types is defined by the machine itself rather than a fixed catalogue.
|
|
18
17
|
*
|
|
19
|
-
* @typeParam M - The
|
|
18
|
+
* @typeParam M - The {@link Machine} type whose context extends {@link FlowContextInterface}.
|
|
20
19
|
* @param props - Component props: the `machine` instance to run and an `onEvent` handler that
|
|
21
20
|
* receives every event the machine emits.
|
|
22
21
|
* @returns A React element rendering the machine's current `component` inside the flow context,
|
|
@@ -1,35 +1,41 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsx as o, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import { Suspense as p } from "react";
|
|
3
|
+
import { FlowContext as s } from "./useFlow.js";
|
|
4
|
+
import { FlowHeader as f } from "./FlowHeader.js";
|
|
5
|
+
import { useLoadingIndicator as u } from "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
6
|
+
import { useMachine as h } from "../../lib/state-machine/index.js";
|
|
7
|
+
import { Flex as i } from "../Common/Flex/Flex.js";
|
|
8
|
+
const x = 40;
|
|
9
|
+
function E() {
|
|
10
|
+
const { LoadingIndicator: n } = u();
|
|
11
|
+
return /* @__PURE__ */ o(n, { height: x });
|
|
12
|
+
}
|
|
13
|
+
const L = ({
|
|
14
|
+
onEvent: n,
|
|
15
|
+
machine: l
|
|
9
16
|
}) => {
|
|
10
|
-
const [
|
|
11
|
-
onEvent:
|
|
17
|
+
const [e, m] = h(l, {
|
|
18
|
+
onEvent: a,
|
|
12
19
|
component: null
|
|
13
20
|
});
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
e.child ? e.child.send(i) : f(i), m(r, c);
|
|
21
|
+
function a(t, c) {
|
|
22
|
+
m({ type: t, payload: c }), n(t, c);
|
|
17
23
|
}
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
|
|
24
|
+
const r = e.context.component;
|
|
25
|
+
return /* @__PURE__ */ o(i, { children: /* @__PURE__ */ o(
|
|
26
|
+
s.Provider,
|
|
21
27
|
{
|
|
22
28
|
value: {
|
|
23
|
-
...
|
|
29
|
+
...e.context
|
|
24
30
|
},
|
|
25
|
-
children: /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
|
|
31
|
+
children: /* @__PURE__ */ d(i, { flexDirection: "column", gap: 32, children: [
|
|
32
|
+
/* @__PURE__ */ o(p, { fallback: /* @__PURE__ */ o(E, {}), children: /* @__PURE__ */ o(f, {}) }),
|
|
33
|
+
r && /* @__PURE__ */ o(r, {})
|
|
28
34
|
] })
|
|
29
35
|
}
|
|
30
36
|
) });
|
|
31
37
|
};
|
|
32
38
|
export {
|
|
33
|
-
|
|
39
|
+
L as Flow
|
|
34
40
|
};
|
|
35
41
|
//# sourceMappingURL=Flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.js","sources":["../../../src/components/Flow/Flow.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Flow.js","sources":["../../../src/components/Flow/Flow.tsx"],"sourcesContent":["import { Suspense } from 'react'\nimport type { OnEventType } from '../Base/useBase'\nimport { Flex } from '../Common/Flex'\nimport type { FlowContextInterface } from './useFlow'\nimport { FlowContext } from './useFlow'\nimport { FlowHeader } from './FlowHeader'\nimport { useLoadingIndicator } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\nimport { useMachine, type Machine } from '@/lib/state-machine'\nimport { type EventType } from '@/shared/constants'\n\n/**\n * Header chrome is short (a back-button row is the only header that can suspend),\n * so the header fallback matches its height rather than the full content loader —\n * this keeps the step body at the same level, avoiding a layout shift.\n */\nconst HEADER_LOADER_HEIGHT = 40\n\n/**\n * Fallback for the {@link FlowHeader} Suspense boundary. FlowHeader calls\n * `useTranslation` and renders above the active step's own boundary, so a\n * first-time i18n namespace load during a synchronous transition would otherwise\n * throw React #426. Reuses the SDK loading indicator sized to the header height\n * so the placeholder matches the header chrome and the step body doesn't shift.\n * (Step components manage their own loading via `BaseComponent`/`BaseBoundaries`.)\n */\nfunction FlowHeaderFallback() {\n const { LoadingIndicator } = useLoadingIndicator()\n return <LoadingIndicator height={HEADER_LOADER_HEIGHT} />\n}\n\ntype FlowProps<M extends Machine> = {\n machine: M\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**\n * Drives a state machine that orchestrates a multi-step SDK flow, rendering the active\n * step component inside a {@link FlowContext} provider with optional header chrome above it.\n *\n * @remarks\n * Re-emits every event to the upstream `onEvent` callback, so the consuming flow component\n * (e.g. `PayrollFlow`, `OnboardingFlow`) can forward them to partner code. The set of event\n * types is defined by the machine itself rather than a fixed catalogue.\n *\n * @typeParam M - The {@link Machine} type whose context extends {@link FlowContextInterface}.\n * @param props - Component props: the `machine` instance to run and an `onEvent` handler that\n * receives every event the machine emits.\n * @returns A React element rendering the machine's current `component` inside the flow context,\n * with a {@link FlowHeader} above it.\n * @internal\n */\nexport const Flow = <M extends Machine<object, FlowContextInterface>>({\n onEvent,\n machine,\n}: FlowProps<M>) => {\n const [current, send] = useMachine(machine, {\n onEvent: handleEvent,\n component: null,\n })\n\n function handleEvent(type: EventType, data: unknown): void {\n send({ type, payload: data })\n onEvent(type, data)\n }\n\n const Component = current.context.component\n\n return (\n <Flex>\n <FlowContext.Provider\n value={{\n ...current.context,\n }}\n >\n <Flex flexDirection=\"column\" gap={32}>\n <Suspense fallback={<FlowHeaderFallback />}>\n <FlowHeader />\n </Suspense>\n {Component && <Component />}\n </Flex>\n </FlowContext.Provider>\n </Flex>\n )\n}\n"],"names":["HEADER_LOADER_HEIGHT","FlowHeaderFallback","LoadingIndicator","useLoadingIndicator","jsx","Flow","onEvent","machine","current","send","useMachine","handleEvent","type","data","Component","Flex","FlowContext","jsxs","Suspense","FlowHeader"],"mappings":";;;;;;;AAeA,MAAMA,IAAuB;AAU7B,SAASC,IAAqB;AAC5B,QAAM,EAAE,kBAAAC,EAAA,IAAqBC,EAAA;AAC7B,SAAO,gBAAAC,EAACF,GAAA,EAAiB,QAAQF,EAAA,CAAsB;AACzD;AAuBO,MAAMK,IAAO,CAAkD;AAAA,EACpE,SAAAC;AAAA,EACA,SAAAC;AACF,MAAoB;AAClB,QAAM,CAACC,GAASC,CAAI,IAAIC,EAAWH,GAAS;AAAA,IAC1C,SAASI;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAED,WAASA,EAAYC,GAAiBC,GAAqB;AACzD,IAAAJ,EAAK,EAAE,MAAAG,GAAM,SAASC,EAAA,CAAM,GAC5BP,EAAQM,GAAMC,CAAI;AAAA,EACpB;AAEA,QAAMC,IAAYN,EAAQ,QAAQ;AAElC,2BACGO,GAAA,EACC,UAAA,gBAAAX;AAAA,IAACY,EAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAGR,EAAQ;AAAA,MAAA;AAAA,MAGb,UAAA,gBAAAS,EAACF,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAX,EAACc,KAAS,UAAU,gBAAAd,EAACH,KAAmB,GACtC,UAAA,gBAAAG,EAACe,KAAW,EAAA,CACd;AAAA,QACCL,uBAAcA,GAAA,CAAA,CAAU;AAAA,MAAA,EAAA,CAC3B;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as t, jsxs as b } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { BaseBoundaries as j } from "../Base/Base.js";
|
|
2
|
+
import { useState as E, useCallback as p, useMemo as Q, Suspense as I } from "react";
|
|
3
|
+
import { useTranslation as U } from "react-i18next";
|
|
4
|
+
import { informationRequestsMachine as k } from "./informationRequestsStateMachine.js";
|
|
5
|
+
import { useMachine as P } from "../../lib/state-machine/index.js";
|
|
6
|
+
import { BaseBoundaries as g } from "../Base/Base.js";
|
|
8
7
|
import "../Base/useBase.js";
|
|
9
|
-
import { Flex as
|
|
10
|
-
import { useComponentContext as
|
|
11
|
-
import { FlowContext as
|
|
12
|
-
import { useComponentDictionary as
|
|
8
|
+
import { Flex as j } from "../Common/Flex/Flex.js";
|
|
9
|
+
import { useComponentContext as B } from "../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
|
+
import { FlowContext as L } from "../Flow/useFlow.js";
|
|
11
|
+
import { useComponentDictionary as $, useI18n as w } from "../../i18n/I18n.js";
|
|
13
12
|
import { informationRequestEvents as s } from "../../shared/constants.js";
|
|
13
|
+
import { createMachine as z } from "../../lib/state-machine/core.js";
|
|
14
14
|
import { InformationRequestList as Y } from "./InformationRequestList/InformationRequestList.js";
|
|
15
15
|
const O = "informationRequestResponded";
|
|
16
16
|
function re({
|
|
@@ -21,8 +21,8 @@ function re({
|
|
|
21
21
|
},
|
|
22
22
|
LoaderComponent: i
|
|
23
23
|
}) {
|
|
24
|
-
|
|
25
|
-
const { t: c } =
|
|
24
|
+
$("InformationRequests", M), w("InformationRequests");
|
|
25
|
+
const { t: c } = U("InformationRequests"), { Modal: x, LoadingSpinner: f, Alert: A, Text: F } = B(), [N, l] = E(!1), [T, u] = E({
|
|
26
26
|
nextAlertId: 0,
|
|
27
27
|
alerts: []
|
|
28
28
|
}), _ = p((e) => {
|
|
@@ -35,10 +35,10 @@ function re({
|
|
|
35
35
|
nextAlertId: e.nextAlertId + 1,
|
|
36
36
|
alerts: [{ id: e.nextAlertId }, ...e.alerts]
|
|
37
37
|
}));
|
|
38
|
-
}, []), q =
|
|
39
|
-
() =>
|
|
38
|
+
}, []), q = Q(
|
|
39
|
+
() => z(
|
|
40
40
|
"list",
|
|
41
|
-
|
|
41
|
+
k,
|
|
42
42
|
() => ({
|
|
43
43
|
component: null,
|
|
44
44
|
companyId: r,
|
|
@@ -47,7 +47,7 @@ function re({
|
|
|
47
47
|
})
|
|
48
48
|
),
|
|
49
49
|
[r, i]
|
|
50
|
-
), [d, C] =
|
|
50
|
+
), [d, C] = P(q);
|
|
51
51
|
function n(e, o) {
|
|
52
52
|
C({ type: e, payload: o }), e === s.INFORMATION_REQUEST_RESPOND && l(!0), (e === s.INFORMATION_REQUEST_FORM_CANCEL || e === s.INFORMATION_REQUEST_FORM_DONE) && l(!1), e === s.INFORMATION_REQUEST_FORM_DONE && m && S(), h(e, o);
|
|
53
53
|
}
|
|
@@ -55,13 +55,13 @@ function re({
|
|
|
55
55
|
l(!1);
|
|
56
56
|
}, a = d.context.component, R = a?.Footer || void 0;
|
|
57
57
|
return /* @__PURE__ */ t(
|
|
58
|
-
|
|
58
|
+
L.Provider,
|
|
59
59
|
{
|
|
60
60
|
value: {
|
|
61
61
|
...d.context,
|
|
62
62
|
onEvent: n
|
|
63
63
|
},
|
|
64
|
-
children: /* @__PURE__ */ b(
|
|
64
|
+
children: /* @__PURE__ */ b(j, { flexDirection: "column", gap: 32, children: [
|
|
65
65
|
m && T.alerts.map((e) => /* @__PURE__ */ t(
|
|
66
66
|
A,
|
|
67
67
|
{
|
|
@@ -80,7 +80,7 @@ function re({
|
|
|
80
80
|
{
|
|
81
81
|
isOpen: N,
|
|
82
82
|
onClose: D,
|
|
83
|
-
footer: R && /* @__PURE__ */ t(
|
|
83
|
+
footer: R && /* @__PURE__ */ t(g, { LoaderComponent: i, children: /* @__PURE__ */ t(I, { fallback: /* @__PURE__ */ t(f, { size: "sm" }), children: /* @__PURE__ */ t(R, { onEvent: n }) }) }),
|
|
84
84
|
children: a && /* @__PURE__ */ t(a, {})
|
|
85
85
|
}
|
|
86
86
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InformationRequests.js","sources":["../../../src/components/InformationRequests/InformationRequests.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMachine } from 'react-robot'\nimport { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { InformationRequestList } from './InformationRequestList'\nimport { informationRequestsMachine } from './informationRequestsStateMachine'\nimport { type InformationRequestsContextInterface } from './InformationRequestsComponents'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { FlowContext } from '@/components/Flow/useFlow'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { informationRequestEvents, type EventType } from '@/shared/constants'\n\ninterface SubmissionAlert {\n id: number\n}\n\ninterface SubmissionAlertState {\n nextAlertId: number\n alerts: SubmissionAlert[]\n}\n\n/**\n * Props for {@link InformationRequestsFlow}.\n *\n * @public\n */\nexport interface InformationRequestsFlowProps extends Omit<\n BaseComponentInterface<'InformationRequests'>,\n 'onEvent'\n> {\n /** The associated company identifier. */\n companyId: string\n /**\n * When `true` (default), the submission success alert is rendered at the top of this component.\n * Set to `false` when embedding in a parent that renders the alert elsewhere.\n */\n withAlert?: boolean\n /** Callback invoked when the flow or its blocks emit an event. */\n onEvent?: BaseComponentInterface['onEvent']\n}\n\nconst ALERT_TYPE = 'informationRequestResponded' as const\n\n/**\n * Hub for viewing and responding to outstanding information requests from Gusto.\n *\n * @remarks\n * Renders the list of open and submitted information requests for a company and hosts the response form in a modal.\n * On successful submit, a dismissible success alert appears at the top of the list (when `withAlert` is `true`) and the modal closes.\n *\n * Information requests can also block payroll processing; in that case they are surfaced inline within\n * `Payroll.PayrollBlockerList`, which embeds this flow with `withAlert={false}` so the blocker list owns the alert UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `informationRequest/respond` | Fired when the user clicks \"Respond\" on a request and the form modal opens | `{ requestId: string }` |\n * | `informationRequest/form/done` | Fired when an information request is successfully submitted | Response from the Submit information request endpoint |\n * | `informationRequest/form/cancel` | Fired when the user cancels the response form (closes the modal without submitting) | — |\n *\n * Each piece is also exported as a standalone block (see the Blocks\n * table) for composing a custom workflow when this orchestration is the wrong\n * fit. See the\n * {@link https://sdk.gusto.com/docs/guides/integration-guide/composition | Composition guide}\n * for how to recompose these blocks into your own flow.\n *\n * @components\n * - {@link InformationRequestList}\n * - {@link InformationRequestForm}\n *\n * @param props - See {@link InformationRequestsFlowProps}.\n * @returns The information requests flow surface.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { InformationRequests } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <InformationRequests.InformationRequestsFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function InformationRequestsFlow({\n companyId,\n dictionary,\n withAlert = true,\n onEvent = () => {},\n LoaderComponent,\n}: InformationRequestsFlowProps) {\n useComponentDictionary('InformationRequests', dictionary)\n useI18n('InformationRequests')\n const { t } = useTranslation('InformationRequests')\n const { Modal, LoadingSpinner, Alert, Text } = useComponentContext()\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [alertState, setAlertState] = useState<SubmissionAlertState>({\n nextAlertId: 0,\n alerts: [],\n })\n\n const handleDismissAlert = useCallback((alertId: number) => {\n setAlertState(prev => ({\n ...prev,\n alerts: prev.alerts.filter(alert => alert.id !== alertId),\n }))\n }, [])\n\n const addSubmissionAlert = useCallback(() => {\n setAlertState(prev => ({\n nextAlertId: prev.nextAlertId + 1,\n alerts: [{ id: prev.nextAlertId }, ...prev.alerts],\n }))\n }, [])\n\n const informationRequestsMachineInstance = useMemo(\n () =>\n createMachine(\n 'list',\n informationRequestsMachine,\n (): InformationRequestsContextInterface => ({\n component: null,\n companyId,\n onEvent: handleEvent,\n LoaderComponent,\n }),\n ),\n [companyId, LoaderComponent],\n )\n const [current, send] = useMachine(informationRequestsMachineInstance)\n\n function handleEvent(type: EventType, data?: unknown) {\n send({ type, payload: data })\n\n if (type === informationRequestEvents.INFORMATION_REQUEST_RESPOND) {\n setIsModalOpen(true)\n }\n\n if (\n type === informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL ||\n type === informationRequestEvents.INFORMATION_REQUEST_FORM_DONE\n ) {\n setIsModalOpen(false)\n }\n\n if (type === informationRequestEvents.INFORMATION_REQUEST_FORM_DONE && withAlert) {\n addSubmissionAlert()\n }\n\n onEvent(type, data)\n }\n\n const handleCloseModal = () => {\n setIsModalOpen(false)\n }\n\n const CurrentComponent = current.context.component\n const Footer = CurrentComponent?.Footer || undefined\n\n return (\n <FlowContext.Provider\n value={{\n ...current.context,\n onEvent: handleEvent,\n }}\n >\n <Flex flexDirection=\"column\" gap={32}>\n {withAlert &&\n alertState.alerts.map(alert => (\n <Alert\n key={alert.id}\n status=\"success\"\n label={t(`alerts.${ALERT_TYPE}.title`)}\n onDismiss={() => {\n handleDismissAlert(alert.id)\n }}\n >\n <Text>{t(`alerts.${ALERT_TYPE}.description`)}</Text>\n </Alert>\n ))}\n\n <Suspense fallback={<LoadingSpinner />}>\n <InformationRequestList companyId={companyId} onEvent={handleEvent} />\n </Suspense>\n <Modal\n isOpen={isModalOpen}\n onClose={handleCloseModal}\n footer={\n Footer && (\n <BaseBoundaries LoaderComponent={LoaderComponent}>\n <Suspense fallback={<LoadingSpinner size=\"sm\" />}>\n <Footer onEvent={handleEvent} />\n </Suspense>\n </BaseBoundaries>\n )\n }\n >\n {CurrentComponent && <CurrentComponent />}\n </Modal>\n </Flex>\n </FlowContext.Provider>\n )\n}\n"],"names":["ALERT_TYPE","InformationRequestsFlow","companyId","dictionary","withAlert","onEvent","LoaderComponent","useComponentDictionary","useI18n","t","useTranslation","Modal","LoadingSpinner","Alert","Text","useComponentContext","isModalOpen","setIsModalOpen","useState","alertState","setAlertState","handleDismissAlert","useCallback","alertId","prev","alert","addSubmissionAlert","informationRequestsMachineInstance","useMemo","createMachine","informationRequestsMachine","handleEvent","current","send","useMachine","type","data","informationRequestEvents","handleCloseModal","CurrentComponent","Footer","jsx","FlowContext","jsxs","Flex","Suspense","InformationRequestList","BaseBoundaries"],"mappings":";;;;;;;;;;;;;;AA2CA,MAAMA,IAAa;AA+CZ,SAASC,GAAwB;AAAA,EACtC,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,SAAAC,IAAU,MAAM;AAAA,EAAC;AAAA,EACjB,iBAAAC;AACF,GAAiC;AAC/B,EAAAC,EAAuB,uBAAuBJ,CAAU,GACxDK,EAAQ,qBAAqB;AAC7B,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5C,EAAE,OAAAC,GAAO,gBAAAC,GAAgB,OAAAC,GAAO,MAAAC,EAAA,IAASC,EAAA,GACzC,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAYC,CAAa,IAAIF,EAA+B;AAAA,IACjE,aAAa;AAAA,IACb,QAAQ,CAAA;AAAA,EAAC,CACV,GAEKG,IAAqBC,EAAY,CAACC,MAAoB;AAC1D,IAAAH,EAAc,CAAAI,OAAS;AAAA,MACrB,GAAGA;AAAA,MACH,QAAQA,EAAK,OAAO,OAAO,CAAAC,MAASA,EAAM,OAAOF,CAAO;AAAA,IAAA,EACxD;AAAA,EACJ,GAAG,CAAA,CAAE,GAECG,IAAqBJ,EAAY,MAAM;AAC3C,IAAAF,EAAc,CAAAI,OAAS;AAAA,MACrB,aAAaA,EAAK,cAAc;AAAA,MAChC,QAAQ,CAAC,EAAE,IAAIA,EAAK,YAAA,GAAe,GAAGA,EAAK,MAAM;AAAA,IAAA,EACjD;AAAA,EACJ,GAAG,CAAA,CAAE,GAECG,IAAqCC;AAAA,IACzC,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,OAA4C;AAAA,QAC1C,WAAW;AAAA,QACX,WAAA5B;AAAA,QACA,SAAS6B;AAAA,QACT,iBAAAzB;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACJ,GAAWI,CAAe;AAAA,EAAA,GAEvB,CAAC0B,GAASC,CAAI,IAAIC,EAAWP,CAAkC;AAErE,WAASI,EAAYI,GAAiBC,GAAgB;AACpD,IAAAH,EAAK,EAAE,MAAAE,GAAM,SAASC,EAAA,CAAM,GAExBD,MAASE,EAAyB,+BACpCpB,EAAe,EAAI,IAInBkB,MAASE,EAAyB,mCAClCF,MAASE,EAAyB,kCAElCpB,EAAe,EAAK,GAGlBkB,MAASE,EAAyB,iCAAiCjC,KACrEsB,EAAA,GAGFrB,EAAQ8B,GAAMC,CAAI;AAAA,EACpB;AAEA,QAAME,IAAmB,MAAM;AAC7B,IAAArB,EAAe,EAAK;AAAA,EACtB,GAEMsB,IAAmBP,EAAQ,QAAQ,WACnCQ,IAASD,GAAkB,UAAU;AAE3C,SACE,gBAAAE;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAGV,EAAQ;AAAA,QACX,SAASD;AAAA,MAAA;AAAA,MAGX,UAAA,gBAAAY,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,QAAAxC,KACCe,EAAW,OAAO,IAAI,CAAAM,MACpB,gBAAAgB;AAAA,UAAC5B;AAAA,UAAA;AAAA,YAEC,QAAO;AAAA,YACP,OAAOJ,EAAE,UAAUT,CAAU,QAAQ;AAAA,YACrC,WAAW,MAAM;AACf,cAAAqB,EAAmBI,EAAM,EAAE;AAAA,YAC7B;AAAA,YAEA,4BAACX,GAAA,EAAM,UAAAL,EAAE,UAAUT,CAAU,cAAc,EAAA,CAAE;AAAA,UAAA;AAAA,UAPxCyB,EAAM;AAAA,QAAA,CASd;AAAA,QAEH,gBAAAgB,EAACI,GAAA,EAAS,UAAU,gBAAAJ,EAAC7B,GAAA,CAAA,CAAe,GAClC,UAAA,gBAAA6B,EAACK,GAAA,EAAuB,WAAA5C,GAAsB,SAAS6B,EAAA,CAAa,GACtE;AAAA,QACA,gBAAAU;AAAA,UAAC9B;AAAA,UAAA;AAAA,YACC,QAAQK;AAAA,YACR,SAASsB;AAAA,YACT,QACEE,KACE,gBAAAC,EAACM,KAAe,iBAAAzC,GACd,UAAA,gBAAAmC,EAACI,KAAS,UAAU,gBAAAJ,EAAC7B,GAAA,EAAe,MAAK,MAAK,GAC5C,UAAA,gBAAA6B,EAACD,KAAO,SAAST,GAAa,GAChC,EAAA,CACF;AAAA,YAIH,UAAAQ,uBAAqBA,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,MACzC,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
1
|
+
{"version":3,"file":"InformationRequests.js","sources":["../../../src/components/InformationRequests/InformationRequests.tsx"],"sourcesContent":["import { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { InformationRequestList } from './InformationRequestList'\nimport { informationRequestsMachine } from './informationRequestsStateMachine'\nimport { type InformationRequestsContextInterface } from './InformationRequestsComponents'\nimport { createMachine, useMachine } from '@/lib/state-machine'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { FlowContext } from '@/components/Flow/useFlow'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { informationRequestEvents, type EventType } from '@/shared/constants'\n\ninterface SubmissionAlert {\n id: number\n}\n\ninterface SubmissionAlertState {\n nextAlertId: number\n alerts: SubmissionAlert[]\n}\n\n/**\n * Props for {@link InformationRequestsFlow}.\n *\n * @public\n */\nexport interface InformationRequestsFlowProps extends Omit<\n BaseComponentInterface<'InformationRequests'>,\n 'onEvent'\n> {\n /** The associated company identifier. */\n companyId: string\n /**\n * When `true` (default), the submission success alert is rendered at the top of this component.\n * Set to `false` when embedding in a parent that renders the alert elsewhere.\n */\n withAlert?: boolean\n /** Callback invoked when the flow or its blocks emit an event. */\n onEvent?: BaseComponentInterface['onEvent']\n}\n\nconst ALERT_TYPE = 'informationRequestResponded' as const\n\n/**\n * Hub for viewing and responding to outstanding information requests from Gusto.\n *\n * @remarks\n * Renders the list of open and submitted information requests for a company and hosts the response form in a modal.\n * On successful submit, a dismissible success alert appears at the top of the list (when `withAlert` is `true`) and the modal closes.\n *\n * Information requests can also block payroll processing; in that case they are surfaced inline within\n * `Payroll.PayrollBlockerList`, which embeds this flow with `withAlert={false}` so the blocker list owns the alert UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `informationRequest/respond` | Fired when the user clicks \"Respond\" on a request and the form modal opens | `{ requestId: string }` |\n * | `informationRequest/form/done` | Fired when an information request is successfully submitted | Response from the Submit information request endpoint |\n * | `informationRequest/form/cancel` | Fired when the user cancels the response form (closes the modal without submitting) | — |\n *\n * Each piece is also exported as a standalone block (see the Blocks\n * table) for composing a custom workflow when this orchestration is the wrong\n * fit. See the\n * {@link https://sdk.gusto.com/docs/guides/integration-guide/composition | Composition guide}\n * for how to recompose these blocks into your own flow.\n *\n * @components\n * - {@link InformationRequestList}\n * - {@link InformationRequestForm}\n *\n * @param props - See {@link InformationRequestsFlowProps}.\n * @returns The information requests flow surface.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { InformationRequests } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <InformationRequests.InformationRequestsFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function InformationRequestsFlow({\n companyId,\n dictionary,\n withAlert = true,\n onEvent = () => {},\n LoaderComponent,\n}: InformationRequestsFlowProps) {\n useComponentDictionary('InformationRequests', dictionary)\n useI18n('InformationRequests')\n const { t } = useTranslation('InformationRequests')\n const { Modal, LoadingSpinner, Alert, Text } = useComponentContext()\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [alertState, setAlertState] = useState<SubmissionAlertState>({\n nextAlertId: 0,\n alerts: [],\n })\n\n const handleDismissAlert = useCallback((alertId: number) => {\n setAlertState(prev => ({\n ...prev,\n alerts: prev.alerts.filter(alert => alert.id !== alertId),\n }))\n }, [])\n\n const addSubmissionAlert = useCallback(() => {\n setAlertState(prev => ({\n nextAlertId: prev.nextAlertId + 1,\n alerts: [{ id: prev.nextAlertId }, ...prev.alerts],\n }))\n }, [])\n\n const informationRequestsMachineInstance = useMemo(\n () =>\n createMachine(\n 'list',\n informationRequestsMachine,\n (): InformationRequestsContextInterface => ({\n component: null,\n companyId,\n onEvent: handleEvent,\n LoaderComponent,\n }),\n ),\n [companyId, LoaderComponent],\n )\n const [current, send] = useMachine(informationRequestsMachineInstance)\n\n function handleEvent(type: EventType, data?: unknown) {\n send({ type, payload: data })\n\n if (type === informationRequestEvents.INFORMATION_REQUEST_RESPOND) {\n setIsModalOpen(true)\n }\n\n if (\n type === informationRequestEvents.INFORMATION_REQUEST_FORM_CANCEL ||\n type === informationRequestEvents.INFORMATION_REQUEST_FORM_DONE\n ) {\n setIsModalOpen(false)\n }\n\n if (type === informationRequestEvents.INFORMATION_REQUEST_FORM_DONE && withAlert) {\n addSubmissionAlert()\n }\n\n onEvent(type, data)\n }\n\n const handleCloseModal = () => {\n setIsModalOpen(false)\n }\n\n const CurrentComponent = current.context.component\n const Footer = CurrentComponent?.Footer || undefined\n\n return (\n <FlowContext.Provider\n value={{\n ...current.context,\n onEvent: handleEvent,\n }}\n >\n <Flex flexDirection=\"column\" gap={32}>\n {withAlert &&\n alertState.alerts.map(alert => (\n <Alert\n key={alert.id}\n status=\"success\"\n label={t(`alerts.${ALERT_TYPE}.title`)}\n onDismiss={() => {\n handleDismissAlert(alert.id)\n }}\n >\n <Text>{t(`alerts.${ALERT_TYPE}.description`)}</Text>\n </Alert>\n ))}\n\n <Suspense fallback={<LoadingSpinner />}>\n <InformationRequestList companyId={companyId} onEvent={handleEvent} />\n </Suspense>\n <Modal\n isOpen={isModalOpen}\n onClose={handleCloseModal}\n footer={\n Footer && (\n <BaseBoundaries LoaderComponent={LoaderComponent}>\n <Suspense fallback={<LoadingSpinner size=\"sm\" />}>\n <Footer onEvent={handleEvent} />\n </Suspense>\n </BaseBoundaries>\n )\n }\n >\n {CurrentComponent && <CurrentComponent />}\n </Modal>\n </Flex>\n </FlowContext.Provider>\n )\n}\n"],"names":["ALERT_TYPE","InformationRequestsFlow","companyId","dictionary","withAlert","onEvent","LoaderComponent","useComponentDictionary","useI18n","t","useTranslation","Modal","LoadingSpinner","Alert","Text","useComponentContext","isModalOpen","setIsModalOpen","useState","alertState","setAlertState","handleDismissAlert","useCallback","alertId","prev","alert","addSubmissionAlert","informationRequestsMachineInstance","useMemo","createMachine","informationRequestsMachine","handleEvent","current","send","useMachine","type","data","informationRequestEvents","handleCloseModal","CurrentComponent","Footer","jsx","FlowContext","jsxs","Flex","Suspense","InformationRequestList","BaseBoundaries"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export type EventPayloads = {
|
|
|
9
9
|
};
|
|
10
10
|
/** @internal */
|
|
11
11
|
export declare const informationRequestsMachine: {
|
|
12
|
-
list: import('
|
|
13
|
-
form: import('
|
|
14
|
-
final: import('
|
|
12
|
+
list: import('../../lib/state-machine').StateDefinition;
|
|
13
|
+
form: import('../../lib/state-machine').StateDefinition;
|
|
14
|
+
final: import('../../lib/state-machine').StateDefinition;
|
|
15
15
|
};
|