@gusto/embedded-react-sdk 0.54.1-rc.1 → 0.55.0
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 +10 -0
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +3 -3
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +5 -6
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
- 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 +4 -5
- 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 +6 -7
- package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
- 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 +12 -13
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/stateMachine.d.ts +4 -4
- package/dist/components/Company/DocumentSigner/stateMachine.js +13 -14
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -8
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
- 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 +4 -5
- 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 +2 -3
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +23 -17
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +8 -0
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +12 -5
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +10 -10
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +10 -11
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -5
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +7 -7
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +3 -3
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +3 -4
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.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 +4 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -5
- 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 +12 -13
- 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 +13 -14
- 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 +3 -4
- package/dist/components/Contractor/Compensation/management/compensationStateMachine.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 +6 -7
- 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 +12 -13
- package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.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 +7 -8
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.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 +13 -14
- package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- 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 +8 -9
- package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js.map +1 -1
- 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 +9 -10
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- 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 +14 -15
- package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js.map +1 -1
- 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 +10 -11
- package/dist/components/Contractor/Profile/management/profileStateMachine.js.map +1 -1
- 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 +6 -7
- package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- 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 +20 -21
- 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 +10 -11
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
- 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 +14 -15
- 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 +8 -9
- 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 +8 -9
- package/dist/components/Employee/Deductions/onboarding/stateMachine.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 +3 -4
- package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
- 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 +12 -13
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +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 +7 -8
- 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 +3 -4
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
- 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 +5 -6
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.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 +19 -20
- 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 +3 -4
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.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/paymentMethodStateMachine.d.ts +3 -3
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +8 -9
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- 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 +6 -7
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
- 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 +11 -12
- package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
- 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 +20 -21
- 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 +3 -4
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
- 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 +6 -7
- 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 +1 -2
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
- package/dist/components/Flow/Flow.d.ts +7 -6
- package/dist/components/Flow/Flow.js +22 -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 +9 -10
- 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 +3 -4
- 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 +9 -10
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
- 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 +14 -15
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.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 +11 -12
- 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 +14 -15
- 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 +12 -13
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.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 +5 -6
- 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 +14 -15
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
- 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 +4 -5
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/shared/constants.js +1 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/types/Helpers.d.ts +3 -1
- package/package.json +4 -2
- package/dist/lib/state-machine/__tests__/core.test.d.ts +0 -1
- package/dist/lib/state-machine/core.d.ts +0 -20
- package/dist/lib/state-machine/core.js +0 -48
- package/dist/lib/state-machine/core.js.map +0 -1
- package/dist/lib/state-machine/index.d.ts +0 -5
- package/dist/lib/state-machine/index.js +0 -39
- package/dist/lib/state-machine/index.js.map +0 -1
- package/dist/lib/state-machine/types.d.ts +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFlow.js","sources":["../../../../src/components/Contractor/Dashboard/DashboardFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { dashboardStateMachine } from './dashboardStateMachine'\nimport { type DashboardContextInterface, DashboardViewContextual } from './DashboardComponents'\nimport {
|
|
1
|
+
{"version":3,"file":"DashboardFlow.js","sources":["../../../../src/components/Contractor/Dashboard/DashboardFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { dashboardStateMachine } from './dashboardStateMachine'\nimport { type DashboardContextInterface, DashboardViewContextual } from './DashboardComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link DashboardFlow}.\n *\n * @public\n */\nexport interface DashboardFlowProps extends BaseComponentInterface<never> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Hub for viewing and managing a single contractor's details, pay, and documents.\n *\n * @remarks\n * Renders a tabbed view of a contractor (Details, Pay, Documents), wires the\n * card surfaces to their corresponding edit screens via an internal state\n * machine, and surfaces success alerts at the top of the dashboard after\n * each successful edit. Wraps the dashboard in error and suspense\n * boundaries.\n *\n * Every tab section of the dashboard is also exported as a self-contained\n * block that can be dropped into a custom layout without the surrounding\n * dashboard chrome (see the blocks below). Each block wraps its read-only\n * card, its edit form, and the card↔form transitions as a single drop-in.\n * For cases where that built-in orchestration doesn't fit — rendering a\n * form in a modal, driving navigation via a router, or showing a card\n * read-only — each block's card and form are also exported individually\n * (e.g. {@link CompensationCard}, {@link CompensationEditForm}). Using the\n * individual pieces means owning the swap, any success alerts, and\n * cross-component state yourself.\n *\n * The dashboard composes self-fetching cards and their edit forms and\n * forwards every event they emit to the partner via `onEvent`; its internal\n * state machine also reacts to a subset of these events to swap between the\n * cards and edit screens and to surface success alerts. The table below is\n * the complete, current set of events observable from `DashboardFlow`,\n * grouped by the tab that emits them.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/profile/editRequested` | Fired when \"Edit\" is clicked on the Profile card | `{ contractorId: string }` |\n * | `contractor/management/profile/updated` | Fired after the profile edit form is saved; the dashboard returns to the cards and surfaces the \"Profile updated\" alert | Updated `Contractor` entity |\n * | `contractor/management/profile/editCancelled` | Fired when the user clicks Cancel on the profile edit form; the dashboard returns to the cards | — |\n * | `contractor/management/address/editRequested` | Fired when \"Edit\" is clicked on the Address card | `{ contractorId: string }` |\n * | `contractor/management/address/updated` | Fired after the address edit form is saved; the dashboard returns to the cards and surfaces the \"Address updated\" alert | Updated `ContractorAddress` entity |\n * | `contractor/management/address/editCancelled` | Fired when the user clicks Cancel on the address edit form; the dashboard returns to the cards | — |\n * | `contractor/management/paymentMethod/card/addRequested` | Fired when \"Add bank account\" is clicked on the Payment card | `{ contractorId: string }` |\n * | `contractor/management/paymentMethod/card/editRequested` | Fired when \"Edit\" is chosen from the bank account row menu | `{ contractorId: string }` |\n * | `contractor/management/paymentMethod/card/removed` | Fired after the bank account is removed from the card; the dashboard surfaces the \"Bank account removed\" alert | Updated `ContractorPaymentMethod` entity |\n * | `contractor/management/paymentMethod/bankForm/submitted` | Fired after the bank-account form is saved; the dashboard returns to the cards and surfaces the \"Bank account added\" alert | Created `ContractorBankAccount` entity |\n * | `contractor/management/paymentMethod/bankForm/cancelled` | Fired when the user cancels the bank-account form; the dashboard returns to the cards | — |\n * | `contractor/management/compensation/editRequested` | Fired when \"Edit\" is clicked on the Compensation card | `{ contractorId: string }` |\n * | `contractor/management/compensation/updated` | Fired after compensation is saved; the dashboard returns to the cards and surfaces the \"Compensation updated\" alert | Updated `Contractor` entity |\n * | `contractor/management/compensation/editCancelled` | Fired when the user cancels editing compensation; the dashboard returns to the cards | — |\n * | `contractor/management/documents/card/viewRequested` | Fired when a document row's \"View\" button is clicked, before the PDF is fetched | `{ contractorId: string, documentUuid: string }` |\n * | `contractor/management/documents/card/viewed` | Fired after the PDF is fetched and opened in a new tab | `{ contractorId: string, documentUuid: string }` |\n * | `contractor/dashboard/tabChange` | Fired when the user switches dashboard tabs | `{ tab: 'details' \\| 'pay' \\| 'documents' }` |\n * | `contractor/dashboard/alertDismissed` | Fired when the user dismisses a top-of-dashboard success alert | — |\n *\n * @components\n * - {@link Dashboard}\n * - {@link ProfileEditForm}\n * - {@link AddressEditForm}\n * - {@link PaymentMethodEditForm}\n * - {@link CompensationEditForm}\n * - {@link DocumentsCard}\n *\n * @param props - See {@link DashboardFlowProps}.\n * @returns The tabbed dashboard with internal navigation between cards and edit screens.\n * @public\n * @group Flow components\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { ContractorManagement } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <ContractorManagement.DashboardFlow\n * contractorId=\"4b3f930f-82cd-48a8-b797-798686e12e5e\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport const DashboardFlow = ({ contractorId, onEvent }: DashboardFlowProps) => {\n const dashboardMachine = useMemo(\n () =>\n createMachine(\n 'index',\n dashboardStateMachine,\n (initialContext: DashboardContextInterface) => ({\n ...initialContext,\n component: DashboardViewContextual,\n contractorId,\n }),\n ),\n [contractorId],\n )\n\n return <Flow machine={dashboardMachine} onEvent={onEvent} />\n}\n"],"names":["DashboardFlow","contractorId","onEvent","dashboardMachine","useMemo","createMachine","dashboardStateMachine","initialContext","DashboardViewContextual","jsx","Flow"],"mappings":";;;;;;AA8FO,MAAMA,IAAgB,CAAC,EAAE,cAAAC,GAAc,SAAAC,QAAkC;AAC9E,QAAMC,IAAmBC;AAAA,IACvB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAA+C;AAAA,QAC9C,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,cAAAP;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACA,CAAY;AAAA,EAAA;AAGf,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAASP,GAAkB,SAAAD,EAAA,CAAkB;AAC5D;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
export declare const dashboardStateMachine: {
|
|
3
|
-
index: import('
|
|
4
|
-
profile: import('
|
|
5
|
-
address: import('
|
|
6
|
-
paymentMethodEdit: import('
|
|
7
|
-
compensationEdit: import('
|
|
3
|
+
index: import('robot3').MachineState<any>;
|
|
4
|
+
profile: import('robot3').MachineState<any>;
|
|
5
|
+
address: import('robot3').MachineState<any>;
|
|
6
|
+
paymentMethodEdit: import('robot3').MachineState<any>;
|
|
7
|
+
compensationEdit: import('robot3').MachineState<any>;
|
|
8
8
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import { state as t, transition as A, reduce as T } from "../../../lib/state-machine/core.js";
|
|
1
|
+
import { state as t, transition as A, reduce as T } from "robot3";
|
|
2
|
+
import { ProfileContextual as R, AddressContextual as M, PaymentMethodEditFormContextual as o, CompensationEditFormContextual as O, DashboardViewContextual as C } from "./DashboardComponents.js";
|
|
4
3
|
import { componentEvents as e } from "../../../shared/constants.js";
|
|
5
4
|
const _ = T((E) => ({
|
|
6
5
|
...E,
|
|
@@ -10,14 +9,14 @@ const _ = T((E) => ({
|
|
|
10
9
|
...N,
|
|
11
10
|
component: C,
|
|
12
11
|
successAlert: E
|
|
13
|
-
})),
|
|
12
|
+
})), c = {
|
|
14
13
|
index: t(
|
|
15
14
|
A(
|
|
16
15
|
e.CONTRACTOR_MANAGEMENT_PROFILE_EDIT_REQUESTED,
|
|
17
16
|
"profile",
|
|
18
17
|
T((E) => ({
|
|
19
18
|
...E,
|
|
20
|
-
component:
|
|
19
|
+
component: R,
|
|
21
20
|
successAlert: null
|
|
22
21
|
}))
|
|
23
22
|
),
|
|
@@ -61,7 +60,7 @@ const _ = T((E) => ({
|
|
|
61
60
|
"compensationEdit",
|
|
62
61
|
T((E) => ({
|
|
63
62
|
...E,
|
|
64
|
-
component:
|
|
63
|
+
component: O,
|
|
65
64
|
successAlert: null
|
|
66
65
|
}))
|
|
67
66
|
),
|
|
@@ -134,6 +133,6 @@ const _ = T((E) => ({
|
|
|
134
133
|
)
|
|
135
134
|
};
|
|
136
135
|
export {
|
|
137
|
-
|
|
136
|
+
c as dashboardStateMachine
|
|
138
137
|
};
|
|
139
138
|
//# sourceMappingURL=dashboardStateMachine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboardStateMachine.js","sources":["../../../../src/components/Contractor/Dashboard/dashboardStateMachine.ts"],"sourcesContent":["import type { DashboardTab } from './Dashboard'\nimport {\n DashboardViewContextual,\n ProfileContextual,\n AddressContextual,\n PaymentMethodEditFormContextual,\n CompensationEditFormContextual,\n type DashboardContextInterface,\n} from './DashboardComponents'\nimport {
|
|
1
|
+
{"version":3,"file":"dashboardStateMachine.js","sources":["../../../../src/components/Contractor/Dashboard/dashboardStateMachine.ts"],"sourcesContent":["import { transition, reduce, state } from 'robot3'\nimport type { DashboardTab } from './Dashboard'\nimport {\n DashboardViewContextual,\n ProfileContextual,\n AddressContextual,\n PaymentMethodEditFormContextual,\n CompensationEditFormContextual,\n type DashboardContextInterface,\n} from './DashboardComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_DASHBOARD_TAB_CHANGE]: { tab: DashboardTab }\n}\n\nconst returnToIndex = reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: DashboardViewContextual,\n successAlert: null,\n}))\n\nconst returnToIndexWithAlert = (alert: DashboardContextInterface['successAlert']) =>\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: DashboardViewContextual,\n successAlert: alert,\n }))\n\n/** @internal */\nexport const dashboardStateMachine = {\n index: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PROFILE_EDIT_REQUESTED,\n 'profile',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: ProfileContextual,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_ADDRESS_EDIT_REQUESTED,\n 'address',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: AddressContextual,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_CARD_ADD_REQUESTED,\n 'paymentMethodEdit',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: PaymentMethodEditFormContextual,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_CARD_EDIT_REQUESTED,\n 'paymentMethodEdit',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: PaymentMethodEditFormContextual,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_CARD_REMOVED,\n 'index',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n successAlert: 'bankAccountRemoved',\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_REQUESTED,\n 'compensationEdit',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n component: CompensationEditFormContextual,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_DASHBOARD_ALERT_DISMISSED,\n 'index',\n reduce((ctx: DashboardContextInterface): DashboardContextInterface => ({\n ...ctx,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_DASHBOARD_TAB_CHANGE,\n 'index',\n reduce(\n (\n ctx: DashboardContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.CONTRACTOR_DASHBOARD_TAB_CHANGE\n >,\n ): DashboardContextInterface => ({\n ...ctx,\n selectedTab: ev.payload.tab,\n }),\n ),\n ),\n ),\n profile: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PROFILE_EDIT_CANCELLED,\n 'index',\n returnToIndex,\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PROFILE_UPDATED,\n 'index',\n returnToIndexWithAlert('profileUpdated'),\n ),\n ),\n address: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_ADDRESS_EDIT_CANCELLED,\n 'index',\n returnToIndex,\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_ADDRESS_UPDATED,\n 'index',\n returnToIndexWithAlert('addressUpdated'),\n ),\n ),\n paymentMethodEdit: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_SUBMITTED,\n 'index',\n returnToIndexWithAlert('bankAccountAdded'),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_CANCELLED,\n 'index',\n returnToIndex,\n ),\n ),\n compensationEdit: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_UPDATED,\n 'index',\n returnToIndexWithAlert('compensationUpdated'),\n ),\n transition(\n componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_CANCELLED,\n 'index',\n returnToIndex,\n ),\n ),\n}\n"],"names":["returnToIndex","reduce","ctx","DashboardViewContextual","returnToIndexWithAlert","alert","dashboardStateMachine","state","transition","componentEvents","ProfileContextual","AddressContextual","PaymentMethodEditFormContextual","CompensationEditFormContextual","ev"],"mappings":";;;AAiBA,MAAMA,IAAgBC,EAAO,CAACC,OAA+D;AAAA,EAC3F,GAAGA;AAAA,EACH,WAAWC;AAAA,EACX,cAAc;AAChB,EAAE,GAEIC,IAAyB,CAACC,MAC9BJ,EAAO,CAACC,OAA+D;AAAA,EACrE,GAAGA;AAAA,EACH,WAAWC;AAAA,EACX,cAAcE;AAChB,EAAE,GAGSC,IAAwB;AAAA,EACnC,OAAOC;AAAA,IACLC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJF;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,WAAWS;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJH;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,WAAWU;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,WAAWU;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJM;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,WAAWW;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJL;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAA+D;AAAA,QACrE,GAAGA;AAAA,QACH,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJM;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR;AAAA,QACE,CACEC,GACAY,OAI+B;AAAA,UAC/B,GAAGZ;AAAA,UACH,aAAaY,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAEF,SAASP;AAAA,IACPC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,IAEFQ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAuB,gBAAgB;AAAA,IAAA;AAAA,EACzC;AAAA,EAEF,SAASG;AAAA,IACPC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,IAEFQ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAuB,gBAAgB;AAAA,IAAA;AAAA,EACzC;AAAA,EAEF,mBAAmBG;AAAA,IACjBC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAuB,kBAAkB;AAAA,IAAA;AAAA,IAE3CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,kBAAkBO;AAAA,IAChBC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAuB,qBAAqB;AAAA,IAAA;AAAA,IAE9CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { createMachine as i } from "robot3";
|
|
3
|
+
import { useMemo as c } from "react";
|
|
4
|
+
import { DocumentsListContextual as u } from "./documentSignerStateMachine.js";
|
|
5
|
+
import { documentSignerMachine as p } from "./stateMachine.js";
|
|
6
6
|
import { Flow as f } from "../../../../Flow/Flow.js";
|
|
7
7
|
import { BaseComponent as s } from "../../../../Base/Base.js";
|
|
8
8
|
import "../../../../Base/useBase.js";
|
|
9
9
|
import { useComponentDictionary as a } from "../../../../../i18n/I18n.js";
|
|
10
10
|
function D({ contractorId: o, onEvent: n, dictionary: m }) {
|
|
11
11
|
a("Contractor.DocumentsList", m);
|
|
12
|
-
const r =
|
|
13
|
-
() =>
|
|
12
|
+
const r = c(
|
|
13
|
+
() => i(
|
|
14
14
|
"index",
|
|
15
|
-
|
|
15
|
+
p,
|
|
16
16
|
(e) => ({
|
|
17
17
|
...e,
|
|
18
|
-
component:
|
|
18
|
+
component: u,
|
|
19
19
|
contractorId: o
|
|
20
20
|
})
|
|
21
21
|
),
|
package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentSigner.js","sources":["../../../../../../src/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport type { DocumentsListProps } from '../DocumentsList'\nimport {\n DocumentsListContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport {
|
|
1
|
+
{"version":3,"file":"DocumentSigner.js","sources":["../../../../../../src/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport type { DocumentsListProps } from '../DocumentsList'\nimport {\n DocumentsListContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\n/**\n * Props for {@link DocumentSigner}.\n *\n * @public\n */\nexport interface DocumentSignerProps extends Omit<\n BaseComponentInterface<'Contractor.DocumentsList'>,\n 'dictionary'\n> {\n /** The associated contractor identifier. */\n contractorId: string\n /** Overrides for the document list copy shown by the signing flow. */\n dictionary?: DocumentsListProps['dictionary']\n}\n\nfunction DocumentSignerFlow({ contractorId, onEvent, dictionary }: DocumentSignerProps) {\n useComponentDictionary('Contractor.DocumentsList', dictionary)\n\n const machine = useMemo(\n () =>\n createMachine(\n 'index',\n documentSignerMachine,\n (initialContext: DocumentSignerContextInterface) => ({\n ...initialContext,\n component: DocumentsListContextual,\n contractorId,\n }),\n ),\n [contractorId],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n\n/**\n * Contractor onboarding step for reading and signing required contractor documents.\n *\n * @remarks\n * Composes the contractor {@link DocumentsList} and {@link SignatureForm} into a\n * single signing workflow: the document list is shown first, selecting a\n * document routes to its signature form, and signing (or navigating back)\n * returns to the list. The list refetches automatically once a document is\n * signed. The flow completes when every document that requires signing has been\n * signed and the user continues.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/documents/view` | Fired when a document's \"Sign\" action is selected from the document list | `{ uuid: string; title?: string }` |\n * | `contractor/documents/sign` | Fired after a document is successfully signed | The signed document |\n * | `contractor/documents/done` | Fired when all required documents have been signed and the parent flow can advance | — |\n * | `cancel` | Fired when the user navigates back from the signature form to the document list | — |\n *\n * @components\n * - {@link DocumentsList}\n * - {@link SignatureForm}\n *\n * @param props - See {@link DocumentSignerProps}.\n * @returns The document signer flow.\n * @public\n */\nexport function DocumentSigner(props: DocumentSignerProps) {\n return (\n <BaseComponent {...props}>\n <DocumentSignerFlow {...props} />\n </BaseComponent>\n )\n}\n"],"names":["DocumentSignerFlow","contractorId","onEvent","dictionary","useComponentDictionary","machine","useMemo","createMachine","documentSignerMachine","initialContext","DocumentsListContextual","jsx","Flow","DocumentSigner","props","BaseComponent"],"mappings":";;;;;;;;;AA2BA,SAASA,EAAmB,EAAE,cAAAC,GAAc,SAAAC,GAAS,YAAAC,KAAmC;AACtF,EAAAC,EAAuB,4BAA4BD,CAAU;AAE7D,QAAME,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,cAAAT;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACA,CAAY;AAAA,EAAA;AAGf,SAAO,gBAAAU,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAH,EAAA,CAAkB;AACnD;AA6BO,SAASW,EAAeC,GAA4B;AACzD,SACE,gBAAAH,EAACI,KAAe,GAAGD,GACjB,4BAACd,GAAA,EAAoB,GAAGc,GAAO,EAAA,CACjC;AAEJ;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
export declare const documentSignerMachine: {
|
|
3
|
-
index: import('
|
|
4
|
-
signatureForm: import('
|
|
3
|
+
index: import('robot3').MachineState<any>;
|
|
4
|
+
signatureForm: import('robot3').MachineState<any>;
|
|
5
5
|
};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import { state as m, transition as t, reduce as n } from "../../../../../lib/state-machine/core.js";
|
|
1
|
+
import { state as i, transition as n, reduce as t } from "robot3";
|
|
2
|
+
import { DocumentsListContextual as m, SignatureFormContextual as u } from "./documentSignerStateMachine.js";
|
|
4
3
|
import { componentEvents as e } from "../../../../../shared/constants.js";
|
|
5
4
|
const C = {
|
|
6
|
-
index:
|
|
7
|
-
|
|
5
|
+
index: i(
|
|
6
|
+
n(
|
|
8
7
|
e.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN,
|
|
9
8
|
"signatureForm",
|
|
10
|
-
|
|
9
|
+
t(
|
|
11
10
|
(o, r) => ({
|
|
12
11
|
...o,
|
|
13
12
|
documentUuid: r.payload.uuid,
|
|
@@ -16,23 +15,23 @@ const C = {
|
|
|
16
15
|
)
|
|
17
16
|
)
|
|
18
17
|
),
|
|
19
|
-
signatureForm:
|
|
20
|
-
|
|
18
|
+
signatureForm: i(
|
|
19
|
+
n(
|
|
21
20
|
e.CANCEL,
|
|
22
21
|
"index",
|
|
23
|
-
|
|
22
|
+
t((o) => ({
|
|
24
23
|
...o,
|
|
25
24
|
documentUuid: void 0,
|
|
26
|
-
component:
|
|
25
|
+
component: m
|
|
27
26
|
}))
|
|
28
27
|
),
|
|
29
|
-
|
|
28
|
+
n(
|
|
30
29
|
e.CONTRACTOR_SIGN_DOCUMENT,
|
|
31
30
|
"index",
|
|
32
|
-
|
|
31
|
+
t((o) => ({
|
|
33
32
|
...o,
|
|
34
33
|
documentUuid: void 0,
|
|
35
|
-
component:
|
|
34
|
+
component: m
|
|
36
35
|
}))
|
|
37
36
|
)
|
|
38
37
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateMachine.js","sources":["../../../../../../src/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"stateMachine.js","sources":["../../../../../../src/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.ts"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { DocumentSignerContextInterface, EventPayloads } from './documentSignerStateMachine'\nimport { SignatureFormContextual, DocumentsListContextual } from './documentSignerStateMachine'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/** @internal */\nexport const documentSignerMachine = {\n index: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN,\n 'signatureForm',\n reduce(\n (\n ctx: DocumentSignerContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN\n >,\n ): DocumentSignerContextInterface => ({\n ...ctx,\n documentUuid: ev.payload.uuid,\n component: SignatureFormContextual,\n }),\n ),\n ),\n ),\n signatureForm: state<MachineTransition>(\n transition(\n componentEvents.CANCEL,\n 'index',\n reduce((ctx: DocumentSignerContextInterface): DocumentSignerContextInterface => ({\n ...ctx,\n documentUuid: undefined,\n component: DocumentsListContextual,\n })),\n ),\n transition(\n componentEvents.CONTRACTOR_SIGN_DOCUMENT,\n 'index',\n reduce((ctx: DocumentSignerContextInterface): DocumentSignerContextInterface => ({\n ...ctx,\n documentUuid: undefined,\n component: DocumentsListContextual,\n })),\n ),\n ),\n}\n"],"names":["documentSignerMachine","state","transition","componentEvents","reduce","ctx","ev","SignatureFormContextual","DocumentsListContextual"],"mappings":";;;AAOO,MAAMA,IAAwB;AAAA,EACnC,OAAOC;AAAA,IACLC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEC,GACAC,OAIoC;AAAA,UACpC,GAAGD;AAAA,UACH,cAAcC,EAAG,QAAQ;AAAA,UACzB,WAAWC;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAEF,eAAeN;AAAA,IACbC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAyE;AAAA,QAC/E,GAAGA;AAAA,QACH,cAAc;AAAA,QACd,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,IAEJN;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAyE;AAAA,QAC/E,GAAGA;AAAA,QACH,cAAc;AAAA,QACd,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAEJ;"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { createMachine as e } from "robot3";
|
|
3
|
+
import { useMemo as a } from "react";
|
|
4
|
+
import { onboardingMachine as c } from "./onboardingStateMachine.js";
|
|
5
|
+
import { ContractorListContextual as f } from "./OnboardingFlowComponents.js";
|
|
6
6
|
import { Flow as p } from "../../Flow/Flow.js";
|
|
7
7
|
const x = ({ companyId: o, onEvent: n, defaultValues: r }) => {
|
|
8
|
-
const t =
|
|
9
|
-
() =>
|
|
8
|
+
const t = a(
|
|
9
|
+
() => e(
|
|
10
10
|
"list",
|
|
11
|
-
|
|
11
|
+
c,
|
|
12
12
|
(i) => ({
|
|
13
13
|
...i,
|
|
14
|
-
component:
|
|
14
|
+
component: f,
|
|
15
15
|
companyId: o,
|
|
16
16
|
defaultValues: r,
|
|
17
17
|
selfOnboarding: !1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { onboardingMachine } from './onboardingStateMachine'\nimport type { OnboardingFlowProps } from './OnboardingFlowComponents'\nimport {\n ContractorListContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport {
|
|
1
|
+
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { onboardingMachine } from './onboardingStateMachine'\nimport type { OnboardingFlowProps } from './OnboardingFlowComponents'\nimport {\n ContractorListContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\n/**\n * Guided flow for admins to onboard a contractor to the company.\n *\n * @remarks\n * Renders a multi-step experience that collects every piece of information\n * required to add a contractor to a company. Begins on the contractor list\n * and transitions into the per-step screens when \"Add contractor\" or a row's\n * \"Edit\"/\"Continue\" action is invoked; the submit step returns to the list.\n * The flow is driven by an internal state machine and wraps each step in\n * error and suspense boundaries.\n *\n * Each step of the flow is also exported as a standalone block (see the\n * Blocks table) for composing a custom workflow when this orchestration\n * is the wrong fit.\n *\n * The flow forwards every event emitted by its blocks to `onEvent`;\n * see the events table on each block for the full set of events and\n * payloads observable from this flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/create` | Fired when the user chooses to add a new contractor | — |\n * | `contractor/update` | Fired when the user selects a contractor to edit | `{ contractorId: string }` |\n * | `contractor/deleted` | Fired when a contractor is deleted | `{ contractorId: string }` |\n * | `contractor/onboarding/continue` | Fired when the user chooses to continue onboarding a contractor | — |\n * | `contractor/created` | Fired when a new contractor is created successfully | Create contractor API response |\n * | `contractor/updated` | Fired when an existing contractor is updated | Update contractor API response |\n * | `contractor/profile/done` | Fired when the contractor profile step is complete | `{ contractorId: string, onboardingStatus?: string, selfOnboarding: boolean }` |\n * | `contractor/address/updated` | Fired when the contractor address is updated | Create or update contractor address API response |\n * | `contractor/address/done` | Fired when the address step is complete | — |\n * | `contractor/bankAccount/created` | Fired when a bank account is created for the contractor | Create contractor bank account API response |\n * | `contractor/paymentMethod/updated` | Fired when the payment method is updated | Update contractor payment method API response |\n * | `contractor/paymentMethod/done` | Fired when the payment method step is complete | — |\n * | `contractor/newHireReport/updated` | Fired when the new hire report is updated | Update contractor API response |\n * | `contractor/newHireReport/done` | Fired when the new hire report step is complete | — |\n * | `contractor/onboardingStatus/updated` | Fired when the contractor's onboarding status is updated | Change contractor onboarding status API response |\n * | `contractor/submit/done` | Fired when the contractor submission is complete | `{ message: string }` or `{ onboardingStatus, message: string }` |\n * | `contractor/invite/selfOnboarding` | Fired when the contractor is invited for self-onboarding | `{ contractorId: string }` |\n *\n * @components\n * - {@link ContractorList}\n * - {@link ContractorProfile}\n * - {@link Address}\n * - {@link PaymentMethod}\n * - {@link NewHireReport}\n * - {@link ContractorSubmit}\n *\n * @param props - See {@link OnboardingFlowProps}.\n * @returns The multi-step onboarding flow with internal navigation between the contractor list and the per-step screens.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { ContractorOnboarding, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <ContractorOnboarding.OnboardingFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'contractor/submit/done') {\n * // Contractor onboarding complete — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport const OnboardingFlow = ({ companyId, onEvent, defaultValues }: OnboardingFlowProps) => {\n const onboardingFlow = useMemo(\n () =>\n createMachine(\n 'list',\n onboardingMachine,\n (initialContext: OnboardingFlowContextInterface) => ({\n ...initialContext,\n component: ContractorListContextual,\n companyId,\n defaultValues,\n selfOnboarding: false,\n }),\n ),\n [companyId, defaultValues],\n )\n return <Flow machine={onboardingFlow} onEvent={onEvent} />\n}\n"],"names":["OnboardingFlow","companyId","onEvent","defaultValues","onboardingFlow","useMemo","createMachine","onboardingMachine","initialContext","ContractorListContextual","jsx","Flow"],"mappings":";;;;;;AAgFO,MAAMA,IAAiB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,QAAyC;AAC5F,QAAMC,IAAiBC;AAAA,IACrB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAR;AAAA,QACA,eAAAE;AAAA,QACA,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,IAEJ,CAACF,GAAWE,CAAa;AAAA,EAAA;AAE3B,SAAO,gBAAAO,EAACC,GAAA,EAAK,SAASP,GAAgB,SAAAF,EAAA,CAAkB;AAC1D;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
export declare const onboardingMachine: {
|
|
3
|
-
list: import('
|
|
4
|
-
profile: import('
|
|
5
|
-
address: import('
|
|
6
|
-
paymentMethod: import('
|
|
7
|
-
newHireReport: import('
|
|
8
|
-
submit: import('
|
|
9
|
-
final: import('
|
|
3
|
+
list: import('robot3').MachineState<any>;
|
|
4
|
+
profile: import('robot3').MachineState<any>;
|
|
5
|
+
address: import('robot3').MachineState<any>;
|
|
6
|
+
paymentMethod: import('robot3').MachineState<any>;
|
|
7
|
+
newHireReport: import('robot3').MachineState<any>;
|
|
8
|
+
submit: import('robot3').MachineState<any>;
|
|
9
|
+
final: import('robot3').MachineState<any>;
|
|
10
10
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import { state as d, transition as r, reduce as t, guard as i } from "../../../lib/state-machine/core.js";
|
|
1
|
+
import { state as d, transition as r, reduce as t, guard as i } from "robot3";
|
|
2
|
+
import { ContractorListContextual as f, SubmitContextual as l, NewHireReportContextual as R, PaymentMethodContextual as h, AddressContextual as g, ProfileContextual as N, ProgressBarCta as b } from "./OnboardingFlowComponents.js";
|
|
4
3
|
import { componentEvents as n, ContractorOnboardingStatus as u } from "../../../shared/constants.js";
|
|
5
4
|
const T = /* @__PURE__ */ new Set([
|
|
6
5
|
u.ADMIN_ONBOARDING_INCOMPLETE,
|
|
@@ -17,7 +16,7 @@ const T = /* @__PURE__ */ new Set([
|
|
|
17
16
|
type: "progress",
|
|
18
17
|
currentStep: c.indexOf(e) + 1,
|
|
19
18
|
totalSteps: c.length,
|
|
20
|
-
cta:
|
|
19
|
+
cta: b
|
|
21
20
|
};
|
|
22
21
|
}, w = (e) => (o) => ({
|
|
23
22
|
...o,
|
|
@@ -33,7 +32,7 @@ const T = /* @__PURE__ */ new Set([
|
|
|
33
32
|
successMessage: void 0
|
|
34
33
|
})
|
|
35
34
|
)
|
|
36
|
-
),
|
|
35
|
+
), H = {
|
|
37
36
|
list: d(
|
|
38
37
|
r(
|
|
39
38
|
n.CONTRACTOR_CREATE,
|
|
@@ -71,7 +70,7 @@ const T = /* @__PURE__ */ new Set([
|
|
|
71
70
|
const a = O(o.payload.onboardingStatus);
|
|
72
71
|
return {
|
|
73
72
|
...e,
|
|
74
|
-
component:
|
|
73
|
+
component: g,
|
|
75
74
|
header: s("address", {
|
|
76
75
|
selfOnboarding: o.payload.selfOnboarding,
|
|
77
76
|
showNewHireReport: a
|
|
@@ -132,7 +131,7 @@ const T = /* @__PURE__ */ new Set([
|
|
|
132
131
|
"paymentMethod",
|
|
133
132
|
t((e) => ({
|
|
134
133
|
...e,
|
|
135
|
-
component:
|
|
134
|
+
component: h,
|
|
136
135
|
header: s("paymentMethod", {
|
|
137
136
|
selfOnboarding: e.selfOnboarding,
|
|
138
137
|
showNewHireReport: e.showNewHireReport
|
|
@@ -202,6 +201,6 @@ const T = /* @__PURE__ */ new Set([
|
|
|
202
201
|
final: d()
|
|
203
202
|
};
|
|
204
203
|
export {
|
|
205
|
-
|
|
204
|
+
H as onboardingMachine
|
|
206
205
|
};
|
|
207
206
|
//# sourceMappingURL=onboardingStateMachine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Contractor/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport {\n AddressContextual,\n ContractorListContextual,\n NewHireReportContextual,\n PaymentMethodContextual,\n ProfileContextual,\n ProgressBarCta,\n SubmitContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { transition, reduce, state, guard } from '@/lib/state-machine'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_UPDATE]: {\n contractorId: string\n }\n [componentEvents.CONTRACTOR_PROFILE_DONE]: {\n contractorId: string\n onboardingStatus?: Contractor['onboardingStatus']\n selfOnboarding: boolean\n }\n [componentEvents.CONTRACTOR_SUBMIT_DONE]: { message?: string }\n}\n\n// The new hire report belongs to the contractor's initial onboarding pass only.\n// These are the statuses where the admin still owns first-time setup; once the\n// contractor advances to admin review, an active self-onboarding stage, or\n// completion, the report is settled and the step is skipped. A missing status\n// (a just-created contractor) counts as initial. We read the post-save status\n// off the profile/done contractor because the API auto-advances to\n// admin_onboarding_review the instant the last required field is saved.\nconst INITIAL_ONBOARDING_STATUSES = new Set<Contractor['onboardingStatus']>([\n ContractorOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED,\n])\n\nconst showNewHireReportForStatus = (status?: Contractor['onboardingStatus']): boolean =>\n !status || INITIAL_ONBOARDING_STATUSES.has(status)\n\ntype OnboardingStep = 'profile' | 'address' | 'paymentMethod' | 'newHireReport' | 'submit'\n\n// The flow is a linear list of steps. The admin-only steps (address, payment\n// method) drop out when the contractor self-onboards, and the new hire report\n// drops out once past the initial onboarding pass.\nconst stepsForPath = (selfOnboarding: boolean, showNewHireReport: boolean): OnboardingStep[] => {\n const steps: OnboardingStep[] = ['profile']\n if (!selfOnboarding) steps.push('address', 'paymentMethod')\n if (showNewHireReport) steps.push('newHireReport')\n steps.push('submit')\n return steps\n}\n\n// The defaults describe the profile step, which renders before the path is\n// known: assume the longest path so it reads \"1 of 5\".\nconst progressHeader = (\n currentStep: OnboardingStep,\n {\n selfOnboarding = false,\n showNewHireReport = true,\n }: { selfOnboarding?: boolean; showNewHireReport?: boolean } = {},\n): FlowHeaderConfig => {\n const steps = stepsForPath(selfOnboarding, showNewHireReport)\n return {\n type: 'progress',\n currentStep: steps.indexOf(currentStep) + 1,\n totalSteps: steps.length,\n cta: ProgressBarCta,\n }\n}\n\nconst createReducer = (props: Partial<OnboardingFlowContextInterface>) => {\n return (ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n header: null,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n )\n\n/** @internal */\nexport const onboardingMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_CREATE,\n 'profile',\n reduce(\n createReducer({\n component: ProfileContextual,\n header: progressHeader('profile'),\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_UPDATE,\n 'profile',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_UPDATE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n header: progressHeader('profile'),\n contractorId: ev.payload.contractorId,\n successMessage: undefined,\n }\n },\n ),\n ),\n ),\n profile: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'address',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n const showNewHireReport = showNewHireReportForStatus(ev.payload.onboardingStatus)\n return {\n ...ctx,\n component: AddressContextual,\n header: progressHeader('address', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport,\n }\n },\n ),\n guard((ctx, ev) => !ev.payload.selfOnboarding),\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'newHireReport',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: NewHireReportContextual,\n header: progressHeader('newHireReport', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: true,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: true,\n }\n },\n ),\n guard(\n (ctx, ev) =>\n ev.payload.selfOnboarding && showNewHireReportForStatus(ev.payload.onboardingStatus),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'submit',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: false,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: false,\n }\n },\n ),\n guard(\n (ctx, ev) =>\n ev.payload.selfOnboarding && !showNewHireReportForStatus(ev.payload.onboardingStatus),\n ),\n ),\n ),\n address: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: PaymentMethodContextual,\n header: progressHeader('paymentMethod', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n ),\n ),\n paymentMethod: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'newHireReport',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: NewHireReportContextual,\n header: progressHeader('newHireReport', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n guard((ctx: OnboardingFlowContextInterface) => ctx.showNewHireReport !== false),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'submit',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n guard((ctx: OnboardingFlowContextInterface) => ctx.showNewHireReport === false),\n ),\n ),\n newHireReport: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE,\n 'submit',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n ),\n ),\n submit: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_SUBMIT_DONE,\n 'list',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_SUBMIT_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ContractorListContextual,\n header: null,\n successMessage: ev.payload.message,\n }\n },\n ),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["INITIAL_ONBOARDING_STATUSES","ContractorOnboardingStatus","showNewHireReportForStatus","status","stepsForPath","selfOnboarding","showNewHireReport","steps","progressHeader","currentStep","ProgressBarCta","createReducer","props","ctx","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","SubmitContextual","PaymentMethodContextual"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Contractor/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport {\n AddressContextual,\n ContractorListContextual,\n NewHireReportContextual,\n PaymentMethodContextual,\n ProfileContextual,\n ProgressBarCta,\n SubmitContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_UPDATE]: {\n contractorId: string\n }\n [componentEvents.CONTRACTOR_PROFILE_DONE]: {\n contractorId: string\n onboardingStatus?: Contractor['onboardingStatus']\n selfOnboarding: boolean\n }\n [componentEvents.CONTRACTOR_SUBMIT_DONE]: { message?: string }\n}\n\n// The new hire report belongs to the contractor's initial onboarding pass only.\n// These are the statuses where the admin still owns first-time setup; once the\n// contractor advances to admin review, an active self-onboarding stage, or\n// completion, the report is settled and the step is skipped. A missing status\n// (a just-created contractor) counts as initial. We read the post-save status\n// off the profile/done contractor because the API auto-advances to\n// admin_onboarding_review the instant the last required field is saved.\nconst INITIAL_ONBOARDING_STATUSES = new Set<Contractor['onboardingStatus']>([\n ContractorOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED,\n])\n\nconst showNewHireReportForStatus = (status?: Contractor['onboardingStatus']): boolean =>\n !status || INITIAL_ONBOARDING_STATUSES.has(status)\n\ntype OnboardingStep = 'profile' | 'address' | 'paymentMethod' | 'newHireReport' | 'submit'\n\n// The flow is a linear list of steps. The admin-only steps (address, payment\n// method) drop out when the contractor self-onboards, and the new hire report\n// drops out once past the initial onboarding pass.\nconst stepsForPath = (selfOnboarding: boolean, showNewHireReport: boolean): OnboardingStep[] => {\n const steps: OnboardingStep[] = ['profile']\n if (!selfOnboarding) steps.push('address', 'paymentMethod')\n if (showNewHireReport) steps.push('newHireReport')\n steps.push('submit')\n return steps\n}\n\n// The defaults describe the profile step, which renders before the path is\n// known: assume the longest path so it reads \"1 of 5\".\nconst progressHeader = (\n currentStep: OnboardingStep,\n {\n selfOnboarding = false,\n showNewHireReport = true,\n }: { selfOnboarding?: boolean; showNewHireReport?: boolean } = {},\n): FlowHeaderConfig => {\n const steps = stepsForPath(selfOnboarding, showNewHireReport)\n return {\n type: 'progress',\n currentStep: steps.indexOf(currentStep) + 1,\n totalSteps: steps.length,\n cta: ProgressBarCta,\n }\n}\n\nconst createReducer = (props: Partial<OnboardingFlowContextInterface>) => {\n return (ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n header: null,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n )\n\n/** @internal */\nexport const onboardingMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.CONTRACTOR_CREATE,\n 'profile',\n reduce(\n createReducer({\n component: ProfileContextual,\n header: progressHeader('profile'),\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_UPDATE,\n 'profile',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_UPDATE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n header: progressHeader('profile'),\n contractorId: ev.payload.contractorId,\n successMessage: undefined,\n }\n },\n ),\n ),\n ),\n profile: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'address',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n const showNewHireReport = showNewHireReportForStatus(ev.payload.onboardingStatus)\n return {\n ...ctx,\n component: AddressContextual,\n header: progressHeader('address', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport,\n }\n },\n ),\n guard((ctx, ev) => !ev.payload.selfOnboarding),\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'newHireReport',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: NewHireReportContextual,\n header: progressHeader('newHireReport', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: true,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: true,\n }\n },\n ),\n guard(\n (ctx, ev) =>\n ev.payload.selfOnboarding && showNewHireReportForStatus(ev.payload.onboardingStatus),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'submit',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: false,\n }),\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n showNewHireReport: false,\n }\n },\n ),\n guard(\n (ctx, ev) =>\n ev.payload.selfOnboarding && !showNewHireReportForStatus(ev.payload.onboardingStatus),\n ),\n ),\n ),\n address: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: PaymentMethodContextual,\n header: progressHeader('paymentMethod', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n ),\n ),\n paymentMethod: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'newHireReport',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: NewHireReportContextual,\n header: progressHeader('newHireReport', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n guard((ctx: OnboardingFlowContextInterface) => ctx.showNewHireReport !== false),\n ),\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'submit',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n guard((ctx: OnboardingFlowContextInterface) => ctx.showNewHireReport === false),\n ),\n ),\n newHireReport: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE,\n 'submit',\n reduce((ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n component: SubmitContextual,\n header: progressHeader('submit', {\n selfOnboarding: ctx.selfOnboarding,\n showNewHireReport: ctx.showNewHireReport,\n }),\n })),\n ),\n ),\n submit: state<MachineTransition>(\n cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_SUBMIT_DONE,\n 'list',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_SUBMIT_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ContractorListContextual,\n header: null,\n successMessage: ev.payload.message,\n }\n },\n ),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["INITIAL_ONBOARDING_STATUSES","ContractorOnboardingStatus","showNewHireReportForStatus","status","stepsForPath","selfOnboarding","showNewHireReport","steps","progressHeader","currentStep","ProgressBarCta","createReducer","props","ctx","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","SubmitContextual","PaymentMethodContextual"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { createMachine as a } from "robot3";
|
|
3
|
+
import { useMemo as i } from "react";
|
|
4
|
+
import { CardContextual as c } from "./PaymentMethodComponents.js";
|
|
5
|
+
import { paymentMethodStateMachine as p } from "./paymentMethodStateMachine.js";
|
|
6
6
|
import { Flow as M } from "../../../Flow/Flow.js";
|
|
7
7
|
import { BaseBoundaries as u } from "../../../Base/Base.js";
|
|
8
8
|
import "../../../Base/useBase.js";
|
|
9
9
|
import { useComponentDictionary as f, useI18n as h } from "../../../../i18n/I18n.js";
|
|
10
10
|
function s({ contractorId: e, onEvent: o, LoaderComponent: t }) {
|
|
11
11
|
h("Contractor.Management.PaymentMethod");
|
|
12
|
-
const n =
|
|
13
|
-
() =>
|
|
12
|
+
const n = i(
|
|
13
|
+
() => a("card", p, (m) => ({
|
|
14
14
|
...m,
|
|
15
|
-
component:
|
|
15
|
+
component: c,
|
|
16
16
|
contractorId: e,
|
|
17
17
|
successAlert: null,
|
|
18
18
|
LoaderComponent: t
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethod.js","sources":["../../../../../src/components/Contractor/PaymentMethod/management/PaymentMethod.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { CardContextual, type PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport { paymentMethodStateMachine } from './paymentMethodStateMachine'\nimport {
|
|
1
|
+
{"version":3,"file":"PaymentMethod.js","sources":["../../../../../src/components/Contractor/PaymentMethod/management/PaymentMethod.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { CardContextual, type PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport { paymentMethodStateMachine } from './paymentMethodStateMachine'\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 PaymentMethod}.\n *\n * @public\n */\nexport interface PaymentMethodProps extends BaseComponentInterface<'Contractor.Management.PaymentMethod'> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\nfunction PaymentMethodFlow({ contractorId, onEvent, LoaderComponent }: PaymentMethodProps) {\n useI18n('Contractor.Management.PaymentMethod')\n\n const machine = useMemo(\n () =>\n createMachine('card', paymentMethodStateMachine, (ctx: PaymentMethodContextInterface) => ({\n ...ctx,\n component: CardContextual,\n contractorId,\n successAlert: null,\n LoaderComponent,\n })),\n [contractorId, LoaderComponent],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n\n/**\n * Management surface for viewing and editing a contractor's payment method after onboarding.\n *\n * @remarks\n * Drives the read-view card and bank-account form via an internal state\n * machine. Emits events on the supplied `onEvent` handler when the user\n * requests to add or edit a bank account, saves changes, or cancels.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/paymentMethod/card/addRequested` | Fired when the user clicks \"Add bank account\" on the read-view card | `{ contractorId: string }` |\n * | `contractor/management/paymentMethod/card/editRequested` | Fired when the user chooses \"Edit\" from the bank account row menu | `{ contractorId: string }` |\n * | `contractor/management/paymentMethod/card/removed` | Fired after the bank account is removed and the payment method reverts to Check | {@link APIModels.ContractorPaymentMethod} |\n * | `contractor/management/paymentMethod/bankForm/submitted` | Fired after the bank-account form is successfully saved | {@link APIModels.ContractorBankAccount} |\n * | `contractor/management/paymentMethod/bankForm/cancelled` | Fired when the user cancels the bank-account form | — |\n *\n * @param props - See {@link PaymentMethodProps}.\n * @returns The contractor payment method management surface.\n * @public\n */\nexport function PaymentMethod({\n dictionary,\n FallbackComponent,\n LoaderComponent,\n ...props\n}: PaymentMethodProps) {\n useComponentDictionary('Contractor.Management.PaymentMethod', dictionary)\n return (\n <BaseBoundaries\n componentName=\"Contractor.Management.PaymentMethod\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <PaymentMethodFlow LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["PaymentMethodFlow","contractorId","onEvent","LoaderComponent","useI18n","machine","useMemo","createMachine","paymentMethodStateMachine","ctx","CardContextual","jsx","Flow","PaymentMethod","dictionary","FallbackComponent","props","useComponentDictionary","BaseBoundaries"],"mappings":";;;;;;;;;AAmBA,SAASA,EAAkB,EAAE,cAAAC,GAAc,SAAAC,GAAS,iBAAAC,KAAuC;AACzF,EAAAC,EAAQ,qCAAqC;AAE7C,QAAMC,IAAUC;AAAA,IACd,MACEC,EAAc,QAAQC,GAA2B,CAACC,OAAwC;AAAA,MACxF,GAAGA;AAAA,MACH,WAAWC;AAAA,MACX,cAAAT;AAAA,MACA,cAAc;AAAA,MACd,iBAAAE;AAAA,IAAA,EACA;AAAA,IACJ,CAACF,GAAcE,CAAe;AAAA,EAAA;AAGhC,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAH,EAAA,CAAkB;AACnD;AAuBO,SAASW,EAAc;AAAA,EAC5B,YAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,iBAAAZ;AAAA,EACA,GAAGa;AACL,GAAuB;AACrB,SAAAC,EAAuB,uCAAuCH,CAAU,GAEtE,gBAAAH;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAH;AAAA,MACA,iBAAAZ;AAAA,MAEA,UAAA,gBAAAQ,EAACX,GAAA,EAAkB,iBAAAG,GAAmC,GAAGa,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGtE;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
export declare const paymentMethodStateMachine: {
|
|
3
|
-
card: import('
|
|
4
|
-
editPaymentMethod: import('
|
|
3
|
+
card: import('robot3').MachineState<any>;
|
|
4
|
+
editPaymentMethod: import('robot3').MachineState<any>;
|
|
5
5
|
};
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import { state as o, transition as e, reduce as E } from "../../../../lib/state-machine/core.js";
|
|
1
|
+
import { state as T, transition as e, reduce as E } from "robot3";
|
|
2
|
+
import { PaymentMethodEditFormContextual as M, CardContextual as n } from "./PaymentMethodComponents.js";
|
|
4
3
|
import { componentEvents as A } from "../../../../shared/constants.js";
|
|
5
|
-
const
|
|
4
|
+
const o = E(
|
|
6
5
|
(t) => ({
|
|
7
6
|
...t,
|
|
8
7
|
component: n,
|
|
9
8
|
successAlert: null
|
|
10
9
|
})
|
|
11
|
-
), _ = (t) => E((
|
|
12
|
-
...
|
|
10
|
+
), _ = (t) => E((c) => ({
|
|
11
|
+
...c,
|
|
13
12
|
component: n,
|
|
14
13
|
successAlert: t
|
|
15
|
-
})),
|
|
16
|
-
card:
|
|
14
|
+
})), C = {
|
|
15
|
+
card: T(
|
|
17
16
|
e(
|
|
18
17
|
A.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_CARD_ADD_REQUESTED,
|
|
19
18
|
"editPaymentMethod",
|
|
20
19
|
E((t) => ({
|
|
21
20
|
...t,
|
|
22
|
-
component:
|
|
21
|
+
component: M,
|
|
23
22
|
successAlert: null
|
|
24
23
|
}))
|
|
25
24
|
),
|
|
@@ -28,7 +27,7 @@ const M = E(
|
|
|
28
27
|
"editPaymentMethod",
|
|
29
28
|
E((t) => ({
|
|
30
29
|
...t,
|
|
31
|
-
component:
|
|
30
|
+
component: M,
|
|
32
31
|
successAlert: null
|
|
33
32
|
}))
|
|
34
33
|
),
|
|
@@ -40,10 +39,10 @@ const M = E(
|
|
|
40
39
|
e(
|
|
41
40
|
A.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_ALERT_DISMISSED,
|
|
42
41
|
"card",
|
|
43
|
-
|
|
42
|
+
o
|
|
44
43
|
)
|
|
45
44
|
),
|
|
46
|
-
editPaymentMethod:
|
|
45
|
+
editPaymentMethod: T(
|
|
47
46
|
e(
|
|
48
47
|
A.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_SUBMITTED,
|
|
49
48
|
"card",
|
|
@@ -52,11 +51,11 @@ const M = E(
|
|
|
52
51
|
e(
|
|
53
52
|
A.CONTRACTOR_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_CANCELLED,
|
|
54
53
|
"card",
|
|
55
|
-
|
|
54
|
+
o
|
|
56
55
|
)
|
|
57
56
|
)
|
|
58
57
|
};
|
|
59
58
|
export {
|
|
60
|
-
|
|
59
|
+
C as paymentMethodStateMachine
|
|
61
60
|
};
|
|
62
61
|
//# sourceMappingURL=paymentMethodStateMachine.js.map
|