@gusto/embedded-react-sdk 0.43.0 → 0.44.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 +100 -0
- package/README.md +23 -5
- package/dist/assets/icons/edit-02.svg.js +10 -0
- package/dist/assets/icons/edit-02.svg.js.map +1 -0
- package/dist/components/Common/DataView/DataTable/DataTable.js +86 -64
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.js +52 -0
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.js.map +1 -0
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.module.scss.js +18 -0
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.module.scss.js.map +1 -0
- package/dist/components/Common/Fields/hooks/FieldElementRegistryProvider.d.ts +13 -0
- package/dist/components/Common/Fields/hooks/FieldElementRegistryProvider.js +12 -0
- package/dist/components/Common/Fields/hooks/FieldElementRegistryProvider.js.map +1 -0
- package/dist/components/Common/Fields/hooks/fieldElementRegistry.d.ts +21 -0
- package/dist/components/Common/Fields/hooks/fieldElementRegistry.js +29 -0
- package/dist/components/Common/Fields/hooks/fieldElementRegistry.js.map +1 -0
- package/dist/components/Common/Fields/hooks/useField.js +43 -37
- package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
- package/dist/components/Common/Flex/Flex.d.ts +2 -1
- package/dist/components/Common/Flex/Flex.js +14 -12
- package/dist/components/Common/Flex/Flex.js.map +1 -1
- package/dist/components/Common/Flex/Flex.module.scss.js +4 -4
- package/dist/components/Common/TaxInputs/TaxInputs.js +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/Button/Button.module.scss.js +2 -2
- package/dist/components/Common/UI/Dialog/Dialog.js +35 -36
- package/dist/components/Common/UI/Dialog/Dialog.js.map +1 -1
- package/dist/components/Common/UI/Switch/SwitchTypes.d.ts +2 -2
- package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +6 -7
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +3 -2
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +3 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +6 -7
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +2 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +3 -2
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +9 -10
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +8 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +6 -6
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +6 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +8 -7
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +3 -2
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -3
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +26 -25
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +6 -5
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +2 -3
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +3 -2
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +11 -8
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +3 -2
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +9 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +5 -4
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +7 -6
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +4 -5
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +12 -13
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/index.d.ts +2 -0
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +6 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +7 -6
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +8 -7
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +6 -7
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +6 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/Completed.js +11 -10
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js +3 -2
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -3
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +6 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +2 -3
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +53 -52
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -2
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +12 -11
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +67 -63
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +2 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +6 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +3 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +57 -26
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +3 -0
- package/dist/components/Company/exports/companyOnboarding.js +21 -15
- package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
- package/dist/components/Company/index.d.ts +1 -0
- package/dist/components/Company/index.js +14 -12
- package/dist/components/Company/index.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +3 -4
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Form.js +6 -7
- package/dist/components/Contractor/Address/Form.js.map +1 -1
- package/dist/components/Contractor/Address/Head.js +7 -6
- package/dist/components/Contractor/Address/Head.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +8 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +17 -17
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +3 -2
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +3 -2
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +2 -3
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +6 -5
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +3 -2
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +3 -2
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +3 -2
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +8 -7
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +34 -33
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +1 -1
- package/dist/components/Employee/Compensation/Compensation.d.ts +7 -4
- package/dist/components/Employee/Compensation/Compensation.js +72 -179
- package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/CompensationFlowComponents.d.ts +27 -0
- package/dist/components/Employee/Compensation/CompensationFlowComponents.js +61 -0
- package/dist/components/Employee/Compensation/CompensationFlowComponents.js.map +1 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.d.ts +14 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.js +128 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.d.ts +17 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.js +224 -0
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.js.map +1 -0
- package/dist/components/Employee/Compensation/EditCompensation/index.d.ts +5 -0
- package/dist/components/Employee/Compensation/JobsList/JobsList.d.ts +5 -0
- package/dist/components/Employee/Compensation/JobsList/JobsList.js +47 -0
- package/dist/components/Employee/Compensation/JobsList/JobsList.js.map +1 -0
- package/dist/components/Employee/Compensation/JobsList/JobsListPresentation.d.ts +11 -0
- package/dist/components/Employee/Compensation/JobsList/JobsListPresentation.js +98 -0
- package/dist/components/Employee/Compensation/JobsList/JobsListPresentation.js.map +1 -0
- package/dist/components/Employee/Compensation/JobsList/index.d.ts +5 -0
- package/dist/components/Employee/Compensation/{useCompensation.d.ts → compensationSchema.d.ts} +0 -22
- package/dist/components/Employee/Compensation/{useCompensation.js → compensationSchema.js} +9 -12
- package/dist/components/Employee/Compensation/compensationSchema.js.map +1 -0
- package/dist/components/Employee/Compensation/compensationStateMachine.d.ts +6 -0
- package/dist/components/Employee/Compensation/compensationStateMachine.js +73 -0
- package/dist/components/Employee/Compensation/compensationStateMachine.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +62 -36
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +81 -57
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +5 -12
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +22 -35
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/index.d.ts +5 -3
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +55 -13
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +216 -226
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.d.ts +15 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.js +27 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.d.ts +19 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +29 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/index.d.ts +7 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +43 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +37 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.d.ts +13 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.js +26 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +56 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +180 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -0
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +15 -13
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +3 -0
- package/dist/components/Employee/Dashboard/DashboardComponents.js +33 -15
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.js +13 -11
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.js +11 -9
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/TaxesView.js +21 -19
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +3 -0
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +54 -33
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +14 -11
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +36 -33
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +6 -3
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +1 -1
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +2 -3
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +7 -6
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +7 -8
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js +3 -2
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +3 -2
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js +69 -68
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
- package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js +3 -2
- package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +8 -7
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +18 -17
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/index.d.ts +3 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +8 -0
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +71 -0
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/management/index.d.ts +2 -0
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +8 -0
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +55 -0
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/onboarding/index.d.ts +2 -0
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.d.ts +15 -0
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +104 -0
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/shared/index.d.ts +3 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +41 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js +40 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.d.ts +18 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +31 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/index.d.ts +5 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +37 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js +140 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -3
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +8 -8
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +2 -2
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
- package/dist/components/Employee/PaymentMethod/Actions.js +6 -5
- package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js +4 -4
- package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
- package/dist/components/Employee/PaymentMethod/Split.js +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +8 -5
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/management/Profile.d.ts +6 -0
- package/dist/components/Employee/Profile/management/Profile.js +122 -0
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -0
- package/dist/components/Employee/Profile/management/Profile.module.scss.js +8 -0
- package/dist/components/Employee/Profile/management/Profile.module.scss.js.map +1 -0
- package/dist/components/Employee/Profile/{AdminProfile.js → onboarding/AdminProfile.js} +15 -15
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -0
- package/dist/components/Employee/Profile/{EmployeeProfile.js → onboarding/EmployeeProfile.js} +14 -14
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -0
- package/dist/components/Employee/Profile/{Profile.d.ts → onboarding/Profile.d.ts} +2 -2
- package/dist/components/Employee/Profile/{Profile.js → onboarding/Profile.js} +4 -4
- package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -0
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +9 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +61 -58
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +40 -39
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +47 -46
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +14 -14
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/index.d.ts +2 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +6 -0
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +59 -0
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -0
- package/dist/components/Employee/StateTaxes/management/index.d.ts +2 -0
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +8 -0
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +49 -0
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -0
- package/dist/components/Employee/StateTaxes/onboarding/index.d.ts +2 -0
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.d.ts +14 -0
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +32 -0
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -0
- package/dist/components/Employee/StateTaxes/shared/index.d.ts +3 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/stateTaxesFixtures.d.ts +8 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/toWireFormat.d.ts +36 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.d.ts +56 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js +116 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js.map +1 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.d.ts +12 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +76 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.d.ts +14 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js +23 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js.map +1 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMeta.d.ts +6 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +39 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +46 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js +93 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/index.d.ts +6 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +36 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +159 -0
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -0
- package/dist/components/Employee/Taxes/Actions.js +9 -8
- package/dist/components/Employee/Taxes/Actions.js.map +1 -1
- package/dist/components/Employee/Taxes/FederalForm.js +5 -4
- package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
- package/dist/components/Employee/Taxes/useTaxes.js +6 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +3 -2
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +4 -4
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +3 -2
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +2 -3
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/exports/employeeManagement.d.ts +3 -0
- package/dist/components/Employee/exports/employeeManagement.js +16 -10
- package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
- package/dist/components/Employee/exports/employeeOnboarding.js +19 -19
- package/dist/components/Employee/index.d.ts +2 -1
- package/dist/components/Employee/index.js +37 -37
- package/dist/components/Flow/FlowHeader.js +8 -8
- package/dist/components/Flow/FlowHeader.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +47 -46
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +4 -4
- package/dist/components/InformationRequests/InformationRequests.js +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +3 -2
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +22 -20
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +3 -2
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +1 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +7 -6
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +3 -2
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +9 -8
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +12 -12
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +2 -3
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +2 -3
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +17 -16
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +3 -2
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +3 -2
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +2 -3
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +3 -2
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +3 -2
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +4 -4
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +6 -6
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +3 -2
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +3 -2
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +13 -10
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/AddEmployeesToPolicy/AddEmployeesToPolicy.js +3 -2
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +6 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +149 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +2 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +80 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +21 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/index.d.ts +5 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/HolidaySelectionForm/HolidaySelectionForm.d.ts +1 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +115 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/HolidaySelectionForm/HolidaySelectionFormPresentation.js +9 -7
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.js +103 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -0
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +135 -0
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyList/PolicyListTypes.d.ts +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +70 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.module.scss.js +16 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +164 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicySettings/PolicySettingsTypes.d.ts +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +31 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +68 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffFlow/TimeOffFlowComponents.d.ts +3 -3
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +117 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +9 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js +25 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffFlow/timeOffStateMachine.d.ts +4 -2
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +487 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +158 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +85 -76
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +6 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +143 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +103 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +41 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +9 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +216 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +2 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +64 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.d.ts +9 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +56 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +5 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +251 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.module.scss.js +10 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.module.scss.js.map +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +143 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +52 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/index.d.ts +7 -0
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js +9 -0
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -0
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +6 -0
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js +9 -0
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -0
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js +9 -0
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/index.d.ts +5 -4
- package/dist/components/TimeOff/index.js +27 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +2 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +95 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +3 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +86 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +27 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/index.d.ts +3 -0
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/holidayHelpers.d.ts +1 -1
- package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/holidayHelpers.js +8 -8
- package/dist/components/TimeOff/shared/holidayHelpers.js.map +1 -0
- package/dist/components/TimeOff/shared/holidayHelpers.test.d.ts +1 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +11 -10
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/dateFormatting.d.ts +2 -0
- package/dist/helpers/dateFormatting.js +4 -0
- package/dist/helpers/dateFormatting.js.map +1 -1
- package/dist/i18n/I18n.js +11 -10
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js +12 -14
- package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.HolidayPolicy.json.js +18 -16
- package/dist/i18n/en/Company.TimeOff.HolidayPolicy.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.PolicyDetail.json.js +14 -0
- package/dist/i18n/en/Company.TimeOff.PolicyDetail.json.js.map +1 -0
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +24 -16
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +14 -14
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +46 -42
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js.map +1 -1
- package/dist/i18n/en/Employee.FederalTaxes.json.js +16 -10
- package/dist/i18n/en/Employee.FederalTaxes.json.js.map +1 -1
- package/dist/i18n/en/Employee.Profile.json.js +24 -20
- package/dist/i18n/en/Employee.Profile.json.js.map +1 -1
- package/dist/i18n/en/Employee.StateTaxes.json.js +14 -6
- package/dist/i18n/en/Employee.StateTaxes.json.js.map +1 -1
- package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
- package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +118 -93
- package/dist/index.js.map +1 -1
- package/dist/partner-hook-utils/form/SDKFormProvider.js +18 -14
- package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
- package/dist/partner-hook-utils/form/buildFormSchema.js +41 -41
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +10 -6
- package/dist/partner-hook-utils/form/composeSubmitHandler.js +49 -26
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +27 -23
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -29
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +37 -33
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +32 -28
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +34 -30
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +23 -19
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.d.ts +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +31 -27
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/withFieldElementRegistry.d.ts +10 -0
- package/dist/partner-hook-utils/form/fields/withFieldElementRegistry.js +9 -0
- package/dist/partner-hook-utils/form/fields/withFieldElementRegistry.js.map +1 -0
- package/dist/partner-hook-utils/form/index.d.ts +3 -0
- package/dist/partner-hook-utils/form/resolveFieldError.js +10 -7
- package/dist/partner-hook-utils/form/resolveFieldError.js.map +1 -1
- package/dist/partner-hook-utils/form/useFieldErrorMessage.js +10 -7
- package/dist/partner-hook-utils/form/useFieldErrorMessage.js.map +1 -1
- package/dist/partner-hook-utils/form/useHookFieldResolution.d.ts +10 -3
- package/dist/partner-hook-utils/form/useHookFieldResolution.js +6 -6
- package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
- package/dist/partner-hook-utils/form/useHookFormInternals.d.ts +22 -0
- package/dist/partner-hook-utils/form/useHookFormInternals.js +12 -0
- package/dist/partner-hook-utils/form/useHookFormInternals.js.map +1 -0
- package/dist/partner-hook-utils/types.d.ts +15 -0
- package/dist/shared/constants.d.ts +22 -0
- package/dist/shared/constants.js +41 -30
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +62 -14
- package/docs/reference/endpoint-inventory.json +313 -122
- package/package.json +18 -16
- package/dist/components/Employee/Compensation/Actions.d.ts +0 -1
- package/dist/components/Employee/Compensation/Actions.js +0 -39
- package/dist/components/Employee/Compensation/Actions.js.map +0 -1
- package/dist/components/Employee/Compensation/Edit.d.ts +0 -5
- package/dist/components/Employee/Compensation/Edit.js +0 -179
- package/dist/components/Employee/Compensation/Edit.js.map +0 -1
- package/dist/components/Employee/Compensation/Head.d.ts +0 -1
- package/dist/components/Employee/Compensation/Head.js +0 -22
- package/dist/components/Employee/Compensation/Head.js.map +0 -1
- package/dist/components/Employee/Compensation/List.d.ts +0 -1
- package/dist/components/Employee/Compensation/List.js +0 -72
- package/dist/components/Employee/Compensation/List.js.map +0 -1
- package/dist/components/Employee/Compensation/useCompensation.js.map +0 -1
- package/dist/components/Employee/FederalTaxes/Actions.d.ts +0 -1
- package/dist/components/Employee/FederalTaxes/Actions.js +0 -14
- package/dist/components/Employee/FederalTaxes/Actions.js.map +0 -1
- package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +0 -12
- package/dist/components/Employee/FederalTaxes/FederalForm.js +0 -110
- package/dist/components/Employee/FederalTaxes/FederalForm.js.map +0 -1
- package/dist/components/Employee/FederalTaxes/FederalTaxes.d.ts +0 -6
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js +0 -84
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +0 -1
- package/dist/components/Employee/FederalTaxes/Head.d.ts +0 -1
- package/dist/components/Employee/FederalTaxes/Head.js +0 -24
- package/dist/components/Employee/FederalTaxes/Head.js.map +0 -1
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.d.ts +0 -5
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +0 -21
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +0 -1
- package/dist/components/Employee/Profile/AdminProfile.js.map +0 -1
- package/dist/components/Employee/Profile/EmployeeProfile.js.map +0 -1
- package/dist/components/Employee/Profile/Profile.js.map +0 -1
- package/dist/components/Employee/Profile/index.d.ts +0 -2
- package/dist/components/Employee/StateTaxes/Actions.d.ts +0 -1
- package/dist/components/Employee/StateTaxes/Actions.js +0 -14
- package/dist/components/Employee/StateTaxes/Actions.js.map +0 -1
- package/dist/components/Employee/StateTaxes/StateForm.d.ts +0 -6
- package/dist/components/Employee/StateTaxes/StateForm.js +0 -34
- package/dist/components/Employee/StateTaxes/StateForm.js.map +0 -1
- package/dist/components/Employee/StateTaxes/StateTaxes.d.ts +0 -7
- package/dist/components/Employee/StateTaxes/StateTaxes.js +0 -98
- package/dist/components/Employee/StateTaxes/StateTaxes.js.map +0 -1
- package/dist/components/Employee/StateTaxes/useStateTaxes.d.ts +0 -8
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +0 -21
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +0 -49
- package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyList.js +0 -107
- package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyList.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.js +0 -125
- package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js +0 -66
- package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.module.scss.js +0 -16
- package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettingsPresentation.js +0 -154
- package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettingsPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +0 -29
- package/dist/components/UNSTABLE_TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +0 -67
- package/dist/components/UNSTABLE_TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlow.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js +0 -112
- package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js +0 -317
- package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +0 -72
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployees.d.ts +0 -2
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +0 -6
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +0 -66
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +0 -2
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +0 -82
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -24
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +0 -7
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +0 -70
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTypes.d.ts +0 -24
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +0 -56
- package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js +0 -35
- package/dist/components/UNSTABLE_TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js +0 -35
- package/dist/components/UNSTABLE_TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.d.ts +0 -5
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.js +0 -35
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.d.ts +0 -5
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.js +0 -35
- package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/index.js +0 -27
- package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +0 -2
- package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.js +0 -90
- package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.js.map +0 -1
- package/dist/components/UNSTABLE_TimeOff/shared/holidayHelpers.js.map +0 -1
- /package/dist/components/Employee/{Compensation/shared/useCompensationForm/compensationSchemaParity.test.d.ts → FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.test.d.ts} +0 -0
- /package/dist/components/Employee/Profile/{AdminProfile.d.ts → onboarding/AdminProfile.d.ts} +0 -0
- /package/dist/components/Employee/Profile/{AdminProfile.module.scss.js → onboarding/AdminProfile.module.scss.js} +0 -0
- /package/dist/components/Employee/Profile/{AdminProfile.module.scss.js.map → onboarding/AdminProfile.module.scss.js.map} +0 -0
- /package/dist/components/Employee/Profile/{EmployeeProfile.d.ts → onboarding/EmployeeProfile.d.ts} +0 -0
- /package/dist/components/Employee/Profile/{EmployeeProfile.module.scss.js → onboarding/EmployeeProfile.module.scss.js} +0 -0
- /package/dist/components/Employee/Profile/{EmployeeProfile.module.scss.js.map → onboarding/EmployeeProfile.module.scss.js.map} +0 -0
- /package/dist/components/{UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.test.d.ts → Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.test.d.ts} +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/AddEmployeesHoliday/AddEmployeesHoliday.js +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/HolidaySelectionForm/HolidaySelectionFormPresentation.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyList/PolicyList.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyList/PolicyListPresentation.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyList/PolicyListPresentation.module.scss.js +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyList/PolicyListPresentation.module.scss.js.map +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicySettings/PolicySettings.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicySettings/PolicySettings.module.scss.js.map +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicySettings/PolicySettingsPresentation.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/PolicyTypeSelector/PolicyTypeSelector.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffFlow/TimeOffFlow.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffFlow/TimeOffFlow.js +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffFlow/index.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff/shared/holidayHelpers.test.d.ts → TimeOff/TimeOffFlow/timeOffStateMachine.test.d.ts} +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.module.scss.js +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.module.scss.js.map +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/TimeOffManagement/PolicyConfigurationForm/index.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/index.js.map +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/EmployeeTable/EmployeeTable.module.scss.js +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/EmployeeTable/EmployeeTable.module.scss.js.map +0 -0
- /package/dist/components/{UNSTABLE_TimeOff → TimeOff}/shared/EmployeeTable/index.d.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { NumberInputHookField as o } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
3
|
+
import { RadioGroupHookField as t } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
4
|
+
import { SelectHookField as r } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
5
|
+
function d(n) {
|
|
6
|
+
return /* @__PURE__ */ e(r, { ...n, name: "filingStatus" });
|
|
7
|
+
}
|
|
8
|
+
function a(n) {
|
|
9
|
+
return /* @__PURE__ */ e(t, { ...n, name: "twoJobs" });
|
|
10
|
+
}
|
|
11
|
+
function f(n) {
|
|
12
|
+
return /* @__PURE__ */ e(o, { ...n, name: "dependentsAmount", format: "currency", min: 0 });
|
|
13
|
+
}
|
|
14
|
+
function l(n) {
|
|
15
|
+
return /* @__PURE__ */ e(o, { ...n, name: "otherIncome", format: "currency", min: 0 });
|
|
16
|
+
}
|
|
17
|
+
function F(n) {
|
|
18
|
+
return /* @__PURE__ */ e(o, { ...n, name: "deductions", format: "currency", min: 0 });
|
|
19
|
+
}
|
|
20
|
+
function p(n) {
|
|
21
|
+
return /* @__PURE__ */ e(o, { ...n, name: "extraWithholding", format: "currency", min: 0 });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
F as DeductionsField,
|
|
25
|
+
f as DependentsAmountField,
|
|
26
|
+
p as ExtraWithholdingField,
|
|
27
|
+
d as FilingStatusField,
|
|
28
|
+
l as OtherIncomeField,
|
|
29
|
+
a as TwoJobsField
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sources":["../../../../../../src/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.tsx"],"sourcesContent":["import type { FederalTaxesErrorCodes, FilingStatusValue } from './federalTaxesSchema'\nimport type { SelectHookFieldProps } from '@/partner-hook-utils/form/fields/SelectHookField'\nimport type { RadioGroupHookFieldProps } from '@/partner-hook-utils/form/fields/RadioGroupHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport {\n SelectHookField,\n RadioGroupHookField,\n NumberInputHookField,\n} from '@/partner-hook-utils/form/fields'\nimport type { HookFieldProps } from '@/partner-hook-utils/types'\n\nexport type RequiredValidation = typeof FederalTaxesErrorCodes.REQUIRED\n\nexport type FilingStatusFieldProps = HookFieldProps<\n SelectHookFieldProps<RequiredValidation, FilingStatusValue>\n>\n\nexport function FilingStatusField(props: FilingStatusFieldProps) {\n return <SelectHookField {...props} name=\"filingStatus\" />\n}\n\nexport type TwoJobsFieldProps = HookFieldProps<\n RadioGroupHookFieldProps<RequiredValidation, boolean>\n>\n\nexport function TwoJobsField(props: TwoJobsFieldProps) {\n return <RadioGroupHookField {...props} name=\"twoJobs\" />\n}\n\nexport type DependentsAmountFieldProps = HookFieldProps<\n NumberInputHookFieldProps<RequiredValidation>\n>\n\nexport function DependentsAmountField(props: DependentsAmountFieldProps) {\n return <NumberInputHookField {...props} name=\"dependentsAmount\" format=\"currency\" min={0} />\n}\n\nexport type OtherIncomeFieldProps = HookFieldProps<NumberInputHookFieldProps<RequiredValidation>>\n\nexport function OtherIncomeField(props: OtherIncomeFieldProps) {\n return <NumberInputHookField {...props} name=\"otherIncome\" format=\"currency\" min={0} />\n}\n\nexport type DeductionsFieldProps = HookFieldProps<NumberInputHookFieldProps<RequiredValidation>>\n\nexport function DeductionsField(props: DeductionsFieldProps) {\n return <NumberInputHookField {...props} name=\"deductions\" format=\"currency\" min={0} />\n}\n\nexport type ExtraWithholdingFieldProps = HookFieldProps<\n NumberInputHookFieldProps<RequiredValidation>\n>\n\nexport function ExtraWithholdingField(props: ExtraWithholdingFieldProps) {\n return <NumberInputHookField {...props} name=\"extraWithholding\" format=\"currency\" min={0} />\n}\n"],"names":["FilingStatusField","props","jsx","SelectHookField","TwoJobsField","RadioGroupHookField","DependentsAmountField","NumberInputHookField","OtherIncomeField","DeductionsField","ExtraWithholdingField"],"mappings":";;;;AAiBO,SAASA,EAAkBC,GAA+B;AAC/D,SAAO,gBAAAC,EAACC,GAAA,EAAiB,GAAGF,GAAO,MAAK,gBAAe;AACzD;AAMO,SAASG,EAAaH,GAA0B;AACrD,SAAO,gBAAAC,EAACG,GAAA,EAAqB,GAAGJ,GAAO,MAAK,WAAU;AACxD;AAMO,SAASK,EAAsBL,GAAmC;AACvE,SAAO,gBAAAC,EAACK,KAAsB,GAAGN,GAAO,MAAK,oBAAmB,QAAO,YAAW,KAAK,EAAA,CAAG;AAC5F;AAIO,SAASO,EAAiBP,GAA8B;AAC7D,SAAO,gBAAAC,EAACK,KAAsB,GAAGN,GAAO,MAAK,eAAc,QAAO,YAAW,KAAK,EAAA,CAAG;AACvF;AAIO,SAASQ,EAAgBR,GAA6B;AAC3D,SAAO,gBAAAC,EAACK,KAAsB,GAAGN,GAAO,MAAK,cAAa,QAAO,YAAW,KAAK,EAAA,CAAG;AACtF;AAMO,SAASS,EAAsBT,GAAmC;AACvE,SAAO,gBAAAC,EAACK,KAAsB,GAAGN,GAAO,MAAK,oBAAmB,QAAO,YAAW,KAAK,EAAA,CAAG;AAC5F;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "./types/i18next.d.ts"
|
|
2
|
+
export { useFederalTaxesForm } from './useFederalTaxesForm';
|
|
3
|
+
export type { FederalTaxesOptionalFieldsToRequire, UseFederalTaxesFormProps, UseFederalTaxesFormResult, UseFederalTaxesFormReady, FederalTaxesFieldsMetadata, FederalTaxesFormFields, FederalTaxesFields, } from './useFederalTaxesForm';
|
|
4
|
+
export { createFederalTaxesSchema, FederalTaxesErrorCodes, FILING_STATUS_VALUES, type FederalTaxesErrorCode, type FederalTaxesFormData, type FederalTaxesFormOutputs, type FederalTaxesField, type FilingStatusValue, } from './federalTaxesSchema';
|
|
5
|
+
export type { RequiredValidation as FederalTaxesRequiredValidation, FilingStatusFieldProps, TwoJobsFieldProps, DependentsAmountFieldProps, OtherIncomeFieldProps, DeductionsFieldProps, ExtraWithholdingFieldProps, } from './fields';
|
package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { UseFormProps } from 'react-hook-form';
|
|
2
|
+
import { EmployeeFederalTax } from '@gusto/embedded-api/models/components/employeefederaltax';
|
|
3
|
+
import { FederalTaxesOptionalFieldsToRequire, FederalTaxesFormData } from './federalTaxesSchema';
|
|
4
|
+
import { FilingStatusField, TwoJobsField, DependentsAmountField, OtherIncomeField, DeductionsField, ExtraWithholdingField } from './fields';
|
|
5
|
+
import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
|
|
6
|
+
export type { FederalTaxesOptionalFieldsToRequire } from './federalTaxesSchema';
|
|
7
|
+
export interface UseFederalTaxesFormProps {
|
|
8
|
+
employeeId: string;
|
|
9
|
+
optionalFieldsToRequire?: FederalTaxesOptionalFieldsToRequire;
|
|
10
|
+
defaultValues?: Partial<FederalTaxesFormData>;
|
|
11
|
+
validationMode?: UseFormProps['mode'];
|
|
12
|
+
shouldFocusError?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface FederalTaxesFields {
|
|
15
|
+
FilingStatus: typeof FilingStatusField;
|
|
16
|
+
TwoJobs: typeof TwoJobsField;
|
|
17
|
+
DependentsAmount: typeof DependentsAmountField;
|
|
18
|
+
OtherIncome: typeof OtherIncomeField;
|
|
19
|
+
Deductions: typeof DeductionsField;
|
|
20
|
+
ExtraWithholding: typeof ExtraWithholdingField;
|
|
21
|
+
}
|
|
22
|
+
export interface UseFederalTaxesFormReady extends BaseFormHookReady<FieldsMetadata, FederalTaxesFormData, FederalTaxesFields> {
|
|
23
|
+
data: {
|
|
24
|
+
employeeFederalTax: EmployeeFederalTax;
|
|
25
|
+
};
|
|
26
|
+
status: {
|
|
27
|
+
isPending: boolean;
|
|
28
|
+
mode: 'update';
|
|
29
|
+
};
|
|
30
|
+
actions: {
|
|
31
|
+
onSubmit: () => Promise<HookSubmitResult<EmployeeFederalTax> | undefined>;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare function useFederalTaxesForm({ employeeId, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseFederalTaxesFormProps): HookLoadingResult | UseFederalTaxesFormReady;
|
|
35
|
+
export type UseFederalTaxesFormResult = HookLoadingResult | UseFederalTaxesFormReady;
|
|
36
|
+
export type FederalTaxesFieldsMetadata = UseFederalTaxesFormReady['form']['fieldsMetadata'];
|
|
37
|
+
export type FederalTaxesFormFields = UseFederalTaxesFormReady['form']['Fields'];
|
package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { useMemo as d } from "react";
|
|
2
|
+
import { useForm as _ } from "react-hook-form";
|
|
3
|
+
import { zodResolver as L } from "@hookform/resolvers/zod";
|
|
4
|
+
import { useEmployeeTaxSetupGetFederalTaxes as U } from "@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes";
|
|
5
|
+
import { useEmployeeTaxSetupUpdateFederalTaxesMutation as D } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes";
|
|
6
|
+
import { createFederalTaxesSchema as H, FILING_STATUS_VALUES as c } from "./federalTaxesSchema.js";
|
|
7
|
+
import { ExtraWithholdingField as k, DeductionsField as G, OtherIncomeField as B, DependentsAmountField as P, TwoJobsField as R, FilingStatusField as q } from "./fields.js";
|
|
8
|
+
import { useDeriveFieldsMetadata as z } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
|
|
9
|
+
import { useHookFormInternals as C } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
|
|
10
|
+
import { createGetFormSubmissionValues as K } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
|
|
11
|
+
import { withOptions as S } from "../../../../../partner-hook-utils/form/withOptions.js";
|
|
12
|
+
import { composeErrorHandler as Q } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
13
|
+
import { useBaseSubmit as Y } from "../../../../Base/useBaseSubmit.js";
|
|
14
|
+
import { SDKInternalError as b } from "../../../../../types/sdkError.js";
|
|
15
|
+
function j(e) {
|
|
16
|
+
return e.w4DataType === "rev_2020_w4";
|
|
17
|
+
}
|
|
18
|
+
function X(e) {
|
|
19
|
+
return e ? c.find((r) => r === e) ?? "" : "";
|
|
20
|
+
}
|
|
21
|
+
function m(e) {
|
|
22
|
+
if (e == null || e === "") return;
|
|
23
|
+
const r = Number(e);
|
|
24
|
+
return Number.isNaN(r) ? void 0 : r;
|
|
25
|
+
}
|
|
26
|
+
function ce({
|
|
27
|
+
employeeId: e,
|
|
28
|
+
optionalFieldsToRequire: r,
|
|
29
|
+
defaultValues: n,
|
|
30
|
+
validationMode: g = "onSubmit",
|
|
31
|
+
shouldFocusError: x = !0
|
|
32
|
+
}) {
|
|
33
|
+
const u = U({ employeeUuid: e }), o = u.data?.employeeFederalTax, [f, w] = d(
|
|
34
|
+
() => H({ optionalFieldsToRequire: r }),
|
|
35
|
+
[r]
|
|
36
|
+
), T = d(
|
|
37
|
+
() => c.map((t) => ({ value: t, label: t })),
|
|
38
|
+
[]
|
|
39
|
+
), v = d(
|
|
40
|
+
() => [
|
|
41
|
+
{ label: "Yes", value: "true" },
|
|
42
|
+
{ label: "No", value: "false" }
|
|
43
|
+
],
|
|
44
|
+
[]
|
|
45
|
+
), p = d(() => {
|
|
46
|
+
const t = o && j(o) ? o : void 0;
|
|
47
|
+
return {
|
|
48
|
+
filingStatus: X(t?.filingStatus) || n?.filingStatus || "",
|
|
49
|
+
twoJobs: t?.twoJobs ?? n?.twoJobs ?? !1,
|
|
50
|
+
dependentsAmount: m(t?.dependentsAmount) ?? n?.dependentsAmount ?? 0,
|
|
51
|
+
otherIncome: m(t?.otherIncome) ?? n?.otherIncome ?? 0,
|
|
52
|
+
deductions: m(t?.deductions) ?? n?.deductions ?? 0,
|
|
53
|
+
extraWithholding: m(t?.extraWithholding) ?? n?.extraWithholding ?? 0
|
|
54
|
+
};
|
|
55
|
+
}, [o, n]), a = _({
|
|
56
|
+
resolver: L(f),
|
|
57
|
+
mode: g,
|
|
58
|
+
shouldFocusError: x,
|
|
59
|
+
defaultValues: p,
|
|
60
|
+
values: p,
|
|
61
|
+
resetOptions: { keepDirtyValues: !0 }
|
|
62
|
+
}), { mutateAsync: I, isPending: A } = D(), {
|
|
63
|
+
baseSubmitHandler: y,
|
|
64
|
+
error: E,
|
|
65
|
+
setError: J
|
|
66
|
+
} = Y("FederalTaxesForm"), h = Q([u], { submitError: E, setSubmitError: J }), s = z(w, a.control), W = {
|
|
67
|
+
filingStatus: S(
|
|
68
|
+
s.filingStatus,
|
|
69
|
+
T,
|
|
70
|
+
c
|
|
71
|
+
),
|
|
72
|
+
twoJobs: S(s.twoJobs, v, [!0, !1]),
|
|
73
|
+
dependentsAmount: s.dependentsAmount,
|
|
74
|
+
otherIncome: s.otherIncome,
|
|
75
|
+
deductions: s.deductions,
|
|
76
|
+
extraWithholding: s.extraWithholding
|
|
77
|
+
}, N = async () => {
|
|
78
|
+
let t;
|
|
79
|
+
return await new Promise((l) => {
|
|
80
|
+
a.handleSubmit(
|
|
81
|
+
async (O) => {
|
|
82
|
+
await y(O, async (i) => {
|
|
83
|
+
if (!o)
|
|
84
|
+
throw new b("Federal taxes record was not loaded before submit");
|
|
85
|
+
const V = {
|
|
86
|
+
filingStatus: i.filingStatus,
|
|
87
|
+
twoJobs: i.twoJobs,
|
|
88
|
+
dependentsAmount: i.dependentsAmount,
|
|
89
|
+
otherIncome: i.otherIncome,
|
|
90
|
+
deductions: i.deductions,
|
|
91
|
+
extraWithholding: i.extraWithholding,
|
|
92
|
+
w4DataType: "rev_2020_w4",
|
|
93
|
+
version: o.version
|
|
94
|
+
}, F = await I({
|
|
95
|
+
request: {
|
|
96
|
+
employeeUuid: e,
|
|
97
|
+
requestBody: V
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
if (!F.employeeFederalTax)
|
|
101
|
+
throw new b("Federal taxes update did not return an updated record");
|
|
102
|
+
t = { mode: "update", data: F.employeeFederalTax };
|
|
103
|
+
}), l();
|
|
104
|
+
},
|
|
105
|
+
() => {
|
|
106
|
+
l();
|
|
107
|
+
}
|
|
108
|
+
)();
|
|
109
|
+
}), t;
|
|
110
|
+
}, M = C(a);
|
|
111
|
+
return u.isLoading || !o ? { isLoading: !0, errorHandling: h } : {
|
|
112
|
+
isLoading: !1,
|
|
113
|
+
data: {
|
|
114
|
+
employeeFederalTax: o
|
|
115
|
+
},
|
|
116
|
+
status: {
|
|
117
|
+
isPending: A,
|
|
118
|
+
mode: "update"
|
|
119
|
+
},
|
|
120
|
+
actions: { onSubmit: N },
|
|
121
|
+
errorHandling: h,
|
|
122
|
+
form: {
|
|
123
|
+
Fields: {
|
|
124
|
+
FilingStatus: q,
|
|
125
|
+
TwoJobs: R,
|
|
126
|
+
DependentsAmount: P,
|
|
127
|
+
OtherIncome: B,
|
|
128
|
+
Deductions: G,
|
|
129
|
+
ExtraWithholding: k
|
|
130
|
+
},
|
|
131
|
+
fieldsMetadata: W,
|
|
132
|
+
hookFormInternals: M,
|
|
133
|
+
getFormSubmissionValues: K(a, f)
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
ce as useFederalTaxesForm
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=useFederalTaxesForm.js.map
|
package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFederalTaxesForm.js","sources":["../../../../../../src/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.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 { EmployeeFederalTax } from '@gusto/embedded-api/models/components/employeefederaltax'\nimport type { EmployeeFederalTaxRev2020 } from '@gusto/embedded-api/models/components/employeefederaltaxrev2020'\nimport { useEmployeeTaxSetupGetFederalTaxes } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport type {\n FilingStatus,\n PutV1EmployeesEmployeeIdFederalTaxesRequestBody,\n} from '@gusto/embedded-api/models/operations/putv1employeesemployeeidfederaltaxes'\nimport {\n createFederalTaxesSchema,\n FILING_STATUS_VALUES,\n type FederalTaxesOptionalFieldsToRequire,\n type FederalTaxesFormData,\n type FederalTaxesFormOutputs,\n type FilingStatusValue,\n} from './federalTaxesSchema'\nimport {\n FilingStatusField,\n TwoJobsField,\n DependentsAmountField,\n OtherIncomeField,\n DeductionsField,\n ExtraWithholdingField,\n} 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'\n\nexport type { FederalTaxesOptionalFieldsToRequire } from './federalTaxesSchema'\n\nexport interface UseFederalTaxesFormProps {\n employeeId: string\n optionalFieldsToRequire?: FederalTaxesOptionalFieldsToRequire\n defaultValues?: Partial<FederalTaxesFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface FederalTaxesFields {\n FilingStatus: typeof FilingStatusField\n TwoJobs: typeof TwoJobsField\n DependentsAmount: typeof DependentsAmountField\n OtherIncome: typeof OtherIncomeField\n Deductions: typeof DeductionsField\n ExtraWithholding: typeof ExtraWithholdingField\n}\n\nexport interface UseFederalTaxesFormReady extends BaseFormHookReady<\n FieldsMetadata,\n FederalTaxesFormData,\n FederalTaxesFields\n> {\n data: {\n employeeFederalTax: EmployeeFederalTax\n }\n status: { isPending: boolean; mode: 'update' }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<EmployeeFederalTax> | undefined>\n }\n}\n\nfunction isRev2020(federalTax: EmployeeFederalTax): federalTax is EmployeeFederalTaxRev2020 {\n return federalTax.w4DataType === 'rev_2020_w4'\n}\n\nfunction toFilingStatus(value: string | null | undefined): FilingStatusValue | '' {\n if (!value) return ''\n return FILING_STATUS_VALUES.find(allowed => allowed === value) ?? ''\n}\n\nfunction toNumber(value: string | null | undefined): number | undefined {\n if (value === null || value === undefined || value === '') return undefined\n const parsed = Number(value)\n return Number.isNaN(parsed) ? undefined : parsed\n}\n\nexport function useFederalTaxesForm({\n employeeId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseFederalTaxesFormProps): HookLoadingResult | UseFederalTaxesFormReady {\n const federalTaxesQuery = useEmployeeTaxSetupGetFederalTaxes({ employeeUuid: employeeId })\n\n const employeeFederalTax = federalTaxesQuery.data?.employeeFederalTax\n\n const [schema, metadataConfig] = useMemo(\n () => createFederalTaxesSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const filingStatusOptions = useMemo(\n () => FILING_STATUS_VALUES.map(value => ({ value, label: value })),\n [],\n )\n\n const twoJobsOptions = useMemo(\n () => [\n { label: 'Yes', value: 'true' },\n { label: 'No', value: 'false' },\n ],\n [],\n )\n\n const resolvedDefaults: FederalTaxesFormData = useMemo(() => {\n const rev2020Source =\n employeeFederalTax && isRev2020(employeeFederalTax) ? employeeFederalTax : undefined\n\n const fromServerFilingStatus = toFilingStatus(rev2020Source?.filingStatus)\n\n return {\n filingStatus: fromServerFilingStatus || partnerDefaults?.filingStatus || '',\n twoJobs: rev2020Source?.twoJobs ?? partnerDefaults?.twoJobs ?? false,\n dependentsAmount:\n toNumber(rev2020Source?.dependentsAmount) ?? partnerDefaults?.dependentsAmount ?? 0,\n otherIncome: toNumber(rev2020Source?.otherIncome) ?? partnerDefaults?.otherIncome ?? 0,\n deductions: toNumber(rev2020Source?.deductions) ?? partnerDefaults?.deductions ?? 0,\n extraWithholding:\n toNumber(rev2020Source?.extraWithholding) ?? partnerDefaults?.extraWithholding ?? 0,\n }\n }, [employeeFederalTax, partnerDefaults])\n\n const formMethods = useForm<FederalTaxesFormData, unknown, FederalTaxesFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const { mutateAsync: updateFederalTaxes, isPending } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('FederalTaxesForm')\n\n const errorHandling = composeErrorHandler([federalTaxesQuery], { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n filingStatus: withOptions<FilingStatusValue>(\n baseMetadata.filingStatus,\n filingStatusOptions,\n FILING_STATUS_VALUES,\n ),\n twoJobs: withOptions<boolean>(baseMetadata.twoJobs, twoJobsOptions, [true, false]),\n dependentsAmount: baseMetadata.dependentsAmount,\n otherIncome: baseMetadata.otherIncome,\n deductions: baseMetadata.deductions,\n extraWithholding: baseMetadata.extraWithholding,\n }\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeeFederalTax> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeFederalTax> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: FederalTaxesFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n if (!employeeFederalTax) {\n throw new SDKInternalError('Federal taxes record was not loaded before submit')\n }\n\n const requestBody: PutV1EmployeesEmployeeIdFederalTaxesRequestBody = {\n filingStatus: payload.filingStatus as FilingStatus,\n twoJobs: payload.twoJobs,\n dependentsAmount: payload.dependentsAmount,\n otherIncome: payload.otherIncome,\n deductions: payload.deductions,\n extraWithholding: payload.extraWithholding,\n w4DataType: 'rev_2020_w4',\n version: employeeFederalTax.version,\n }\n\n const response = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n\n if (!response.employeeFederalTax) {\n throw new SDKInternalError('Federal taxes update did not return an updated record')\n }\n\n submitResult = { mode: 'update', data: response.employeeFederalTax }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (federalTaxesQuery.isLoading || !employeeFederalTax) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n employeeFederalTax,\n },\n status: {\n isPending,\n mode: 'update' as const,\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n FilingStatus: FilingStatusField,\n TwoJobs: TwoJobsField,\n DependentsAmount: DependentsAmountField,\n OtherIncome: OtherIncomeField,\n Deductions: DeductionsField,\n ExtraWithholding: ExtraWithholdingField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseFederalTaxesFormResult = HookLoadingResult | UseFederalTaxesFormReady\nexport type FederalTaxesFieldsMetadata = UseFederalTaxesFormReady['form']['fieldsMetadata']\nexport type FederalTaxesFormFields = UseFederalTaxesFormReady['form']['Fields']\n"],"names":["isRev2020","federalTax","toFilingStatus","value","FILING_STATUS_VALUES","allowed","toNumber","parsed","useFederalTaxesForm","employeeId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","federalTaxesQuery","useEmployeeTaxSetupGetFederalTaxes","employeeFederalTax","schema","metadataConfig","useMemo","createFederalTaxesSchema","filingStatusOptions","twoJobsOptions","resolvedDefaults","rev2020Source","formMethods","useForm","zodResolver","updateFederalTaxes","isPending","useEmployeeTaxSetupUpdateFederalTaxesMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","submitResult","resolve","data","payload","SDKInternalError","requestBody","response","hookFormInternals","useHookFormInternals","FilingStatusField","TwoJobsField","DependentsAmountField","OtherIncomeField","DeductionsField","ExtraWithholdingField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import { HomeAddressErrorCodes as a } from "../../Profile/shared/useHomeAddressF
|
|
|
10
10
|
import { SDKFormProvider as Z } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
11
11
|
import { Flex as s, FlexItem as Ae } from "../../../Common/Flex/Flex.js";
|
|
12
12
|
import { Grid as j } from "../../../Common/Grid/Grid.js";
|
|
13
|
-
import "classnames";
|
|
14
13
|
import { EmptyData as Fe } from "../../../Common/EmptyData/EmptyData.js";
|
|
15
14
|
import { useComponentContext as Y } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
15
|
import { formatDateLongWithYear as E, normalizeToDate as Ue, addDays as We } from "../../../../helpers/dateFormatting.js";
|
|
@@ -47,7 +46,7 @@ function q({
|
|
|
47
46
|
f ? /* @__PURE__ */ e(C.Alert, { label: c("withholdingTitle"), status: "warning", children: /* @__PURE__ */ e(L, { t: c, i18nKey: "withholdingNote" }) }) : null
|
|
48
47
|
] });
|
|
49
48
|
}
|
|
50
|
-
function
|
|
49
|
+
function at({
|
|
51
50
|
editHomeAddressForm: u,
|
|
52
51
|
createHomeAddressForm: m,
|
|
53
52
|
employeeHomeAddresses: c,
|
|
@@ -472,6 +471,6 @@ function st({
|
|
|
472
471
|
] });
|
|
473
472
|
}
|
|
474
473
|
export {
|
|
475
|
-
|
|
474
|
+
at as HomeAddressView
|
|
476
475
|
};
|
|
477
476
|
//# sourceMappingURL=HomeAddressView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeAddressView.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport type { TFunction } from 'i18next'\nimport {\n formatPendingHomeAddressLine,\n getPendingFutureHomeAddress,\n} from './getPendingFutureHomeAddress'\nimport HouseIcon from '@/assets/icons/house.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HomeAddressErrorCodes } from '@/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema'\nimport type { UseHomeAddressFormReady } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { DataView, EmptyData, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport { Grid } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { formatStreetForDisplay, getCityStateZip } from '@/helpers/formattedStrings'\n\nfunction HomeAddressCourtesyWithholdingBlock({\n CourtesyWithholding,\n formHook,\n tHa,\n}: {\n CourtesyWithholding: UseHomeAddressFormReady['form']['Fields']['CourtesyWithholding']\n formHook: UseHomeAddressFormReady\n tHa: TFunction<'Employee.HomeAddress'>\n}) {\n const Components = useComponentContext()\n const { control } = formHook.form.hookFormInternals.formMethods\n const courtesyWithholdingEnabled = useWatch({ control, name: 'courtesyWithholding' })\n\n return (\n <>\n <CourtesyWithholding\n label={tHa('courtesyWithholdingLabel')}\n description={\n <>\n {tHa('courtesyWithholdingDescription')}\n <Trans\n t={tHa}\n i18nKey=\"learnMoreCta\"\n components={{\n LearnMoreLink: <Components.Link />,\n }}\n />\n </>\n }\n />\n {courtesyWithholdingEnabled ? (\n <Components.Alert label={tHa('withholdingTitle')} status=\"warning\">\n <Trans t={tHa} i18nKey=\"withholdingNote\" />\n </Components.Alert>\n ) : null}\n </>\n )\n}\n\nexport interface HomeAddressViewProps {\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n /** Full list for history, pending future row, and delete confirmation (from management list query). */\n employeeHomeAddresses: EmployeeAddress[] | undefined\n employeeDisplayName: string\n /** Resolved UUID passed to the edit form (`homeAddressUuid`); active row when not editing history. */\n editingHomeAddressUuid: string | undefined\n /** `undefined` = edit active/current address; otherwise set to a history row’s UUID. */\n onEditAddressTargetChange: (homeAddressUuid: string | undefined) => void\n onSaved: (result: HookSubmitResult<EmployeeAddress>) => void\n onConfirmDelete: (homeAddressUuid: string) => Promise<boolean>\n isDeletePending?: boolean\n}\n\nexport function HomeAddressView({\n editHomeAddressForm,\n createHomeAddressForm,\n employeeHomeAddresses,\n employeeDisplayName,\n editingHomeAddressUuid,\n onEditAddressTargetChange,\n onSaved,\n onConfirmDelete,\n isDeletePending = false,\n}: HomeAddressViewProps) {\n const { t } = useTranslation('Employee.HomeAddress.Management')\n const { t: tHa } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n data: { homeAddress },\n status: editStatus,\n actions: { onSubmit: editOnSubmit },\n form: editForm,\n } = editHomeAddressForm\n\n const homeAddresses = employeeHomeAddresses\n\n const {\n status: createStatus,\n actions: { onSubmit: createOnSubmit },\n form: createForm,\n } = createHomeAddressForm\n\n const {\n Fields: {\n Street1: EditStreet1,\n Street2: EditStreet2,\n City: EditCity,\n State: EditState,\n Zip: EditZip,\n CourtesyWithholding: EditCourtesyWithholding,\n },\n } = editForm\n\n const {\n Fields: {\n Street1: CreateStreet1,\n Street2: CreateStreet2,\n City: CreateCity,\n State: CreateState,\n Zip: CreateZip,\n CourtesyWithholding: CreateCourtesyWithholding,\n EffectiveDate: CreateEffectiveDate,\n },\n } = createForm\n\n const zipValidation = {\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.zip'),\n [HomeAddressErrorCodes.INVALID_ZIP]: tHa('validations.zip'),\n }\n\n const startDateValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureHomeAddress(homeAddresses),\n [homeAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !homeAddresses) {\n return undefined\n }\n return homeAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, homeAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = [...(homeAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate?.toString() ?? ''\n const bDate = b.effectiveDate?.toString() ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n\n const historyAddresses = chronologicalAsc.filter(address => address.active !== true)\n const sortedHistory = [...historyAddresses].reverse()\n\n const historyEndDate = (row: EmployeeAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart.toString())\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.address'),\n render: (row: EmployeeAddress) => (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{formatStreetForDisplay(row)}</Components.Text>\n <Components.Text variant=\"supporting\">{getCityStateZip(row)}</Components.Text>\n </Flex>\n ),\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate.toString()) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditAddressTargetChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"home-address-history-empty\">\n <EmptyData\n icon={<HouseIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditAddressTargetChange(undefined)\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const addressModalSession =\n addressModal === 'edit'\n ? {\n onSubmit: editOnSubmit,\n formMethods: editHomeAddressForm.form.hookFormInternals.formMethods,\n isPending: editStatus.isPending,\n }\n : addressModal === 'create'\n ? {\n onSubmit: createOnSubmit,\n formMethods: createHomeAddressForm.form.hookFormInternals.formMethods,\n isPending: createStatus.isPending,\n }\n : null\n\n const handleSave = async () => {\n if (!addressModalSession) {\n return\n }\n\n const submitResult = await addressModalSession.onSubmit()\n\n if (submitResult) {\n onSaved(submitResult)\n }\n\n const hasFieldErrors = Object.keys(addressModalSession.formMethods.formState.errors).length > 0\n if (submitResult || !hasFieldErrors) {\n closeAddressModal()\n }\n }\n\n const modalPending = addressModalSession?.isPending ?? false\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={8} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n homeAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {homeAddress ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n <Components.Text weight=\"medium\">\n {formatStreetForDisplay(homeAddress)}\n </Components.Text>\n <Components.Text weight=\"medium\">{getCityStateZip(homeAddress)}</Components.Text>\n </FlexItem>\n {homeAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(homeAddress.effectiveDate.toString()),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{tHa('formTitle')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingHomeAddressLine(pendingFutureAddress),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate.toString())\n : '—',\n interpolation: { escapeValue: false },\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\">{t('historySectionTitle')}</Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n closeAddressModal()\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('createModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('createModalDescription')}\n </Components.Text>\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <EditStreet1\n label={tHa('street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <EditStreet2\n label={tHa('street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <EditCity\n label={tHa('city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.city'),\n }}\n />\n <EditState\n label={tHa('state')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <EditZip label={tHa('zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={EditCourtesyWithholding}\n formHook={editHomeAddressForm}\n tHa={tHa}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={createHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {CreateEffectiveDate ? (\n <CreateEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <CreateStreet1\n label={tHa('street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <CreateStreet2\n label={tHa('street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <CreateCity\n label={tHa('city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.city'),\n }}\n />\n <CreateState\n label={tHa('state')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <CreateZip label={tHa('zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={CreateCourtesyWithholding}\n formHook={createHomeAddressForm}\n tHa={tHa}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingHomeAddressLine(addressForDeleteModal),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n tOptions={{ interpolation: { escapeValue: false } }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["HomeAddressCourtesyWithholdingBlock","CourtesyWithholding","formHook","tHa","Components","useComponentContext","control","courtesyWithholdingEnabled","useWatch","jsxs","Fragment","jsx","Trans","HomeAddressView","editHomeAddressForm","createHomeAddressForm","employeeHomeAddresses","employeeDisplayName","editingHomeAddressUuid","onEditAddressTargetChange","onSaved","onConfirmDelete","isDeletePending","useTranslation","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","homeAddress","editStatus","editOnSubmit","editForm","homeAddresses","createStatus","createOnSubmit","createForm","EditStreet1","EditStreet2","EditCity","EditState","EditZip","EditCourtesyWithholding","CreateStreet1","CreateStreet2","CreateCity","CreateState","CreateZip","CreateCourtesyWithholding","CreateEffectiveDate","zipValidation","HomeAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureHomeAddress","addressForDeleteModal","a","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","sortedHistory","address","historyEndDate","row","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","Flex","formatStreetForDisplay","getCityStateZip","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","HouseIcon","closeAddressModal","handleDeleteModalConfirm","addressModalSession","handleSave","submitResult","hasFieldErrors","modalPending","FlexItem","formatPendingHomeAddressLine","DataView","SDKFormProvider","Grid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HomeAddressView.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport type { TFunction } from 'i18next'\nimport {\n formatPendingHomeAddressLine,\n getPendingFutureHomeAddress,\n} from './getPendingFutureHomeAddress'\nimport HouseIcon from '@/assets/icons/house.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HomeAddressErrorCodes } from '@/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema'\nimport type { UseHomeAddressFormReady } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { DataView, EmptyData, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport { Grid } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { formatStreetForDisplay, getCityStateZip } from '@/helpers/formattedStrings'\n\nfunction HomeAddressCourtesyWithholdingBlock({\n CourtesyWithholding,\n formHook,\n tHa,\n}: {\n CourtesyWithholding: UseHomeAddressFormReady['form']['Fields']['CourtesyWithholding']\n formHook: UseHomeAddressFormReady\n tHa: TFunction<'Employee.HomeAddress'>\n}) {\n const Components = useComponentContext()\n const { control } = formHook.form.hookFormInternals.formMethods\n const courtesyWithholdingEnabled = useWatch({ control, name: 'courtesyWithholding' })\n\n return (\n <>\n <CourtesyWithholding\n label={tHa('courtesyWithholdingLabel')}\n description={\n <>\n {tHa('courtesyWithholdingDescription')}\n <Trans\n t={tHa}\n i18nKey=\"learnMoreCta\"\n components={{\n LearnMoreLink: <Components.Link />,\n }}\n />\n </>\n }\n />\n {courtesyWithholdingEnabled ? (\n <Components.Alert label={tHa('withholdingTitle')} status=\"warning\">\n <Trans t={tHa} i18nKey=\"withholdingNote\" />\n </Components.Alert>\n ) : null}\n </>\n )\n}\n\nexport interface HomeAddressViewProps {\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n /** Full list for history, pending future row, and delete confirmation (from management list query). */\n employeeHomeAddresses: EmployeeAddress[] | undefined\n employeeDisplayName: string\n /** Resolved UUID passed to the edit form (`homeAddressUuid`); active row when not editing history. */\n editingHomeAddressUuid: string | undefined\n /** `undefined` = edit active/current address; otherwise set to a history row’s UUID. */\n onEditAddressTargetChange: (homeAddressUuid: string | undefined) => void\n onSaved: (result: HookSubmitResult<EmployeeAddress>) => void\n onConfirmDelete: (homeAddressUuid: string) => Promise<boolean>\n isDeletePending?: boolean\n}\n\nexport function HomeAddressView({\n editHomeAddressForm,\n createHomeAddressForm,\n employeeHomeAddresses,\n employeeDisplayName,\n editingHomeAddressUuid,\n onEditAddressTargetChange,\n onSaved,\n onConfirmDelete,\n isDeletePending = false,\n}: HomeAddressViewProps) {\n const { t } = useTranslation('Employee.HomeAddress.Management')\n const { t: tHa } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n data: { homeAddress },\n status: editStatus,\n actions: { onSubmit: editOnSubmit },\n form: editForm,\n } = editHomeAddressForm\n\n const homeAddresses = employeeHomeAddresses\n\n const {\n status: createStatus,\n actions: { onSubmit: createOnSubmit },\n form: createForm,\n } = createHomeAddressForm\n\n const {\n Fields: {\n Street1: EditStreet1,\n Street2: EditStreet2,\n City: EditCity,\n State: EditState,\n Zip: EditZip,\n CourtesyWithholding: EditCourtesyWithholding,\n },\n } = editForm\n\n const {\n Fields: {\n Street1: CreateStreet1,\n Street2: CreateStreet2,\n City: CreateCity,\n State: CreateState,\n Zip: CreateZip,\n CourtesyWithholding: CreateCourtesyWithholding,\n EffectiveDate: CreateEffectiveDate,\n },\n } = createForm\n\n const zipValidation = {\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.zip'),\n [HomeAddressErrorCodes.INVALID_ZIP]: tHa('validations.zip'),\n }\n\n const startDateValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureHomeAddress(homeAddresses),\n [homeAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !homeAddresses) {\n return undefined\n }\n return homeAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, homeAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = [...(homeAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate?.toString() ?? ''\n const bDate = b.effectiveDate?.toString() ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n\n const historyAddresses = chronologicalAsc.filter(address => address.active !== true)\n const sortedHistory = [...historyAddresses].reverse()\n\n const historyEndDate = (row: EmployeeAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart.toString())\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.address'),\n render: (row: EmployeeAddress) => (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{formatStreetForDisplay(row)}</Components.Text>\n <Components.Text variant=\"supporting\">{getCityStateZip(row)}</Components.Text>\n </Flex>\n ),\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate.toString()) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditAddressTargetChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"home-address-history-empty\">\n <EmptyData\n icon={<HouseIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditAddressTargetChange(undefined)\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const addressModalSession =\n addressModal === 'edit'\n ? {\n onSubmit: editOnSubmit,\n formMethods: editHomeAddressForm.form.hookFormInternals.formMethods,\n isPending: editStatus.isPending,\n }\n : addressModal === 'create'\n ? {\n onSubmit: createOnSubmit,\n formMethods: createHomeAddressForm.form.hookFormInternals.formMethods,\n isPending: createStatus.isPending,\n }\n : null\n\n const handleSave = async () => {\n if (!addressModalSession) {\n return\n }\n\n const submitResult = await addressModalSession.onSubmit()\n\n if (submitResult) {\n onSaved(submitResult)\n }\n\n const hasFieldErrors = Object.keys(addressModalSession.formMethods.formState.errors).length > 0\n if (submitResult || !hasFieldErrors) {\n closeAddressModal()\n }\n }\n\n const modalPending = addressModalSession?.isPending ?? false\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={8} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n homeAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {homeAddress ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n <Components.Text weight=\"medium\">\n {formatStreetForDisplay(homeAddress)}\n </Components.Text>\n <Components.Text weight=\"medium\">{getCityStateZip(homeAddress)}</Components.Text>\n </FlexItem>\n {homeAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(homeAddress.effectiveDate.toString()),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{tHa('formTitle')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingHomeAddressLine(pendingFutureAddress),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate.toString())\n : '—',\n interpolation: { escapeValue: false },\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\">{t('historySectionTitle')}</Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n closeAddressModal()\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('createModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('createModalDescription')}\n </Components.Text>\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <EditStreet1\n label={tHa('street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <EditStreet2\n label={tHa('street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <EditCity\n label={tHa('city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.city'),\n }}\n />\n <EditState\n label={tHa('state')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <EditZip label={tHa('zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={EditCourtesyWithholding}\n formHook={editHomeAddressForm}\n tHa={tHa}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={createHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {CreateEffectiveDate ? (\n <CreateEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <CreateStreet1\n label={tHa('street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <CreateStreet2\n label={tHa('street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.street1'),\n }}\n />\n <CreateCity\n label={tHa('city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.city'),\n }}\n />\n <CreateState\n label={tHa('state')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: tHa('validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <CreateZip label={tHa('zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={CreateCourtesyWithholding}\n formHook={createHomeAddressForm}\n tHa={tHa}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingHomeAddressLine(addressForDeleteModal),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n tOptions={{ interpolation: { escapeValue: false } }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["HomeAddressCourtesyWithholdingBlock","CourtesyWithholding","formHook","tHa","Components","useComponentContext","control","courtesyWithholdingEnabled","useWatch","jsxs","Fragment","jsx","Trans","HomeAddressView","editHomeAddressForm","createHomeAddressForm","employeeHomeAddresses","employeeDisplayName","editingHomeAddressUuid","onEditAddressTargetChange","onSaved","onConfirmDelete","isDeletePending","useTranslation","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","homeAddress","editStatus","editOnSubmit","editForm","homeAddresses","createStatus","createOnSubmit","createForm","EditStreet1","EditStreet2","EditCity","EditState","EditZip","EditCourtesyWithholding","CreateStreet1","CreateStreet2","CreateCity","CreateState","CreateZip","CreateCourtesyWithholding","CreateEffectiveDate","zipValidation","HomeAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureHomeAddress","addressForDeleteModal","a","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","sortedHistory","address","historyEndDate","row","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","Flex","formatStreetForDisplay","getCityStateZip","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","HouseIcon","closeAddressModal","handleDeleteModalConfirm","addressModalSession","handleSave","submitResult","hasFieldErrors","modalPending","FlexItem","formatPendingHomeAddressLine","DataView","SDKFormProvider","Grid"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,SAASA,EAAoC;AAAA,EAC3C,qBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,KAAAC;AACF,GAIG;AACD,QAAMC,IAAaC,EAAA,GACb,EAAE,SAAAC,EAAA,IAAYJ,EAAS,KAAK,kBAAkB,aAC9CK,IAA6BC,GAAS,EAAE,SAAAF,GAAS,MAAM,uBAAuB;AAEpF,SACE,gBAAAG,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACV;AAAA,MAAA;AAAA,QACC,OAAOE,EAAI,0BAA0B;AAAA,QACrC,aACE,gBAAAM,EAAAC,GAAA,EACG,UAAA;AAAA,UAAAP,EAAI,gCAAgC;AAAA,UACrC,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,GAAGT;AAAA,cACH,SAAQ;AAAA,cACR,YAAY;AAAA,gBACV,eAAe,gBAAAQ,EAACP,EAAW,MAAX,CAAA,CAAgB;AAAA,cAAA;AAAA,YAClC;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAGHG,IACC,gBAAAI,EAACP,EAAW,OAAX,EAAiB,OAAOD,EAAI,kBAAkB,GAAG,QAAO,WACvD,4BAACS,GAAA,EAAM,GAAGT,GAAK,SAAQ,mBAAkB,GAC3C,IACE;AAAA,EAAA,GACN;AAEJ;AAiBO,SAASU,GAAgB;AAAA,EAC9B,qBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC,IAAkB;AACpB,GAAyB;AACvB,QAAM,EAAE,EAAA,IAAMC,EAAe,iCAAiC,GACxD,EAAE,GAAGpB,MAAQoB,EAAe,sBAAsB,GAClDnB,IAAaC,EAAA,GACb,CAACmB,GAAcC,CAAe,IAAIC,EAAmC,IAAI,GACzE,CAACC,GAAmBC,CAAoB,IAAIF,EAAwB,IAAI,GACxEG,IAA2BC,GAAuB,IAAI,GACtD,CAACC,GAAoBC,CAAqB,IAAIN,EAAkC,MAAS;AAE/F,EAAAO,GAAgB,MAAM;AACpB,QAAI,CAACT,GAAc;AACjB,MAAAQ,EAAsB,MAAS;AAC/B;AAAA,IACF;AACA,UAAME,IAAa,MAAM;AACvB,MAAAF,EAAsBH,EAAyB,WAAW,MAAS;AAAA,IACrE;AAEA,QADAK,EAAA,GACIL,EAAyB,WAAW,MAAM;AAC5C,YAAMM,IAAK,sBAAsBD,CAAU;AAC3C,aAAO,MAAM;AACX,6BAAqBC,CAAE;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAACX,CAAY,CAAC;AAEjB,QAAM;AAAA,IACJ,MAAM,EAAE,aAAAY,EAAA;AAAA,IACR,QAAQC;AAAA,IACR,SAAS,EAAE,UAAUC,EAAA;AAAA,IACrB,MAAMC;AAAA,EAAA,IACJzB,GAEE0B,IAAgBxB,GAEhB;AAAA,IACJ,QAAQyB;AAAA,IACR,SAAS,EAAE,UAAUC,GAAA;AAAA,IACrB,MAAMC;AAAA,EAAA,IACJ5B,GAEE;AAAA,IACJ,QAAQ;AAAA,MACN,SAAS6B;AAAA,MACT,SAASC;AAAA,MACT,MAAMC;AAAA,MACN,OAAOC;AAAA,MACP,KAAKC;AAAA,MACL,qBAAqBC;AAAA,IAAA;AAAA,EACvB,IACEV,GAEE;AAAA,IACJ,QAAQ;AAAA,MACN,SAASW;AAAA,MACT,SAASC;AAAA,MACT,MAAMC;AAAA,MACN,OAAOC;AAAA,MACP,KAAKC;AAAA,MACL,qBAAqBC;AAAA,MACrB,eAAeC;AAAA,IAAA;AAAA,EACjB,IACEb,IAEEc,IAAgB;AAAA,IACpB,CAACC,EAAsB,QAAQ,GAAGvD,EAAI,iBAAiB;AAAA,IACvD,CAACuD,EAAsB,WAAW,GAAGvD,EAAI,iBAAiB;AAAA,EAAA,GAGtDwD,KAAsB;AAAA,IAC1B,CAACD,EAAsB,QAAQ,GAAG,EAAE,wBAAwB;AAAA,EAAA,GAGxDE,IAAuBC;AAAA,IAC3B,MAAMC,GAA4BtB,CAAa;AAAA,IAC/C,CAACA,CAAa;AAAA,EAAA,GAGVuB,IAAwBF,EAAQ,MAAM;AAC1C,QAAI,GAAClC,KAAqB,CAACa;AAG3B,aAAOA,EAAc,KAAK,CAAAwB,MAAKA,EAAE,SAASrC,CAAiB;AAAA,EAC7D,GAAG,CAACA,GAAmBa,CAAa,CAAC,GAE/ByB,KAA+BJ,EAAQ,MAAM;AACjD,UAAMK,IAAUjD,EAAoB,KAAA;AACpC,WAAOiD,IAAU,GAAGA,CAAO,OAAO,EAAE,iCAAiC;AAAA,EACvE,GAAG,CAACjD,GAAqB,CAAC,CAAC,GAErBkD,IAAmB,CAAC,GAAI3B,KAAiB,CAAA,CAAG,EAAE,KAAK,CAACwB,GAAGI,MAAM;AACjE,UAAMC,IAAQL,EAAE,eAAe,SAAA,KAAc,IACvCM,IAAQF,EAAE,eAAe,SAAA,KAAc;AAC7C,WAAI,CAACC,KAAS,CAACC,IAAc,IACxBD,IACAC,IACED,EAAM,cAAcC,CAAK,IADb,KADA;AAAA,EAGrB,CAAC,GAGKC,KAAgB,CAAC,GADEJ,EAAiB,OAAO,CAAAK,MAAWA,EAAQ,WAAW,EAAI,CACzC,EAAE,QAAA,GAEtCC,KAAiB,CAACC,MAAyB;AAC/C,UAAMC,IAAMR,EAAiB,UAAU,QAAKH,GAAE,SAASU,EAAI,IAAI;AAC/D,QAAIC,MAAQ,MAAMA,KAAOR,EAAiB,SAAS,EAAG,QAAO;AAC7D,UAAMS,IAAYT,EAAiBQ,IAAM,CAAC,GAAG;AAC7C,QAAI,CAACC,EAAW,QAAO;AACvB,UAAMC,IAAWC,GAAgBF,EAAU,SAAA,CAAU;AACrD,QAAI,CAACC,EAAU,QAAO;AACtB,UAAME,IAAUC,GAAQH,GAAU,EAAE,GAC9BI,KAAIF,EAAQ,YAAA,GACZG,KAAI,OAAOH,EAAQ,SAAA,IAAa,CAAC,EAAE,SAAS,GAAG,GAAG,GAClDI,KAAI,OAAOJ,EAAQ,QAAA,CAAS,EAAE,SAAS,GAAG,GAAG;AACnD,WAAOK,EAAuB,GAAGH,EAAC,IAAIC,EAAC,IAAIC,EAAC,EAAE;AAAA,EAChD,GAEME,KAAkBC,GAAY;AAAA,IAClC,MAAMf;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,OAAO,EAAE,iBAAiB;AAAA,QAC1B,QAAQ,CAACG,MACP,gBAAAjE,EAAC8E,KAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAA5E,EAACP,EAAW,MAAX,EAAgB,QAAO,UAAU,UAAAoF,EAAuBd,CAAG,GAAE;AAAA,UAC9D,gBAAA/D,EAACP,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAAqF,EAAgBf,CAAG,EAAA,CAAE;AAAA,QAAA,EAAA,CAC9D;AAAA,MAAA;AAAA,MAGJ;AAAA,QACE,OAAO,EAAE,mBAAmB;AAAA,QAC5B,QAAQ,CAACA,MACPA,EAAI,gBAAgBU,EAAuBV,EAAI,cAAc,SAAA,CAAU,IAAI;AAAA,MAAA;AAAA,MAE/E;AAAA,QACE,OAAO,EAAE,iBAAiB;AAAA,QAC1B,QAAQ,CAACA,MAAyBD,GAAeC,CAAG;AAAA,MAAA;AAAA,IACtD;AAAA,IAEF,UAAU,CAACA,MACT,gBAAA/D;AAAA,MAAC+E;AAAA,MAAA;AAAA,QACC,cAAc,EAAE,kBAAkB;AAAA,QAClC,OAAO;AAAA,UACL;AAAA,YACE,OAAO,EAAE,SAAS;AAAA,YAClB,SAAS,MAAM;AACb,cAAAvE,EAA0BuD,EAAI,IAAI,GAClCjD,EAAgB,MAAM;AAAA,YACxB;AAAA,YACA,MAAM,gBAAAd,EAACgF,IAAA,EAAU,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,UAE/B;AAAA,YACE,OAAO,EAAE,WAAW;AAAA,YACpB,SAAS,MAAM;AACb,cAAIjB,EAAI,WAAW,MAGnB9C,EAAqB8C,EAAI,IAAI;AAAA,YAC/B;AAAA,YACA,MAAM,gBAAA/D,EAACiF,IAAA,EAAY,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QACjC;AAAA,MACF;AAAA,IAAA;AAAA,IAGJ,YAAY,MACV,gBAAAjF,EAAC,OAAA,EAAI,eAAY,8BACf,UAAA,gBAAAA;AAAA,MAACkF;AAAA,MAAA;AAAA,QACC,MAAM,gBAAAlF,EAACmF,IAAA,EAAU,eAAW,GAAA,CAAC;AAAA,QAC7B,OAAO,EAAE,mBAAmB;AAAA,QAC5B,aAAa,EAAE,yBAAyB;AAAA,MAAA;AAAA,IAAA,EAC1C,CACF;AAAA,EAAA,CAEH,GAEKC,IAAoB,MAAM;AAC9B,IAAAtE,EAAgB,IAAI,GACpBN,EAA0B,MAAS;AAAA,EACrC,GAEM6E,KAA2B,YAAY;AAC3C,QAAI,CAACrE;AACH;AAGF,IADgB,MAAMN,EAAgBM,CAAiB,KAErDC,EAAqB,IAAI;AAAA,EAE7B,GAEMqE,IACJzE,MAAiB,SACb;AAAA,IACE,UAAUc;AAAA,IACV,aAAaxB,EAAoB,KAAK,kBAAkB;AAAA,IACxD,WAAWuB,EAAW;AAAA,EAAA,IAExBb,MAAiB,WACf;AAAA,IACE,UAAUkB;AAAA,IACV,aAAa3B,EAAsB,KAAK,kBAAkB;AAAA,IAC1D,WAAW0B,EAAa;AAAA,EAAA,IAE1B,MAEFyD,KAAa,YAAY;AAC7B,QAAI,CAACD;AACH;AAGF,UAAME,IAAe,MAAMF,EAAoB,SAAA;AAE/C,IAAIE,KACF/E,EAAQ+E,CAAY;AAGtB,UAAMC,IAAiB,OAAO,KAAKH,EAAoB,YAAY,UAAU,MAAM,EAAE,SAAS;AAC9F,KAAIE,KAAgB,CAACC,MACnBL,EAAA;AAAA,EAEJ,GAEMM,KAAeJ,GAAqB,aAAa;AAEvD,SACE,gBAAAxF,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAA9E,EAAC8E,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,cAC9C,UAAA;AAAA,MAAA,gBAAA5E,EAACP,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,MACxC,gBAAAO,EAACP,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAA,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GAC1D;AAAA,IAEA,gBAAAO;AAAA,MAACP,EAAW;AAAA,MAAX;AAAA,QACC,QACE,gBAAAO;AAAA,UAACP,EAAW;AAAA,UAAX;AAAA,YACC,OAAO,EAAE,qBAAqB;AAAA,YAC9B,QACEgC,IACE,gBAAAzB;AAAA,cAACP,EAAW;AAAA,cAAX;AAAA,gBACC,SAAQ;AAAA,gBACR,SAAS,MAAM;AACb,kBAAAe,EAA0B,MAAS,GACnCM,EAAgB,MAAM;AAAA,gBACxB;AAAA,gBACA,WAAWY,EAAW;AAAA,gBAErB,YAAE,SAAS;AAAA,cAAA;AAAA,YAAA,IAEZ;AAAA,UAAA;AAAA,QAAA;AAAA,QAIV,QACE,gBAAA1B;AAAA,UAACP,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAAe,EAA0B,MAAS,GACnCM,EAAgB,QAAQ;AAAA,YAC1B;AAAA,YACA,WAAWgB,EAAa;AAAA,YAEvB,YAAE,WAAW;AAAA,UAAA;AAAA,QAAA;AAAA,QAIlB,UAAA,gBAAAhC,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,UAAAnD,IACC,gBAAA3B,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,YAAA,gBAAA9E,EAAC6F,IAAA,EACC,UAAA;AAAA,cAAA,gBAAA3F,EAACP,EAAW,MAAX,EAAgB,QAAO,UACrB,UAAAoF,EAAuBpD,CAAW,GACrC;AAAA,cACA,gBAAAzB,EAACP,EAAW,MAAX,EAAgB,QAAO,UAAU,UAAAqF,EAAgBrD,CAAW,EAAA,CAAE;AAAA,YAAA,GACjE;AAAA,YACCA,EAAY,gBACX,gBAAAzB,EAACP,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA,EAAE,gBAAgB;AAAA,cACjB,MAAMgF,EAAuBhD,EAAY,cAAc,UAAU;AAAA,YAAA,CAClE,GACH,IACE;AAAA,UAAA,GACN,IAEA,gBAAAzB,EAACP,EAAW,MAAX,EAAiB,UAAAD,EAAI,WAAW,GAAE;AAAA,UAEpCyD,IACC,gBAAAjD,EAACP,EAAW,OAAX,EAAiB,QAAO,WAAU,OAAO,EAAE,oBAAoB,GAC9D,4BAACA,EAAW,MAAX,EAAgB,SAAQ,cACtB,YAAE,4BAA4B;AAAA,YAC7B,iBAAiB6D;AAAA,YACjB,YAAYsC,EAA6B3C,CAAoB;AAAA,YAC7D,eAAeA,EAAqB,gBAChCwB,EAAuBxB,EAAqB,cAAc,SAAA,CAAU,IACpE;AAAA,YACJ,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,EAAA,CACH,EAAA,CACF,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAnD,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,MAAA,gBAAA5E,EAACP,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,qBAAqB,GAAE;AAAA,wBACrDoG,IAAA,EAAS,OAAO,EAAE,qBAAqB,GAAI,GAAGnB,GAAA,CAAiB;AAAA,IAAA,GAClE;AAAA,IAEA,gBAAA1E;AAAA,MAACP,EAAW;AAAA,MAAX;AAAA,QACC,QAAQoB,MAAiB;AAAA,QACzB,SAASuE;AAAA,QACT,4BAA4B;AAAA,QAC5B,cAAclE;AAAA,QACd,0BACG0D,GAAA,EAAK,eAAc,OAAM,KAAK,IAAI,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAA5E;AAAA,YAACP,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAA2F,EAAA;AAAA,cACF;AAAA,cAEC,YAAE,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,UAEhB,gBAAApF;AAAA,YAACP,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAK8F,GAAA;AAAA,cACP;AAAA,cACA,WAAWG;AAAA,cAEV,YAAE,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAChB,GACF;AAAA,QAGF,UAAA,gBAAA5F,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,UAAA,gBAAA5E,EAACP,EAAW,SAAX,EAAmB,IAAG,MACpB,UAA0B,EAA1BoB,MAAiB,SAAW,mBAAsB,kBAAN,EAAwB,CACvE;AAAA,UACA,gBAAAb,EAACP,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAA0B,EAA1BoB,MAAiB,SAAW,yBAA4B,wBAAN,EAA8B,CACnF;AAAA,UACCA,MAAiB,SAChB,gBAAAb,EAAC8F,GAAA,EAAgB,gBAAgB3F,GAC/B,UAAA,gBAAAL;AAAA,YAACiG;AAAA,YAAA;AAAA,cACC,qBAAqB;AAAA,gBACnB,MAAM;AAAA,gBACN,OAAO;AAAA,cAAA;AAAA,cAET,KAAK;AAAA,cAEL,UAAA;AAAA,gBAAA,gBAAA/F;AAAA,kBAACiC;AAAA,kBAAA;AAAA,oBACC,OAAOzC,EAAI,SAAS;AAAA,oBACpB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,qBAAqB;AAAA,oBAAA;AAAA,kBAC7D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAACkC;AAAA,kBAAA;AAAA,oBACC,OAAO1C,EAAI,SAAS;AAAA,oBACpB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,qBAAqB;AAAA,oBAAA;AAAA,kBAC7D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAACmC;AAAA,kBAAA;AAAA,oBACC,OAAO3C,EAAI,MAAM;AAAA,oBACjB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,kBAAkB;AAAA,oBAAA;AAAA,kBAC1D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAACoC;AAAA,kBAAA;AAAA,oBACC,OAAO5C,EAAI,OAAO;AAAA,oBAClB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,mBAAmB;AAAA,oBAAA;AAAA,oBAE3D,iBAAiB4B;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAElBiB,IAAA,EAAQ,OAAO7C,EAAI,KAAK,GAAG,oBAAoBsD,GAAe;AAAA,gBAC/D,gBAAA9C;AAAA,kBAACX;AAAA,kBAAA;AAAA,oBACC,qBAAqBiD;AAAA,oBACrB,UAAUnC;AAAA,oBACV,KAAAX;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UAAA,GAEJ,IACE;AAAA,UACHqB,MAAiB,WAChB,gBAAAb,EAAC8F,GAAA,EAAgB,gBAAgB1F,GAC/B,UAAA,gBAAAN;AAAA,YAACiG;AAAA,YAAA;AAAA,cACC,qBAAqB;AAAA,gBACnB,MAAM;AAAA,gBACN,OAAO;AAAA,cAAA;AAAA,cAET,KAAK;AAAA,cAEJ,UAAA;AAAA,gBAAAlD,IACC,gBAAA7C;AAAA,kBAAC6C;AAAA,kBAAA;AAAA,oBACC,OAAO,EAAE,mBAAmB;AAAA,oBAC5B,aAAa,EAAE,iBAAiB;AAAA,oBAChC,oBAAoBG;AAAA,oBACpB,iBAAiB5B;AAAA,kBAAA;AAAA,gBAAA,IAEjB;AAAA,gBACJ,gBAAApB;AAAA,kBAACuC;AAAA,kBAAA;AAAA,oBACC,OAAO/C,EAAI,SAAS;AAAA,oBACpB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,qBAAqB;AAAA,oBAAA;AAAA,kBAC7D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAACwC;AAAA,kBAAA;AAAA,oBACC,OAAOhD,EAAI,SAAS;AAAA,oBACpB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,qBAAqB;AAAA,oBAAA;AAAA,kBAC7D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAACyC;AAAA,kBAAA;AAAA,oBACC,OAAOjD,EAAI,MAAM;AAAA,oBACjB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,kBAAkB;AAAA,oBAAA;AAAA,kBAC1D;AAAA,gBAAA;AAAA,gBAEF,gBAAAQ;AAAA,kBAAC0C;AAAA,kBAAA;AAAA,oBACC,OAAOlD,EAAI,OAAO;AAAA,oBAClB,oBAAoB;AAAA,sBAClB,CAACuD,EAAsB,QAAQ,GAAGvD,EAAI,mBAAmB;AAAA,oBAAA;AAAA,oBAE3D,iBAAiB4B;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAElBuB,IAAA,EAAU,OAAOnD,EAAI,KAAK,GAAG,oBAAoBsD,GAAe;AAAA,gBACjE,gBAAA9C;AAAA,kBAACX;AAAA,kBAAA;AAAA,oBACC,qBAAqBuD;AAAA,oBACrB,UAAUxC;AAAA,oBACV,KAAAZ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UAAA,GAEJ,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAQ;AAAA,MAACP,EAAW;AAAA,MAAX;AAAA,QACC,QAAQuB,MAAsB;AAAA,QAC9B,SAAS,MAAM;AACb,UAAAC,EAAqB,IAAI;AAAA,QAC3B;AAAA,QACA,4BAA4B;AAAA,QAC5B,0BACG2D,GAAA,EAAK,eAAc,OAAM,KAAK,IAAI,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAA5E;AAAA,YAACP,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAAwB,EAAqB,IAAI;AAAA,cAC3B;AAAA,cAEC,YAAE,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,UAEhB,gBAAAjB;AAAA,YAACP,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAK4F,GAAA;AAAA,cACP;AAAA,cACA,WAAW1E;AAAA,cAEV,YAAE,uBAAuB;AAAA,YAAA;AAAA,UAAA;AAAA,QAC5B,GACF;AAAA,QAGF,UAAA,gBAAAb,EAAC8E,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,UAAA,gBAAA5E,EAACP,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,kBAAkB,GAAE;AAAA,4BAClDA,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA2D,IACC,gBAAApD;AAAA,YAACC;AAAA,YAAA;AAAA,cACC;AAAA,cACA,SAAQ;AAAA,cACR,QAAQ;AAAA,gBACN,SAAS2F,EAA6BxC,CAAqB;AAAA,cAAA;AAAA,cAE7D,YAAY;AAAA,gBACV,0BAAS3D,EAAW,MAAX,EAAgB,QAAO,UAAS,IAAG,OAAA,CAAO;AAAA,cAAA;AAAA,cAErD,UAAU,EAAE,eAAe,EAAE,aAAa,KAAM;AAAA,YAAE;AAAA,UAAA,IAElD,KAAA,CACN;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -8,16 +8,16 @@ import { BaseComponent as x } from "../../Base/Base.js";
|
|
|
8
8
|
import { useBase as E } from "../../Base/useBase.js";
|
|
9
9
|
import { Flex as r } from "../../Common/Flex/Flex.js";
|
|
10
10
|
import "classnames";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
11
|
+
import { componentEvents as C } from "../../../shared/constants.js";
|
|
12
|
+
import { ActionsLayout as L } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
13
|
+
import { useComponentContext as S } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
14
|
+
import { useI18n as D, useComponentDictionary as I } from "../../../i18n/I18n.js";
|
|
15
15
|
import N from "../../../assets/icons/icon-arrow-right.svg.js";
|
|
16
16
|
function w(o) {
|
|
17
|
-
return
|
|
17
|
+
return D("Employee.Landing"), I("Employee.Landing", o.dictionary), /* @__PURE__ */ e(x, { ...o, children: /* @__PURE__ */ e(v, { ...o, children: o.children }) });
|
|
18
18
|
}
|
|
19
19
|
const v = ({ employeeId: o, companyId: p, className: l }) => {
|
|
20
|
-
const { onEvent: d } = E(), t =
|
|
20
|
+
const { onEvent: d } = E(), t = S(), {
|
|
21
21
|
data: { employee: a }
|
|
22
22
|
} = g({ employeeId: o }), f = c(() => s.sanitize(a.firstName), [a]), {
|
|
23
23
|
data: { company: m }
|
|
@@ -25,12 +25,12 @@ const v = ({ employeeId: o, companyId: p, className: l }) => {
|
|
|
25
25
|
return /* @__PURE__ */ e("section", { className: l, children: /* @__PURE__ */ e(
|
|
26
26
|
t.Box,
|
|
27
27
|
{
|
|
28
|
-
footer: /* @__PURE__ */ e(
|
|
28
|
+
footer: /* @__PURE__ */ e(L, { children: /* @__PURE__ */ i(
|
|
29
29
|
t.Button,
|
|
30
30
|
{
|
|
31
31
|
variant: "secondary",
|
|
32
32
|
onClick: () => {
|
|
33
|
-
d(
|
|
33
|
+
d(C.EMPLOYEE_SELF_ONBOARDING_START);
|
|
34
34
|
},
|
|
35
35
|
children: [
|
|
36
36
|
n("getStartedCta"),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount';
|
|
2
|
-
import { ProfileDefaultValues } from '../Profile';
|
|
2
|
+
import { ProfileDefaultValues } from '../Profile/onboarding/Profile';
|
|
3
3
|
import { CompensationDefaultValues } from '../Compensation';
|
|
4
4
|
import { FlowContextInterface } from '../../Flow/useFlow';
|
|
5
5
|
import { EmployeeOnboardingStatus } from '../../../shared/constants';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { FederalTaxes as p } from "../FederalTaxes/FederalTaxes.js";
|
|
3
|
-
import { StateTaxes as s } from "../StateTaxes/StateTaxes.js";
|
|
2
|
+
import { FederalTaxes as p } from "../FederalTaxes/onboarding/FederalTaxes.js";
|
|
3
|
+
import { StateTaxes as s } from "../StateTaxes/onboarding/StateTaxes.js";
|
|
4
4
|
import { EmployeeList as i } from "../EmployeeList/onboarding/EmployeeList.js";
|
|
5
5
|
import { ensureRequired as r } from "../../../helpers/ensureRequired.js";
|
|
6
6
|
import { useFlow as n } from "../../Flow/useFlow.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Employee/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import type { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount'\nimport { FederalTaxes } from '../FederalTaxes/FederalTaxes'\nimport { StateTaxes } from '../StateTaxes/StateTaxes'\nimport type { ProfileDefaultValues } from '../Profile'\nimport type { CompensationDefaultValues } from '../Compensation'\nimport { EmployeeList } from '../EmployeeList/onboarding/EmployeeList'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { EmployeeOnboardingStatus } from '@/shared/constants'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport type OnboardingDefaultValues = RequireAtLeastOne<{\n profile?: ProfileDefaultValues\n compensation?: CompensationDefaultValues\n}>\n\nexport interface OnboardingContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n isAdmin?: boolean\n onboardingStatus?: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate?: string\n paymentMethod?: PaymentMethodBankAccount\n defaultValues?: OnboardingDefaultValues\n isSelfOnboardingEnabled?: boolean\n withEmployeeI9?: boolean\n}\n\nexport function FederalTaxesContextual() {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n return <FederalTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function StateTaxesContextual() {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n return <StateTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} isAdmin={isAdmin} />\n}\n\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<OnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["FederalTaxesContextual","employeeId","onEvent","useFlow","FederalTaxes","ensureRequired","StateTaxesContextual","isAdmin","StateTaxes","EmployeeListContextual","companyId","jsx","EmployeeList"],"mappings":";;;;;;AA4BO,SAASA,IAAyB;AACvC,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQC,GAAA,EAAa,SAAAF,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AACjF;AAEO,SAASK,IAAuB;AACrC,QAAM,EAAE,YAAAL,GAAY,SAAAC,GAAS,SAAAK,EAAA,IAAYJ,EAAA;AACzC,2BAAQK,GAAA,EAAW,SAAAN,GAAkB,YAAYG,EAAeJ,CAAU,GAAG,SAAAM,GAAkB;AACjG;AAEO,MAAME,IAAyB,MAAM;AAC1C,QAAM,EAAE,WAAAC,GAAW,SAAAR,EAAA,IAAYC,EAAA;AAC/B,SAAO,gBAAAQ,EAACC,GAAA,EAAa,WAAAF,GAAsB,SAAAR,EAAA,CAAkB;AAC/D;"}
|
|
1
|
+
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Employee/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import type { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount'\nimport { FederalTaxes } from '../FederalTaxes/onboarding/FederalTaxes'\nimport { StateTaxes } from '../StateTaxes/onboarding/StateTaxes'\nimport type { ProfileDefaultValues } from '../Profile/onboarding/Profile'\nimport type { CompensationDefaultValues } from '../Compensation'\nimport { EmployeeList } from '../EmployeeList/onboarding/EmployeeList'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { EmployeeOnboardingStatus } from '@/shared/constants'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport type OnboardingDefaultValues = RequireAtLeastOne<{\n profile?: ProfileDefaultValues\n compensation?: CompensationDefaultValues\n}>\n\nexport interface OnboardingContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n isAdmin?: boolean\n onboardingStatus?: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate?: string\n paymentMethod?: PaymentMethodBankAccount\n defaultValues?: OnboardingDefaultValues\n isSelfOnboardingEnabled?: boolean\n withEmployeeI9?: boolean\n}\n\nexport function FederalTaxesContextual() {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n return <FederalTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\nexport function StateTaxesContextual() {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n return <StateTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} isAdmin={isAdmin} />\n}\n\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<OnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["FederalTaxesContextual","employeeId","onEvent","useFlow","FederalTaxes","ensureRequired","StateTaxesContextual","isAdmin","StateTaxes","EmployeeListContextual","companyId","jsx","EmployeeList"],"mappings":";;;;;;AA4BO,SAASA,IAAyB;AACvC,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQC,GAAA,EAAa,SAAAF,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AACjF;AAEO,SAASK,IAAuB;AACrC,QAAM,EAAE,YAAAL,GAAY,SAAAC,GAAS,SAAAK,EAAA,IAAYJ,EAAA;AACzC,2BAAQK,GAAA,EAAW,SAAAN,GAAkB,YAAYG,EAAeJ,CAAU,GAAG,SAAAM,GAAkB;AACjG;AAEO,MAAME,IAAyB,MAAM;AAC1C,QAAM,EAAE,WAAAC,GAAW,SAAAR,EAAA,IAAYC,EAAA;AAC/B,SAAO,gBAAAQ,EAACC,GAAA,EAAa,WAAAF,GAAsB,SAAAR,EAAA,CAAkB;AAC/D;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { state as E, transition as o, reduce as n, guard as i } from "robot3";
|
|
2
2
|
import { EmployeeListContextual as l, StateTaxesContextual as _, FederalTaxesContextual as D } from "./OnboardingFlowComponents.js";
|
|
3
3
|
import { componentEvents as t, EmployeeSelfOnboardingStatuses as c, EmployeeOnboardingStatus as d } from "../../../shared/constants.js";
|
|
4
|
+
import { ProfileContextual as p } from "../Profile/onboarding/Profile.js";
|
|
4
5
|
import { CompensationContextual as N } from "../Compensation/Compensation.js";
|
|
5
|
-
import { ProfileContextual as p } from "../Profile/Profile.js";
|
|
6
6
|
import { OnboardingSummaryContextual as O } from "../OnboardingSummary/OnboardingSummary.js";
|
|
7
7
|
import { EmployeeDocumentsContextual as y } from "../EmployeeDocuments/EmployeeDocuments.js";
|
|
8
8
|
import { DeductionsContextual as u } from "../Deductions/Deductions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Employee/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n FederalTaxesContextual,\n StateTaxesContextual,\n type OnboardingContextInterface,\n EmployeeListContextual,\n} from './OnboardingFlowComponents'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport { CompensationContextual } from '@/components/Employee/Compensation'\nimport { DeductionsContextual } from '@/components/Employee/Deductions'\nimport { EmployeeDocumentsContextual } from '@/components/Employee/EmployeeDocuments'\nimport { PaymentMethodContextual } from '@/components/Employee/PaymentMethod'\nimport { ProfileContextual } from '@/components/Employee/Profile'\nimport { OnboardingSummaryContextual } from '@/components/Employee/OnboardingSummary'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: {\n employeeId: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n }\n [componentEvents.EMPLOYEE_PROFILE_DONE]: {\n uuid: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate: string\n }\n}\n\nconst createReducer = (props: Partial<OnboardingContextInterface>) => {\n return (ctx: OnboardingContextInterface): OnboardingContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\nconst cancelTransition = (target: string, component?: React.ComponentType) =>\n transition(\n componentEvents.CANCEL,\n target,\n reduce(createReducer({ component: component ?? EmployeeListContextual })),\n )\n\nconst employeeDocumentsConfigCompletedStatuses: Set<\n (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n> = new Set([\n EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE,\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED,\n])\n\nconst employeeDocumentsGuard = (ctx: OnboardingContextInterface) => {\n if (!ctx.withEmployeeI9) return false\n if (ctx.onboardingStatus && employeeDocumentsConfigCompletedStatuses.has(ctx.onboardingStatus))\n return false\n return true\n}\n\nconst selfOnboardingGuard = (ctx: OnboardingContextInterface) =>\n ctx.onboardingStatus\n ? !(\n // prettier-ignore\n // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n (EmployeeSelfOnboardingStatuses.has(ctx.onboardingStatus) ||\n ctx.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n )\n : true\n\nexport const employeeOnboardingMachine = {\n index: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'employeeProfile',\n reduce(createReducer({ component: ProfileContextual, employeeId: undefined })),\n ),\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'employeeProfile',\n\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): OnboardingContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n employeeId: ev.payload.employeeId,\n onboardingStatus: ev.payload.onboardingStatus,\n }\n },\n ),\n ),\n transition(componentEvents.EMPLOYEE_ONBOARDING_DONE, 'final'),\n ),\n employeeProfile: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_PROFILE_DONE,\n 'compensation',\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_PROFILE_DONE>,\n ): OnboardingContextInterface => ({\n ...ctx,\n component: CompensationContextual,\n employeeId: ev.payload.uuid,\n onboardingStatus: ev.payload.onboardingStatus,\n startDate: ev.payload.startDate,\n }),\n ),\n ),\n cancelTransition('index'),\n ),\n compensation: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'federalTaxes',\n reduce(createReducer({ component: FederalTaxesContextual })),\n guard(selfOnboardingGuard),\n ),\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n federalTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE,\n 'stateTaxes',\n reduce(createReducer({ component: StateTaxesContextual })),\n guard(selfOnboardingGuard),\n ),\n cancelTransition('index'),\n ),\n stateTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_STATE_TAXES_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual })),\n guard(selfOnboardingGuard),\n ),\n cancelTransition('index'),\n ),\n paymentMethod: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n deductions: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_DEDUCTION_DONE,\n 'employeeDocuments',\n reduce(createReducer({ component: EmployeeDocumentsContextual })),\n guard(employeeDocumentsGuard),\n ),\n transition(\n componentEvents.EMPLOYEE_DEDUCTION_DONE,\n 'summary',\n reduce(createReducer({ component: OnboardingSummaryContextual })),\n ),\n cancelTransition('index'),\n ),\n employeeDocuments: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_DOCUMENTS_DONE,\n 'summary',\n reduce(createReducer({ component: OnboardingSummaryContextual })),\n ),\n cancelTransition('index'),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEES_LIST,\n 'index',\n reduce(createReducer({ component: EmployeeListContextual, employeeId: undefined })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["createReducer","props","ctx","cancelTransition","target","component","transition","componentEvents","reduce","EmployeeListContextual","employeeDocumentsConfigCompletedStatuses","EmployeeOnboardingStatus","employeeDocumentsGuard","selfOnboardingGuard","EmployeeSelfOnboardingStatuses","employeeOnboardingMachine","state","ProfileContextual","ev","CompensationContextual","FederalTaxesContextual","guard","DeductionsContextual","StateTaxesContextual","PaymentMethodContextual","EmployeeDocumentsContextual","OnboardingSummaryContextual"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Employee/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n FederalTaxesContextual,\n StateTaxesContextual,\n type OnboardingContextInterface,\n EmployeeListContextual,\n} from './OnboardingFlowComponents'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport { CompensationContextual } from '@/components/Employee/Compensation'\nimport { DeductionsContextual } from '@/components/Employee/Deductions'\nimport { EmployeeDocumentsContextual } from '@/components/Employee/EmployeeDocuments'\nimport { PaymentMethodContextual } from '@/components/Employee/PaymentMethod'\nimport { ProfileContextual } from '@/components/Employee/Profile/onboarding/Profile'\nimport { OnboardingSummaryContextual } from '@/components/Employee/OnboardingSummary'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: {\n employeeId: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n }\n [componentEvents.EMPLOYEE_PROFILE_DONE]: {\n uuid: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate: string\n }\n}\n\nconst createReducer = (props: Partial<OnboardingContextInterface>) => {\n return (ctx: OnboardingContextInterface): OnboardingContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\nconst cancelTransition = (target: string, component?: React.ComponentType) =>\n transition(\n componentEvents.CANCEL,\n target,\n reduce(createReducer({ component: component ?? EmployeeListContextual })),\n )\n\nconst employeeDocumentsConfigCompletedStatuses: Set<\n (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n> = new Set([\n EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE,\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED,\n])\n\nconst employeeDocumentsGuard = (ctx: OnboardingContextInterface) => {\n if (!ctx.withEmployeeI9) return false\n if (ctx.onboardingStatus && employeeDocumentsConfigCompletedStatuses.has(ctx.onboardingStatus))\n return false\n return true\n}\n\nconst selfOnboardingGuard = (ctx: OnboardingContextInterface) =>\n ctx.onboardingStatus\n ? !(\n // prettier-ignore\n // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n (EmployeeSelfOnboardingStatuses.has(ctx.onboardingStatus) ||\n ctx.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n )\n : true\n\nexport const employeeOnboardingMachine = {\n index: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'employeeProfile',\n reduce(createReducer({ component: ProfileContextual, employeeId: undefined })),\n ),\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'employeeProfile',\n\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): OnboardingContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n employeeId: ev.payload.employeeId,\n onboardingStatus: ev.payload.onboardingStatus,\n }\n },\n ),\n ),\n transition(componentEvents.EMPLOYEE_ONBOARDING_DONE, 'final'),\n ),\n employeeProfile: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_PROFILE_DONE,\n 'compensation',\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_PROFILE_DONE>,\n ): OnboardingContextInterface => ({\n ...ctx,\n component: CompensationContextual,\n employeeId: ev.payload.uuid,\n onboardingStatus: ev.payload.onboardingStatus,\n startDate: ev.payload.startDate,\n }),\n ),\n ),\n cancelTransition('index'),\n ),\n compensation: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'federalTaxes',\n reduce(createReducer({ component: FederalTaxesContextual })),\n guard(selfOnboardingGuard),\n ),\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n federalTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE,\n 'stateTaxes',\n reduce(createReducer({ component: StateTaxesContextual })),\n guard(selfOnboardingGuard),\n ),\n cancelTransition('index'),\n ),\n stateTaxes: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_STATE_TAXES_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual })),\n guard(selfOnboardingGuard),\n ),\n cancelTransition('index'),\n ),\n paymentMethod: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n deductions: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_DEDUCTION_DONE,\n 'employeeDocuments',\n reduce(createReducer({ component: EmployeeDocumentsContextual })),\n guard(employeeDocumentsGuard),\n ),\n transition(\n componentEvents.EMPLOYEE_DEDUCTION_DONE,\n 'summary',\n reduce(createReducer({ component: OnboardingSummaryContextual })),\n ),\n cancelTransition('index'),\n ),\n employeeDocuments: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_DOCUMENTS_DONE,\n 'summary',\n reduce(createReducer({ component: OnboardingSummaryContextual })),\n ),\n cancelTransition('index'),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEES_LIST,\n 'index',\n reduce(createReducer({ component: EmployeeListContextual, employeeId: undefined })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["createReducer","props","ctx","cancelTransition","target","component","transition","componentEvents","reduce","EmployeeListContextual","employeeDocumentsConfigCompletedStatuses","EmployeeOnboardingStatus","employeeDocumentsGuard","selfOnboardingGuard","EmployeeSelfOnboardingStatuses","employeeOnboardingMachine","state","ProfileContextual","ev","CompensationContextual","FederalTaxesContextual","guard","DeductionsContextual","StateTaxesContextual","PaymentMethodContextual","EmployeeDocumentsContextual","OnboardingSummaryContextual"],"mappings":"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"}
|