@gusto/embedded-react-sdk 0.48.3 → 0.50.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 +71 -0
- package/README.md +8 -8
- package/dist/components/Base/Base.d.ts +11 -3
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/createCompoundContext.d.ts +1 -1
- package/dist/components/Base/createCompoundContext.js.map +1 -1
- package/dist/components/Base/index.d.ts +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarLegend.d.ts +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarLegend.js.map +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
- package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
- package/dist/components/Common/UI/Select/Select.js +28 -28
- package/dist/components/Common/UI/Select/Select.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
- package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
- package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +23 -21
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +5 -7
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +1 -0
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +20 -20
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/Locations/stateMachine.js +4 -6
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -0
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
- package/dist/components/Contractor/Address/Address.d.ts +14 -8
- package/dist/components/Contractor/Address/Address.js +83 -64
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
- package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
- package/dist/components/Contractor/Address/index.d.ts +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +60 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +150 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
- package/dist/components/Contractor/Address/types.d.ts +8 -0
- package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
- package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +60 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
- package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
- package/dist/components/Contractor/Landing/Landing.js +73 -0
- package/dist/components/Contractor/Landing/Landing.js.map +1 -0
- package/dist/components/Contractor/Landing/index.d.ts +2 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +22 -10
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
- package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +6 -6
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +105 -108
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js +8 -0
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/index.d.ts +2 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.d.ts +93 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +22 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/index.d.ts +5 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +127 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +109 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +83 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js +42 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +58 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js +21 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.d.ts +20 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js +9 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/index.d.ts +5 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +117 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +91 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/types.d.ts +0 -5
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +13 -4
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
- package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/index.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +126 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +196 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
- package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
- package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
- package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
- package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
- package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
- package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
- package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
- package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
- package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
- package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
- package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
- package/dist/components/Employee/Documents/management/Documents.js +1 -5
- package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
- package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
- package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +1 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +10 -4
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +1 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +7 -11
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.d.ts +10 -4
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +20 -6
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +34 -14
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js +7 -6
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
- package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
- package/dist/components/Employee/Profile/management/Profile.js +1 -5
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
- package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
- package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
- package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
- package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
- package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -2
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +11 -12
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +2 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +36 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +31 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +20 -6
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +37 -19
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +113 -13
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/index.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +2 -7
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequests.d.ts +27 -2
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/contexts/ThemeProvider/types.d.ts +19 -0
- package/dist/helpers/validations.d.ts +12 -0
- package/dist/helpers/validations.js +6 -4
- package/dist/helpers/validations.js.map +1 -1
- package/dist/i18n/I18n.js +5 -2
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
- package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
- package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
- package/dist/i18n/en/Contractor.Address.json.js +13 -13
- package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
- package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Landing.json.js +18 -0
- package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
- package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
- package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +8 -6
- package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
- package/dist/i18n/en/Employee.Compensation.json.js +56 -50
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
- package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
- package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
- package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
- package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +1 -0
- package/dist/i18n/en/common.json.js +34 -32
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/index.d.ts +23 -3
- package/dist/index.js +250 -206
- package/dist/index.js.map +1 -1
- package/dist/models/external.d.ts +299 -0
- package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
- package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
- package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/shared/constants.d.ts +10 -1
- package/dist/shared/constants.js +9 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +19 -2
- package/dist/types/i18next.d.ts +66 -5
- package/dist/types/sdkError.js +13 -6
- package/dist/types/sdkError.js.map +1 -1
- package/docs/{reference → guides}/endpoint-inventory.json +27 -0
- package/package.json +21 -22
- package/dist/components/Contractor/Address/Actions.d.ts +0 -2
- package/dist/components/Contractor/Address/Actions.js +0 -13
- package/dist/components/Contractor/Address/Actions.js.map +0 -1
- package/dist/components/Contractor/Address/Form.d.ts +0 -2
- package/dist/components/Contractor/Address/Form.js +0 -51
- package/dist/components/Contractor/Address/Form.js.map +0 -1
- package/dist/components/Contractor/Address/Head.d.ts +0 -2
- package/dist/components/Contractor/Address/Head.js +0 -17
- package/dist/components/Contractor/Address/Head.js.map +0 -1
- package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
- package/dist/components/Contractor/Address/useAddress.js +0 -31
- package/dist/components/Contractor/Address/useAddress.js.map +0 -1
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +0 -3
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +0 -56
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +0 -1
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +0 -2
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +0 -33
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +0 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
- package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
|
@@ -16,7 +16,7 @@ export interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff
|
|
|
16
16
|
* the holiday pay policy (if one exists) is merged into the same list and is deleted via the
|
|
17
17
|
* holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.
|
|
18
18
|
*
|
|
19
|
-
* @
|
|
19
|
+
* @events
|
|
20
20
|
* | Event | Description | Data |
|
|
21
21
|
* | ----- | ----------- | ---- |
|
|
22
22
|
* | `timeOff/createPolicy` | The user clicked the create-policy action. | — |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyList.js","sources":["../../../../src/components/TimeOff/PolicyList/PolicyList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useTimeOffPoliciesGetAllSuspense,\n invalidateAllTimeOffPoliciesGetAll,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGetAll'\nimport { useTimeOffPoliciesDeactivateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesDeactivate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport {\n useHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesDelete'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { PolicyListPresentation } from './PolicyListPresentation'\nimport type { PolicyListItem } from './PolicyListTypes'\nimport { isListedTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for the {@link PolicyList} component.\n *\n * @public\n */\nexport interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff.TimeOffPolicies'> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Displays all active time off policies (sick, vacation, and holiday) for a company.\n *\n * Each row shows the policy name and the enrolled-employee count. Incomplete policies surface a\n * finish-setup action. Sick and vacation policies are deactivated via the time-off policies API;\n * the holiday pay policy (if one exists) is merged into the same list and is deleted via the\n * holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/createPolicy` | The user clicked the create-policy action. | — |\n * | `timeOff/viewPolicy` | The user opened an existing policy or clicked finish-setup on an incomplete one. | `{ policyId: string, policyType: string }` |\n * | `timeOff/deletePolicy/done` | A policy was successfully deleted. | `{ policyId: string }` |\n *\n * @param props - {@link PolicyListProps}\n * @returns The rendered policy list.\n * @public\n */\nexport function PolicyList({ FallbackComponent, ...props }: PolicyListProps) {\n return (\n <BaseBoundaries\n componentName=\"Company.TimeOff.TimeOffPolicies\"\n FallbackComponent={FallbackComponent}\n >\n <Root {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction Root({ companyId, onEvent }: PolicyListProps) {\n useI18n('Company.TimeOff.TimeOffPolicies')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicies')\n const queryClient = useQueryClient()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('Company.TimeOff.TimeOffPolicies')\n\n const [deleteSuccessAlert, setDeleteSuccessAlert] = useState<string | null>(null)\n const [isDeletingPolicyId, setIsDeletingPolicyId] = useState<string | null>(null)\n\n const { data: policiesData } = useTimeOffPoliciesGetAllSuspense({\n companyUuid: companyId,\n })\n const timeOffPolicies = (policiesData.timeOffPolicies ?? []).filter(\n policy => policy.isActive && isListedTimeOffPolicyType(policy.policyType),\n )\n\n // Holiday pay policy is auxiliary to the main time-off list; never crash the\n // boundary on its failure. composeErrorHandler below surfaces the error as\n // an inline alert via BaseLayout when it isn't an expected 204/404.\n const holidayQuery = useHolidayPayPoliciesGet(\n { companyUuid: companyId },\n {\n throwOnError: () => false,\n },\n )\n const holidayPayPolicy = holidayQuery.data?.holidayPayPolicy\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n const totalActiveEmployees = employeesData.showEmployees?.length ?? 0\n\n const deactivatePolicyMutation = useTimeOffPoliciesDeactivateMutation()\n const deleteHolidayMutation = useHolidayPayPoliciesDeleteMutation()\n\n const errorHandling = composeErrorHandler([holidayQuery], { submitError, setSubmitError })\n const isPending = deactivatePolicyMutation.isPending || deleteHolidayMutation.isPending\n\n const getEnrolledDisplay = (enrolledCount: number) => {\n if (enrolledCount > 0 && enrolledCount === totalActiveEmployees) {\n return t('allEmployeesLabel')\n } else if (enrolledCount > 0) {\n return t('employeeCount', { count: enrolledCount })\n }\n return t('enrolledDash')\n }\n\n const policies: PolicyListItem[] = timeOffPolicies\n .map((policy: TimeOffPolicy) => ({\n uuid: policy.uuid,\n name: policy.name,\n policyType: policy.policyType,\n isComplete: policy.complete ?? false,\n enrolledDisplay: getEnrolledDisplay(policy.employees.length),\n }))\n .sort((a, b) => a.name.localeCompare(b.name))\n\n if (holidayPayPolicy) {\n policies.push({\n uuid: holidayPayPolicy.companyUuid,\n name: t('holidayPayPolicy'),\n policyType: 'holiday',\n isComplete: true,\n enrolledDisplay: getEnrolledDisplay(holidayPayPolicy.employees.length),\n isHoliday: true,\n })\n }\n\n const handleCreatePolicy = () => {\n onEvent(componentEvents.TIME_OFF_CREATE_POLICY)\n }\n\n const handleEditPolicy = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleFinishSetup = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleDeletePolicy = async (policy: PolicyListItem): Promise<boolean> => {\n let success = false\n setIsDeletingPolicyId(policy.uuid)\n await baseSubmitHandler({}, async () => {\n if (policy.isHoliday) {\n await deleteHolidayMutation.mutateAsync({\n request: { companyUuid: companyId },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setDeleteSuccessAlert(t('flash.holidayDeleted'))\n } else {\n try {\n await deactivatePolicyMutation.mutateAsync({\n request: { timeOffPolicyUuid: policy.uuid },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const hasPendingRequests = err.errors.some(\n e =>\n e.message?.toLowerCase().includes('pending') ||\n e.message?.toLowerCase().includes('approved'),\n )\n if (hasPendingRequests) {\n throw new SDKInternalError(\n t('errors.pendingRequestsBlockDeletion', { name: policy.name }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(messages.join('. ') || t('errors.deleteFailed'), 'api_error')\n }\n throw err\n }\n await invalidateAllTimeOffPoliciesGetAll(queryClient)\n setDeleteSuccessAlert(t('flash.policyDeleted', { name: policy.name }))\n }\n onEvent(componentEvents.TIME_OFF_DELETE_POLICY_DONE, { policyId: policy.uuid })\n success = true\n })\n setIsDeletingPolicyId(null)\n return success\n }\n\n return (\n <BaseLayout error={errorHandling.errors}>\n <PolicyListPresentation\n policies={policies}\n onCreatePolicy={handleCreatePolicy}\n onEditPolicy={handleEditPolicy}\n onFinishSetup={handleFinishSetup}\n onDeletePolicy={handleDeletePolicy}\n deleteSuccessAlert={deleteSuccessAlert}\n onDismissDeleteAlert={() => {\n setDeleteSuccessAlert(null)\n }}\n isDeletingPolicyId={isDeletingPolicyId}\n isPending={isPending}\n />\n </BaseLayout>\n )\n}\n"],"names":["PolicyList","FallbackComponent","props","jsx","BaseBoundaries","Root","companyId","onEvent","useI18n","t","useTranslation","queryClient","useQueryClient","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","deleteSuccessAlert","setDeleteSuccessAlert","useState","isDeletingPolicyId","setIsDeletingPolicyId","policiesData","useTimeOffPoliciesGetAllSuspense","timeOffPolicies","policy","isListedTimeOffPolicyType","holidayQuery","useHolidayPayPoliciesGet","holidayPayPolicy","employeesData","useEmployeesListSuspense","totalActiveEmployees","deactivatePolicyMutation","useTimeOffPoliciesDeactivateMutation","deleteHolidayMutation","useHolidayPayPoliciesDeleteMutation","errorHandling","composeErrorHandler","isPending","getEnrolledDisplay","enrolledCount","policies","a","b","handleCreatePolicy","componentEvents","handleEditPolicy","handleFinishSetup","handleDeletePolicy","success","invalidateAllHolidayPayPoliciesGet","err","UnprocessableEntityError","e","SDKInternalError","messages","invalidateAllTimeOffPoliciesGetAll","BaseLayout","PolicyListPresentation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicyList.js","sources":["../../../../src/components/TimeOff/PolicyList/PolicyList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useTimeOffPoliciesGetAllSuspense,\n invalidateAllTimeOffPoliciesGetAll,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGetAll'\nimport { useTimeOffPoliciesDeactivateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesDeactivate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport {\n useHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesDelete'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { PolicyListPresentation } from './PolicyListPresentation'\nimport type { PolicyListItem } from './PolicyListTypes'\nimport { isListedTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for the {@link PolicyList} component.\n *\n * @public\n */\nexport interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff.TimeOffPolicies'> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Displays all active time off policies (sick, vacation, and holiday) for a company.\n *\n * Each row shows the policy name and the enrolled-employee count. Incomplete policies surface a\n * finish-setup action. Sick and vacation policies are deactivated via the time-off policies API;\n * the holiday pay policy (if one exists) is merged into the same list and is deleted via the\n * holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/createPolicy` | The user clicked the create-policy action. | — |\n * | `timeOff/viewPolicy` | The user opened an existing policy or clicked finish-setup on an incomplete one. | `{ policyId: string, policyType: string }` |\n * | `timeOff/deletePolicy/done` | A policy was successfully deleted. | `{ policyId: string }` |\n *\n * @param props - {@link PolicyListProps}\n * @returns The rendered policy list.\n * @public\n */\nexport function PolicyList({ FallbackComponent, ...props }: PolicyListProps) {\n return (\n <BaseBoundaries\n componentName=\"Company.TimeOff.TimeOffPolicies\"\n FallbackComponent={FallbackComponent}\n >\n <Root {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction Root({ companyId, onEvent }: PolicyListProps) {\n useI18n('Company.TimeOff.TimeOffPolicies')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicies')\n const queryClient = useQueryClient()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('Company.TimeOff.TimeOffPolicies')\n\n const [deleteSuccessAlert, setDeleteSuccessAlert] = useState<string | null>(null)\n const [isDeletingPolicyId, setIsDeletingPolicyId] = useState<string | null>(null)\n\n const { data: policiesData } = useTimeOffPoliciesGetAllSuspense({\n companyUuid: companyId,\n })\n const timeOffPolicies = (policiesData.timeOffPolicies ?? []).filter(\n policy => policy.isActive && isListedTimeOffPolicyType(policy.policyType),\n )\n\n // Holiday pay policy is auxiliary to the main time-off list; never crash the\n // boundary on its failure. composeErrorHandler below surfaces the error as\n // an inline alert via BaseLayout when it isn't an expected 204/404.\n const holidayQuery = useHolidayPayPoliciesGet(\n { companyUuid: companyId },\n {\n throwOnError: () => false,\n },\n )\n const holidayPayPolicy = holidayQuery.data?.holidayPayPolicy\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n const totalActiveEmployees = employeesData.showEmployees?.length ?? 0\n\n const deactivatePolicyMutation = useTimeOffPoliciesDeactivateMutation()\n const deleteHolidayMutation = useHolidayPayPoliciesDeleteMutation()\n\n const errorHandling = composeErrorHandler([holidayQuery], { submitError, setSubmitError })\n const isPending = deactivatePolicyMutation.isPending || deleteHolidayMutation.isPending\n\n const getEnrolledDisplay = (enrolledCount: number) => {\n if (enrolledCount > 0 && enrolledCount === totalActiveEmployees) {\n return t('allEmployeesLabel')\n } else if (enrolledCount > 0) {\n return t('employeeCount', { count: enrolledCount })\n }\n return t('enrolledDash')\n }\n\n const policies: PolicyListItem[] = timeOffPolicies\n .map((policy: TimeOffPolicy) => ({\n uuid: policy.uuid,\n name: policy.name,\n policyType: policy.policyType,\n isComplete: policy.complete ?? false,\n enrolledDisplay: getEnrolledDisplay(policy.employees.length),\n }))\n .sort((a, b) => a.name.localeCompare(b.name))\n\n if (holidayPayPolicy) {\n policies.push({\n uuid: holidayPayPolicy.companyUuid,\n name: t('holidayPayPolicy'),\n policyType: 'holiday',\n isComplete: true,\n enrolledDisplay: getEnrolledDisplay(holidayPayPolicy.employees.length),\n isHoliday: true,\n })\n }\n\n const handleCreatePolicy = () => {\n onEvent(componentEvents.TIME_OFF_CREATE_POLICY)\n }\n\n const handleEditPolicy = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleFinishSetup = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleDeletePolicy = async (policy: PolicyListItem): Promise<boolean> => {\n let success = false\n setIsDeletingPolicyId(policy.uuid)\n await baseSubmitHandler({}, async () => {\n if (policy.isHoliday) {\n await deleteHolidayMutation.mutateAsync({\n request: { companyUuid: companyId },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setDeleteSuccessAlert(t('flash.holidayDeleted'))\n } else {\n try {\n await deactivatePolicyMutation.mutateAsync({\n request: { timeOffPolicyUuid: policy.uuid },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const hasPendingRequests = err.errors.some(\n e =>\n e.message?.toLowerCase().includes('pending') ||\n e.message?.toLowerCase().includes('approved'),\n )\n if (hasPendingRequests) {\n throw new SDKInternalError(\n t('errors.pendingRequestsBlockDeletion', { name: policy.name }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(messages.join('. ') || t('errors.deleteFailed'), 'api_error')\n }\n throw err\n }\n await invalidateAllTimeOffPoliciesGetAll(queryClient)\n setDeleteSuccessAlert(t('flash.policyDeleted', { name: policy.name }))\n }\n onEvent(componentEvents.TIME_OFF_DELETE_POLICY_DONE, { policyId: policy.uuid })\n success = true\n })\n setIsDeletingPolicyId(null)\n return success\n }\n\n return (\n <BaseLayout error={errorHandling.errors}>\n <PolicyListPresentation\n policies={policies}\n onCreatePolicy={handleCreatePolicy}\n onEditPolicy={handleEditPolicy}\n onFinishSetup={handleFinishSetup}\n onDeletePolicy={handleDeletePolicy}\n deleteSuccessAlert={deleteSuccessAlert}\n onDismissDeleteAlert={() => {\n setDeleteSuccessAlert(null)\n }}\n isDeletingPolicyId={isDeletingPolicyId}\n isPending={isPending}\n />\n </BaseLayout>\n )\n}\n"],"names":["PolicyList","FallbackComponent","props","jsx","BaseBoundaries","Root","companyId","onEvent","useI18n","t","useTranslation","queryClient","useQueryClient","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","deleteSuccessAlert","setDeleteSuccessAlert","useState","isDeletingPolicyId","setIsDeletingPolicyId","policiesData","useTimeOffPoliciesGetAllSuspense","timeOffPolicies","policy","isListedTimeOffPolicyType","holidayQuery","useHolidayPayPoliciesGet","holidayPayPolicy","employeesData","useEmployeesListSuspense","totalActiveEmployees","deactivatePolicyMutation","useTimeOffPoliciesDeactivateMutation","deleteHolidayMutation","useHolidayPayPoliciesDeleteMutation","errorHandling","composeErrorHandler","isPending","getEnrolledDisplay","enrolledCount","policies","a","b","handleCreatePolicy","componentEvents","handleEditPolicy","handleFinishSetup","handleDeletePolicy","success","invalidateAllHolidayPayPoliciesGet","err","UnprocessableEntityError","e","SDKInternalError","messages","invalidateAllTimeOffPoliciesGetAll","BaseLayout","PolicyListPresentation"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { BaseComponentInterface } from '../../Base';
|
|
|
4
4
|
*
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
|
-
export interface PolicySettingsProps extends BaseComponentInterface {
|
|
7
|
+
export interface PolicySettingsProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {
|
|
8
8
|
/** UUID of the time off policy being configured. */
|
|
9
9
|
policyId: string;
|
|
10
10
|
/** Whether the form is being used to create a new policy or edit an existing one. Defaults to create. */
|
|
@@ -16,6 +16,7 @@ export interface PolicySettingsProps extends BaseComponentInterface {
|
|
|
16
16
|
* @remarks
|
|
17
17
|
* Fetches the time off policy, derives the accrual method category, and submits updates to the time off policies endpoint. Emits the following events:
|
|
18
18
|
*
|
|
19
|
+
* @events
|
|
19
20
|
* | Event | Description | Data |
|
|
20
21
|
* | ----- | ----------- | ---- |
|
|
21
22
|
* | `timeOff/policySettings/done` | Fired when policy settings are saved | The updated `TimeOffPolicy` |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicySettings.js","sources":["../../../../src/components/TimeOff/PolicySettings/PolicySettings.tsx"],"sourcesContent":["import { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesUpdate'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { PolicySettingsPresentation } from './PolicySettingsPresentation'\nimport type { PolicySettingsFormData, PolicySettingsAccrualMethod } from './PolicySettingsTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for {@link PolicySettings}.\n *\n * @public\n */\nexport interface PolicySettingsProps extends BaseComponentInterface {\n /** UUID of the time off policy being configured. */\n policyId: string\n /** Whether the form is being used to create a new policy or edit an existing one. Defaults to create. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Configures additional policy limits and rules for a sick or vacation policy. This step is skipped for policies with unlimited accrual.\n *\n * @remarks\n * Fetches the time off policy, derives the accrual method category, and submits updates to the time off policies endpoint. Emits the following events:\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policySettings/done` | Fired when policy settings are saved | The updated `TimeOffPolicy` |\n * | `timeOff/policySettings/back` | Fired when the user navigates back | — |\n *\n * @param props - {@link PolicySettingsProps}\n * @returns The rendered policy settings form.\n * @public\n */\nexport function PolicySettings(props: PolicySettingsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst HOURLY_ACCRUAL_METHODS = [\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n]\n\nconst ALL_AT_ONCE_ACCRUAL_METHODS = ['per_anniversary_year', 'per_calendar_year']\n\nfunction deriveAccrualMethodCategory(apiAccrualMethod: string): PolicySettingsAccrualMethod {\n if (HOURLY_ACCRUAL_METHODS.includes(apiAccrualMethod)) return 'hours_worked'\n if (ALL_AT_ONCE_ACCRUAL_METHODS.includes(apiAccrualMethod)) return 'fixed_all_at_once'\n return 'fixed_per_pay_period'\n}\n\nfunction deriveDefaultValues(policy: TimeOffPolicy): Partial<PolicySettingsFormData> {\n const defaults: Partial<PolicySettingsFormData> = {}\n\n if (policy.maxAccrualHoursPerYear != null) {\n defaults.accrualMaximumEnabled = true\n defaults.accrualMaximum = Number(policy.maxAccrualHoursPerYear)\n }\n\n if (policy.maxHours != null) {\n defaults.balanceMaximumEnabled = true\n defaults.balanceMaximum = Number(policy.maxHours)\n }\n\n if (policy.carryoverLimitHours != null) {\n defaults.carryOverLimitEnabled = true\n defaults.carryOverLimit = Number(policy.carryoverLimitHours)\n }\n\n if (policy.accrualWaitingPeriodDays != null && policy.accrualWaitingPeriodDays > 0) {\n defaults.waitingPeriodEnabled = true\n defaults.waitingPeriod = policy.accrualWaitingPeriodDays\n }\n\n if (policy.paidOutOnTermination != null) {\n defaults.paidOutOnTermination = policy.paidOutOnTermination\n }\n\n return defaults\n}\n\nfunction buildUpdateRequestBody(\n data: PolicySettingsFormData,\n version: string,\n accrualCategory: PolicySettingsAccrualMethod,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const isAllAtOnce = accrualCategory === 'fixed_all_at_once'\n\n return {\n maxAccrualHoursPerYear:\n !isAllAtOnce && data.accrualMaximumEnabled && data.accrualMaximum != null\n ? String(data.accrualMaximum)\n : null,\n maxHours:\n data.balanceMaximumEnabled && data.balanceMaximum != null\n ? String(data.balanceMaximum)\n : null,\n carryoverLimitHours:\n data.carryOverLimitEnabled && data.carryOverLimit != null\n ? String(data.carryOverLimit)\n : null,\n accrualWaitingPeriodDays:\n !isAllAtOnce && data.waitingPeriodEnabled && data.waitingPeriod != null\n ? data.waitingPeriod\n : null,\n paidOutOnTermination: data.paidOutOnTermination,\n version,\n }\n}\n\nfunction Root({ policyId, mode }: PolicySettingsProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const accrualCategory = deriveAccrualMethodCategory(policy.accrualMethod)\n const version = policy.version ?? ''\n\n const handleContinue = async (data: PolicySettingsFormData) => {\n await baseSubmitHandler(data, async () => {\n try {\n const { timeOffPolicy } = await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: buildUpdateRequestBody(data, version, accrualCategory),\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2025-11-15', 'timeOffPolicies', 'get'],\n })\n onEvent(componentEvents.TIME_OFF_POLICY_SETTINGS_DONE, timeOffPolicy)\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n if (err.errors.some(e => e.message === 'LIMIT_VIOLATION_MAX_HOURS')) {\n throw new SDKInternalError(\n t('policySettings.errors.balanceExceedsMaximum'),\n 'api_error',\n )\n }\n const uniqueMessages = [...new Set(err.errors.map(e => e.message).filter(Boolean))]\n throw new SDKInternalError(\n t('errors.updatePolicySettingsFailed', {\n details: uniqueMessages.join('. '),\n }),\n 'api_error',\n )\n }\n throw err\n }\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_POLICY_SETTINGS_BACK)\n }\n\n return (\n <PolicySettingsPresentation\n accrualMethod={accrualCategory}\n onContinue={handleContinue}\n onBack={handleBack}\n defaultValues={deriveDefaultValues(policy)}\n mode={mode}\n editingPolicyName={mode === 'edit' ? policy.name : undefined}\n isPending={isPending}\n />\n )\n}\n"],"names":["PolicySettings","props","jsx","BaseComponent","Root","HOURLY_ACCRUAL_METHODS","ALL_AT_ONCE_ACCRUAL_METHODS","deriveAccrualMethodCategory","apiAccrualMethod","deriveDefaultValues","policy","defaults","buildUpdateRequestBody","data","version","accrualCategory","isAllAtOnce","policyId","mode","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","isPending","useTimeOffPoliciesUpdateMutation","PolicySettingsPresentation","timeOffPolicy","componentEvents","err","UnprocessableEntityError","e","SDKInternalError","uniqueMessages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicySettings.js","sources":["../../../../src/components/TimeOff/PolicySettings/PolicySettings.tsx"],"sourcesContent":["import { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesUpdate'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api-v-2025-11-15/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { PolicySettingsPresentation } from './PolicySettingsPresentation'\nimport type { PolicySettingsFormData, PolicySettingsAccrualMethod } from './PolicySettingsTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for {@link PolicySettings}.\n *\n * @public\n */\nexport interface PolicySettingsProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {\n /** UUID of the time off policy being configured. */\n policyId: string\n /** Whether the form is being used to create a new policy or edit an existing one. Defaults to create. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Configures additional policy limits and rules for a sick or vacation policy. This step is skipped for policies with unlimited accrual.\n *\n * @remarks\n * Fetches the time off policy, derives the accrual method category, and submits updates to the time off policies endpoint. Emits the following events:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policySettings/done` | Fired when policy settings are saved | The updated `TimeOffPolicy` |\n * | `timeOff/policySettings/back` | Fired when the user navigates back | — |\n *\n * @param props - {@link PolicySettingsProps}\n * @returns The rendered policy settings form.\n * @public\n */\nexport function PolicySettings(props: PolicySettingsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst HOURLY_ACCRUAL_METHODS = [\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n]\n\nconst ALL_AT_ONCE_ACCRUAL_METHODS = ['per_anniversary_year', 'per_calendar_year']\n\nfunction deriveAccrualMethodCategory(apiAccrualMethod: string): PolicySettingsAccrualMethod {\n if (HOURLY_ACCRUAL_METHODS.includes(apiAccrualMethod)) return 'hours_worked'\n if (ALL_AT_ONCE_ACCRUAL_METHODS.includes(apiAccrualMethod)) return 'fixed_all_at_once'\n return 'fixed_per_pay_period'\n}\n\nfunction deriveDefaultValues(policy: TimeOffPolicy): Partial<PolicySettingsFormData> {\n const defaults: Partial<PolicySettingsFormData> = {}\n\n if (policy.maxAccrualHoursPerYear != null) {\n defaults.accrualMaximumEnabled = true\n defaults.accrualMaximum = Number(policy.maxAccrualHoursPerYear)\n }\n\n if (policy.maxHours != null) {\n defaults.balanceMaximumEnabled = true\n defaults.balanceMaximum = Number(policy.maxHours)\n }\n\n if (policy.carryoverLimitHours != null) {\n defaults.carryOverLimitEnabled = true\n defaults.carryOverLimit = Number(policy.carryoverLimitHours)\n }\n\n if (policy.accrualWaitingPeriodDays != null && policy.accrualWaitingPeriodDays > 0) {\n defaults.waitingPeriodEnabled = true\n defaults.waitingPeriod = policy.accrualWaitingPeriodDays\n }\n\n if (policy.paidOutOnTermination != null) {\n defaults.paidOutOnTermination = policy.paidOutOnTermination\n }\n\n return defaults\n}\n\nfunction buildUpdateRequestBody(\n data: PolicySettingsFormData,\n version: string,\n accrualCategory: PolicySettingsAccrualMethod,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const isAllAtOnce = accrualCategory === 'fixed_all_at_once'\n\n return {\n maxAccrualHoursPerYear:\n !isAllAtOnce && data.accrualMaximumEnabled && data.accrualMaximum != null\n ? String(data.accrualMaximum)\n : null,\n maxHours:\n data.balanceMaximumEnabled && data.balanceMaximum != null\n ? String(data.balanceMaximum)\n : null,\n carryoverLimitHours:\n data.carryOverLimitEnabled && data.carryOverLimit != null\n ? String(data.carryOverLimit)\n : null,\n accrualWaitingPeriodDays:\n !isAllAtOnce && data.waitingPeriodEnabled && data.waitingPeriod != null\n ? data.waitingPeriod\n : null,\n paidOutOnTermination: data.paidOutOnTermination,\n version,\n }\n}\n\nfunction Root({ policyId, mode }: PolicySettingsProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const accrualCategory = deriveAccrualMethodCategory(policy.accrualMethod)\n const version = policy.version ?? ''\n\n const handleContinue = async (data: PolicySettingsFormData) => {\n await baseSubmitHandler(data, async () => {\n try {\n const { timeOffPolicy } = await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: buildUpdateRequestBody(data, version, accrualCategory),\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2025-11-15', 'timeOffPolicies', 'get'],\n })\n onEvent(componentEvents.TIME_OFF_POLICY_SETTINGS_DONE, timeOffPolicy)\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n if (err.errors.some(e => e.message === 'LIMIT_VIOLATION_MAX_HOURS')) {\n throw new SDKInternalError(\n t('policySettings.errors.balanceExceedsMaximum'),\n 'api_error',\n )\n }\n const uniqueMessages = [...new Set(err.errors.map(e => e.message).filter(Boolean))]\n throw new SDKInternalError(\n t('errors.updatePolicySettingsFailed', {\n details: uniqueMessages.join('. '),\n }),\n 'api_error',\n )\n }\n throw err\n }\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_POLICY_SETTINGS_BACK)\n }\n\n return (\n <PolicySettingsPresentation\n accrualMethod={accrualCategory}\n onContinue={handleContinue}\n onBack={handleBack}\n defaultValues={deriveDefaultValues(policy)}\n mode={mode}\n editingPolicyName={mode === 'edit' ? policy.name : undefined}\n isPending={isPending}\n />\n )\n}\n"],"names":["PolicySettings","props","jsx","BaseComponent","Root","HOURLY_ACCRUAL_METHODS","ALL_AT_ONCE_ACCRUAL_METHODS","deriveAccrualMethodCategory","apiAccrualMethod","deriveDefaultValues","policy","defaults","buildUpdateRequestBody","data","version","accrualCategory","isAllAtOnce","policyId","mode","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","isPending","useTimeOffPoliciesUpdateMutation","PolicySettingsPresentation","timeOffPolicy","componentEvents","err","UnprocessableEntityError","e","SDKInternalError","uniqueMessages"],"mappings":";;;;;;;;;;;;AA2CO,SAASA,EAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMI,IAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAA8B,CAAC,wBAAwB,mBAAmB;AAEhF,SAASC,EAA4BC,GAAuD;AAC1F,SAAIH,EAAuB,SAASG,CAAgB,IAAU,iBAC1DF,EAA4B,SAASE,CAAgB,IAAU,sBAC5D;AACT;AAEA,SAASC,EAAoBC,GAAwD;AACnF,QAAMC,IAA4C,CAAA;AAElD,SAAID,EAAO,0BAA0B,SACnCC,EAAS,wBAAwB,IACjCA,EAAS,iBAAiB,OAAOD,EAAO,sBAAsB,IAG5DA,EAAO,YAAY,SACrBC,EAAS,wBAAwB,IACjCA,EAAS,iBAAiB,OAAOD,EAAO,QAAQ,IAG9CA,EAAO,uBAAuB,SAChCC,EAAS,wBAAwB,IACjCA,EAAS,iBAAiB,OAAOD,EAAO,mBAAmB,IAGzDA,EAAO,4BAA4B,QAAQA,EAAO,2BAA2B,MAC/EC,EAAS,uBAAuB,IAChCA,EAAS,gBAAgBD,EAAO,2BAG9BA,EAAO,wBAAwB,SACjCC,EAAS,uBAAuBD,EAAO,uBAGlCC;AACT;AAEA,SAASC,EACPC,GACAC,GACAC,GACkD;AAClD,QAAMC,IAAcD,MAAoB;AAExC,SAAO;AAAA,IACL,wBACE,CAACC,KAAeH,EAAK,yBAAyBA,EAAK,kBAAkB,OACjE,OAAOA,EAAK,cAAc,IAC1B;AAAA,IACN,UACEA,EAAK,yBAAyBA,EAAK,kBAAkB,OACjD,OAAOA,EAAK,cAAc,IAC1B;AAAA,IACN,qBACEA,EAAK,yBAAyBA,EAAK,kBAAkB,OACjD,OAAOA,EAAK,cAAc,IAC1B;AAAA,IACN,0BACE,CAACG,KAAeH,EAAK,wBAAwBA,EAAK,iBAAiB,OAC/DA,EAAK,gBACL;AAAA,IACN,sBAAsBA,EAAK;AAAA,IAC3B,SAAAC;AAAA,EAAA;AAEJ;AAEA,SAASV,EAAK,EAAE,UAAAa,GAAU,MAAAC,KAA6B;AACrD,EAAAC,EAAQ,qCAAqC;AAC7C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qCAAqC,GAC5D,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjCC,IAAcC,EAAA,GAEd,EAAE,MAAMC,EAAA,IAAmBC,EAA8B;AAAA,IAC7D,mBAAmBX;AAAA,EAAA,CACpB,GAEK,EAAE,aAAaY,GAAqB,WAAAC,EAAA,IAAcC,EAAA,GAElDrB,IAASiB,EAAe;AAC9B,MAAI,CAACjB,EAAQ,OAAM,IAAI,MAAM,4CAA4C;AAEzE,QAAMK,IAAkBR,EAA4BG,EAAO,aAAa,GAClEI,IAAUJ,EAAO,WAAW;AAyClC,SACE,gBAAAR;AAAA,IAAC8B;AAAA,IAAA;AAAA,MACC,eAAejB;AAAA,MACf,YA1CmB,OAAOF,MAAiC;AAC7D,cAAMU,EAAkBV,GAAM,YAAY;AACxC,cAAI;AACF,kBAAM,EAAE,eAAAoB,MAAkB,MAAMJ,EAAoB;AAAA,cAClD,SAAS;AAAA,gBACP,mBAAmBZ;AAAA,gBACnB,aAAaL,EAAuBC,GAAMC,GAASC,CAAe;AAAA,cAAA;AAAA,YACpE,CACD;AAED,YAAKU,EAAY,kBAAkB;AAAA,cACjC,UAAU,CAAC,oCAAoC,mBAAmB,KAAK;AAAA,YAAA,CACxE,GACDH,EAAQY,EAAgB,+BAA+BD,CAAa;AAAA,UACtE,SAASE,GAAK;AACZ,gBAAIA,aAAeC,GAA0B;AAC3C,kBAAID,EAAI,OAAO,KAAK,OAAKE,EAAE,YAAY,2BAA2B;AAChE,sBAAM,IAAIC;AAAA,kBACRlB,EAAE,6CAA6C;AAAA,kBAC/C;AAAA,gBAAA;AAGJ,oBAAMmB,IAAiB,CAAC,GAAG,IAAI,IAAIJ,EAAI,OAAO,IAAI,CAAAE,MAAKA,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;AAClF,oBAAM,IAAIC;AAAA,gBACRlB,EAAE,qCAAqC;AAAA,kBACrC,SAASmB,EAAe,KAAK,IAAI;AAAA,gBAAA,CAClC;AAAA,gBACD;AAAA,cAAA;AAAA,YAEJ;AACA,kBAAMJ;AAAA,UACR;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MAUI,QARe,MAAM;AACvB,QAAAb,EAAQY,EAAgB,6BAA6B;AAAA,MACvD;AAAA,MAOI,eAAezB,EAAoBC,CAAM;AAAA,MACzC,MAAAQ;AAAA,MACA,mBAAmBA,MAAS,SAASR,EAAO,OAAO;AAAA,MACnD,WAAAoB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -18,6 +18,7 @@ export interface PolicyTypeSelectorProps extends BaseComponentInterface<'Company
|
|
|
18
18
|
* The holiday option is omitted when the company already has a holiday pay policy, since a company
|
|
19
19
|
* can only have one.
|
|
20
20
|
*
|
|
21
|
+
* @events
|
|
21
22
|
* | Event | Description | Data |
|
|
22
23
|
* | ----- | ----------- | ---- |
|
|
23
24
|
* | `timeOff/policyTypeSelected` | The user confirms a selection | `{ policyType: {@link PolicyType} }` |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyTypeSelector.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.tsx"],"sourcesContent":["import { useHolidayPayPoliciesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { PolicyTypeSelectorPresentation } from './PolicyTypeSelectorPresentation'\nimport type { PolicyType } from './PolicyTypeSelectorTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link PolicyTypeSelector}.\n *\n * @public\n */\nexport interface PolicyTypeSelectorProps extends BaseComponentInterface<'Company.TimeOff.SelectPolicyType'> {\n /** The associated company identifier. */\n companyId: string\n /** Pre-selected policy type rendered when the form mounts. */\n defaultPolicyType?: PolicyType\n}\n\n/**\n * Selection screen for choosing which kind of time-off policy to create — sick, vacation, or holiday.\n *\n * @remarks\n * The holiday option is omitted when the company already has a holiday pay policy, since a company\n * can only have one.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyTypeSelected` | The user confirms a selection | `{ policyType: {@link PolicyType} }` |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link PolicyTypeSelectorProps}.\n * @returns The rendered policy type selection screen.\n * @public\n */\nexport function PolicyTypeSelector(props: PolicyTypeSelectorProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultPolicyType }: PolicyTypeSelectorProps) {\n const { onEvent } = useBase()\n\n const holidayQuery = useHolidayPayPoliciesGet({ companyUuid: companyId })\n const holidayPolicyExists = Boolean(holidayQuery.data?.holidayPayPolicy)\n\n const handleContinue = (policyType: PolicyType) => {\n onEvent(componentEvents.TIME_OFF_POLICY_TYPE_SELECTED, {\n policyType,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <PolicyTypeSelectorPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultPolicyType={defaultPolicyType}\n holidayPolicyExists={holidayPolicyExists}\n />\n )\n}\n"],"names":["PolicyTypeSelector","props","jsx","BaseComponent","Root","companyId","defaultPolicyType","onEvent","useBase","holidayPolicyExists","useHolidayPayPoliciesGet","PolicyTypeSelectorPresentation","policyType","componentEvents"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"PolicyTypeSelector.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.tsx"],"sourcesContent":["import { useHolidayPayPoliciesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { PolicyTypeSelectorPresentation } from './PolicyTypeSelectorPresentation'\nimport type { PolicyType } from './PolicyTypeSelectorTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link PolicyTypeSelector}.\n *\n * @public\n */\nexport interface PolicyTypeSelectorProps extends BaseComponentInterface<'Company.TimeOff.SelectPolicyType'> {\n /** The associated company identifier. */\n companyId: string\n /** Pre-selected policy type rendered when the form mounts. */\n defaultPolicyType?: PolicyType\n}\n\n/**\n * Selection screen for choosing which kind of time-off policy to create — sick, vacation, or holiday.\n *\n * @remarks\n * The holiday option is omitted when the company already has a holiday pay policy, since a company\n * can only have one.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyTypeSelected` | The user confirms a selection | `{ policyType: {@link PolicyType} }` |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link PolicyTypeSelectorProps}.\n * @returns The rendered policy type selection screen.\n * @public\n */\nexport function PolicyTypeSelector(props: PolicyTypeSelectorProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultPolicyType }: PolicyTypeSelectorProps) {\n const { onEvent } = useBase()\n\n const holidayQuery = useHolidayPayPoliciesGet({ companyUuid: companyId })\n const holidayPolicyExists = Boolean(holidayQuery.data?.holidayPayPolicy)\n\n const handleContinue = (policyType: PolicyType) => {\n onEvent(componentEvents.TIME_OFF_POLICY_TYPE_SELECTED, {\n policyType,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <PolicyTypeSelectorPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultPolicyType={defaultPolicyType}\n holidayPolicyExists={holidayPolicyExists}\n />\n )\n}\n"],"names":["PolicyTypeSelector","props","jsx","BaseComponent","Root","companyId","defaultPolicyType","onEvent","useBase","holidayPolicyExists","useHolidayPayPoliciesGet","PolicyTypeSelectorPresentation","policyType","componentEvents"],"mappings":";;;;;;AAoCO,SAASA,EAAmBC,GAAgC;AACjE,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,mBAAAC,KAA8C;AACvE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAGdC,IAAsB,EADPC,EAAyB,EAAE,aAAaL,GAAW,EACvB,MAAM;AAYvD,SACE,gBAAAH;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,YAZmB,CAACC,MAA2B;AACjD,QAAAL,EAAQM,EAAgB,+BAA+B;AAAA,UACrD,YAAAD;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MASI,UAPiB,MAAM;AACzB,QAAAL,EAAQM,EAAgB,MAAM;AAAA,MAChC;AAAA,MAMI,mBAAAP;AAAA,MACA,qBAAAG;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { TimeOffFlowProps } from './TimeOffFlowComponents';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Hub for creating and managing a company's time off policies.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
6
|
* Composes the time off list, policy-type selection, configuration, settings, employee assignment, and policy detail screens into a single multi-step flow. Sick and vacation policies share a common creation path (configure → settings → add employees); holiday policies follow a separate path (select federal holidays → add employees). All policy types can be viewed, edited, and removed from the unified policy list.
|
|
7
7
|
*
|
|
8
8
|
* The flow emits these events as users navigate:
|
|
9
9
|
*
|
|
10
|
+
* @events
|
|
10
11
|
* | Event | Description | Data |
|
|
11
12
|
* | ----- | ----------- | ---- |
|
|
12
13
|
* | `timeOff/createPolicy` | User initiates policy creation | — |
|
|
@@ -37,8 +38,34 @@ import { TimeOffFlowProps } from './TimeOffFlowComponents';
|
|
|
37
38
|
*
|
|
38
39
|
* Only one holiday policy can exist per company; the policy-type selector disables the holiday option once one is configured.
|
|
39
40
|
*
|
|
41
|
+
* @components
|
|
42
|
+
* - {@link PolicyList}
|
|
43
|
+
* - {@link PolicyTypeSelector}
|
|
44
|
+
* - {@link PolicyConfigurationForm}
|
|
45
|
+
* - {@link PolicySettings}
|
|
46
|
+
* - {@link AddEmployeesToPolicy}
|
|
47
|
+
* - {@link TimeOffPolicyDetail}
|
|
48
|
+
* - {@link HolidaySelectionForm}
|
|
49
|
+
* - {@link AddEmployeesHoliday}
|
|
50
|
+
* - {@link ViewHolidayEmployees}
|
|
51
|
+
* - {@link ViewHolidaySchedule}
|
|
52
|
+
*
|
|
40
53
|
* @param props - {@link TimeOffFlowProps} with the company identifier and event handler.
|
|
41
54
|
* @returns The composed time off policy management flow.
|
|
42
55
|
* @public
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx title="App.tsx"
|
|
59
|
+
* import { TimeOff } from '@gusto/embedded-react-sdk'
|
|
60
|
+
*
|
|
61
|
+
* function MyApp() {
|
|
62
|
+
* return (
|
|
63
|
+
* <TimeOff.TimeOffFlow
|
|
64
|
+
* companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
|
|
65
|
+
* onEvent={() => {}}
|
|
66
|
+
* />
|
|
67
|
+
* )
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
43
70
|
*/
|
|
44
71
|
export declare const TimeOffFlow: ({ companyId, onEvent }: TimeOffFlowProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeOffFlow.js","sources":["../../../../src/components/TimeOff/TimeOffFlow/TimeOffFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { timeOffMachine } from './timeOffStateMachine'\nimport type { TimeOffFlowProps, TimeOffFlowContextInterface } from './TimeOffFlowComponents'\nimport { PolicyListContextual } from './TimeOffFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"TimeOffFlow.js","sources":["../../../../src/components/TimeOff/TimeOffFlow/TimeOffFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { timeOffMachine } from './timeOffStateMachine'\nimport type { TimeOffFlowProps, TimeOffFlowContextInterface } from './TimeOffFlowComponents'\nimport { PolicyListContextual } from './TimeOffFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\n/**\n * Hub for creating and managing a company's time off policies.\n *\n * @remarks\n * Composes the time off list, policy-type selection, configuration, settings, employee assignment, and policy detail screens into a single multi-step flow. Sick and vacation policies share a common creation path (configure → settings → add employees); holiday policies follow a separate path (select federal holidays → add employees). All policy types can be viewed, edited, and removed from the unified policy list.\n *\n * The flow emits these events as users navigate:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/createPolicy` | User initiates policy creation | — |\n * | `timeOff/viewPolicy` | User selects a policy to view | `{ policyId: string, policyType: string }` |\n * | `timeOff/policyTypeSelected` | User selects a policy type | `{ policyType: 'sick' \\| 'vacation' \\| 'holiday' }` |\n * | `timeOff/policyDetails/done` | Policy details form is submitted | `{ policyId: string, accrualMethod: string }` |\n * | `timeOff/policySettings/done` | Policy settings are saved | TimeOffPolicy response |\n * | `timeOff/policySettings/back` | User navigates back from settings | — |\n * | `timeOff/addEmployees/done` | Employees are added to a sick/vacation policy | TimeOffPolicy response |\n * | `timeOff/addEmployees/back` | User navigates back from employee selection | — |\n * | `timeOff/holidaySelection/done` | Holiday selection completed (create) | — |\n * | `timeOff/holidaySelection/editDone` | Holiday selection completed (edit) | — |\n * | `timeOff/holidayAddEmployees/done` | Employees added to holiday policy | HolidayPayPolicy response |\n * | `timeOff/backToList` | User navigates back to the policy list | — |\n * | `timeOff/editPolicy` | User edits a sick/vacation policy | `{ policyId: string }` |\n * | `timeOff/changeSettings` | User edits policy settings | `{ policyId: string }` |\n * | `timeOff/addEmployeesToPolicy` | User adds employees from a policy detail | `{ policyId: string }` |\n * | `timeOff/holidayAddEmployees` | User adds employees from holiday detail | — |\n * | `timeOff/editHolidayPolicy` | User edits the holiday policy | — |\n * | `timeOff/viewHolidayEmployees` | User switches to the holiday employees tab | — |\n * | `timeOff/viewHolidaySchedule` | User switches to the holiday schedule tab | — |\n * | `timeOff/policyCreate/error` | Policy creation fails | `{ alert?: { type, title, content? } }` |\n * | `timeOff/policySettings/error` | Policy settings update fails | `{ alert?: { type, title, content? } }` |\n * | `timeOff/addEmployees/error` | Adding employees to a policy fails | `{ alert?: { type, title, content? } }` |\n * | `timeOff/holidayCreate/error` | Holiday policy creation fails | `{ alert?: { type, title, content? } }` |\n * | `timeOff/holidayAddEmployees/error` | Adding employees to the holiday policy fails | `{ alert?: { type, title, content? } }` |\n * | `CANCEL` | User cancels the current step | — |\n *\n * Only one holiday policy can exist per company; the policy-type selector disables the holiday option once one is configured.\n *\n * @components\n * - {@link PolicyList}\n * - {@link PolicyTypeSelector}\n * - {@link PolicyConfigurationForm}\n * - {@link PolicySettings}\n * - {@link AddEmployeesToPolicy}\n * - {@link TimeOffPolicyDetail}\n * - {@link HolidaySelectionForm}\n * - {@link AddEmployeesHoliday}\n * - {@link ViewHolidayEmployees}\n * - {@link ViewHolidaySchedule}\n *\n * @param props - {@link TimeOffFlowProps} with the company identifier and event handler.\n * @returns The composed time off policy management flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { TimeOff } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <TimeOff.TimeOffFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport const TimeOffFlow = ({ companyId, onEvent }: TimeOffFlowProps) => {\n const timeOffFlow = useMemo(\n () =>\n createMachine(\n 'policyList',\n timeOffMachine,\n (initialContext: TimeOffFlowContextInterface) => ({\n ...initialContext,\n component: PolicyListContextual,\n companyId,\n }),\n ),\n [companyId],\n )\n return <Flow machine={timeOffFlow} onEvent={onEvent} />\n}\n"],"names":["TimeOffFlow","companyId","onEvent","timeOffFlow","useMemo","createMachine","timeOffMachine","initialContext","PolicyListContextual","jsx","Flow"],"mappings":";;;;;;AA4EO,MAAMA,IAAc,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAAgC;AACvE,QAAMC,IAAcC;AAAA,IAClB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAiD;AAAA,QAChD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAP;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACA,CAAS;AAAA,EAAA;AAEZ,SAAO,gBAAAQ,EAACC,GAAA,EAAK,SAASP,GAAa,SAAAD,EAAA,CAAkB;AACvD;"}
|
|
@@ -7,7 +7,7 @@ import { BaseComponentInterface } from '../../Base';
|
|
|
7
7
|
*
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export interface TimeOffFlowProps extends BaseComponentInterface {
|
|
10
|
+
export interface TimeOffFlowProps extends BaseComponentInterface<never> {
|
|
11
11
|
/** The associated company identifier. */
|
|
12
12
|
companyId: string;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeOffFlowComponents.js","sources":["../../../../src/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { PolicyList } from '../PolicyList/PolicyList'\nimport { PolicyTypeSelector } from '../PolicyTypeSelector/PolicyTypeSelector'\nimport { PolicyConfigurationForm } from '../TimeOffManagement/PolicyConfigurationForm'\nimport { PolicySettings } from '../PolicySettings/PolicySettings'\nimport { AddEmployeesToPolicy } from '../AddEmployeesToPolicy/AddEmployeesToPolicy'\nimport { TimeOffPolicyDetail } from '../TimeOffPolicyDetail/TimeOffPolicyDetail'\nimport { HolidaySelectionForm } from '../HolidaySelectionForm/HolidaySelectionForm'\nimport { AddEmployeesHoliday } from '../AddEmployeesHoliday/AddEmployeesHoliday'\nimport { ViewHolidayEmployees } from '../ViewHolidayEmployees/ViewHolidayEmployees'\nimport { ViewHolidaySchedule } from '../ViewHolidaySchedule/ViewHolidaySchedule'\nimport { assertCreatablePolicyType, type TimeOffPolicyType } from './timeOffPolicyTypes'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link TimeOffFlow}.\n *\n * @public\n */\nexport interface TimeOffFlowProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n}\n\n/** @internal */\nexport type TimeOffFlowAlert = {\n type: 'error' | 'info' | 'success'\n title: string\n content?: ReactNode\n}\n\n/** @internal */\nexport type AddEmployeesSource =\n | 'policySettings'\n | 'policyDetailsForm'\n | 'viewTimeOffPolicyDetail'\n | 'viewHolidayEmployees'\n\n/** @internal */\nexport interface TimeOffFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** The currently selected policy type, if any. */\n policyType?: TimeOffPolicyType\n /** The currently selected policy identifier, if any. */\n policyId?: string\n /** Alerts to render at the top of the current step. */\n alerts?: TimeOffFlowAlert[]\n /** Which step launched the add-employees screen, used to route the back transition. */\n addEmployeesSource?: AddEmployeesSource\n}\n\n/** @internal */\nexport function PolicyListContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyList onEvent={onEvent} companyId={ensureRequired(companyId)} />\n </Flex>\n )\n}\n\n/** @internal */\nexport function SelectPolicyTypeContextual() {\n const { onEvent, companyId, policyType, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n const selectorDefault =\n policyType === 'sick' || policyType === 'vacation' || policyType === 'holiday'\n ? policyType\n : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyTypeSelector\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n defaultPolicyType={selectorDefault}\n />\n </Flex>\n )\n}\n\n/** @internal */\nexport function PolicyDetailsFormContextual() {\n const { onEvent, companyId, policyType, policyId, alerts } =\n useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n const requiredPolicyType = ensureRequired(policyType)\n assertCreatablePolicyType(requiredPolicyType)\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyConfigurationForm\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n policyType={requiredPolicyType}\n policyId={policyId}\n />\n </Flex>\n )\n}\n\n/** @internal */\nexport function PolicySettingsContextual() {\n const { onEvent, policyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicySettings onEvent={onEvent} policyId={ensureRequired(policyId)} mode=\"create\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function EditPolicySettingsContextual() {\n const { onEvent, policyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicySettings onEvent={onEvent} policyId={ensureRequired(policyId)} mode=\"edit\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function AddEmployeesToPolicyContextual() {\n const { onEvent, companyId, policyId, policyType } = useFlow<TimeOffFlowContextInterface>()\n const requiredPolicyType = ensureRequired(policyType)\n assertCreatablePolicyType(requiredPolicyType)\n return (\n <AddEmployeesToPolicy\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n policyId={ensureRequired(policyId)}\n policyType={requiredPolicyType}\n />\n )\n}\n\n/** @internal */\nexport function TimeOffPolicyDetailContextual() {\n const { onEvent, policyId } = useFlow<TimeOffFlowContextInterface>()\n return <TimeOffPolicyDetail onEvent={onEvent} policyId={ensureRequired(policyId)} />\n}\n\n/** @internal */\nexport function HolidaySelectionFormContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <HolidaySelectionForm onEvent={onEvent} companyId={ensureRequired(companyId)} mode=\"create\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function EditHolidaySelectionFormContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <HolidaySelectionForm onEvent={onEvent} companyId={ensureRequired(companyId)} mode=\"edit\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function AddEmployeesHolidayContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <AddEmployeesHoliday onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function ViewHolidayEmployeesContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <ViewHolidayEmployees onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function ViewHolidayScheduleContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <ViewHolidaySchedule onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n"],"names":["PolicyListContextual","onEvent","companyId","alerts","useFlow","Alert","useComponentContext","jsxs","Flex","alert","index","PolicyList","ensureRequired","SelectPolicyTypeContextual","policyType","selectorDefault","jsx","PolicyTypeSelector","PolicyDetailsFormContextual","policyId","requiredPolicyType","assertCreatablePolicyType","PolicyConfigurationForm","PolicySettingsContextual","PolicySettings","EditPolicySettingsContextual","AddEmployeesToPolicyContextual","AddEmployeesToPolicy","TimeOffPolicyDetailContextual","TimeOffPolicyDetail","HolidaySelectionFormContextual","HolidaySelectionForm","EditHolidaySelectionFormContextual","AddEmployeesHolidayContextual","AddEmployeesHoliday","ViewHolidayEmployeesContextual","ViewHolidayEmployees","ViewHolidayScheduleContextual","ViewHolidaySchedule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeOffFlowComponents.js","sources":["../../../../src/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { PolicyList } from '../PolicyList/PolicyList'\nimport { PolicyTypeSelector } from '../PolicyTypeSelector/PolicyTypeSelector'\nimport { PolicyConfigurationForm } from '../TimeOffManagement/PolicyConfigurationForm'\nimport { PolicySettings } from '../PolicySettings/PolicySettings'\nimport { AddEmployeesToPolicy } from '../AddEmployeesToPolicy/AddEmployeesToPolicy'\nimport { TimeOffPolicyDetail } from '../TimeOffPolicyDetail/TimeOffPolicyDetail'\nimport { HolidaySelectionForm } from '../HolidaySelectionForm/HolidaySelectionForm'\nimport { AddEmployeesHoliday } from '../AddEmployeesHoliday/AddEmployeesHoliday'\nimport { ViewHolidayEmployees } from '../ViewHolidayEmployees/ViewHolidayEmployees'\nimport { ViewHolidaySchedule } from '../ViewHolidaySchedule/ViewHolidaySchedule'\nimport { assertCreatablePolicyType, type TimeOffPolicyType } from './timeOffPolicyTypes'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link TimeOffFlow}.\n *\n * @public\n */\nexport interface TimeOffFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/** @internal */\nexport type TimeOffFlowAlert = {\n type: 'error' | 'info' | 'success'\n title: string\n content?: ReactNode\n}\n\n/** @internal */\nexport type AddEmployeesSource =\n 'policySettings' | 'policyDetailsForm' | 'viewTimeOffPolicyDetail' | 'viewHolidayEmployees'\n\n/** @internal */\nexport interface TimeOffFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** The currently selected policy type, if any. */\n policyType?: TimeOffPolicyType\n /** The currently selected policy identifier, if any. */\n policyId?: string\n /** Alerts to render at the top of the current step. */\n alerts?: TimeOffFlowAlert[]\n /** Which step launched the add-employees screen, used to route the back transition. */\n addEmployeesSource?: AddEmployeesSource\n}\n\n/** @internal */\nexport function PolicyListContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyList onEvent={onEvent} companyId={ensureRequired(companyId)} />\n </Flex>\n )\n}\n\n/** @internal */\nexport function SelectPolicyTypeContextual() {\n const { onEvent, companyId, policyType, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n const selectorDefault =\n policyType === 'sick' || policyType === 'vacation' || policyType === 'holiday'\n ? policyType\n : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyTypeSelector\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n defaultPolicyType={selectorDefault}\n />\n </Flex>\n )\n}\n\n/** @internal */\nexport function PolicyDetailsFormContextual() {\n const { onEvent, companyId, policyType, policyId, alerts } =\n useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n const requiredPolicyType = ensureRequired(policyType)\n assertCreatablePolicyType(requiredPolicyType)\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicyConfigurationForm\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n policyType={requiredPolicyType}\n policyId={policyId}\n />\n </Flex>\n )\n}\n\n/** @internal */\nexport function PolicySettingsContextual() {\n const { onEvent, policyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicySettings onEvent={onEvent} policyId={ensureRequired(policyId)} mode=\"create\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function EditPolicySettingsContextual() {\n const { onEvent, policyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <PolicySettings onEvent={onEvent} policyId={ensureRequired(policyId)} mode=\"edit\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function AddEmployeesToPolicyContextual() {\n const { onEvent, companyId, policyId, policyType } = useFlow<TimeOffFlowContextInterface>()\n const requiredPolicyType = ensureRequired(policyType)\n assertCreatablePolicyType(requiredPolicyType)\n return (\n <AddEmployeesToPolicy\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n policyId={ensureRequired(policyId)}\n policyType={requiredPolicyType}\n />\n )\n}\n\n/** @internal */\nexport function TimeOffPolicyDetailContextual() {\n const { onEvent, policyId } = useFlow<TimeOffFlowContextInterface>()\n return <TimeOffPolicyDetail onEvent={onEvent} policyId={ensureRequired(policyId)} />\n}\n\n/** @internal */\nexport function HolidaySelectionFormContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <HolidaySelectionForm onEvent={onEvent} companyId={ensureRequired(companyId)} mode=\"create\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function EditHolidaySelectionFormContextual() {\n const { onEvent, companyId, alerts } = useFlow<TimeOffFlowContextInterface>()\n const { Alert } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={8}>\n {alerts?.map((alert, index) => (\n <Alert key={index} status={alert.type} label={alert.title}>\n {alert.content}\n </Alert>\n ))}\n <HolidaySelectionForm onEvent={onEvent} companyId={ensureRequired(companyId)} mode=\"edit\" />\n </Flex>\n )\n}\n\n/** @internal */\nexport function AddEmployeesHolidayContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <AddEmployeesHoliday onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function ViewHolidayEmployeesContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <ViewHolidayEmployees onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function ViewHolidayScheduleContextual() {\n const { onEvent, companyId } = useFlow<TimeOffFlowContextInterface>()\n return <ViewHolidaySchedule onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n"],"names":["PolicyListContextual","onEvent","companyId","alerts","useFlow","Alert","useComponentContext","jsxs","Flex","alert","index","PolicyList","ensureRequired","SelectPolicyTypeContextual","policyType","selectorDefault","jsx","PolicyTypeSelector","PolicyDetailsFormContextual","policyId","requiredPolicyType","assertCreatablePolicyType","PolicyConfigurationForm","PolicySettingsContextual","PolicySettings","EditPolicySettingsContextual","AddEmployeesToPolicyContextual","AddEmployeesToPolicy","TimeOffPolicyDetailContextual","TimeOffPolicyDetail","HolidaySelectionFormContextual","HolidaySelectionForm","EditHolidaySelectionFormContextual","AddEmployeesHolidayContextual","AddEmployeesHoliday","ViewHolidayEmployeesContextual","ViewHolidayEmployees","ViewHolidayScheduleContextual","ViewHolidaySchedule"],"mappings":"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"}
|