@gusto/embedded-react-sdk 0.52.2 → 0.53.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 +36 -0
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +1 -2
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +42 -43
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/Fields/PercentageField/PercentageField.js +44 -42
- package/dist/components/Common/Fields/PercentageField/PercentageField.js.map +1 -1
- package/dist/components/Common/UI/Box/Box.js +6 -6
- package/dist/components/Common/UI/Box/Box.js.map +1 -1
- package/dist/components/Common/UI/Box/Box.module.scss.js +8 -8
- package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +16 -14
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js.map +1 -1
- package/dist/components/Common/UI/Dialog/Dialog.js +29 -28
- package/dist/components/Common/UI/Dialog/Dialog.js.map +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.d.ts +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.js +9 -8
- package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +8 -6
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -1
- package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +5 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -10
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -9
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +18 -21
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +11 -12
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/Head.js +8 -9
- package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -7
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +20 -21
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -12
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +2 -3
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -11
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js +2 -3
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +6 -7
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -6
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/stateMachine.d.ts +0 -1
- package/dist/components/Company/BankAccount/stateMachine.js +33 -35
- package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -6
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -14
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -8
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/DocumentSigner/stateMachine.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/stateMachine.js +27 -29
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +6 -7
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +7 -10
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +5 -6
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +10 -12
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Industry/IndustrySelect.js +6 -8
- package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +4 -6
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +11 -14
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +2 -3
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +9 -12
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/Completed.js +5 -6
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -10
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -5
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +47 -51
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +0 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +26 -28
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +2 -1
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js +29 -16
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +21 -32
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +67 -75
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -7
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +62 -47
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -23
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.d.ts +12 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js +36 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.d.ts +10 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js +110 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.d.ts +18 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +55 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.d.ts +47 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js +108 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.d.ts +25 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +22 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/index.d.ts +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.d.ts +29 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js +34 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.d.ts +17 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.js +24 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.js.map +1 -0
- package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.d.ts +1 -1
- package/dist/components/Company/StateTaxes/shared/applicableIf.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/applicableIf.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.d.ts +19 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js +38 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.d.ts +2 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.js +7 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.d.ts +23 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.js +13 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +33 -11
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +1 -0
- package/dist/components/Company/exports/companyOnboarding.js +12 -10
- package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +11 -12
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.d.ts +39 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +90 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +22 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +247 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -0
- package/dist/components/Contractor/ContractorList/{index.d.ts → onboarding/ContractorList.d.ts} +3 -3
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +51 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +16 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +113 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -0
- package/dist/components/Contractor/ContractorList/shared/index.d.ts +1 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.d.ts +87 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +110 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -0
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.d.ts +0 -1
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js +18 -20
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +2 -3
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js +8 -8
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +9 -10
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +2 -3
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +162 -251
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +2 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +45 -44
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +2 -3
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -3
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.d.ts +32 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js +107 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.test.d.ts +1 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +6 -7
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +18 -19
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +16 -16
- package/dist/components/Contractor/Submit/Submit.js +2 -3
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/exports/contractorManagement.d.ts +1 -0
- package/dist/components/Contractor/exports/contractorManagement.js +12 -10
- package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.js +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +32 -33
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +2 -3
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.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/Deductions/shared/DeductionsForm/ChildSupportFormView.js +6 -7
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js +14 -15
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.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 +6 -7
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +6 -7
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +4 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +10 -13
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js +5 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js +8 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js.map +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +22 -21
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +6 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +6 -7
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +11 -12
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js +15 -16
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +6 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +11 -12
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.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/HomeAddressCard/HomeAddressCard.js +7 -8
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +4 -4
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +29 -23
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +26 -20
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +133 -99
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js +8 -0
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +19 -20
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js +92 -86
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.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/Paystubs/management/PaystubsCard/PaystubsCard.js +65 -64
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +7 -8
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +7 -7
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +6 -6
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +6 -6
- 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/StateTaxes/management/StateTaxesCard/StateTaxesCard.js +11 -12
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +9 -10
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +6 -7
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +44 -45
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +23 -22
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +27 -27
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +9 -10
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +2 -3
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js +16 -17
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/Flow/FlowHeader.js +3 -4
- package/dist/components/Flow/FlowHeader.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +8 -9
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +7 -8
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +37 -37
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +8 -9
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +7 -8
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +10 -12
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +0 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +7 -8
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +3 -3
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +54 -50
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +80 -69
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +20 -18
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +138 -136
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +10 -12
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +4 -4
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +2 -3
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -3
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +1 -2
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +2 -3
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -3
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +4 -4
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +4 -4
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +34 -36
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +4 -4
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +24 -25
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +6 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +29 -28
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/LocaleProvider/useLocale.d.ts +1 -9
- package/dist/contexts/LocaleProvider/useLocale.js +5 -15
- package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
- package/dist/contexts/NonceProvider/index.d.ts +1 -0
- package/dist/contexts/NonceProvider/useNonce.d.ts +37 -0
- package/dist/contexts/NonceProvider/useNonce.js +7 -0
- package/dist/contexts/NonceProvider/useNonce.js.map +1 -0
- package/dist/contexts/ThemeProvider/ThemeProvider.js +25 -24
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/contexts/index.d.ts +1 -0
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.d.ts +12 -7
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js +25 -21
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js.map +1 -1
- package/dist/i18n/I18n.js +1 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.StateTaxes.json.js +6 -4
- package/dist/i18n/en/Company.StateTaxes.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js +60 -0
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -0
- package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js +18 -16
- package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js.map +1 -1
- package/dist/i18n/en/Employee.Management.PaymentMethodSplitForm.json.js +2 -2
- package/dist/i18n/en/Employee.PaymentMethod.json.js +74 -72
- package/dist/i18n/en/Employee.PaymentMethod.json.js.map +1 -1
- package/dist/i18n/en/Employee.SplitPaymentsFormBody.json.js +2 -2
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollList.json.js +23 -23
- package/dist/i18n/types.d.ts +193 -11
- package/dist/index.js +15 -13
- package/dist/index.js.map +1 -1
- package/dist/models/external.d.ts +4 -0
- package/dist/partner-hook-utils/form/SDKFormProvider.js +39 -24
- package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +12 -15
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +16 -19
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -16
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -15
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +18 -21
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +9 -12
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/preprocessors.d.ts +2 -2
- package/dist/partner-hook-utils/form/preprocessors.js +8 -7
- package/dist/partner-hook-utils/form/preprocessors.js.map +1 -1
- package/dist/partner-hook-utils/form/preprocessors.test.d.ts +1 -0
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.js +23 -17
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +61 -0
- package/package.json +16 -14
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +0 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +0 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +0 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +0 -1
- package/dist/components/Contractor/ContractorList/index.js +0 -141
- package/dist/components/Contractor/ContractorList/index.js.map +0 -1
- package/dist/components/Contractor/ContractorList/useContractorList.d.ts +0 -18
- package/dist/components/Contractor/ContractorList/useContractorList.js +0 -15
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +0 -1
- /package/dist/components/Company/StateTaxes/{StateTaxesForm/applicableIf.test.d.ts → TaxRateManagement/toHistoryRows.test.d.ts} +0 -0
- /package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContractorListView.js","sources":["../../../../../src/components/Contractor/ContractorList/onboarding/ContractorListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { UseContractorListResult, ContractorWithActions } from '../shared/useContractorList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport XCircleSvg from '@/assets/icons/x-circle.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { CONTRACTOR_TYPE, ContractorOnboardingStatus } from '@/shared/constants'\n\n/** @internal */\nexport interface ContractorListViewProps extends Pick<\n Extract<UseContractorListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n contractors: ContractorWithActions[]\n isFetching: boolean\n successMessage?: string\n onEdit: (contractorId: string) => void\n onDelete: (contractorId: string) => Promise<void>\n onCancelSelfOnboarding: (contractorId: string) => Promise<void>\n onAddContractor: () => void\n onContinue: () => void\n}\n\nfunction contractorDisplayName(contractor: ContractorWithActions) {\n return contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n}\n\n/** @internal */\nexport function ContractorListView({\n contractors,\n isFetching,\n pagination,\n status,\n successMessage,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onAddContractor,\n onContinue,\n}: ContractorListViewProps) {\n const { t } = useTranslation('Contractor.ContractorList')\n const Components = useComponentContext()\n const [contractorToDelete, setContractorToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: contractors,\n columns: [\n {\n title: t('listHeaders.name'),\n render: (contractor: ContractorWithActions) => contractorDisplayName(contractor),\n },\n {\n title: t('listHeaders.status'),\n render: (contractor: ContractorWithActions) => (\n <ContractorOnboardingStatusBadge\n onboarded={contractor.onboarded}\n onboardingStatus={contractor.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: contractor => {\n const menuItems = []\n const isReview =\n contractor.onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_REVIEW\n\n if (contractor.allowedActions.includes('edit')) {\n menuItems.push({\n label: isReview ? t('reviewCta') : t('editCta'),\n onClick: () => {\n onEdit(contractor.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(contractor.uuid)\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setContractorToDelete(contractor.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return <HamburgerMenu items={menuItems} />\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button onClick={onAddContractor}>{t('addContractorCta')}</Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex flexDirection=\"column\">\n {successMessage && <Components.Alert label={successMessage} status=\"success\" />}\n\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {contractors.length > 0 && (\n <Components.Button variant=\"secondary\" onClick={onAddContractor}>\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n\n <ActionsLayout>\n <Components.Button onClick={onContinue}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n </Flex>\n\n <Components.Dialog\n isOpen={!!contractorToDelete}\n onClose={() => {\n setContractorToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (contractorToDelete) {\n try {\n await onDelete(contractorToDelete)\n setContractorToDelete(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('deleteDialog.title')}\n primaryActionLabel={t('deleteDialog.confirmCta')}\n closeActionLabel={t('deleteDialog.cancelCta')}\n >\n {t('deleteDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["contractorDisplayName","contractor","CONTRACTOR_TYPE","firstLastName","ContractorListView","contractors","isFetching","pagination","status","successMessage","onEdit","onDelete","onCancelSelfOnboarding","onAddContractor","onContinue","t","useTranslation","Components","useComponentContext","contractorToDelete","setContractorToDelete","useState","dataViewProps","useDataView","jsx","ContractorOnboardingStatusBadge","menuItems","isReview","ContractorOnboardingStatus","PencilSvg","XCircleSvg","TrashCanSvg","HamburgerMenu","EmptyData","ActionsLayout","jsxs","Fragment","Flex","DataView"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useContractorList, type ContractorAction, type ContractorWithActions, type ContractorType, type UseContractorListProps, type UseContractorListResult, type UseContractorListReady, } from './useContractorList';
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Contractor } from '@gusto/embedded-api/models/components/contractor';
|
|
2
|
+
import { ContractorOnboardingStatus as ContractorOnboardingStatusEntity } from '@gusto/embedded-api/models/components/contractoronboardingstatus';
|
|
3
|
+
import { PaginationControlProps } from '../../../Common/PaginationControl/PaginationControlTypes';
|
|
4
|
+
import { HookLoadingResult, BaseHookReady } from '../../../../partner-hook-utils/types';
|
|
5
|
+
/**
|
|
6
|
+
* Action that may be performed on a contractor row, determined by the contractor's onboarding
|
|
7
|
+
* and employment state and the `contractorType` filter passed to {@link useContractorList}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type ContractorAction = 'edit' | 'delete' | 'cancel_self_onboarding' | 'view' | 'dismiss' | 'rehire' | 'cancel_dismissal' | 'cancel_rehire';
|
|
12
|
+
/**
|
|
13
|
+
* A contractor entity extended with the actions permitted on it.
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface ContractorWithActions extends Contractor {
|
|
18
|
+
/** Actions permitted for this contractor given its onboarding/employment state and the active filter. */
|
|
19
|
+
allowedActions: ContractorAction[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Filter applied to {@link useContractorList} that scopes the result set and tailors the per-row action list.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export type ContractorType = 'active' | 'onboarding' | 'terminated';
|
|
27
|
+
/**
|
|
28
|
+
* Props for {@link useContractorList}.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export interface UseContractorListProps {
|
|
33
|
+
/** The associated company identifier. */
|
|
34
|
+
companyId: string;
|
|
35
|
+
/** Filters the list and tailors the allowed actions. Omit to list every contractor. */
|
|
36
|
+
contractorType?: ContractorType;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Ready state of {@link useContractorList}.
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export interface UseContractorListReady extends BaseHookReady<{
|
|
44
|
+
contractors: ContractorWithActions[];
|
|
45
|
+
}, {
|
|
46
|
+
isFetching: boolean;
|
|
47
|
+
isPending: boolean;
|
|
48
|
+
}> {
|
|
49
|
+
/** Pagination controls for the current contractor list page. */
|
|
50
|
+
pagination: PaginationControlProps;
|
|
51
|
+
/** Actions that mutate a contractor's state, gated by the entry's `allowedActions`. */
|
|
52
|
+
actions: {
|
|
53
|
+
/** Deletes the contractor. */
|
|
54
|
+
onDelete: (contractorId: string) => Promise<void>;
|
|
55
|
+
/** Reverts a self-onboarding contractor to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */
|
|
56
|
+
onCancelSelfOnboarding: (contractorId: string) => Promise<ContractorOnboardingStatusEntity | undefined>;
|
|
57
|
+
/** Cancels a contractor's scheduled dismissal. */
|
|
58
|
+
onCancelDismissal: (contractorId: string) => Promise<void>;
|
|
59
|
+
/** Cancels a contractor's scheduled rehire. */
|
|
60
|
+
onCancelRehire: (contractorId: string) => Promise<void>;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Return type of {@link useContractorList}.
|
|
65
|
+
*
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
export type UseContractorListResult = HookLoadingResult | UseContractorListReady;
|
|
69
|
+
/**
|
|
70
|
+
* Fetches a paginated list of a company's contractors and decorates each entry with the actions
|
|
71
|
+
* allowed for its current onboarding/employment state.
|
|
72
|
+
*
|
|
73
|
+
* @remarks
|
|
74
|
+
* `contractorType` maps to a server-side filter and changes which actions appear on each row:
|
|
75
|
+
* `'active'` exposes `view` plus `dismiss`/`cancel_dismissal`/`cancel_rehire`, `'terminated'`
|
|
76
|
+
* exposes `view` plus `rehire`/`cancel_dismissal`/`cancel_rehire`, `'onboarding'` and the
|
|
77
|
+
* unfiltered default expose `edit`/`cancel_self_onboarding`/`delete`. Omit `contractorType` to
|
|
78
|
+
* list every contractor.
|
|
79
|
+
*
|
|
80
|
+
* Page changes use placeholder data: the previous page stays rendered while the next one loads,
|
|
81
|
+
* and `status.isFetching` flips to `true` during the request.
|
|
82
|
+
*
|
|
83
|
+
* @param input - Company and optional filter for the list.
|
|
84
|
+
* @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseContractorListReady} once data has arrived.
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
export declare function useContractorList({ companyId, contractorType, }: UseContractorListProps): UseContractorListResult;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { useMemo as C } from "react";
|
|
2
|
+
import { useContractorsList as M } from "@gusto/embedded-api/react-query/contractorsList";
|
|
3
|
+
import { useContractorsDeleteMutation as y } from "@gusto/embedded-api/react-query/contractorsDelete";
|
|
4
|
+
import { useContractorsUpdateOnboardingStatusMutation as v } from "@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus";
|
|
5
|
+
import { useContractorsDeleteV1ContractorsContractorUuidTerminationMutation as R } from "@gusto/embedded-api/react-query/contractorsDeleteV1ContractorsContractorUuidTermination";
|
|
6
|
+
import { useContractorsDeleteV1ContractorsContractorUuidRehireMutation as U } from "@gusto/embedded-api/react-query/contractorsDeleteV1ContractorsContractorUuidRehire";
|
|
7
|
+
import { keepPreviousData as I } from "@tanstack/react-query";
|
|
8
|
+
import { usePagination as B } from "../../../../hooks/usePagination/usePagination.js";
|
|
9
|
+
import { useBaseSubmit as q } from "../../../Base/useBaseSubmit.js";
|
|
10
|
+
import { composeErrorHandler as F } from "../../../../partner-hook-utils/composeErrorHandler.js";
|
|
11
|
+
import { ContractorOnboardingStatus as u } from "../../../../shared/constants.js";
|
|
12
|
+
const G = /* @__PURE__ */ new Set([
|
|
13
|
+
u.SELF_ONBOARDING_INVITED,
|
|
14
|
+
u.SELF_ONBOARDING_STARTED
|
|
15
|
+
]);
|
|
16
|
+
function H(a, n) {
|
|
17
|
+
const e = [], i = a.onboardingStatus;
|
|
18
|
+
return n === "active" ? (e.push("view"), a.upcomingEmployment && a.rehireCancellationEligible ? e.push("cancel_rehire") : a.dismissalDate && a.dismissalCancellationEligible ? e.push("cancel_dismissal") : !a.dismissalDate && !a.upcomingEmployment && e.push("dismiss"), e) : n === "terminated" ? (e.push("view"), a.upcomingEmployment ? a.rehireCancellationEligible && e.push("cancel_rehire") : a.dismissalCancellationEligible ? e.push("cancel_dismissal") : a.isActive || e.push("rehire"), e) : (!!i && G.has(i) ? e.push("cancel_self_onboarding") : e.push("edit"), e.push("delete"), n === "onboarding" && i === u.ONBOARDING_COMPLETED && e.push("view"), e);
|
|
19
|
+
}
|
|
20
|
+
function $({
|
|
21
|
+
companyId: a,
|
|
22
|
+
contractorType: n
|
|
23
|
+
}) {
|
|
24
|
+
const { currentPage: e, itemsPerPage: i, getPaginationProps: l } = B(), P = C(() => {
|
|
25
|
+
const t = {
|
|
26
|
+
companyUuid: a,
|
|
27
|
+
page: e,
|
|
28
|
+
per: i
|
|
29
|
+
};
|
|
30
|
+
switch (n) {
|
|
31
|
+
case "active":
|
|
32
|
+
return { ...t, onboardedActive: !0 };
|
|
33
|
+
case "onboarding":
|
|
34
|
+
return { ...t, onboarded: !1 };
|
|
35
|
+
case "terminated":
|
|
36
|
+
return { ...t, terminated: !0 };
|
|
37
|
+
default:
|
|
38
|
+
return t;
|
|
39
|
+
}
|
|
40
|
+
}, [a, e, i, n]), d = M(P, { placeholderData: I }), m = y(), g = v(), p = R(), h = U(), {
|
|
41
|
+
baseSubmitHandler: r,
|
|
42
|
+
error: b,
|
|
43
|
+
setError: E
|
|
44
|
+
} = q("ContractorList"), f = F([d], { submitError: b, setSubmitError: E }), S = m.isPending || g.isPending || p.isPending || h.isPending, { data: o, isFetching: c } = d, O = C(() => (o?.contractors ?? []).map((t) => ({
|
|
45
|
+
...t,
|
|
46
|
+
allowedActions: H(t, n)
|
|
47
|
+
})), [o?.contractors, n]), A = o?.httpMeta.response.headers ? l(o.httpMeta.response.headers, c) : {
|
|
48
|
+
handleNextPage: () => {
|
|
49
|
+
},
|
|
50
|
+
handleFirstPage: () => {
|
|
51
|
+
},
|
|
52
|
+
handleLastPage: () => {
|
|
53
|
+
},
|
|
54
|
+
handlePreviousPage: () => {
|
|
55
|
+
},
|
|
56
|
+
handleItemsPerPageChange: () => {
|
|
57
|
+
},
|
|
58
|
+
currentPage: 1,
|
|
59
|
+
totalPages: 1,
|
|
60
|
+
totalCount: 0,
|
|
61
|
+
itemsPerPage: 5
|
|
62
|
+
}, D = async (t) => {
|
|
63
|
+
await r(t, async (s) => {
|
|
64
|
+
await m.mutateAsync({
|
|
65
|
+
request: { contractorUuid: s }
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}, L = async (t) => {
|
|
69
|
+
let s;
|
|
70
|
+
return await r(t, async (N) => {
|
|
71
|
+
s = (await g.mutateAsync({
|
|
72
|
+
request: {
|
|
73
|
+
contractorUuid: N,
|
|
74
|
+
contractorOnboardingStatusUpdateRequestBody: {
|
|
75
|
+
onboardingStatus: u.ADMIN_ONBOARDING_INCOMPLETE
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
})).contractorOnboardingStatus;
|
|
79
|
+
}), s;
|
|
80
|
+
}, _ = async (t) => {
|
|
81
|
+
await r(t, async (s) => {
|
|
82
|
+
await p.mutateAsync({
|
|
83
|
+
request: { contractorUuid: s }
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}, w = async (t) => {
|
|
87
|
+
await r(t, async (s) => {
|
|
88
|
+
await h.mutateAsync({
|
|
89
|
+
request: { contractorUuid: s }
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
return !o && c ? {
|
|
94
|
+
isLoading: !0,
|
|
95
|
+
errorHandling: f
|
|
96
|
+
} : {
|
|
97
|
+
isLoading: !1,
|
|
98
|
+
data: {
|
|
99
|
+
contractors: O
|
|
100
|
+
},
|
|
101
|
+
pagination: A,
|
|
102
|
+
status: { isFetching: c, isPending: S },
|
|
103
|
+
actions: { onDelete: D, onCancelSelfOnboarding: L, onCancelDismissal: _, onCancelRehire: w },
|
|
104
|
+
errorHandling: f
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
$ as useContractorList
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=useContractorList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContractorList.js","sources":["../../../../../src/components/Contractor/ContractorList/shared/useContractorList.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useContractorsList } from '@gusto/embedded-api/react-query/contractorsList'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorOnboardingStatus as ContractorOnboardingStatusEntity } from '@gusto/embedded-api/models/components/contractoronboardingstatus'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsDeleteV1ContractorsContractorUuidTerminationMutation } from '@gusto/embedded-api/react-query/contractorsDeleteV1ContractorsContractorUuidTermination'\nimport { useContractorsDeleteV1ContractorsContractorUuidRehireMutation } from '@gusto/embedded-api/react-query/contractorsDeleteV1ContractorsContractorUuidRehire'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { ContractorOnboardingStatus } from '@/shared/constants'\nimport type { HookLoadingResult, BaseHookReady } from '@/partner-hook-utils/types'\n\n/**\n * Action that may be performed on a contractor row, determined by the contractor's onboarding\n * and employment state and the `contractorType` filter passed to {@link useContractorList}.\n *\n * @public\n */\nexport type ContractorAction =\n | 'edit'\n | 'delete'\n | 'cancel_self_onboarding'\n | 'view'\n | 'dismiss'\n | 'rehire'\n | 'cancel_dismissal'\n | 'cancel_rehire'\n\n/**\n * A contractor entity extended with the actions permitted on it.\n *\n * @public\n */\nexport interface ContractorWithActions extends Contractor {\n /** Actions permitted for this contractor given its onboarding/employment state and the active filter. */\n allowedActions: ContractorAction[]\n}\n\n/**\n * Filter applied to {@link useContractorList} that scopes the result set and tailors the per-row action list.\n *\n * @public\n */\nexport type ContractorType = 'active' | 'onboarding' | 'terminated'\n\n/**\n * Props for {@link useContractorList}.\n *\n * @public\n */\nexport interface UseContractorListProps {\n /** The associated company identifier. */\n companyId: string\n /** Filters the list and tailors the allowed actions. Omit to list every contractor. */\n contractorType?: ContractorType\n}\n\n/**\n * Ready state of {@link useContractorList}.\n *\n * @public\n */\nexport interface UseContractorListReady extends BaseHookReady<\n { contractors: ContractorWithActions[] },\n { isFetching: boolean; isPending: boolean }\n> {\n /** Pagination controls for the current contractor list page. */\n pagination: PaginationControlProps\n /** Actions that mutate a contractor's state, gated by the entry's `allowedActions`. */\n actions: {\n /** Deletes the contractor. */\n onDelete: (contractorId: string) => Promise<void>\n /** Reverts a self-onboarding contractor to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */\n onCancelSelfOnboarding: (\n contractorId: string,\n ) => Promise<ContractorOnboardingStatusEntity | undefined>\n /** Cancels a contractor's scheduled dismissal. */\n onCancelDismissal: (contractorId: string) => Promise<void>\n /** Cancels a contractor's scheduled rehire. */\n onCancelRehire: (contractorId: string) => Promise<void>\n }\n}\n\n/**\n * Return type of {@link useContractorList}.\n *\n * @public\n */\nexport type UseContractorListResult = HookLoadingResult | UseContractorListReady\n\nconst SELF_ONBOARDING_CANCELLABLE_STATUSES = new Set<string>([\n ContractorOnboardingStatus.SELF_ONBOARDING_INVITED,\n ContractorOnboardingStatus.SELF_ONBOARDING_STARTED,\n])\n\nfunction deriveAllowedActions(\n contractor: Contractor,\n contractorType?: ContractorType,\n): ContractorAction[] {\n const actions: ContractorAction[] = []\n const status = contractor.onboardingStatus\n\n if (contractorType === 'active') {\n actions.push('view')\n\n if (contractor.upcomingEmployment && contractor.rehireCancellationEligible) {\n actions.push('cancel_rehire')\n } else if (contractor.dismissalDate && contractor.dismissalCancellationEligible) {\n actions.push('cancel_dismissal')\n } else if (!contractor.dismissalDate && !contractor.upcomingEmployment) {\n actions.push('dismiss')\n }\n\n return actions\n }\n\n if (contractorType === 'terminated') {\n actions.push('view')\n\n if (contractor.upcomingEmployment) {\n if (contractor.rehireCancellationEligible) {\n actions.push('cancel_rehire')\n }\n } else if (contractor.dismissalCancellationEligible) {\n actions.push('cancel_dismissal')\n } else if (!contractor.isActive) {\n actions.push('rehire')\n }\n\n return actions\n }\n\n // 'onboarding' filter and the unfiltered (undefined) onboarding-flavor list share the same\n // edit / cancel_self_onboarding / delete logic used by today's onboarding ContractorList.\n const canCancelSelfOnboarding = !!status && SELF_ONBOARDING_CANCELLABLE_STATUSES.has(status)\n\n if (!canCancelSelfOnboarding) {\n actions.push('edit')\n } else {\n actions.push('cancel_self_onboarding')\n }\n\n actions.push('delete')\n\n if (\n contractorType === 'onboarding' &&\n status === ContractorOnboardingStatus.ONBOARDING_COMPLETED\n ) {\n actions.push('view')\n }\n\n return actions\n}\n\n/**\n * Fetches a paginated list of a company's contractors and decorates each entry with the actions\n * allowed for its current onboarding/employment state.\n *\n * @remarks\n * `contractorType` maps to a server-side filter and changes which actions appear on each row:\n * `'active'` exposes `view` plus `dismiss`/`cancel_dismissal`/`cancel_rehire`, `'terminated'`\n * exposes `view` plus `rehire`/`cancel_dismissal`/`cancel_rehire`, `'onboarding'` and the\n * unfiltered default expose `edit`/`cancel_self_onboarding`/`delete`. Omit `contractorType` to\n * list every contractor.\n *\n * Page changes use placeholder data: the previous page stays rendered while the next one loads,\n * and `status.isFetching` flips to `true` during the request.\n *\n * @param input - Company and optional filter for the list.\n * @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseContractorListReady} once data has arrived.\n * @public\n */\nexport function useContractorList({\n companyId,\n contractorType,\n}: UseContractorListProps): UseContractorListResult {\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const queryParams = useMemo(() => {\n const baseParams = {\n companyUuid: companyId,\n page: currentPage,\n per: itemsPerPage,\n }\n\n switch (contractorType) {\n case 'active':\n return { ...baseParams, onboardedActive: true }\n case 'onboarding':\n return { ...baseParams, onboarded: false }\n case 'terminated':\n return { ...baseParams, terminated: true }\n default:\n return baseParams\n }\n }, [companyId, currentPage, itemsPerPage, contractorType])\n\n const contractorsQuery = useContractorsList(queryParams, { placeholderData: keepPreviousData })\n\n const deleteContractorMutation = useContractorsDeleteMutation()\n const updateOnboardingStatusMutation = useContractorsUpdateOnboardingStatusMutation()\n const cancelDismissalMutation =\n useContractorsDeleteV1ContractorsContractorUuidTerminationMutation()\n const cancelRehireMutation = useContractorsDeleteV1ContractorsContractorUuidRehireMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorList')\n\n const errorHandling = composeErrorHandler([contractorsQuery], { submitError, setSubmitError })\n\n const isPending =\n deleteContractorMutation.isPending ||\n updateOnboardingStatusMutation.isPending ||\n cancelDismissalMutation.isPending ||\n cancelRehireMutation.isPending\n\n const { data, isFetching } = contractorsQuery\n\n const contractors = useMemo<ContractorWithActions[]>(() => {\n return (data?.contractors ?? []).map(contractor => ({\n ...contractor,\n allowedActions: deriveAllowedActions(contractor, contractorType),\n }))\n }, [data?.contractors, contractorType])\n\n const paginationProps = data?.httpMeta.response.headers\n ? getPaginationProps(data.httpMeta.response.headers, isFetching)\n : {\n handleNextPage: () => {},\n handleFirstPage: () => {},\n handleLastPage: () => {},\n handlePreviousPage: () => {},\n handleItemsPerPageChange: () => {},\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n itemsPerPage: 5 as const,\n }\n\n const onDelete = async (contractorId: string): Promise<void> => {\n await baseSubmitHandler(contractorId, async id => {\n await deleteContractorMutation.mutateAsync({\n request: { contractorUuid: id },\n })\n })\n }\n\n const onCancelSelfOnboarding = async (\n contractorId: string,\n ): Promise<ContractorOnboardingStatusEntity | undefined> => {\n let onboardingStatus: ContractorOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(contractorId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n contractorUuid: id,\n contractorOnboardingStatusUpdateRequestBody: {\n onboardingStatus: ContractorOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n\n onboardingStatus = result.contractorOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const onCancelDismissal = async (contractorId: string): Promise<void> => {\n await baseSubmitHandler(contractorId, async id => {\n await cancelDismissalMutation.mutateAsync({\n request: { contractorUuid: id },\n })\n })\n }\n\n const onCancelRehire = async (contractorId: string): Promise<void> => {\n await baseSubmitHandler(contractorId, async id => {\n await cancelRehireMutation.mutateAsync({\n request: { contractorUuid: id },\n })\n })\n }\n\n const isLoading = !data && isFetching\n\n if (isLoading) {\n return {\n isLoading: true,\n errorHandling,\n }\n }\n\n return {\n isLoading: false,\n data: {\n contractors,\n },\n pagination: paginationProps,\n status: { isFetching, isPending },\n actions: { onDelete, onCancelSelfOnboarding, onCancelDismissal, onCancelRehire },\n errorHandling,\n }\n}\n"],"names":["SELF_ONBOARDING_CANCELLABLE_STATUSES","ContractorOnboardingStatus","deriveAllowedActions","contractor","contractorType","actions","status","useContractorList","companyId","currentPage","itemsPerPage","getPaginationProps","usePagination","queryParams","useMemo","baseParams","contractorsQuery","useContractorsList","keepPreviousData","deleteContractorMutation","useContractorsDeleteMutation","updateOnboardingStatusMutation","useContractorsUpdateOnboardingStatusMutation","cancelDismissalMutation","useContractorsDeleteV1ContractorsContractorUuidTerminationMutation","cancelRehireMutation","useContractorsDeleteV1ContractorsContractorUuidRehireMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","isPending","data","isFetching","contractors","paginationProps","onDelete","contractorId","id","onCancelSelfOnboarding","onboardingStatus","onCancelDismissal","onCancelRehire"],"mappings":"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"}
|
|
@@ -1,44 +1,42 @@
|
|
|
1
|
-
import { state as
|
|
2
|
-
import { DocumentsListContextual as m, SignatureFormContextual as
|
|
3
|
-
import { componentEvents as
|
|
4
|
-
const
|
|
5
|
-
index:
|
|
1
|
+
import { state as i, transition as n, reduce as t } from "robot3";
|
|
2
|
+
import { DocumentsListContextual as m, SignatureFormContextual as u } from "./documentSignerStateMachine.js";
|
|
3
|
+
import { componentEvents as e } from "../../../../shared/constants.js";
|
|
4
|
+
const C = {
|
|
5
|
+
index: i(
|
|
6
6
|
n(
|
|
7
|
-
|
|
7
|
+
e.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN,
|
|
8
8
|
"signatureForm",
|
|
9
|
-
|
|
10
|
-
(o,
|
|
9
|
+
t(
|
|
10
|
+
(o, r) => ({
|
|
11
11
|
...o,
|
|
12
|
-
documentUuid:
|
|
13
|
-
component:
|
|
12
|
+
documentUuid: r.payload.uuid,
|
|
13
|
+
component: u
|
|
14
14
|
})
|
|
15
15
|
)
|
|
16
|
-
)
|
|
17
|
-
n(t.CONTRACTOR_DOCUMENTS_DONE, "done")
|
|
16
|
+
)
|
|
18
17
|
),
|
|
19
|
-
signatureForm:
|
|
18
|
+
signatureForm: i(
|
|
20
19
|
n(
|
|
21
|
-
|
|
20
|
+
e.CANCEL,
|
|
22
21
|
"index",
|
|
23
|
-
|
|
22
|
+
t((o) => ({
|
|
24
23
|
...o,
|
|
25
24
|
documentUuid: void 0,
|
|
26
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
34
|
component: m
|
|
36
35
|
}))
|
|
37
36
|
)
|
|
38
|
-
)
|
|
39
|
-
done: e()
|
|
37
|
+
)
|
|
40
38
|
};
|
|
41
39
|
export {
|
|
42
|
-
|
|
40
|
+
C as documentSignerMachine
|
|
43
41
|
};
|
|
44
42
|
//# sourceMappingURL=stateMachine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateMachine.js","sources":["../../../../../src/components/Contractor/Documents/DocumentSigner/stateMachine.ts"],"sourcesContent":["import { state, transition, reduce
|
|
1
|
+
{"version":3,"file":"stateMachine.js","sources":["../../../../../src/components/Contractor/Documents/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;"}
|
|
@@ -8,7 +8,6 @@ import { useComponentDictionary as y, useI18n as A } from "../../../../i18n/I18n
|
|
|
8
8
|
import { Flex as p } from "../../../Common/Flex/Flex.js";
|
|
9
9
|
import { ActionsLayout as B } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
10
|
import { useComponentContext as q } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
-
import "react";
|
|
12
11
|
import { contractorEvents as f } from "../../../../shared/constants.js";
|
|
13
12
|
import { DocumentList as H } from "../../../Common/DocumentList/DocumentList.js";
|
|
14
13
|
function c(r) {
|
|
@@ -17,7 +16,7 @@ function c(r) {
|
|
|
17
16
|
function l(r) {
|
|
18
17
|
return r.name !== O ? !0 : x(r).size > 0;
|
|
19
18
|
}
|
|
20
|
-
function
|
|
19
|
+
function J(r) {
|
|
21
20
|
return /* @__PURE__ */ e(R, { ...r, children: /* @__PURE__ */ e(M, { ...r }) });
|
|
22
21
|
}
|
|
23
22
|
function M({ contractorId: r, className: C, dictionary: h }) {
|
|
@@ -79,6 +78,6 @@ function M({ contractorId: r, className: C, dictionary: h }) {
|
|
|
79
78
|
] }) }) });
|
|
80
79
|
}
|
|
81
80
|
export {
|
|
82
|
-
|
|
81
|
+
J as DocumentsList
|
|
83
82
|
};
|
|
84
83
|
//# sourceMappingURL=DocumentsList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentsList.js","sources":["../../../../../src/components/Contractor/Documents/DocumentsList/DocumentsList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Document } from '@gusto/embedded-api/models/components/document'\nimport {\n W9_DOCUMENT_NAME,\n getPresentFieldNames,\n} from '../SignatureForm/useContractorSignatureForm/w9Fields'\nimport { useContractorDocumentsList } from './useContractorDocumentsList'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseLayout } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { DocumentList } from '@/components/Common/DocumentList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { contractorEvents } from '@/shared/constants'\n\n/**\n * Props for {@link DocumentsList}.\n *\n * @public\n */\nexport interface DocumentsListProps extends BaseComponentInterface<'Contractor.DocumentsList'> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Returns whether a document still needs the contractor's signature.\n *\n * @remarks\n * In the contractor onboarding flow every listed document must be signed, so a\n * document is outstanding whenever it has not yet been signed (`signedAt` is\n * unset). We intentionally do not defer to the API's `requiresSigning` flag\n * here: an unsigned document whose template is not yet prepared comes back with\n * `requiresSigning: false`, and treating that as \"complete\" would render an\n * unsigned document as signed and let the contractor skip it. Keying off\n * `signedAt` keeps \"complete\" meaning \"actually signed\" for this component.\n */\nfunction requiresSignature(document: Document): boolean {\n return !document.signedAt\n}\n\n/**\n * Returns whether a document can be signed right now.\n *\n * @remarks\n * A W-9 whose template has not finished preparing comes back with no signable\n * fields (this is the same signal the signer keys its `hasFields` state off).\n * Signing it would submit an empty form, so we block the sign action until the\n * fields are present. Any non-W-9 document is treated as signable here.\n */\nfunction canSignDocument(document: Document): boolean {\n if (document.name !== W9_DOCUMENT_NAME) return true\n return getPresentFieldNames(document).size > 0\n}\n\n/**\n * Lists a contractor's documents and lets the contractor open each one for signing.\n *\n * @remarks\n * Fetches the contractor's documents via {@link useContractorDocumentsList} and\n * renders them in a table. The Continue action is disabled until every document\n * the contractor can sign has been signed; a document that isn't signable yet\n * (e.g. a W-9 whose fields haven't been generated) surfaces a warning instead of\n * blocking the flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/documents/view` | Fired when a document's \"Sign\" action is selected | `{ uuid?: string; title?: string }` |\n * | `contractor/documents/done` | Fired when all required documents are signed and the user continues | — |\n *\n * @param props - See {@link DocumentsListProps}.\n * @returns The contractor documents list.\n * @public\n */\nexport function DocumentsList(props: DocumentsListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary }: DocumentsListProps) {\n useComponentDictionary('Contractor.DocumentsList', dictionary)\n useI18n('Contractor.DocumentsList')\n const { t } = useTranslation('Contractor.DocumentsList')\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const result = useContractorDocumentsList({ contractorId })\n\n if (result.isLoading) {\n return <BaseLayout isLoading error={result.errorHandling.errors} />\n }\n\n const { documents } = result.data\n const hasError = result.errorHandling.errors.length > 0\n // Only a document the contractor can actually sign should gate the flow. A\n // document that still needs signing but isn't signable yet (e.g. a W-9 whose\n // fields haven't been generated) must not trap the user — it surfaces the\n // \"not ready\" warning below instead of blocking Continue.\n const hasOutstandingSignature = documents.some(\n document => requiresSignature(document) && canSignDocument(document),\n )\n const hasUnpreparedDocument = documents.some(\n document => requiresSignature(document) && !canSignDocument(document),\n )\n\n const handleRequestSign = (uuid: string) => {\n const document = documents.find(candidate => candidate.uuid === uuid)\n onEvent(contractorEvents.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN, {\n uuid,\n title: document?.title,\n })\n }\n\n const handleContinue = () => {\n onEvent(contractorEvents.CONTRACTOR_DOCUMENTS_DONE)\n }\n\n return (\n <section className={className}>\n <BaseLayout error={result.errorHandling.errors}>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>{t('subtitle')}</Components.Text>\n </Flex>\n\n {hasUnpreparedDocument && (\n <Components.Alert status=\"warning\" label={t('notReadyTitle')}>\n <Components.Text>{t('notReadyBody')}</Components.Text>\n </Components.Alert>\n )}\n\n <DocumentList\n forms={documents.map(document => ({\n uuid: document.uuid ?? '',\n title: document.title,\n description: document.description,\n requires_signing: requiresSignature(document),\n }))}\n canSign={form => {\n const document = documents.find(candidate => candidate.uuid === form.uuid)\n return document ? canSignDocument(document) : true\n }}\n onRequestSign={form => {\n handleRequestSign(form.uuid)\n }}\n withError={hasError}\n label={t('documentListLabel')}\n columnLabels={{\n form: t('documentColumnLabel'),\n action: t('statusColumnLabel'),\n }}\n statusLabels={{\n signCta: t('signDocumentCta'),\n notSigned: t('notSigned'),\n complete: t('signed'),\n }}\n emptyStateLabel={t('emptyTitle')}\n errorLabel={t('errorTitle')}\n />\n\n <ActionsLayout>\n <Components.Button onClick={handleContinue} isDisabled={hasOutstandingSignature}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["requiresSignature","document","canSignDocument","W9_DOCUMENT_NAME","getPresentFieldNames","DocumentsList","props","jsx","BaseComponent","Root","contractorId","className","dictionary","useComponentDictionary","useI18n","t","useTranslation","onEvent","useBase","Components","useComponentContext","result","useContractorDocumentsList","BaseLayout","documents","hasError","hasOutstandingSignature","hasUnpreparedDocument","handleRequestSign","uuid","candidate","contractorEvents","handleContinue","jsxs","Flex","DocumentList","form","ActionsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocumentsList.js","sources":["../../../../../src/components/Contractor/Documents/DocumentsList/DocumentsList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Document } from '@gusto/embedded-api/models/components/document'\nimport {\n W9_DOCUMENT_NAME,\n getPresentFieldNames,\n} from '../SignatureForm/useContractorSignatureForm/w9Fields'\nimport { useContractorDocumentsList } from './useContractorDocumentsList'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseLayout } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { DocumentList } from '@/components/Common/DocumentList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { contractorEvents } from '@/shared/constants'\n\n/**\n * Props for {@link DocumentsList}.\n *\n * @public\n */\nexport interface DocumentsListProps extends BaseComponentInterface<'Contractor.DocumentsList'> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Returns whether a document still needs the contractor's signature.\n *\n * @remarks\n * In the contractor onboarding flow every listed document must be signed, so a\n * document is outstanding whenever it has not yet been signed (`signedAt` is\n * unset). We intentionally do not defer to the API's `requiresSigning` flag\n * here: an unsigned document whose template is not yet prepared comes back with\n * `requiresSigning: false`, and treating that as \"complete\" would render an\n * unsigned document as signed and let the contractor skip it. Keying off\n * `signedAt` keeps \"complete\" meaning \"actually signed\" for this component.\n */\nfunction requiresSignature(document: Document): boolean {\n return !document.signedAt\n}\n\n/**\n * Returns whether a document can be signed right now.\n *\n * @remarks\n * A W-9 whose template has not finished preparing comes back with no signable\n * fields (this is the same signal the signer keys its `hasFields` state off).\n * Signing it would submit an empty form, so we block the sign action until the\n * fields are present. Any non-W-9 document is treated as signable here.\n */\nfunction canSignDocument(document: Document): boolean {\n if (document.name !== W9_DOCUMENT_NAME) return true\n return getPresentFieldNames(document).size > 0\n}\n\n/**\n * Lists a contractor's documents and lets the contractor open each one for signing.\n *\n * @remarks\n * Fetches the contractor's documents via {@link useContractorDocumentsList} and\n * renders them in a table. The Continue action is disabled until every document\n * the contractor can sign has been signed; a document that isn't signable yet\n * (e.g. a W-9 whose fields haven't been generated) surfaces a warning instead of\n * blocking the flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/documents/view` | Fired when a document's \"Sign\" action is selected | `{ uuid?: string; title?: string }` |\n * | `contractor/documents/done` | Fired when all required documents are signed and the user continues | — |\n *\n * @param props - See {@link DocumentsListProps}.\n * @returns The contractor documents list.\n * @public\n */\nexport function DocumentsList(props: DocumentsListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary }: DocumentsListProps) {\n useComponentDictionary('Contractor.DocumentsList', dictionary)\n useI18n('Contractor.DocumentsList')\n const { t } = useTranslation('Contractor.DocumentsList')\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const result = useContractorDocumentsList({ contractorId })\n\n if (result.isLoading) {\n return <BaseLayout isLoading error={result.errorHandling.errors} />\n }\n\n const { documents } = result.data\n const hasError = result.errorHandling.errors.length > 0\n // Only a document the contractor can actually sign should gate the flow. A\n // document that still needs signing but isn't signable yet (e.g. a W-9 whose\n // fields haven't been generated) must not trap the user — it surfaces the\n // \"not ready\" warning below instead of blocking Continue.\n const hasOutstandingSignature = documents.some(\n document => requiresSignature(document) && canSignDocument(document),\n )\n const hasUnpreparedDocument = documents.some(\n document => requiresSignature(document) && !canSignDocument(document),\n )\n\n const handleRequestSign = (uuid: string) => {\n const document = documents.find(candidate => candidate.uuid === uuid)\n onEvent(contractorEvents.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN, {\n uuid,\n title: document?.title,\n })\n }\n\n const handleContinue = () => {\n onEvent(contractorEvents.CONTRACTOR_DOCUMENTS_DONE)\n }\n\n return (\n <section className={className}>\n <BaseLayout error={result.errorHandling.errors}>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>{t('subtitle')}</Components.Text>\n </Flex>\n\n {hasUnpreparedDocument && (\n <Components.Alert status=\"warning\" label={t('notReadyTitle')}>\n <Components.Text>{t('notReadyBody')}</Components.Text>\n </Components.Alert>\n )}\n\n <DocumentList\n forms={documents.map(document => ({\n uuid: document.uuid ?? '',\n title: document.title,\n description: document.description,\n requires_signing: requiresSignature(document),\n }))}\n canSign={form => {\n const document = documents.find(candidate => candidate.uuid === form.uuid)\n return document ? canSignDocument(document) : true\n }}\n onRequestSign={form => {\n handleRequestSign(form.uuid)\n }}\n withError={hasError}\n label={t('documentListLabel')}\n columnLabels={{\n form: t('documentColumnLabel'),\n action: t('statusColumnLabel'),\n }}\n statusLabels={{\n signCta: t('signDocumentCta'),\n notSigned: t('notSigned'),\n complete: t('signed'),\n }}\n emptyStateLabel={t('emptyTitle')}\n errorLabel={t('errorTitle')}\n />\n\n <ActionsLayout>\n <Components.Button onClick={handleContinue} isDisabled={hasOutstandingSignature}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["requiresSignature","document","canSignDocument","W9_DOCUMENT_NAME","getPresentFieldNames","DocumentsList","props","jsx","BaseComponent","Root","contractorId","className","dictionary","useComponentDictionary","useI18n","t","useTranslation","onEvent","useBase","Components","useComponentContext","result","useContractorDocumentsList","BaseLayout","documents","hasError","hasOutstandingSignature","hasUnpreparedDocument","handleRequestSign","uuid","candidate","contractorEvents","handleContinue","jsxs","Flex","DocumentList","form","ActionsLayout"],"mappings":"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"}
|
|
@@ -8,10 +8,10 @@ import { BaseComponent as D, BaseLayout as _ } from "../../../Base/Base.js";
|
|
|
8
8
|
import { useBase as A } from "../../../Base/useBase.js";
|
|
9
9
|
import { Flex as l } from "../../../Common/Flex/Flex.js";
|
|
10
10
|
import { ActionsLayout as M } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
|
-
import { useComponentContext as h } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
11
|
import { Form as R } from "../../../Common/Form/Form.js";
|
|
13
12
|
import { SDKFormProvider as L } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
14
13
|
import { contractorEvents as N, componentEvents as H } from "../../../../shared/constants.js";
|
|
14
|
+
import { useComponentContext as h } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
15
15
|
const k = "https://www.irs.gov/forms-pubs/about-form-w-9";
|
|
16
16
|
function ee(n) {
|
|
17
17
|
return /* @__PURE__ */ e(D, { ...n, children: /* @__PURE__ */ e(P, { ...n }) });
|
package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { normalizeSSN as i } from "../../../../../helpers/ssn.js";
|
|
3
|
+
import { normalizeEin as o } from "../../../../../helpers/federalEin.js";
|
|
2
4
|
import { TextInputHookField as r } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
-
import { SelectHookField as i } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
5
|
import { CheckboxHookField as t } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { normalizeEin as a } from "../../../../../helpers/federalEin.js";
|
|
6
|
+
import { SelectHookField as m } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
7
|
+
import { RadioGroupHookField as a } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
8
8
|
function p(e) {
|
|
9
9
|
return /* @__PURE__ */ n(r, { ...e, name: "name" });
|
|
10
10
|
}
|
|
11
11
|
function x(e) {
|
|
12
|
-
return /* @__PURE__ */ n(
|
|
12
|
+
return /* @__PURE__ */ n(a, { ...e, name: "taxClassification" });
|
|
13
13
|
}
|
|
14
14
|
function A(e) {
|
|
15
15
|
return /* @__PURE__ */ n(r, { ...e, name: "homeAddressStreet1" });
|
|
@@ -24,10 +24,10 @@ function H(e) {
|
|
|
24
24
|
return /* @__PURE__ */ n(r, { ...e, name: "homeAddressZip" });
|
|
25
25
|
}
|
|
26
26
|
function h(e) {
|
|
27
|
-
return /* @__PURE__ */ n(r, { ...e, name: "ssn", transform:
|
|
27
|
+
return /* @__PURE__ */ n(r, { ...e, name: "ssn", transform: i });
|
|
28
28
|
}
|
|
29
29
|
function N(e) {
|
|
30
|
-
return /* @__PURE__ */ n(r, { ...e, name: "ein", transform:
|
|
30
|
+
return /* @__PURE__ */ n(r, { ...e, name: "ein", transform: o });
|
|
31
31
|
}
|
|
32
32
|
function g(e) {
|
|
33
33
|
return /* @__PURE__ */ n(r, { ...e, name: "signatureText" });
|
|
@@ -39,7 +39,7 @@ function T(e) {
|
|
|
39
39
|
return /* @__PURE__ */ n(r, { ...e, name: "businessName" });
|
|
40
40
|
}
|
|
41
41
|
function k(e) {
|
|
42
|
-
return /* @__PURE__ */ n(
|
|
42
|
+
return /* @__PURE__ */ n(m, { ...e, name: "llcClassificationCode" });
|
|
43
43
|
}
|
|
44
44
|
function b(e) {
|
|
45
45
|
return /* @__PURE__ */ n(r, { ...e, name: "otherText" });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as s } from "react-i18next";
|
|
3
|
-
import { ContractorList as i } from "../ContractorList/
|
|
3
|
+
import { ContractorList as i } from "../ContractorList/onboarding/ContractorList.js";
|
|
4
4
|
import { PaymentMethod as u } from "../PaymentMethod/PaymentMethod.js";
|
|
5
5
|
import { NewHireReport as m } from "../NewHireReport/NewHireReport.js";
|
|
6
6
|
import { ContractorSubmit as d } from "../Submit/Submit.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { ContractorList } from '../ContractorList'\nimport { ContractorProfile } from '../Profile'\nimport { Address } from '../Address'\nimport { PaymentMethod } from '../PaymentMethod/PaymentMethod'\nimport { NewHireReport } from '../NewHireReport/NewHireReport'\nimport { ContractorSubmit } from '../Submit/Submit'\nimport type { ContractorDetailsFormData } from '../Profile/shared'\nimport type { AddressDefaultValues } from '../Address'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Default pre-fill values for the contractor onboarding flow.\n * At least one of `profile` or `address` must be provided.\n *\n * @public\n */\nexport type OnboardingFlowDefaultValues = RequireAtLeastOne<{\n profile?: Partial<ContractorDetailsFormData>\n address?: AddressDefaultValues\n}>\n/**\n * Props for {@link OnboardingFlow}.\n *\n * @public\n */\nexport interface OnboardingFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n /** Default values for individual flow step components — `profile` and/or `address` sub-objects. */\n defaultValues?: RequireAtLeastOne<OnboardingFlowDefaultValues>\n}\n/** @internal */\nexport interface OnboardingFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** The contractor currently being onboarded; populated once the profile step creates or selects one. */\n contractorId?: string\n /** Default values for individual flow step components. */\n defaultValues?: OnboardingFlowDefaultValues\n /** True when the contractor will be self-onboarding; switches the flow to the shorter self-onboarding path. */\n selfOnboarding?: boolean\n /** True while the new hire report step should be shown; false once the contractor has advanced past the admin's initial onboarding pass. */\n showNewHireReport?: boolean\n /** Success message to display on the contractor list when returning from a completed sub-flow. */\n successMessage?: string\n}\n\n/** @internal */\nexport function ContractorListContextual() {\n const { companyId, onEvent, successMessage } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorList\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n successMessage={successMessage}\n />\n )\n}\n\n/** @internal */\nexport function ProfileContextual() {\n const { companyId, onEvent, contractorId, defaultValues } =\n useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorProfile\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n contractorId={contractorId}\n defaultValues={defaultValues?.profile}\n />\n )\n}\n\n/** @internal */\nexport function AddressContextual() {\n const { onEvent, contractorId, defaultValues } = useFlow<OnboardingFlowContextInterface>()\n return (\n <Address\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n defaultValues={defaultValues?.address}\n />\n )\n}\n/** @internal */\nexport function PaymentMethodContextual() {\n const { onEvent, contractorId } = useFlow<OnboardingFlowContextInterface>()\n return <PaymentMethod onEvent={onEvent} contractorId={ensureRequired(contractorId)} />\n}\n/** @internal */\nexport function NewHireReportContextual() {\n const { onEvent, contractorId, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <NewHireReport\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\n}\n/** @internal */\nexport function SubmitContextual() {\n const { onEvent, contractorId, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorSubmit\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\n}\n\n/** @internal */\nexport function ProgressBarCta() {\n const { onEvent } = useFlow<OnboardingFlowContextInterface>()\n const { Button } = useComponentContext()\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n return (\n <Button\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n variant=\"secondary\"\n >\n {t('progressBarCta')}\n </Button>\n )\n}\n"],"names":["ContractorListContextual","companyId","onEvent","successMessage","useFlow","jsx","ContractorList","ensureRequired","ProfileContextual","contractorId","defaultValues","ContractorProfile","AddressContextual","Address","PaymentMethodContextual","PaymentMethod","NewHireReportContextual","selfOnboarding","NewHireReport","SubmitContextual","ContractorSubmit","ProgressBarCta","Button","useComponentContext","useI18n","t","useTranslation","componentEvents"],"mappings":";;;;;;;;;;;;;AAuDO,SAASA,IAA2B;AACzC,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,gBAAAC,EAAA,IAAmBC,EAAA;AAC/C,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAJ;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,gBAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASK,IAAoB;AAClC,QAAM,EAAE,WAAAP,GAAW,SAAAC,GAAS,cAAAO,GAAc,eAAAC,EAAA,IACxCN,EAAA;AACF,SACE,gBAAAC;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAAT;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,cAAAQ;AAAA,MACA,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAGO,SAASE,IAAoB;AAClC,QAAM,EAAE,SAAAV,GAAS,cAAAO,GAAc,eAAAC,EAAA,IAAkBN,EAAA;AACjD,SACE,gBAAAC;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,SAAAX;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEO,SAASI,IAA0B;AACxC,QAAM,EAAE,SAAAZ,GAAS,cAAAO,EAAA,IAAiBL,EAAA;AAClC,2BAAQW,GAAA,EAAc,SAAAb,GAAkB,cAAcK,EAAeE,CAAY,GAAG;AACtF;AAEO,SAASO,IAA0B;AACxC,QAAM,EAAE,SAAAd,GAAS,cAAAO,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,SAAAhB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASE,IAAmB;AACjC,QAAM,EAAE,SAAAjB,GAAS,cAAAO,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,SAAAlB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASI,IAAiB;AAC/B,QAAM,EAAE,SAAAnB,EAAA,IAAYE,EAAA,GACd,EAAE,QAAAkB,EAAA,IAAWC,EAAA;AACnB,EAAAC,EAAQ,2BAA2B;AACnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AACxD,SACE,gBAAArB;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AACb,QAAApB,EAAQyB,EAAgB,MAAM;AAAA,MAChC;AAAA,MACA,SAAQ;AAAA,MAEP,YAAE,gBAAgB;AAAA,IAAA;AAAA,EAAA;AAGzB;"}
|
|
1
|
+
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { ContractorList } from '../ContractorList/onboarding/ContractorList'\nimport { ContractorProfile } from '../Profile'\nimport { Address } from '../Address'\nimport { PaymentMethod } from '../PaymentMethod/PaymentMethod'\nimport { NewHireReport } from '../NewHireReport/NewHireReport'\nimport { ContractorSubmit } from '../Submit/Submit'\nimport type { ContractorDetailsFormData } from '../Profile/shared'\nimport type { AddressDefaultValues } from '../Address'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Default pre-fill values for the contractor onboarding flow.\n * At least one of `profile` or `address` must be provided.\n *\n * @public\n */\nexport type OnboardingFlowDefaultValues = RequireAtLeastOne<{\n profile?: Partial<ContractorDetailsFormData>\n address?: AddressDefaultValues\n}>\n/**\n * Props for {@link OnboardingFlow}.\n *\n * @public\n */\nexport interface OnboardingFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n /** Default values for individual flow step components — `profile` and/or `address` sub-objects. */\n defaultValues?: RequireAtLeastOne<OnboardingFlowDefaultValues>\n}\n/** @internal */\nexport interface OnboardingFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** The contractor currently being onboarded; populated once the profile step creates or selects one. */\n contractorId?: string\n /** Default values for individual flow step components. */\n defaultValues?: OnboardingFlowDefaultValues\n /** True when the contractor will be self-onboarding; switches the flow to the shorter self-onboarding path. */\n selfOnboarding?: boolean\n /** True while the new hire report step should be shown; false once the contractor has advanced past the admin's initial onboarding pass. */\n showNewHireReport?: boolean\n /** Success message to display on the contractor list when returning from a completed sub-flow. */\n successMessage?: string\n}\n\n/** @internal */\nexport function ContractorListContextual() {\n const { companyId, onEvent, successMessage } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorList\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n successMessage={successMessage}\n />\n )\n}\n\n/** @internal */\nexport function ProfileContextual() {\n const { companyId, onEvent, contractorId, defaultValues } =\n useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorProfile\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n contractorId={contractorId}\n defaultValues={defaultValues?.profile}\n />\n )\n}\n\n/** @internal */\nexport function AddressContextual() {\n const { onEvent, contractorId, defaultValues } = useFlow<OnboardingFlowContextInterface>()\n return (\n <Address\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n defaultValues={defaultValues?.address}\n />\n )\n}\n/** @internal */\nexport function PaymentMethodContextual() {\n const { onEvent, contractorId } = useFlow<OnboardingFlowContextInterface>()\n return <PaymentMethod onEvent={onEvent} contractorId={ensureRequired(contractorId)} />\n}\n/** @internal */\nexport function NewHireReportContextual() {\n const { onEvent, contractorId, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <NewHireReport\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\n}\n/** @internal */\nexport function SubmitContextual() {\n const { onEvent, contractorId, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorSubmit\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\n}\n\n/** @internal */\nexport function ProgressBarCta() {\n const { onEvent } = useFlow<OnboardingFlowContextInterface>()\n const { Button } = useComponentContext()\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n return (\n <Button\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n variant=\"secondary\"\n >\n {t('progressBarCta')}\n </Button>\n )\n}\n"],"names":["ContractorListContextual","companyId","onEvent","successMessage","useFlow","jsx","ContractorList","ensureRequired","ProfileContextual","contractorId","defaultValues","ContractorProfile","AddressContextual","Address","PaymentMethodContextual","PaymentMethod","NewHireReportContextual","selfOnboarding","NewHireReport","SubmitContextual","ContractorSubmit","ProgressBarCta","Button","useComponentContext","useI18n","t","useTranslation","componentEvents"],"mappings":";;;;;;;;;;;;;AAuDO,SAASA,IAA2B;AACzC,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,gBAAAC,EAAA,IAAmBC,EAAA;AAC/C,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAJ;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,gBAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASK,IAAoB;AAClC,QAAM,EAAE,WAAAP,GAAW,SAAAC,GAAS,cAAAO,GAAc,eAAAC,EAAA,IACxCN,EAAA;AACF,SACE,gBAAAC;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAAT;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,cAAAQ;AAAA,MACA,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAGO,SAASE,IAAoB;AAClC,QAAM,EAAE,SAAAV,GAAS,cAAAO,GAAc,eAAAC,EAAA,IAAkBN,EAAA;AACjD,SACE,gBAAAC;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,SAAAX;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEO,SAASI,IAA0B;AACxC,QAAM,EAAE,SAAAZ,GAAS,cAAAO,EAAA,IAAiBL,EAAA;AAClC,2BAAQW,GAAA,EAAc,SAAAb,GAAkB,cAAcK,EAAeE,CAAY,GAAG;AACtF;AAEO,SAASO,IAA0B;AACxC,QAAM,EAAE,SAAAd,GAAS,cAAAO,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,SAAAhB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASE,IAAmB;AACjC,QAAM,EAAE,SAAAjB,GAAS,cAAAO,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,SAAAlB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASI,IAAiB;AAC/B,QAAM,EAAE,SAAAnB,EAAA,IAAYE,EAAA,GACd,EAAE,QAAAkB,EAAA,IAAWC,EAAA;AACnB,EAAAC,EAAQ,2BAA2B;AACnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AACxD,SACE,gBAAArB;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AACb,QAAApB,EAAQyB,EAAgB,MAAM;AAAA,MAChC;AAAA,MACA,SAAQ;AAAA,MAEP,YAAE,gBAAgB;AAAA,IAAA;AAAA,EAAA;AAGzB;"}
|
|
@@ -5,15 +5,14 @@ import { useBase as l } from "../../Base/useBase.js";
|
|
|
5
5
|
import { Flex as i } from "../../Common/Flex/Flex.js";
|
|
6
6
|
import { ActionsLayout as d } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
7
|
import { useComponentContext as u } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
8
|
-
import "
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return f("Contractor.OnboardingSummary"), p("Contractor.OnboardingSummary", t.dictionary), /* @__PURE__ */ n(s, { ...t, children: /* @__PURE__ */ n(h, { ...t, children: t.children }) });
|
|
8
|
+
import { useI18n as f, useComponentDictionary as C } from "../../../i18n/I18n.js";
|
|
9
|
+
import { componentEvents as p } from "../../../shared/constants.js";
|
|
10
|
+
function E(t) {
|
|
11
|
+
return f("Contractor.OnboardingSummary"), C("Contractor.OnboardingSummary", t.dictionary), /* @__PURE__ */ n(s, { ...t, children: /* @__PURE__ */ n(h, { ...t, children: t.children }) });
|
|
13
12
|
}
|
|
14
|
-
const h = ({ contractorId: t, className:
|
|
15
|
-
const { onEvent:
|
|
16
|
-
return /* @__PURE__ */ n("section", { className:
|
|
13
|
+
const h = ({ contractorId: t, className: c }) => {
|
|
14
|
+
const { onEvent: m } = l(), { t: o } = a("Contractor.OnboardingSummary"), r = u();
|
|
15
|
+
return /* @__PURE__ */ n("section", { className: c, children: /* @__PURE__ */ e(i, { flexDirection: "column", gap: 32, children: [
|
|
17
16
|
/* @__PURE__ */ e(i, { alignItems: "center", flexDirection: "column", gap: 8, children: [
|
|
18
17
|
/* @__PURE__ */ n(r.Heading, { as: "h2", textAlign: "center", children: o("subtitle") }),
|
|
19
18
|
/* @__PURE__ */ n(r.Text, { textAlign: "center", children: o("description") })
|
|
@@ -23,7 +22,7 @@ const h = ({ contractorId: t, className: m }) => {
|
|
|
23
22
|
{
|
|
24
23
|
variant: "secondary",
|
|
25
24
|
onClick: () => {
|
|
26
|
-
|
|
25
|
+
m(p.CONTRACTOR_SELF_ONBOARDING_DONE, { contractorId: t });
|
|
27
26
|
},
|
|
28
27
|
children: o("doneCta")
|
|
29
28
|
}
|
|
@@ -31,6 +30,6 @@ const h = ({ contractorId: t, className: m }) => {
|
|
|
31
30
|
] }) });
|
|
32
31
|
};
|
|
33
32
|
export {
|
|
34
|
-
|
|
33
|
+
E as OnboardingSummary
|
|
35
34
|
};
|
|
36
35
|
//# sourceMappingURL=OnboardingSummary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Contractor/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Contractor.OnboardingSummary'> {\n /** UUID of the contractor who completed self-onboarding. */\n contractorId: string\n}\n\n/**\n * Confirmation screen shown at the end of the contractor self-onboarding flow.\n * Lets the contractor know their information has been submitted and emits\n * `contractor/selfOnboarding/done` when they acknowledge it.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/selfOnboarding/done` | Fired when the contractor acknowledges completion and clicks the Done button | `{ contractorId: string }` |\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Contractor.OnboardingSummary')\n useComponentDictionary('Contractor.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, className }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Contractor.OnboardingSummary')\n const Components = useComponentContext()\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('subtitle')}\n </Components.Heading>\n <Components.Text textAlign=\"center\">{t('description')}</Components.Text>\n </Flex>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_DONE, { contractorId })\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","contractorId","className","onEvent","useBase","t","useTranslation","Components","useComponentContext","jsxs","Flex","ActionsLayout","componentEvents"],"mappings":"
|
|
1
|
+
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Contractor/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Contractor.OnboardingSummary'> {\n /** UUID of the contractor who completed self-onboarding. */\n contractorId: string\n}\n\n/**\n * Confirmation screen shown at the end of the contractor self-onboarding flow.\n * Lets the contractor know their information has been submitted and emits\n * `contractor/selfOnboarding/done` when they acknowledge it.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/selfOnboarding/done` | Fired when the contractor acknowledges completion and clicks the Done button | `{ contractorId: string }` |\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Contractor.OnboardingSummary')\n useComponentDictionary('Contractor.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, className }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Contractor.OnboardingSummary')\n const Components = useComponentContext()\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('subtitle')}\n </Components.Heading>\n <Components.Text textAlign=\"center\">{t('description')}</Components.Text>\n </Flex>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_DONE, { contractorId })\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","contractorId","className","onEvent","useBase","t","useTranslation","Components","useComponentContext","jsxs","Flex","ActionsLayout","componentEvents"],"mappings":";;;;;;;;;AA8BO,SAASA,EAAkBC,GAA+B;AAC/D,SAAAC,EAAQ,8BAA8B,GACtCC,EAAuB,gCAAgCF,EAAM,UAAU,GAGrE,gBAAAG,EAACC,GAAA,EAAe,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,cAAAC,GAAc,WAAAC,QAAwC;AACpE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACd,EAAE,GAAAC,EAAA,IAAMC,EAAe,8BAA8B,GACrDC,IAAaC,EAAA;AAEnB,SACE,gBAAAV,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAO,EAACC,KAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAD,EAACC,KAAK,YAAW,UAAS,eAAc,UAAS,KAAK,GACpD,UAAA;AAAA,MAAA,gBAAAZ,EAACS,EAAW,SAAX,EAAmB,IAAG,MAAK,WAAU,UACnC,UAAAF,EAAE,UAAU,EAAA,CACf;AAAA,MACA,gBAAAP,EAACS,EAAW,MAAX,EAAgB,WAAU,UAAU,UAAAF,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GACxD;AAAA,IACA,gBAAAP,EAACa,GAAA,EAAc,gBAAe,UAC5B,UAAA,gBAAAb;AAAA,MAACS,EAAW;AAAA,MAAX;AAAA,QACC,SAAQ;AAAA,QACR,SAAS,MAAM;AACb,UAAAJ,EAAQS,EAAgB,iCAAiC,EAAE,cAAAX,EAAA,CAAc;AAAA,QAC3E;AAAA,QAEC,YAAE,SAAS;AAAA,MAAA;AAAA,IAAA,EACd,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
|
|
@@ -14,8 +14,7 @@ import { composeErrorHandler as S } from "../../../partner-hook-utils/composeErr
|
|
|
14
14
|
import { composeSubmitHandler as N } from "../../../partner-hook-utils/form/composeSubmitHandler.js";
|
|
15
15
|
import { ActionsLayout as Y } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
16
16
|
import { Flex as f } from "../../Common/Flex/Flex.js";
|
|
17
|
-
|
|
18
|
-
function io({ dictionary: i, ...s }) {
|
|
17
|
+
function ro({ dictionary: i, ...s }) {
|
|
19
18
|
return v("Contractor.PaymentMethod", i), /* @__PURE__ */ t(U, { componentName: "Contractor.PaymentMethod", children: /* @__PURE__ */ t(Q, { ...s }) });
|
|
20
19
|
}
|
|
21
20
|
function Q({ contractorId: i, className: s, onEvent: a }) {
|
|
@@ -110,6 +109,6 @@ function Q({ contractorId: i, className: s, onEvent: a }) {
|
|
|
110
109
|
] }) }) }) });
|
|
111
110
|
}
|
|
112
111
|
export {
|
|
113
|
-
|
|
112
|
+
ro as PaymentMethod
|
|
114
113
|
};
|
|
115
114
|
//# sourceMappingURL=PaymentMethod.js.map
|