@gusto/embedded-react-sdk 0.48.3 → 0.49.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 +45 -0
- package/README.md +8 -8
- package/dist/components/Base/Base.d.ts +11 -3
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/index.d.ts +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
- package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Common/UI/Select/Select.js +28 -28
- package/dist/components/Common/UI/Select/Select.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
- package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +23 -21
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +5 -7
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +1 -0
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +20 -20
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/Locations/stateMachine.js +4 -6
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
- package/dist/components/Contractor/Address/Address.d.ts +14 -8
- package/dist/components/Contractor/Address/Address.js +83 -64
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
- package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
- package/dist/components/Contractor/Address/index.d.ts +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +59 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +112 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
- package/dist/components/Contractor/Address/types.d.ts +8 -0
- package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
- package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +59 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
- package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
- package/dist/components/Contractor/Landing/Landing.js +73 -0
- package/dist/components/Contractor/Landing/Landing.js.map +1 -0
- package/dist/components/Contractor/Landing/index.d.ts +2 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +20 -8
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
- package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +11 -2
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
- package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/index.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +125 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +151 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
- package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
- package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
- package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
- package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
- package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
- package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
- package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
- package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
- package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
- package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
- package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
- package/dist/components/Employee/Documents/management/Documents.js +1 -5
- package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
- package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
- package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +8 -2
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
- 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/HomeAddress/management/HomeAddress.d.ts +7 -11
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.d.ts +10 -4
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +19 -5
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +32 -12
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
- package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
- package/dist/components/Employee/Profile/management/Profile.js +1 -5
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
- package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
- package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
- package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
- package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
- package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +19 -5
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequests.d.ts +26 -1
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +8 -9
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/contexts/ThemeProvider/types.d.ts +19 -0
- package/dist/i18n/I18n.js +5 -2
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
- package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
- package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
- package/dist/i18n/en/Contractor.Address.json.js +13 -13
- package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
- package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Landing.json.js +18 -0
- package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
- package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
- package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +8 -6
- package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
- package/dist/i18n/en/Employee.Compensation.json.js +56 -50
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
- package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
- package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
- package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
- package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +1 -0
- package/dist/i18n/en/common.json.js +34 -32
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +239 -205
- package/dist/index.js.map +1 -1
- package/dist/models/external.d.ts +293 -0
- package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
- package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
- package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/shared/constants.d.ts +10 -1
- package/dist/shared/constants.js +9 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +19 -2
- package/dist/types/i18next.d.ts +66 -5
- package/docs/{reference → appendix}/endpoint-inventory.json +27 -0
- package/package.json +21 -22
- package/dist/components/Contractor/Address/Actions.d.ts +0 -2
- package/dist/components/Contractor/Address/Actions.js +0 -13
- package/dist/components/Contractor/Address/Actions.js.map +0 -1
- package/dist/components/Contractor/Address/Form.d.ts +0 -2
- package/dist/components/Contractor/Address/Form.js +0 -51
- package/dist/components/Contractor/Address/Form.js.map +0 -1
- package/dist/components/Contractor/Address/Head.d.ts +0 -2
- package/dist/components/Contractor/Address/Head.js +0 -17
- package/dist/components/Contractor/Address/Head.js.map +0 -1
- package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
- package/dist/components/Contractor/Address/useAddress.js +0 -31
- package/dist/components/Contractor/Address/useAddress.js.map +0 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
- package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { useMemo as b } from "react";
|
|
2
|
+
import { useForm as P } from "react-hook-form";
|
|
3
|
+
import { zodResolver as L } from "@hookform/resolvers/zod";
|
|
4
|
+
import { useContractorsGet as Q } from "@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet";
|
|
5
|
+
import { useContractorsGetAddress as R } from "@gusto/embedded-api-v-2025-11-15/react-query/contractorsGetAddress";
|
|
6
|
+
import { useContractorsUpdateAddressMutation as T } from "@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdateAddress";
|
|
7
|
+
import { createContractorAddressSchema as Z } from "./contractorAddressSchema.js";
|
|
8
|
+
import { ZipField as x, StateField as I, CityField as K, Street2Field as _, Street1Field as j } from "./fields.js";
|
|
9
|
+
import { useDeriveFieldsMetadata as q } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
|
|
10
|
+
import { useHookFormInternals as J } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
|
|
11
|
+
import { createGetFormSubmissionValues as N } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
|
|
12
|
+
import { withOptions as W } from "../../../../../partner-hook-utils/form/withOptions.js";
|
|
13
|
+
import { composeErrorHandler as X } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
14
|
+
import { useBaseSubmit as Y } from "../../../../Base/useBaseSubmit.js";
|
|
15
|
+
import { SDKInternalError as F } from "../../../../../types/sdkError.js";
|
|
16
|
+
import { STATES_ABBR as C } from "../../../../../shared/constants.js";
|
|
17
|
+
function ft({
|
|
18
|
+
contractorId: r,
|
|
19
|
+
optionalFieldsToRequire: d,
|
|
20
|
+
defaultValues: e,
|
|
21
|
+
validationMode: v = "onSubmit",
|
|
22
|
+
shouldFocusError: h = !0
|
|
23
|
+
}) {
|
|
24
|
+
const c = Q(
|
|
25
|
+
{ contractorUuid: r },
|
|
26
|
+
{ enabled: !!r }
|
|
27
|
+
), m = R(
|
|
28
|
+
{ contractorUuid: r },
|
|
29
|
+
{ enabled: !!r }
|
|
30
|
+
), n = c.data?.contractor, w = n?.type, t = m.data?.contractorAddress, [u, g] = b(
|
|
31
|
+
() => Z({ optionalFieldsToRequire: d }),
|
|
32
|
+
[d]
|
|
33
|
+
), p = b(
|
|
34
|
+
() => ({
|
|
35
|
+
street1: t?.street1 ?? e?.street1 ?? "",
|
|
36
|
+
street2: t?.street2 ?? e?.street2 ?? "",
|
|
37
|
+
city: t?.city ?? e?.city ?? "",
|
|
38
|
+
state: t?.state ?? e?.state ?? "",
|
|
39
|
+
zip: t?.zip ?? e?.zip ?? ""
|
|
40
|
+
}),
|
|
41
|
+
[t, e]
|
|
42
|
+
), i = P({
|
|
43
|
+
resolver: L(u),
|
|
44
|
+
mode: v,
|
|
45
|
+
shouldFocusError: h,
|
|
46
|
+
defaultValues: p,
|
|
47
|
+
values: p,
|
|
48
|
+
resetOptions: { keepDirtyValues: !0 }
|
|
49
|
+
}), l = T(), z = l.isPending, {
|
|
50
|
+
baseSubmitHandler: M,
|
|
51
|
+
error: E,
|
|
52
|
+
setError: U
|
|
53
|
+
} = Y("ContractorAddressForm"), f = X([c, m], {
|
|
54
|
+
submitError: E,
|
|
55
|
+
setSubmitError: U
|
|
56
|
+
}), V = C.map((a) => ({
|
|
57
|
+
value: a,
|
|
58
|
+
label: a
|
|
59
|
+
})), o = q(g, i.control), B = {
|
|
60
|
+
street1: o.street1,
|
|
61
|
+
street2: o.street2,
|
|
62
|
+
city: o.city,
|
|
63
|
+
state: W(o.state, V, C),
|
|
64
|
+
zip: o.zip
|
|
65
|
+
}, H = async (a) => {
|
|
66
|
+
let S;
|
|
67
|
+
return await new Promise((y) => {
|
|
68
|
+
i.handleSubmit(
|
|
69
|
+
async (G) => {
|
|
70
|
+
await M(G, async (s) => {
|
|
71
|
+
const O = a?.contractorId ?? r;
|
|
72
|
+
if (!t?.version)
|
|
73
|
+
throw new F(
|
|
74
|
+
"Cannot update contractor address: no matching address on file"
|
|
75
|
+
);
|
|
76
|
+
const A = await l.mutateAsync({
|
|
77
|
+
request: {
|
|
78
|
+
contractorUuid: O,
|
|
79
|
+
contractorAddressUpdateBody: {
|
|
80
|
+
version: t.version,
|
|
81
|
+
street1: s.street1,
|
|
82
|
+
street2: s.street2 || void 0,
|
|
83
|
+
city: s.city,
|
|
84
|
+
state: s.state,
|
|
85
|
+
zip: s.zip
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
if (!A.contractorAddress)
|
|
90
|
+
throw new F("Contractor address update failed");
|
|
91
|
+
S = {
|
|
92
|
+
mode: "update",
|
|
93
|
+
data: A.contractorAddress
|
|
94
|
+
};
|
|
95
|
+
}), y();
|
|
96
|
+
},
|
|
97
|
+
() => {
|
|
98
|
+
y();
|
|
99
|
+
}
|
|
100
|
+
)();
|
|
101
|
+
}), S;
|
|
102
|
+
}, k = J(i);
|
|
103
|
+
return !n || !t ? { isLoading: !0, errorHandling: f } : {
|
|
104
|
+
isLoading: !1,
|
|
105
|
+
data: {
|
|
106
|
+
contractorAddress: t,
|
|
107
|
+
contractor: n,
|
|
108
|
+
contractorType: w
|
|
109
|
+
},
|
|
110
|
+
status: {
|
|
111
|
+
isPending: z,
|
|
112
|
+
mode: "update"
|
|
113
|
+
},
|
|
114
|
+
actions: { onSubmit: H },
|
|
115
|
+
errorHandling: f,
|
|
116
|
+
form: {
|
|
117
|
+
Fields: {
|
|
118
|
+
Street1: j,
|
|
119
|
+
Street2: _,
|
|
120
|
+
City: K,
|
|
121
|
+
State: I,
|
|
122
|
+
Zip: x
|
|
123
|
+
},
|
|
124
|
+
fieldsMetadata: B,
|
|
125
|
+
hookFormInternals: k,
|
|
126
|
+
getFormSubmissionValues: N(i, u)
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export {
|
|
131
|
+
ft as useContractorAddressForm
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=useContractorAddressForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContractorAddressForm.js","sources":["../../../../../../src/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type {\n Contractor,\n ContractorType,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api-v-2025-11-15/models/components/contractoraddress'\nimport { useContractorsGet } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet'\nimport { useContractorsGetAddress } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGetAddress'\nimport { useContractorsUpdateAddressMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsUpdateAddress'\nimport {\n createContractorAddressSchema,\n type ContractorAddressOptionalFieldsToRequire,\n type ContractorAddressFormData,\n type ContractorAddressFormOutputs,\n} from './contractorAddressSchema'\nimport { Street1Field, Street2Field, CityField, StateField, ZipField } from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport type { ContractorAddressOptionalFieldsToRequire } from './contractorAddressSchema'\n\n/**\n * Optional overrides passed to {@link UseContractorAddressFormReady.actions.onSubmit | onSubmit}.\n *\n * @public\n */\nexport interface ContractorAddressSubmitOptions {\n /** Override the contractor identifier supplied to the hook. */\n contractorId?: string\n}\n\n/**\n * Configuration options for {@link useContractorAddressForm}.\n *\n * @public\n */\nexport interface UseContractorAddressFormProps {\n /** UUID of the contractor whose address is being edited. */\n contractorId: string\n /** Override fields that are optional by default to be required. See `ContractorAddressOptionalFieldsToRequire`. */\n optionalFieldsToRequire?: ContractorAddressOptionalFieldsToRequire\n /** Pre-fill form values. Server data takes precedence. */\n defaultValues?: Partial<ContractorAddressFormData>\n /** Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler` so submit-time focus is coordinated across multiple forms. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Pre-bound field components exposed on `useContractorAddressForm().form.Fields`.\n *\n * @public\n */\nexport interface ContractorAddressFields {\n /** Street address line 1 text input. Required. */\n Street1: typeof Street1Field\n /** Street address line 2 text input. Optional. */\n Street2: typeof Street2Field\n /** City text input. Required. */\n City: typeof CityField\n /** State selector. Required. */\n State: typeof StateField\n /** ZIP code text input. Required. */\n Zip: typeof ZipField\n}\n\n/**\n * Ready-state shape returned by {@link useContractorAddressForm} once data has loaded.\n *\n * @remarks\n * Discriminated by `isLoading: false`. Extends {@link BaseFormHookReady} with\n * the contractor-address-specific `data`, `status`, `actions`, and `form.Fields` shape.\n *\n * @public\n */\nexport interface UseContractorAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n ContractorAddressFormData,\n ContractorAddressFields\n> {\n /** Static entity data resolved from the API. */\n data: {\n /** The contractor address row loaded for update. */\n contractorAddress: ContractorAddress\n /** The full contractor entity loaded alongside the address. */\n contractor: Contractor\n /** The contractor's type — drives whether the address is labelled \"home\" (Individual) or \"business\" (Business). */\n contractorType: ContractorType | undefined\n }\n /** Reactive status flags. */\n status: { isPending: boolean; mode: 'update' }\n /** Available actions. */\n actions: {\n onSubmit: (\n options?: ContractorAddressSubmitOptions,\n ) => Promise<HookSubmitResult<ContractorAddress> | undefined>\n }\n}\n\n/**\n * Form hook for editing a contractor's address.\n *\n * @remarks\n * A contractor always has exactly one address (created with the contractor),\n * so this hook operates only in update mode and issues a PUT on submit. The\n * same address is labelled a \"home\" address for Individual contractors and a\n * \"business\" address for Business contractors; the hook exposes `contractorType`\n * so the consuming component can choose the appropriate copy.\n *\n * @param props - See {@link UseContractorAddressFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseContractorAddressFormReady} once ready.\n * @public\n */\nexport function useContractorAddressForm({\n contractorId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseContractorAddressFormProps): HookLoadingResult | UseContractorAddressFormReady {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n const addressQuery = useContractorsGetAddress(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n\n const contractor = contractorQuery.data?.contractor\n const contractorType = contractor?.type\n const fetchedAddress = addressQuery.data?.contractorAddress\n\n const [schema, metadataConfig] = useMemo(\n () => createContractorAddressSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: ContractorAddressFormData = useMemo(\n () => ({\n street1: fetchedAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedAddress?.zip ?? partnerDefaults?.zip ?? '',\n }),\n [fetchedAddress, partnerDefaults],\n )\n\n const formMethods = useForm<ContractorAddressFormData, unknown, ContractorAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateAddressMutation = useContractorsUpdateAddressMutation()\n\n const isPending = updateAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorAddressForm')\n\n const errorHandling = composeErrorHandler([contractorQuery, addressQuery], {\n submitError,\n setSubmitError,\n })\n\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n street1: baseMetadata.street1,\n street2: baseMetadata.street2,\n city: baseMetadata.city,\n state: withOptions(baseMetadata.state, stateOptions, STATES_ABBR),\n zip: baseMetadata.zip,\n }\n\n const onSubmit = async (\n options?: ContractorAddressSubmitOptions,\n ): Promise<HookSubmitResult<ContractorAddress> | undefined> => {\n let submitResult: HookSubmitResult<ContractorAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedContractorId = options?.contractorId ?? contractorId\n\n if (!fetchedAddress?.version) {\n throw new SDKInternalError(\n 'Cannot update contractor address: no matching address on file',\n )\n }\n\n const result = await updateAddressMutation.mutateAsync({\n request: {\n contractorUuid: resolvedContractorId,\n contractorAddressUpdateBody: {\n version: fetchedAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n },\n },\n })\n\n if (!result.contractorAddress) {\n throw new SDKInternalError('Contractor address update failed')\n }\n\n submitResult = {\n mode: 'update',\n data: result.contractorAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (!contractor || !fetchedAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n contractorAddress: fetchedAddress,\n contractor,\n contractorType,\n },\n status: {\n isPending,\n mode: 'update' as const,\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Street1: Street1Field,\n Street2: Street2Field,\n City: CityField,\n State: StateField,\n Zip: ZipField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Discriminated union returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type UseContractorAddressFormResult = HookLoadingResult | UseContractorAddressFormReady\n/**\n * Type of `form.fieldsMetadata` returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type ContractorAddressFieldsMetadata =\n UseContractorAddressFormReady['form']['fieldsMetadata']\n/**\n * Type of `form.Fields` returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type ContractorAddressFormFields = UseContractorAddressFormReady['form']['Fields']\n"],"names":["useContractorAddressForm","contractorId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","contractorQuery","useContractorsGet","addressQuery","useContractorsGetAddress","contractor","contractorType","fetchedAddress","schema","metadataConfig","useMemo","createContractorAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","updateAddressMutation","useContractorsUpdateAddressMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","stateOptions","STATES_ABBR","abbr","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedContractorId","SDKInternalError","result","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContractorAddressFormData } from './shared/useContractorAddressForm';
|
|
2
|
+
import { RequireAtLeastOne } from '../../../types/Helpers';
|
|
3
|
+
/**
|
|
4
|
+
* Pre-fill values accepted by {@link Address}. At least one of `street1`, `street2`, `city`, `state`, or `zip` must be provided.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export type AddressDefaultValues = RequireAtLeastOne<ContractorAddressFormData>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./types/i18next.d.ts"
|
|
2
|
-
import { BaseComponentInterface
|
|
2
|
+
import { BaseComponentInterface } from '../../Base';
|
|
3
3
|
/**
|
|
4
4
|
* Props for {@link ContractorList}.
|
|
5
5
|
*
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
|
-
export interface ContractorListProps extends
|
|
8
|
+
export interface ContractorListProps extends BaseComponentInterface<'Contractor.ContractorList'> {
|
|
9
9
|
/** UUID of the company whose contractors should be listed. */
|
|
10
10
|
companyId: string;
|
|
11
11
|
/** Success message to display in an alert above the list, typically after a create, update, or delete action. */
|
|
@@ -14,7 +14,7 @@ export interface ContractorListProps extends CommonComponentInterface<'Contracto
|
|
|
14
14
|
/**
|
|
15
15
|
* Lists a company's contractors with controls to add, edit, delete, and continue onboarding.
|
|
16
16
|
*
|
|
17
|
-
* @
|
|
17
|
+
* @events
|
|
18
18
|
* | Event | Description | Data |
|
|
19
19
|
* | ----- | ----------- | ---- |
|
|
20
20
|
* | `contractor/create` | The add-contractor action was triggered. | — |
|
|
@@ -26,4 +26,4 @@ export interface ContractorListProps extends CommonComponentInterface<'Contracto
|
|
|
26
26
|
* @returns The rendered contractor list.
|
|
27
27
|
* @public
|
|
28
28
|
*/
|
|
29
|
-
export declare function ContractorList(props: ContractorListProps
|
|
29
|
+
export declare function ContractorList(props: ContractorListProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api-v-2025-11-15/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\ninterface HeadProps {\n count: number\n handleAdd: () => void\n}\nfunction Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCta')}\n </Button>\n )}\n </Flex>\n )\n}\n\ninterface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nfunction EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCta')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\n/**\n * Props for {@link ContractorList}.\n *\n * @public\n */\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n /** UUID of the company whose contractors should be listed. */\n companyId: string\n /** Success message to display in an alert above the list, typically after a create, update, or delete action. */\n successMessage?: string\n}\n\n/**\n * Lists a company's contractors with controls to add, edit, delete, and continue onboarding.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/create` | The add-contractor action was triggered. | — |\n * | `contractor/update` | A contractor row's edit action was triggered. | `{ contractorId: string }` |\n * | `contractor/deleted` | A contractor was successfully deleted. | `{ contractorId: string }` |\n * | `contractor/onboarding/continue` | The continue action was triggered to advance onboarding. | — |\n *\n * @param props - See {@link ContractorListProps}.\n * @returns The rendered contractor list.\n * @public\n */\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n useComponentDictionary('Contractor.ContractorList', dictionary)\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCta')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n totalCount,\n itemsPerPage,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","useComponentDictionary","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","itemsPerPage","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api-v-2025-11-15/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\ninterface HeadProps {\n count: number\n handleAdd: () => void\n}\nfunction Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCta')}\n </Button>\n )}\n </Flex>\n )\n}\n\ninterface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nfunction EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCta')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\n/**\n * Props for {@link ContractorList}.\n *\n * @public\n */\nexport interface ContractorListProps extends BaseComponentInterface<'Contractor.ContractorList'> {\n /** UUID of the company whose contractors should be listed. */\n companyId: string\n /** Success message to display in an alert above the list, typically after a create, update, or delete action. */\n successMessage?: string\n}\n\n/**\n * Lists a company's contractors with controls to add, edit, delete, and continue onboarding.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/create` | The add-contractor action was triggered. | — |\n * | `contractor/update` | A contractor row's edit action was triggered. | `{ contractorId: string }` |\n * | `contractor/deleted` | A contractor was successfully deleted. | `{ contractorId: string }` |\n * | `contractor/onboarding/continue` | The continue action was triggered to advance onboarding. | — |\n *\n * @param props - See {@link ContractorListProps}.\n * @returns The rendered contractor list.\n * @public\n */\nexport function ContractorList(props: ContractorListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n useComponentDictionary('Contractor.ContractorList', dictionary)\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCta')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n totalCount,\n itemsPerPage,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","useComponentDictionary","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","itemsPerPage","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseComponentInterface } from '../../../Base/Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link DocumentsList}.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface DocumentsListProps extends BaseComponentInterface<'Contractor.DocumentsList'> {
|
|
8
|
+
/** The associated contractor identifier. */
|
|
9
|
+
contractorId: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Lists a contractor's documents and lets the contractor open each one for signing.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* Fetches the contractor's documents via {@link useContractorDocumentsList} and
|
|
16
|
+
* renders them in a table. The Continue action is disabled until every document
|
|
17
|
+
* that requires signing has been signed.
|
|
18
|
+
*
|
|
19
|
+
* @events
|
|
20
|
+
* | Event | Description | Data |
|
|
21
|
+
* | ----- | ----------- | ---- |
|
|
22
|
+
* | `contractor/documents/view` | Fired when a document's "Sign" action is selected | `{ uuid?: string; title?: string }` |
|
|
23
|
+
* | `contractor/documents/done` | Fired when all required documents are signed and the user continues | — |
|
|
24
|
+
*
|
|
25
|
+
* @param props - See {@link DocumentsListProps}.
|
|
26
|
+
* @returns The contractor documents list.
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function DocumentsList(props: DocumentsListProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as n, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as b } from "react-i18next";
|
|
3
|
+
import { useContractorDocumentsList as S } from "./useContractorDocumentsList/useContractorDocumentsList.js";
|
|
4
|
+
import { BaseComponent as x, BaseLayout as u } from "../../../Base/Base.js";
|
|
5
|
+
import { useBase as E } from "../../../Base/useBase.js";
|
|
6
|
+
import { useComponentDictionary as O, useI18n as R } from "../../../../i18n/I18n.js";
|
|
7
|
+
import { Flex as a } from "../../../Common/Flex/Flex.js";
|
|
8
|
+
import { ActionsLayout as _ } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
9
|
+
import { useComponentContext as y } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
|
+
import "react";
|
|
11
|
+
import { contractorEvents as m } from "../../../../shared/constants.js";
|
|
12
|
+
import { DocumentList as N } from "../../../Common/DocumentList/DocumentList.js";
|
|
13
|
+
function d(e) {
|
|
14
|
+
return !!e.requiresSigning && !e.signedAt;
|
|
15
|
+
}
|
|
16
|
+
function V(e) {
|
|
17
|
+
return /* @__PURE__ */ n(x, { ...e, children: /* @__PURE__ */ n(q, { ...e }) });
|
|
18
|
+
}
|
|
19
|
+
function q({ contractorId: e, className: g, dictionary: p }) {
|
|
20
|
+
O("Contractor.DocumentsList", p), R("Contractor.DocumentsList");
|
|
21
|
+
const { t } = b("Contractor.DocumentsList"), { onEvent: c } = E(), i = y(), r = S({ contractorId: e });
|
|
22
|
+
if (r.isLoading)
|
|
23
|
+
return /* @__PURE__ */ n(u, { isLoading: !0, error: r.errorHandling.errors });
|
|
24
|
+
const { documents: s } = r.data, C = r.errorHandling.errors.length > 0, f = s.every((o) => !d(o)), L = (o) => {
|
|
25
|
+
const D = s.find((T) => T.uuid === o);
|
|
26
|
+
c(m.CONTRACTOR_VIEW_DOCUMENT_TO_SIGN, {
|
|
27
|
+
uuid: o,
|
|
28
|
+
title: D?.title
|
|
29
|
+
});
|
|
30
|
+
}, h = () => {
|
|
31
|
+
c(m.CONTRACTOR_DOCUMENTS_DONE);
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ n("section", { className: g, children: /* @__PURE__ */ n(u, { error: r.errorHandling.errors, children: /* @__PURE__ */ l(a, { flexDirection: "column", gap: 32, children: [
|
|
34
|
+
/* @__PURE__ */ l(a, { flexDirection: "column", gap: 4, children: [
|
|
35
|
+
/* @__PURE__ */ n(i.Heading, { as: "h2", children: t("title") }),
|
|
36
|
+
/* @__PURE__ */ n(i.Text, { children: t("subtitle") })
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ n(
|
|
39
|
+
N,
|
|
40
|
+
{
|
|
41
|
+
forms: s.map((o) => ({
|
|
42
|
+
uuid: o.uuid ?? "",
|
|
43
|
+
title: o.title,
|
|
44
|
+
description: o.description,
|
|
45
|
+
requires_signing: d(o)
|
|
46
|
+
})),
|
|
47
|
+
onRequestSign: (o) => {
|
|
48
|
+
L(o.uuid);
|
|
49
|
+
},
|
|
50
|
+
withError: C,
|
|
51
|
+
label: t("documentListLabel"),
|
|
52
|
+
columnLabels: {
|
|
53
|
+
form: t("documentColumnLabel"),
|
|
54
|
+
action: t("statusColumnLabel")
|
|
55
|
+
},
|
|
56
|
+
statusLabels: {
|
|
57
|
+
signCta: t("signDocumentCta"),
|
|
58
|
+
notSigned: t("notSigned"),
|
|
59
|
+
complete: t("signed")
|
|
60
|
+
},
|
|
61
|
+
emptyStateLabel: t("emptyTitle"),
|
|
62
|
+
errorLabel: t("errorTitle")
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ n(_, { children: /* @__PURE__ */ n(i.Button, { onClick: h, isDisabled: !f, children: t("continueCta") }) })
|
|
66
|
+
] }) }) });
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
V as DocumentsList
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=DocumentsList.js.map
|
|
@@ -0,0 +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-v-2025-11-15/models/components/document'\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 * A document is outstanding when it requires signing and has not yet been\n * signed (`signedAt` is unset).\n */\nfunction requiresSignature(document: Document): boolean {\n return Boolean(document.requiresSigning) && !document.signedAt\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 * that requires signing has been signed.\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 const hasSignedAllDocuments = documents.every(document => !requiresSignature(document))\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 <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 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={!hasSignedAllDocuments}>\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["requiresSignature","document","DocumentsList","props","jsx","BaseComponent","Root","contractorId","className","dictionary","useComponentDictionary","useI18n","useTranslation","onEvent","useBase","Components","useComponentContext","result","useContractorDocumentsList","BaseLayout","documents","hasError","hasSignedAllDocuments","handleRequestSign","uuid","candidate","contractorEvents","handleContinue","jsxs","Flex","DocumentList","form","ActionsLayout"],"mappings":";;;;;;;;;;;;AA6BA,SAASA,EAAkBC,GAA6B;AACtD,SAAO,EAAQA,EAAS,mBAAoB,CAACA,EAAS;AACxD;AAoBO,SAASC,EAAcC,GAA2B;AACvD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,cAAAC,GAAc,WAAAC,GAAW,YAAAC,KAAkC;AACzE,EAAAC,EAAuB,4BAA4BD,CAAU,GAC7DE,EAAQ,0BAA0B;AAClC,QAAM,EAAE,EAAA,IAAMC,EAAe,0BAA0B,GACjD,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEbC,IAASC,EAA2B,EAAE,cAAAX,GAAc;AAE1D,MAAIU,EAAO;AACT,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAO,cAAc,QAAQ;AAGnE,QAAM,EAAE,WAAAG,MAAcH,EAAO,MACvBI,IAAWJ,EAAO,cAAc,OAAO,SAAS,GAChDK,IAAwBF,EAAU,MAAM,OAAY,CAACpB,EAAkBC,CAAQ,CAAC,GAEhFsB,IAAoB,CAACC,MAAiB;AAC1C,UAAMvB,IAAWmB,EAAU,KAAK,CAAAK,MAAaA,EAAU,SAASD,CAAI;AACpE,IAAAX,EAAQa,EAAiB,kCAAkC;AAAA,MACzD,MAAAF;AAAA,MACA,OAAOvB,GAAU;AAAA,IAAA,CAClB;AAAA,EACH,GAEM0B,IAAiB,MAAM;AAC3B,IAAAd,EAAQa,EAAiB,yBAAyB;AAAA,EACpD;AAEA,SACE,gBAAAtB,EAAC,WAAA,EAAQ,WAAAI,GACP,UAAA,gBAAAJ,EAACe,KAAW,OAAOF,EAAO,cAAc,QACtC,UAAA,gBAAAW,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAD,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAzB,EAACW,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,wBACvCA,EAAW,MAAX,EAAiB,UAAA,EAAE,UAAU,EAAA,CAAE;AAAA,IAAA,GAClC;AAAA,IAEA,gBAAAX;AAAA,MAAC0B;AAAA,MAAA;AAAA,QACC,OAAOV,EAAU,IAAI,CAAAnB,OAAa;AAAA,UAChC,MAAMA,EAAS,QAAQ;AAAA,UACvB,OAAOA,EAAS;AAAA,UAChB,aAAaA,EAAS;AAAA,UACtB,kBAAkBD,EAAkBC,CAAQ;AAAA,QAAA,EAC5C;AAAA,QACF,eAAe,CAAA8B,MAAQ;AACrB,UAAAR,EAAkBQ,EAAK,IAAI;AAAA,QAC7B;AAAA,QACA,WAAWV;AAAA,QACX,OAAO,EAAE,mBAAmB;AAAA,QAC5B,cAAc;AAAA,UACZ,MAAM,EAAE,qBAAqB;AAAA,UAC7B,QAAQ,EAAE,mBAAmB;AAAA,QAAA;AAAA,QAE/B,cAAc;AAAA,UACZ,SAAS,EAAE,iBAAiB;AAAA,UAC5B,WAAW,EAAE,WAAW;AAAA,UACxB,UAAU,EAAE,QAAQ;AAAA,QAAA;AAAA,QAEtB,iBAAiB,EAAE,YAAY;AAAA,QAC/B,YAAY,EAAE,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5B,gBAAAjB,EAAC4B,GAAA,EACC,UAAA,gBAAA5B,EAACW,EAAW,QAAX,EAAkB,SAASY,GAAgB,YAAY,CAACL,GACtD,UAAA,EAAE,aAAa,GAClB,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GACF,GACF;AAEJ;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import "./types/i18next.d.ts"
|
|
2
|
+
export { DocumentsList, type DocumentsListProps } from './DocumentsList';
|
|
3
|
+
export { useContractorDocumentsList, type UseContractorDocumentsListParams, type UseContractorDocumentsListReady, type UseContractorDocumentsListResult, } from './useContractorDocumentsList';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Document } from '@gusto/embedded-api-v-2025-11-15/models/components/document';
|
|
2
|
+
import { BaseHookReady, HookLoadingResult } from '../../../../../partner-hook-utils/types';
|
|
3
|
+
/**
|
|
4
|
+
* Parameters for {@link useContractorDocumentsList}.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface UseContractorDocumentsListParams {
|
|
9
|
+
/** The associated contractor identifier. */
|
|
10
|
+
contractorId: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Ready-state shape returned by {@link useContractorDocumentsList} once the documents have loaded.
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export type UseContractorDocumentsListReady = BaseHookReady<{
|
|
18
|
+
documents: Document[];
|
|
19
|
+
}, {
|
|
20
|
+
isFetching: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Result of {@link useContractorDocumentsList} — a discriminated union of loading and ready states.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export type UseContractorDocumentsListResult = HookLoadingResult | UseContractorDocumentsListReady;
|
|
28
|
+
/**
|
|
29
|
+
* Standalone data hook for a contractor's documents.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Wraps the `contractorDocumentsGetAll` query in the standard
|
|
33
|
+
* {@link BaseHookReady} shape. Read-only — viewing or signing a document is
|
|
34
|
+
* handled by the screen the parent routes to, so this hook exposes no actions.
|
|
35
|
+
*
|
|
36
|
+
* @param params - See {@link UseContractorDocumentsListParams}.
|
|
37
|
+
* @returns A {@link HookLoadingResult} while loading, or the ready state with `data.documents` once loaded.
|
|
38
|
+
* @public
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* import { useContractorDocumentsList } from '@gusto/embedded-react-sdk'
|
|
43
|
+
*
|
|
44
|
+
* function ContractorDocuments({ contractorId }: { contractorId: string }) {
|
|
45
|
+
* const result = useContractorDocumentsList({ contractorId })
|
|
46
|
+
*
|
|
47
|
+
* if (result.isLoading) return <div>Loading...</div>
|
|
48
|
+
*
|
|
49
|
+
* return (
|
|
50
|
+
* <ul>
|
|
51
|
+
* {result.data.documents.map(doc => (
|
|
52
|
+
* <li key={doc.uuid}>{doc.title}</li>
|
|
53
|
+
* ))}
|
|
54
|
+
* </ul>
|
|
55
|
+
* )
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function useContractorDocumentsList({ contractorId, }: UseContractorDocumentsListParams): UseContractorDocumentsListResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useContractorDocumentsGetAll as r } from "@gusto/embedded-api-v-2025-11-15/react-query/contractorDocumentsGetAll";
|
|
2
|
+
import { composeErrorHandler as e } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
3
|
+
function a({
|
|
4
|
+
contractorId: n
|
|
5
|
+
}) {
|
|
6
|
+
const t = r(
|
|
7
|
+
{ contractorUuid: n },
|
|
8
|
+
{ staleTime: 1 / 0 }
|
|
9
|
+
), o = e([t]);
|
|
10
|
+
return t.isLoading ? { isLoading: !0, errorHandling: o } : {
|
|
11
|
+
isLoading: !1,
|
|
12
|
+
data: { documents: t.data?.documents ?? [] },
|
|
13
|
+
status: { isFetching: t.isFetching },
|
|
14
|
+
errorHandling: o
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
a as useContractorDocumentsList
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useContractorDocumentsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContractorDocumentsList.js","sources":["../../../../../../src/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.tsx"],"sourcesContent":["import { useContractorDocumentsGetAll } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorDocumentsGetAll'\nimport type { Document } from '@gusto/embedded-api-v-2025-11-15/models/components/document'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/**\n * Parameters for {@link useContractorDocumentsList}.\n *\n * @public\n */\nexport interface UseContractorDocumentsListParams {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Ready-state shape returned by {@link useContractorDocumentsList} once the documents have loaded.\n *\n * @public\n */\nexport type UseContractorDocumentsListReady = BaseHookReady<\n { documents: Document[] },\n { isFetching: boolean }\n>\n\n/**\n * Result of {@link useContractorDocumentsList} — a discriminated union of loading and ready states.\n *\n * @public\n */\nexport type UseContractorDocumentsListResult = HookLoadingResult | UseContractorDocumentsListReady\n\n/**\n * Standalone data hook for a contractor's documents.\n *\n * @remarks\n * Wraps the `contractorDocumentsGetAll` query in the standard\n * {@link BaseHookReady} shape. Read-only — viewing or signing a document is\n * handled by the screen the parent routes to, so this hook exposes no actions.\n *\n * @param params - See {@link UseContractorDocumentsListParams}.\n * @returns A {@link HookLoadingResult} while loading, or the ready state with `data.documents` once loaded.\n * @public\n *\n * @example\n * ```tsx\n * import { useContractorDocumentsList } from '@gusto/embedded-react-sdk'\n *\n * function ContractorDocuments({ contractorId }: { contractorId: string }) {\n * const result = useContractorDocumentsList({ contractorId })\n *\n * if (result.isLoading) return <div>Loading...</div>\n *\n * return (\n * <ul>\n * {result.data.documents.map(doc => (\n * <li key={doc.uuid}>{doc.title}</li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n */\nexport function useContractorDocumentsList({\n contractorId,\n}: UseContractorDocumentsListParams): UseContractorDocumentsListResult {\n // staleTime: Infinity — the SDK QueryClient invalidates on any mutation\n // success, so a long stale time avoids redundant refetches on remount.\n const documentsQuery = useContractorDocumentsGetAll(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n\n const errorHandling = composeErrorHandler([documentsQuery])\n\n if (documentsQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: { documents: documentsQuery.data?.documents ?? [] },\n status: { isFetching: documentsQuery.isFetching },\n errorHandling,\n }\n}\n"],"names":["useContractorDocumentsList","contractorId","documentsQuery","useContractorDocumentsGetAll","errorHandling","composeErrorHandler"],"mappings":";;AA+DO,SAASA,EAA2B;AAAA,EACzC,cAAAC;AACF,GAAuE;AAGrE,QAAMC,IAAiBC;AAAA,IACrB,EAAE,gBAAgBF,EAAA;AAAA,IAClB,EAAE,WAAW,MAAA;AAAA,EAAS,GAGlBG,IAAgBC,EAAoB,CAACH,CAAc,CAAC;AAE1D,SAAIA,EAAe,YACV,EAAE,WAAW,IAAM,eAAAE,EAAA,IAGrB;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,WAAWF,EAAe,MAAM,aAAa,CAAA,EAAC;AAAA,IACtD,QAAQ,EAAE,YAAYA,EAAe,WAAA;AAAA,IACrC,eAAAE;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseComponentInterface } from '../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the {@link Landing} component.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface LandingProps extends BaseComponentInterface<'Contractor.Landing'> {
|
|
8
|
+
/** UUID of the contractor entering the self-onboarding flow. */
|
|
9
|
+
contractorId: string;
|
|
10
|
+
/** UUID of the company the contractor belongs to. */
|
|
11
|
+
companyId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Landing page for the contractor self-onboarding flow. Displays a welcome
|
|
15
|
+
* message and the list of onboarding steps the contractor needs to complete.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export declare function Landing(props: LandingProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as h } from "react-i18next";
|
|
3
|
+
import { useContractorsGetSuspense as g } from "@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet";
|
|
4
|
+
import { useCompaniesGetSuspense as C } from "@gusto/embedded-api-v-2025-11-15/react-query/companiesGet";
|
|
5
|
+
import c from "dompurify";
|
|
6
|
+
import { useMemo as m } from "react";
|
|
7
|
+
import { BaseComponent as x } from "../../Base/Base.js";
|
|
8
|
+
import { useBase as N } from "../../Base/useBase.js";
|
|
9
|
+
import { Flex as a } from "../../Common/Flex/Flex.js";
|
|
10
|
+
import { ActionsLayout as y } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
|
+
import { useComponentContext as S } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
+
import { useI18n as D, useComponentDictionary as L } from "../../../i18n/I18n.js";
|
|
13
|
+
import { componentEvents as R } from "../../../shared/constants.js";
|
|
14
|
+
import T from "../../../assets/icons/icon-arrow-right.svg.js";
|
|
15
|
+
function U(o) {
|
|
16
|
+
return D("Contractor.Landing"), L("Contractor.Landing", o.dictionary), /* @__PURE__ */ n(x, { ...o, children: /* @__PURE__ */ n(v, { ...o, children: o.children }) });
|
|
17
|
+
}
|
|
18
|
+
const v = ({ contractorId: o, companyId: d, className: p }) => {
|
|
19
|
+
const { onEvent: l } = N(), e = S(), { t } = h("Contractor.Landing"), {
|
|
20
|
+
data: { contractor: i }
|
|
21
|
+
} = g({ contractorUuid: o }), u = m(
|
|
22
|
+
() => c.sanitize(i?.firstName ?? i?.businessName ?? t("fallbackName")),
|
|
23
|
+
[i, t]
|
|
24
|
+
), {
|
|
25
|
+
data: { company: s }
|
|
26
|
+
} = C({ companyId: d }), f = m(() => c.sanitize(s?.name ?? ""), [s]);
|
|
27
|
+
return /* @__PURE__ */ n("section", { className: p, children: /* @__PURE__ */ n(
|
|
28
|
+
e.Box,
|
|
29
|
+
{
|
|
30
|
+
footer: /* @__PURE__ */ n(y, { children: /* @__PURE__ */ r(
|
|
31
|
+
e.Button,
|
|
32
|
+
{
|
|
33
|
+
variant: "secondary",
|
|
34
|
+
onClick: () => {
|
|
35
|
+
l(R.CONTRACTOR_SELF_ONBOARDING_START);
|
|
36
|
+
},
|
|
37
|
+
children: [
|
|
38
|
+
t("getStartedCta"),
|
|
39
|
+
/* @__PURE__ */ n(T, { "aria-hidden": !0 })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
) }),
|
|
43
|
+
children: /* @__PURE__ */ r(a, { alignItems: "center", flexDirection: "column", gap: 32, children: [
|
|
44
|
+
/* @__PURE__ */ r(a, { flexDirection: "column", gap: 4, children: [
|
|
45
|
+
/* @__PURE__ */ n(e.Heading, { as: "h2", children: t("landingSubtitle", {
|
|
46
|
+
contractorName: u,
|
|
47
|
+
companyName: f,
|
|
48
|
+
interpolation: { escapeValue: !1 }
|
|
49
|
+
}) }),
|
|
50
|
+
/* @__PURE__ */ n(e.Text, { variant: "supporting", children: t("landingDescription") })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ r(a, { flexDirection: "column", gap: 8, children: [
|
|
53
|
+
/* @__PURE__ */ n(e.Heading, { as: "h3", children: t("stepsSubtitle") }),
|
|
54
|
+
/* @__PURE__ */ n(
|
|
55
|
+
e.UnorderedList,
|
|
56
|
+
{
|
|
57
|
+
items: [
|
|
58
|
+
t("steps.profile"),
|
|
59
|
+
t("steps.address"),
|
|
60
|
+
t("steps.paymentMethod"),
|
|
61
|
+
t("steps.documents")
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
] })
|
|
66
|
+
] })
|
|
67
|
+
}
|
|
68
|
+
) });
|
|
69
|
+
};
|
|
70
|
+
export {
|
|
71
|
+
U as Landing
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=Landing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Contractor/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/contractorsGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/companiesGet'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\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'\nimport ArrowRightIcon from '@/assets/icons/icon-arrow-right.svg?react'\n\n/**\n * Props for the {@link Landing} component.\n *\n * @public\n */\nexport interface LandingProps extends BaseComponentInterface<'Contractor.Landing'> {\n /** UUID of the contractor entering the self-onboarding flow. */\n contractorId: string\n /** UUID of the company the contractor belongs to. */\n companyId: string\n}\n\n/**\n * Landing page for the contractor self-onboarding flow. Displays a welcome\n * message and the list of onboarding steps the contractor needs to complete.\n *\n * @public\n */\nexport function Landing(props: LandingProps) {\n useI18n('Contractor.Landing')\n useComponentDictionary('Contractor.Landing', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, companyId, className }: LandingProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Contractor.Landing')\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const sanitizedContractorName = useMemo(\n () =>\n DOMPurify.sanitize(contractor?.firstName ?? contractor?.businessName ?? t('fallbackName')),\n [contractor, t],\n )\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const sanitizedCompanyName = useMemo(() => DOMPurify.sanitize(company?.name ?? ''), [company])\n\n return (\n <section className={className}>\n <Components.Box\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n <ArrowRightIcon aria-hidden />\n </Components.Button>\n </ActionsLayout>\n }\n >\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('landingSubtitle', {\n contractorName: sanitizedContractorName,\n companyName: sanitizedCompanyName,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('landingDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <Components.UnorderedList\n items={[\n t('steps.profile'),\n t('steps.address'),\n t('steps.paymentMethod'),\n t('steps.documents'),\n ]}\n />\n </Flex>\n </Flex>\n </Components.Box>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","contractorId","companyId","className","onEvent","useBase","Components","useComponentContext","useTranslation","contractor","useContractorsGetSuspense","sanitizedContractorName","useMemo","DOMPurify","company","useCompaniesGetSuspense","sanitizedCompanyName","ActionsLayout","jsxs","componentEvents","ArrowRightIcon","Flex"],"mappings":";;;;;;;;;;;;;;AA+BO,SAASA,EAAQC,GAAqB;AAC3C,SAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBF,EAAM,UAAU,GAG3D,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,GAAW,WAAAC,QAA8B;AACrE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEb,EAAE,EAAA,IAAMC,EAAe,oBAAoB,GAE3C;AAAA,IACJ,MAAM,EAAE,YAAAC,EAAA;AAAA,EAAW,IACjBC,EAA0B,EAAE,gBAAgBT,GAAc,GACxDU,IAA0BC;AAAA,IAC9B,MACEC,EAAU,SAASJ,GAAY,aAAaA,GAAY,gBAAgB,EAAE,cAAc,CAAC;AAAA,IAC3F,CAACA,GAAY,CAAC;AAAA,EAAA,GAGV;AAAA,IACJ,MAAM,EAAE,SAAAK,EAAA;AAAA,EAAQ,IACdC,EAAwB,EAAE,WAAAb,GAAW,GACnCc,IAAuBJ,EAAQ,MAAMC,EAAU,SAASC,GAAS,QAAQ,EAAE,GAAG,CAACA,CAAO,CAAC;AAE7F,SACE,gBAAAhB,EAAC,aAAQ,WAAAK,GACP,UAAA,gBAAAL;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,0BACGW,GAAA,EACC,UAAA,gBAAAC;AAAA,QAACZ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQe,EAAgB,gCAAgC;AAAA,UAC1D;AAAA,UAEC,UAAA;AAAA,YAAA,EAAE,eAAe;AAAA,YAClB,gBAAArB,EAACsB,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEhC;AAAA,MAGF,4BAACC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,QAAA,gBAAAH,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MACpB,YAAE,mBAAmB;AAAA,YACpB,gBAAgBK;AAAA,YAChB,aAAaK;AAAA,YACb,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,GACH;AAAA,UACA,gBAAAlB,EAACQ,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAA,EAAE,oBAAoB,EAAA,CAAE;AAAA,QAAA,GACjE;AAAA,QACA,gBAAAY,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAvB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,eAAe,GAAE;AAAA,UAChD,gBAAAR;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,OAAO;AAAA,gBACL,EAAE,eAAe;AAAA,gBACjB,EAAE,eAAe;AAAA,gBACjB,EAAE,qBAAqB;AAAA,gBACvB,EAAE,iBAAiB;AAAA,cAAA;AAAA,YACrB;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -9,6 +9,7 @@ import { NewHireReportProps } from './types';
|
|
|
9
9
|
* Set `selfOnboarding` to `true` when this component is rendered as part of the contractor's
|
|
10
10
|
* own self-onboarding flow rather than admin onboarding.
|
|
11
11
|
*
|
|
12
|
+
* @events
|
|
12
13
|
* | Event | Description | Data |
|
|
13
14
|
* | ----- | ----------- | ---- |
|
|
14
15
|
* | `contractor/newHireReport/updated` | Fired when the new hire report is saved | The API response object; access the updated contractor at `.contractor` |
|