@gusto/embedded-react-sdk 0.48.1 → 0.48.2
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 +23 -0
- package/dist/components/Common/DocumentList/DocumentList.js +12 -12
- package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Common/DocumentList/DocumentList.module.scss.js +3 -5
- package/dist/components/Common/DocumentList/DocumentList.module.scss.js.map +1 -1
- package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayoutTypes.d.ts +1 -0
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +7 -3
- package/dist/components/Common/PayrollLoading/PayrollLoadingTypes.d.ts +1 -0
- package/dist/components/Common/UI/Alert/AlertTypes.d.ts +1 -0
- package/dist/components/Common/UI/Alert/AlertTypes.js.map +1 -1
- package/dist/components/Common/UI/Badge/BadgeTypes.d.ts +1 -0
- package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
- package/dist/components/Common/UI/Banner/BannerTypes.d.ts +1 -0
- package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
- package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -0
- package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.d.ts +1 -0
- package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +2 -0
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
- package/dist/components/Common/UI/Button/ButtonTypes.d.ts +4 -2
- package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreviewTypes.d.ts +3 -2
- package/dist/components/Common/UI/Card/CardTypes.d.ts +1 -0
- package/dist/components/Common/UI/Checkbox/CheckboxTypes.d.ts +1 -0
- package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +2 -0
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -0
- package/dist/components/Common/UI/DatePicker/DatePickerTypes.d.ts +1 -0
- package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +2 -0
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +2 -0
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
- package/dist/components/Common/UI/Dialog/DialogTypes.d.ts +1 -0
- package/dist/components/Common/UI/Dialog/DialogTypes.js.map +1 -1
- package/dist/components/Common/UI/FileInput/FileInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/FileInput/FileInputTypes.js.map +1 -1
- package/dist/components/Common/UI/Heading/HeadingTypes.d.ts +1 -0
- package/dist/components/Common/UI/Link/LinkTypes.d.ts +4 -3
- package/dist/components/Common/UI/List/ListTypes.d.ts +13 -4
- package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.d.ts +1 -0
- package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.d.ts +2 -0
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/Modal/ModalTypes.d.ts +1 -0
- package/dist/components/Common/UI/Modal/ModalTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -0
- package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/ProgressBar/ProgressBarTypes.d.ts +1 -0
- package/dist/components/Common/UI/Radio/RadioTypes.d.ts +1 -0
- package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -0
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -0
- package/dist/components/Common/UI/Switch/SwitchTypes.d.ts +1 -0
- package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
- package/dist/components/Common/UI/Table/TableTypes.d.ts +3 -0
- package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -0
- package/dist/components/Common/UI/Text/TextTypes.d.ts +1 -0
- package/dist/components/Common/UI/Text/TextTypes.js.map +1 -1
- package/dist/components/Common/UI/TextArea/TextAreaTypes.d.ts +1 -0
- package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
- package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +13 -13
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +18 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +18 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +20 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +7 -6
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +18 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +18 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +3 -2
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +27 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +21 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +18 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +18 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +19 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +3 -2
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +18 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +18 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +20 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +3 -2
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +3 -2
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +13 -13
- package/dist/components/Contractor/Profile/useContractorProfile.js +29 -21
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/management/Compensation.js +3 -2
- package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js +9 -8
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +3 -2
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +3 -2
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js +3 -2
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.js +3 -2
- package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.js +3 -2
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +3 -2
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Deductions/management/Deductions.js +3 -2
- package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +3 -2
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/Documents.js +3 -2
- package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +25 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/index.d.ts +3 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +18 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +12 -11
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +16 -16
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +28 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/index.d.ts +3 -0
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +26 -5
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/index.d.ts +3 -0
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +10 -9
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +3 -2
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +9 -8
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +14 -13
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +3 -2
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +7 -6
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +7 -6
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/management/Profile.js +12 -11
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +13 -12
- package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +11 -10
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +3 -2
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/Profile.js +12 -11
- package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +10 -9
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +7 -6
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +3 -2
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +3 -2
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +10 -10
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +7 -6
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -0
- package/dist/components/Employee/exports/employeeOnboarding.js +28 -22
- package/dist/components/Employee/exports/employeeOnboarding.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +36 -2
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/index.d.ts +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +22 -2
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +8 -7
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/index.d.ts +1 -1
- package/dist/components/InformationRequests/InformationRequests.d.ts +29 -2
- package/dist/components/InformationRequests/InformationRequests.js +8 -7
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +2 -0
- package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
- package/dist/components/InformationRequests/index.d.ts +3 -3
- package/dist/components/InformationRequests/informationRequestsStateMachine.d.ts +2 -0
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +36 -3
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +22 -17
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.d.ts +1 -0
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +3 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.d.ts +14 -0
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.d.ts +1 -8
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +9 -10
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +11 -0
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/index.d.ts +1 -2
- package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +23 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +18 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +15 -0
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +24 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +7 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +2 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
- package/dist/components/Payroll/Dismissal/index.d.ts +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.d.ts +1 -0
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +33 -25
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModalTypes.d.ts +5 -0
- package/dist/components/Payroll/GrossUpModal/index.d.ts +0 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +31 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +20 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +2 -0
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +20 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +24 -0
- package/dist/components/Payroll/OffCycleCreation/index.d.ts +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +16 -0
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/types.d.ts +13 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts +18 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +0 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +15 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/types.d.ts +43 -0
- package/dist/components/Payroll/OffCycleReasonSelection/types.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.d.ts +1 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModalTypes.d.ts +5 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/index.d.ts +0 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.d.ts +1 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +14 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/index.d.ts +0 -2
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.d.ts +3 -0
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.d.ts +19 -5
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +3 -2
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/index.d.ts +0 -1
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.d.ts +17 -11
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +0 -2
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +31 -3
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +1 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +2 -0
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -0
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +42 -3
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +1 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +8 -6
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +65 -0
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/index.d.ts +0 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +38 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +27 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +25 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -2
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +33 -4
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +1 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +19 -0
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +32 -13
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +65 -68
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/types.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +39 -3
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -2
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +26 -3
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +8 -12
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.d.ts +1 -0
- package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/index.d.ts +0 -2
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +26 -0
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.d.ts +2 -0
- package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +21 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +7 -6
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +1 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +3 -2
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +1 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/index.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +21 -0
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +23 -0
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +2 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +20 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +7 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +10 -10
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +27 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +157 -26
- package/dist/components/Payroll/helpers.js +0 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.d.ts +11 -2
- package/dist/components/Payroll/payrollTypes.d.ts +24 -0
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +12 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +34 -22
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +7 -0
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +19 -0
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +3 -2
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +44 -0
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +3 -2
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +4 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +28 -2
- package/dist/components/TimeOff/HolidayPolicyDetail/index.d.ts +0 -2
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +26 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.d.ts +1 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +10 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +25 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.js +3 -2
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -0
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListTypes.d.ts +17 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +22 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +14 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +31 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +23 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +10 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +42 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +26 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +15 -2
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js +1 -6
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +29 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +59 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/index.d.ts +0 -3
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +43 -42
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +3 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.d.ts +9 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +25 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +14 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +97 -6
- package/dist/components/TimeOff/TimeOffPolicyDetail/index.d.ts +1 -5
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +23 -0
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +22 -0
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +22 -0
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
- package/dist/components/TimeOff/index.d.ts +8 -2
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +48 -49
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +66 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +28 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/index.d.ts +0 -1
- package/dist/components/TimeOff/shared/holidayHelpers.d.ts +5 -0
- package/dist/components/TimeOff/shared/holidayHelpers.js.map +1 -1
- package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -4
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +39 -39
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +42 -42
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +206 -205
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +1 -1
- package/dist/shared/constants.d.ts +12 -1
- package/dist/shared/constants.js.map +1 -1
- package/docs/reference/endpoint-inventory.json +55 -0
- package/package.json +6 -5
- package/dist/assets/icons/feature-icon-check.svg.js +0 -10
- package/dist/assets/icons/feature-icon-check.svg.js.map +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/index.d.ts +0 -4
- package/dist/components/Payroll/PayrollFlow/index.d.ts +0 -3
- package/dist/components/TimeOff/TimeOffFlow/index.d.ts +0 -3
- package/dist/components/TimeOff/shared/EmployeeTable/index.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditEmployeeBalanceModal.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { SDKError } from '@/types/sdkError'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nexport interface EditEmployeeBalanceModalProps {\n isOpen: boolean\n onClose: () => void\n employeeName: string\n currentBalance: number\n onConfirm: (newBalance: number) => void\n isPending: boolean\n error?: SDKError | null\n}\n\nexport function EditEmployeeBalanceModal({\n isOpen,\n onClose,\n employeeName,\n currentBalance,\n onConfirm,\n isPending,\n error,\n}: EditEmployeeBalanceModalProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Modal, Heading, NumberInput, Button, Alert } = useComponentContext()\n\n const [balance, setBalance] = useState(currentBalance)\n\n useEffect(() => {\n setBalance(currentBalance)\n }, [currentBalance])\n\n const handleConfirm = () => {\n onConfirm(balance)\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onClose}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onClose} isDisabled={isPending}>\n {t('editBalanceModal.cancelCta')}\n </Button>\n <Button variant=\"primary\" onClick={handleConfirm} isLoading={isPending}>\n {t('editBalanceModal.updateCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\" styledAs=\"h3\">\n {t('editBalanceModal.title', { name: employeeName })}\n </Heading>\n {error && <Alert status=\"error\" label={error.message} />}\n <NumberInput\n name=\"balance\"\n label={t('editBalanceModal.balanceLabel')}\n isRequired\n value={balance}\n onChange={setBalance}\n minimumFractionDigits={1}\n maximumFractionDigits={2}\n min={0}\n />\n </Flex>\n </Modal>\n )\n}\n"],"names":["EditEmployeeBalanceModal","isOpen","onClose","employeeName","currentBalance","onConfirm","isPending","error","useI18n","t","useTranslation","Modal","Heading","NumberInput","Button","Alert","useComponentContext","balance","setBalance","useState","useEffect","handleConfirm","jsx","ActionsLayout","jsxs","Flex"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"EditEmployeeBalanceModal.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { SDKError } from '@/types/sdkError'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport interface EditEmployeeBalanceModalProps {\n /** Whether the modal is open. */\n isOpen: boolean\n /** Called when the modal requests to close. */\n onClose: () => void\n /** Display name of the employee whose balance is being edited. */\n employeeName: string\n /** Current balance in hours. */\n currentBalance: number\n /** Called with the new balance when the user confirms the change. */\n onConfirm: (newBalance: number) => void\n /** Whether the confirmation is in flight. */\n isPending: boolean\n /** Error to display in the modal, if any. */\n error?: SDKError | null\n}\n\n/** @internal */\nexport function EditEmployeeBalanceModal({\n isOpen,\n onClose,\n employeeName,\n currentBalance,\n onConfirm,\n isPending,\n error,\n}: EditEmployeeBalanceModalProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Modal, Heading, NumberInput, Button, Alert } = useComponentContext()\n\n const [balance, setBalance] = useState(currentBalance)\n\n useEffect(() => {\n setBalance(currentBalance)\n }, [currentBalance])\n\n const handleConfirm = () => {\n onConfirm(balance)\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onClose}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onClose} isDisabled={isPending}>\n {t('editBalanceModal.cancelCta')}\n </Button>\n <Button variant=\"primary\" onClick={handleConfirm} isLoading={isPending}>\n {t('editBalanceModal.updateCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\" styledAs=\"h3\">\n {t('editBalanceModal.title', { name: employeeName })}\n </Heading>\n {error && <Alert status=\"error\" label={error.message} />}\n <NumberInput\n name=\"balance\"\n label={t('editBalanceModal.balanceLabel')}\n isRequired\n value={balance}\n onChange={setBalance}\n minimumFractionDigits={1}\n maximumFractionDigits={2}\n min={0}\n />\n </Flex>\n </Modal>\n )\n}\n"],"names":["EditEmployeeBalanceModal","isOpen","onClose","employeeName","currentBalance","onConfirm","isPending","error","useI18n","t","useTranslation","Modal","Heading","NumberInput","Button","Alert","useComponentContext","balance","setBalance","useState","useEffect","handleConfirm","jsx","ActionsLayout","jsxs","Flex"],"mappings":";;;;;;;AA0BO,SAASA,EAAyB;AAAA,EACvC,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AACF,GAAkC;AAChC,EAAAC,EAAQ,sCAAsC;AAC9C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sCAAsC,GAC7D,EAAE,OAAAC,GAAO,SAAAC,GAAS,aAAAC,GAAa,QAAAC,GAAQ,OAAAC,EAAA,IAAUC,EAAA,GAEjD,CAACC,GAASC,CAAU,IAAIC,EAASf,CAAc;AAErD,EAAAgB,EAAU,MAAM;AACd,IAAAF,EAAWd,CAAc;AAAA,EAC3B,GAAG,CAACA,CAAc,CAAC;AAEnB,QAAMiB,IAAgB,MAAM;AAC1B,IAAAhB,EAAUY,CAAO;AAAA,EACnB;AAEA,SACE,gBAAAK;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,QAAAV;AAAA,MACA,SAAAC;AAAA,MACA,0BACGqB,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAD,EAACR,GAAA,EAAO,SAAQ,aAAY,SAASZ,GAAS,YAAYI,GACvD,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,QACA,gBAAAa,EAACR,GAAA,EAAO,SAAQ,WAAU,SAASO,GAAe,WAAWf,GAC1D,UAAAG,EAAE,4BAA4B,EAAA,CACjC;AAAA,MAAA,GACF;AAAA,MAGF,UAAA,gBAAAe,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAH,EAACV,GAAA,EAAQ,IAAG,MAAK,UAAS,MACvB,UAAAH,EAAE,0BAA0B,EAAE,MAAMN,EAAA,CAAc,EAAA,CACrD;AAAA,QACCI,KAAS,gBAAAe,EAACP,GAAA,EAAM,QAAO,SAAQ,OAAOR,EAAM,SAAS;AAAA,QACtD,gBAAAe;AAAA,UAACT;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOJ,EAAE,+BAA+B;AAAA,YACxC,YAAU;AAAA,YACV,OAAOQ;AAAA,YACP,UAAUC;AAAA,YACV,uBAAuB;AAAA,YACvB,uBAAuB;AAAA,YACvB,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACP,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link TimeOffPolicyDetail}.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
2
7
|
export interface TimeOffPolicyDetailProps extends BaseComponentInterface {
|
|
8
|
+
/** UUID of the time-off policy to display. */
|
|
3
9
|
policyId: string;
|
|
4
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Detail view for a sick or vacation time-off policy.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* Loads the policy and its enrolled employees, then renders the tabbed detail view with
|
|
16
|
+
* actions for editing the policy, adding or removing employees, and adjusting individual
|
|
17
|
+
* balances. Editable actions are only shown for sick and vacation policies.
|
|
18
|
+
*
|
|
19
|
+
* | Event | Description | Data |
|
|
20
|
+
* | ----- | ----------- | ---- |
|
|
21
|
+
* | `timeOff/addEmployeesToPolicy` | The add-employees action was clicked. | `{ policyId: string }` |
|
|
22
|
+
* | `timeOff/backToList` | The back navigation was clicked. | — |
|
|
23
|
+
* | `timeOff/changeSettings` | The change-settings action was clicked. | `{ policyId: string }` |
|
|
24
|
+
* | `timeOff/editPolicy` | The edit-policy action was clicked. | `{ policyId: string }` |
|
|
25
|
+
*
|
|
26
|
+
* @param props - The policy id and standard base component props (`onEvent`, `dictionary`, etc.).
|
|
27
|
+
* @returns The rendered detail view.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
5
30
|
export declare function TimeOffPolicyDetail(props: TimeOffPolicyDetailProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeOffPolicyDetail.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesRemoveEmployees'\nimport { useTimeOffPoliciesUpdateBalanceMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesUpdateBalance'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\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 { TimeOffPolicyDetailPresentation } from './TimeOffPolicyDetailPresentation'\nimport { EditEmployeeBalanceModal } from './EditEmployeeBalanceModal'\nimport type {\n TimeOffPolicyDetailEmployee,\n AccrualMethodKey,\n PolicyDetails,\n PolicySettingsDisplay,\n PolicyTypeKey,\n} from './TimeOffPolicyDetailTypes'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { isEditableTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\nexport interface TimeOffPolicyDetailProps extends BaseComponentInterface {\n policyId: string\n}\n\nexport function TimeOffPolicyDetail(props: TimeOffPolicyDetailProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst API_ACCRUAL_METHOD_MAP: Record<string, AccrualMethodKey> = {\n unlimited: 'unlimited',\n per_pay_period: 'perPayPeriod',\n per_calendar_year: 'perCalendarYear',\n per_anniversary_year: 'perAnniversaryYear',\n per_hour_worked: 'perHourWorked',\n per_hour_worked_no_overtime: 'perHourWorkedNoOvertime',\n per_hour_paid: 'perHourPaid',\n per_hour_paid_no_overtime: 'perHourPaidNoOvertime',\n}\n\nfunction mapAccrualMethod(apiMethod: string): AccrualMethodKey {\n return API_ACCRUAL_METHOD_MAP[apiMethod] ?? 'unlimited'\n}\n\nfunction mapPolicyType(apiType: string): PolicyTypeKey {\n if (apiType === 'sick') return 'sick'\n return 'vacation'\n}\n\nfunction formatResetDate(\n resetDate: string | null | undefined,\n locale?: string,\n): string | undefined {\n if (!resetDate) return undefined\n const [month, day] = resetDate.split('-')\n if (!month || !day) return resetDate\n const date = new Date(2000, parseInt(month, 10) - 1, parseInt(day, 10))\n return date.toLocaleDateString(locale, { month: 'long', day: 'numeric' })\n}\n\nfunction derivePolicyDetails(policy: TimeOffPolicy, locale?: string): PolicyDetails {\n const policyType = mapPolicyType(policy.policyType)\n const accrualMethod = mapAccrualMethod(policy.accrualMethod)\n\n if (accrualMethod === 'unlimited') {\n return { policyType, accrualMethod }\n }\n\n return {\n policyType,\n accrualMethod,\n accrualRate: policy.accrualRate ? Number(policy.accrualRate) : 0,\n accrualRateUnit: policy.accrualRateUnit ? Number(policy.accrualRateUnit) : undefined,\n resetDate: formatResetDate(policy.policyResetDate, locale),\n }\n}\n\nfunction derivePolicySettings(policy: TimeOffPolicy): PolicySettingsDisplay | undefined {\n if (policy.accrualMethod === 'unlimited') return undefined\n\n return {\n maxAccrualHoursPerYear:\n policy.maxAccrualHoursPerYear != null ? Number(policy.maxAccrualHoursPerYear) : null,\n maxHours: policy.maxHours != null ? Number(policy.maxHours) : null,\n carryoverLimitHours:\n policy.carryoverLimitHours != null ? Number(policy.carryoverLimitHours) : null,\n accrualWaitingPeriodDays: policy.accrualWaitingPeriodDays ?? null,\n paidOutOnTermination: policy.paidOutOnTermination ?? false,\n }\n}\n\nfunction deriveEmployees(\n policy: TimeOffPolicy,\n allEmployees: Array<{\n uuid: string\n firstName?: string | null\n lastName?: string | null\n jobs?: Array<{ primary?: boolean; title?: string | null }> | null\n }>,\n): TimeOffPolicyDetailEmployee[] {\n const employeeMap = new Map(allEmployees.map(e => [e.uuid, e]))\n return policy.employees.map(policyEmp => {\n const emp = employeeMap.get(policyEmp.uuid ?? '')\n const primaryJob = emp?.jobs?.find(job => job.primary)\n return {\n uuid: policyEmp.uuid ?? '',\n firstName: emp?.firstName ?? null,\n lastName: emp?.lastName ?? null,\n jobTitle: primaryJob?.title ?? emp?.jobs?.[0]?.title ?? null,\n balance: policyEmp.balance != null ? Number(policyEmp.balance) : null,\n }\n })\n}\n\ninterface EditBalanceState {\n employeeUuid: string\n employeeName: string\n currentBalance: number\n}\n\nfunction Root({ policyId }: TimeOffPolicyDetailProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { onEvent, baseSubmitHandler, error, setError } = useBase()\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: removeEmployees, isPending: isRemovePending } =\n useTimeOffPoliciesRemoveEmployeesMutation()\n const { mutateAsync: updateBalance, isPending: isBalancePending } =\n useTimeOffPoliciesUpdateBalanceMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const isEditable = isEditableTimeOffPolicyType(policy.policyType)\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId: policy.companyUuid,\n terminated: false,\n })\n\n const [selectedTabId, setSelectedTabId] = useState('details')\n const [searchValue, setSearchValue] = useState('')\n const [successAlert, setSuccessAlert] = useState<string | undefined>()\n const [removeTarget, setRemoveTarget] = useState<{\n uuid: string\n name: string\n } | null>(null)\n const [editBalanceState, setEditBalanceState] = useState<EditBalanceState | null>(null)\n\n const policyDetails = useMemo(() => derivePolicyDetails(policy, locale), [policy, locale])\n const policySettings = useMemo(() => derivePolicySettings(policy), [policy])\n const employees = useMemo(\n () => deriveEmployees(policy, employeesData.showEmployees ?? []),\n [policy, employeesData.showEmployees],\n )\n\n const filteredEmployees = useMemo(() => {\n if (!searchValue.trim()) return employees\n const query = searchValue.toLowerCase()\n return employees.filter(emp => {\n const fullName = `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase()\n return fullName.includes(query)\n })\n }, [employees, searchValue])\n\n const invalidatePolicy = useCallback(() => {\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2025-11-15', 'timeOffPolicies', 'get'],\n })\n }, [queryClient])\n\n const handleRemoveEmployee = useCallback(\n async (employeeUuid: string, employeeName: string) => {\n setRemoveTarget(null)\n await baseSubmitHandler({}, async () => {\n await removeEmployees({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { employees: [{ uuid: employeeUuid }] },\n },\n })\n invalidatePolicy()\n setSuccessAlert(t('flash.employeeRemoved', { name: employeeName }))\n })\n },\n [baseSubmitHandler, removeEmployees, policyId, invalidatePolicy, t],\n )\n\n const handleUpdateBalance = useCallback(\n async (newBalance: number) => {\n if (!editBalanceState) return\n await baseSubmitHandler({}, async () => {\n try {\n await updateBalance({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: {\n employees: [{ uuid: editBalanceState.employeeUuid, balance: String(newBalance) }],\n },\n },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const maxHours = policy.maxHours != null ? Number(policy.maxHours) : null\n const hasLimitViolation = err.errors.some(\n e =>\n e.message === 'LIMIT_VIOLATION_MAX_HOURS' ||\n e.category === 'invalid_attribute_value',\n )\n if (hasLimitViolation && maxHours != null) {\n throw new SDKInternalError(\n t('editBalanceModal.errors.balanceExceedsMax', { max: maxHours }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(\n messages.join('. ') || t('editBalanceModal.errors.updateFailed'),\n 'api_error',\n )\n }\n throw err\n }\n invalidatePolicy()\n setEditBalanceState(null)\n setSuccessAlert(t('flash.balanceUpdated', { name: editBalanceState.employeeName }))\n })\n },\n [\n baseSubmitHandler,\n updateBalance,\n policyId,\n editBalanceState,\n invalidatePolicy,\n t,\n policy.maxHours,\n ],\n )\n\n const handleAddEmployees = useCallback(() => {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_TO_POLICY, { policyId })\n }, [onEvent, policyId])\n\n const actions = useMemo(() => {\n if (!isEditable) return undefined\n return [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('addEmployeeCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={() => {\n onEvent(componentEvents.TIME_OFF_EDIT_POLICY, { policyId })\n }}\n >\n {t('editPolicyCta')}\n </Button>,\n ]\n }, [Button, onEvent, policyId, t, isEditable, handleAddEmployees])\n\n const isUnlimited = policy.accrualMethod === 'unlimited'\n\n const itemMenu = useCallback(\n (employee: TimeOffPolicyDetailEmployee) => {\n const employeeName = `${employee.firstName ?? ''} ${employee.lastName ?? ''}`.trim()\n const items = [\n ...(!isUnlimited\n ? [\n {\n label: t('employeeTable.editBalance'),\n icon: <EditIcon aria-hidden />,\n onClick: () => {\n setError(null)\n setEditBalanceState({\n employeeUuid: employee.uuid,\n employeeName,\n currentBalance: employee.balance ?? 0,\n })\n },\n },\n ]\n : []),\n {\n label: t('employeeTable.removeEmployee'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveTarget({ uuid: employee.uuid, name: employeeName })\n },\n },\n ]\n return (\n <HamburgerMenu\n items={items}\n triggerLabel={`${t('employeeTable.actions')} ${employeeName}`}\n />\n )\n },\n [t, isUnlimited, setError],\n )\n\n const discriminatedProps =\n policyDetails.accrualMethod === 'unlimited'\n ? { policyDetails }\n : {\n policyDetails,\n policySettings: policySettings!,\n onChangeSettings: isEditable\n ? () => {\n onEvent(componentEvents.TIME_OFF_CHANGE_SETTINGS, { policyId })\n }\n : undefined,\n }\n\n return (\n <>\n <TimeOffPolicyDetailPresentation\n {...discriminatedProps}\n title={policy.name}\n subtitle={t(`subtitle.${policyDetails.policyType}`)}\n onBack={() => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }}\n backLabel={t('breadcrumb')}\n actions={actions}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: filteredEmployees,\n searchValue,\n onSearchChange: setSearchValue,\n onSearchClear: () => {\n setSearchValue('')\n },\n ...(isEditable ? { itemMenu } : {}),\n }}\n onAddEmployee={isEditable ? handleAddEmployees : undefined}\n removeDialog={{\n isOpen: removeTarget !== null,\n employeeName: removeTarget?.name ?? '',\n onConfirm: () => {\n if (removeTarget) {\n void handleRemoveEmployee(removeTarget.uuid, removeTarget.name)\n }\n },\n onClose: () => {\n setRemoveTarget(null)\n },\n isPending: isRemovePending,\n }}\n successAlert={successAlert}\n onDismissAlert={() => {\n setSuccessAlert(undefined)\n }}\n />\n\n <EditEmployeeBalanceModal\n isOpen={editBalanceState !== null}\n onClose={() => {\n setEditBalanceState(null)\n setError(null)\n }}\n employeeName={editBalanceState?.employeeName ?? ''}\n currentBalance={editBalanceState?.currentBalance ?? 0}\n onConfirm={handleUpdateBalance}\n isPending={isBalancePending}\n error={error}\n />\n </>\n )\n}\n"],"names":["TimeOffPolicyDetail","props","jsx","BaseComponent","Root","API_ACCRUAL_METHOD_MAP","mapAccrualMethod","apiMethod","mapPolicyType","apiType","formatResetDate","resetDate","locale","month","day","derivePolicyDetails","policy","policyType","accrualMethod","derivePolicySettings","deriveEmployees","allEmployees","employeeMap","e","policyEmp","emp","primaryJob","job","policyId","useI18n","t","useTranslation","onEvent","baseSubmitHandler","error","setError","useBase","Button","useComponentContext","useLocale","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","removeEmployees","isRemovePending","useTimeOffPoliciesRemoveEmployeesMutation","updateBalance","isBalancePending","useTimeOffPoliciesUpdateBalanceMutation","isEditable","isEditableTimeOffPolicyType","employeesData","useEmployeesListSuspense","selectedTabId","setSelectedTabId","useState","searchValue","setSearchValue","successAlert","setSuccessAlert","removeTarget","setRemoveTarget","editBalanceState","setEditBalanceState","policyDetails","useMemo","policySettings","employees","filteredEmployees","query","invalidatePolicy","useCallback","handleRemoveEmployee","employeeUuid","employeeName","handleUpdateBalance","newBalance","err","UnprocessableEntityError","maxHours","SDKInternalError","messages","handleAddEmployees","componentEvents","actions","PlusCircleIcon","EditIcon","isUnlimited","itemMenu","employee","items","TrashCanSvg","HamburgerMenu","discriminatedProps","jsxs","Fragment","TimeOffPolicyDetailPresentation","EditEmployeeBalanceModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeOffPolicyDetail.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGet'\nimport { useTimeOffPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesRemoveEmployees'\nimport { useTimeOffPoliciesUpdateBalanceMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesUpdateBalance'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\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 { TimeOffPolicyDetailPresentation } from './TimeOffPolicyDetailPresentation'\nimport { EditEmployeeBalanceModal } from './EditEmployeeBalanceModal'\nimport type {\n TimeOffPolicyDetailEmployee,\n AccrualMethodKey,\n PolicyDetails,\n PolicySettingsDisplay,\n PolicyTypeKey,\n} from './TimeOffPolicyDetailTypes'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { isEditableTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/**\n * Props for {@link TimeOffPolicyDetail}.\n *\n * @public\n */\nexport interface TimeOffPolicyDetailProps extends BaseComponentInterface {\n /** UUID of the time-off policy to display. */\n policyId: string\n}\n\n/**\n * Detail view for a sick or vacation time-off policy.\n *\n * @remarks\n * Loads the policy and its enrolled employees, then renders the tabbed detail view with\n * actions for editing the policy, adding or removing employees, and adjusting individual\n * balances. Editable actions are only shown for sick and vacation policies.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/addEmployeesToPolicy` | The add-employees action was clicked. | `{ policyId: string }` |\n * | `timeOff/backToList` | The back navigation was clicked. | — |\n * | `timeOff/changeSettings` | The change-settings action was clicked. | `{ policyId: string }` |\n * | `timeOff/editPolicy` | The edit-policy action was clicked. | `{ policyId: string }` |\n *\n * @param props - The policy id and standard base component props (`onEvent`, `dictionary`, etc.).\n * @returns The rendered detail view.\n * @public\n */\nexport function TimeOffPolicyDetail(props: TimeOffPolicyDetailProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst API_ACCRUAL_METHOD_MAP: Record<string, AccrualMethodKey> = {\n unlimited: 'unlimited',\n per_pay_period: 'perPayPeriod',\n per_calendar_year: 'perCalendarYear',\n per_anniversary_year: 'perAnniversaryYear',\n per_hour_worked: 'perHourWorked',\n per_hour_worked_no_overtime: 'perHourWorkedNoOvertime',\n per_hour_paid: 'perHourPaid',\n per_hour_paid_no_overtime: 'perHourPaidNoOvertime',\n}\n\nfunction mapAccrualMethod(apiMethod: string): AccrualMethodKey {\n return API_ACCRUAL_METHOD_MAP[apiMethod] ?? 'unlimited'\n}\n\nfunction mapPolicyType(apiType: string): PolicyTypeKey {\n if (apiType === 'sick') return 'sick'\n return 'vacation'\n}\n\nfunction formatResetDate(\n resetDate: string | null | undefined,\n locale?: string,\n): string | undefined {\n if (!resetDate) return undefined\n const [month, day] = resetDate.split('-')\n if (!month || !day) return resetDate\n const date = new Date(2000, parseInt(month, 10) - 1, parseInt(day, 10))\n return date.toLocaleDateString(locale, { month: 'long', day: 'numeric' })\n}\n\nfunction derivePolicyDetails(policy: TimeOffPolicy, locale?: string): PolicyDetails {\n const policyType = mapPolicyType(policy.policyType)\n const accrualMethod = mapAccrualMethod(policy.accrualMethod)\n\n if (accrualMethod === 'unlimited') {\n return { policyType, accrualMethod }\n }\n\n return {\n policyType,\n accrualMethod,\n accrualRate: policy.accrualRate ? Number(policy.accrualRate) : 0,\n accrualRateUnit: policy.accrualRateUnit ? Number(policy.accrualRateUnit) : undefined,\n resetDate: formatResetDate(policy.policyResetDate, locale),\n }\n}\n\nfunction derivePolicySettings(policy: TimeOffPolicy): PolicySettingsDisplay | undefined {\n if (policy.accrualMethod === 'unlimited') return undefined\n\n return {\n maxAccrualHoursPerYear:\n policy.maxAccrualHoursPerYear != null ? Number(policy.maxAccrualHoursPerYear) : null,\n maxHours: policy.maxHours != null ? Number(policy.maxHours) : null,\n carryoverLimitHours:\n policy.carryoverLimitHours != null ? Number(policy.carryoverLimitHours) : null,\n accrualWaitingPeriodDays: policy.accrualWaitingPeriodDays ?? null,\n paidOutOnTermination: policy.paidOutOnTermination ?? false,\n }\n}\n\nfunction deriveEmployees(\n policy: TimeOffPolicy,\n allEmployees: Array<{\n uuid: string\n firstName?: string | null\n lastName?: string | null\n jobs?: Array<{ primary?: boolean; title?: string | null }> | null\n }>,\n): TimeOffPolicyDetailEmployee[] {\n const employeeMap = new Map(allEmployees.map(e => [e.uuid, e]))\n return policy.employees.map(policyEmp => {\n const emp = employeeMap.get(policyEmp.uuid ?? '')\n const primaryJob = emp?.jobs?.find(job => job.primary)\n return {\n uuid: policyEmp.uuid ?? '',\n firstName: emp?.firstName ?? null,\n lastName: emp?.lastName ?? null,\n jobTitle: primaryJob?.title ?? emp?.jobs?.[0]?.title ?? null,\n balance: policyEmp.balance != null ? Number(policyEmp.balance) : null,\n }\n })\n}\n\ninterface EditBalanceState {\n employeeUuid: string\n employeeName: string\n currentBalance: number\n}\n\nfunction Root({ policyId }: TimeOffPolicyDetailProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { onEvent, baseSubmitHandler, error, setError } = useBase()\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: removeEmployees, isPending: isRemovePending } =\n useTimeOffPoliciesRemoveEmployeesMutation()\n const { mutateAsync: updateBalance, isPending: isBalancePending } =\n useTimeOffPoliciesUpdateBalanceMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const isEditable = isEditableTimeOffPolicyType(policy.policyType)\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId: policy.companyUuid,\n terminated: false,\n })\n\n const [selectedTabId, setSelectedTabId] = useState('details')\n const [searchValue, setSearchValue] = useState('')\n const [successAlert, setSuccessAlert] = useState<string | undefined>()\n const [removeTarget, setRemoveTarget] = useState<{\n uuid: string\n name: string\n } | null>(null)\n const [editBalanceState, setEditBalanceState] = useState<EditBalanceState | null>(null)\n\n const policyDetails = useMemo(() => derivePolicyDetails(policy, locale), [policy, locale])\n const policySettings = useMemo(() => derivePolicySettings(policy), [policy])\n const employees = useMemo(\n () => deriveEmployees(policy, employeesData.showEmployees ?? []),\n [policy, employeesData.showEmployees],\n )\n\n const filteredEmployees = useMemo(() => {\n if (!searchValue.trim()) return employees\n const query = searchValue.toLowerCase()\n return employees.filter(emp => {\n const fullName = `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase()\n return fullName.includes(query)\n })\n }, [employees, searchValue])\n\n const invalidatePolicy = useCallback(() => {\n void queryClient.invalidateQueries({\n queryKey: ['@gusto/embedded-api-v-2025-11-15', 'timeOffPolicies', 'get'],\n })\n }, [queryClient])\n\n const handleRemoveEmployee = useCallback(\n async (employeeUuid: string, employeeName: string) => {\n setRemoveTarget(null)\n await baseSubmitHandler({}, async () => {\n await removeEmployees({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: { employees: [{ uuid: employeeUuid }] },\n },\n })\n invalidatePolicy()\n setSuccessAlert(t('flash.employeeRemoved', { name: employeeName }))\n })\n },\n [baseSubmitHandler, removeEmployees, policyId, invalidatePolicy, t],\n )\n\n const handleUpdateBalance = useCallback(\n async (newBalance: number) => {\n if (!editBalanceState) return\n await baseSubmitHandler({}, async () => {\n try {\n await updateBalance({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody: {\n employees: [{ uuid: editBalanceState.employeeUuid, balance: String(newBalance) }],\n },\n },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const maxHours = policy.maxHours != null ? Number(policy.maxHours) : null\n const hasLimitViolation = err.errors.some(\n e =>\n e.message === 'LIMIT_VIOLATION_MAX_HOURS' ||\n e.category === 'invalid_attribute_value',\n )\n if (hasLimitViolation && maxHours != null) {\n throw new SDKInternalError(\n t('editBalanceModal.errors.balanceExceedsMax', { max: maxHours }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(\n messages.join('. ') || t('editBalanceModal.errors.updateFailed'),\n 'api_error',\n )\n }\n throw err\n }\n invalidatePolicy()\n setEditBalanceState(null)\n setSuccessAlert(t('flash.balanceUpdated', { name: editBalanceState.employeeName }))\n })\n },\n [\n baseSubmitHandler,\n updateBalance,\n policyId,\n editBalanceState,\n invalidatePolicy,\n t,\n policy.maxHours,\n ],\n )\n\n const handleAddEmployees = useCallback(() => {\n onEvent(componentEvents.TIME_OFF_ADD_EMPLOYEES_TO_POLICY, { policyId })\n }, [onEvent, policyId])\n\n const actions = useMemo(() => {\n if (!isEditable) return undefined\n return [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('addEmployeeCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={() => {\n onEvent(componentEvents.TIME_OFF_EDIT_POLICY, { policyId })\n }}\n >\n {t('editPolicyCta')}\n </Button>,\n ]\n }, [Button, onEvent, policyId, t, isEditable, handleAddEmployees])\n\n const isUnlimited = policy.accrualMethod === 'unlimited'\n\n const itemMenu = useCallback(\n (employee: TimeOffPolicyDetailEmployee) => {\n const employeeName = `${employee.firstName ?? ''} ${employee.lastName ?? ''}`.trim()\n const items = [\n ...(!isUnlimited\n ? [\n {\n label: t('employeeTable.editBalance'),\n icon: <EditIcon aria-hidden />,\n onClick: () => {\n setError(null)\n setEditBalanceState({\n employeeUuid: employee.uuid,\n employeeName,\n currentBalance: employee.balance ?? 0,\n })\n },\n },\n ]\n : []),\n {\n label: t('employeeTable.removeEmployee'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveTarget({ uuid: employee.uuid, name: employeeName })\n },\n },\n ]\n return (\n <HamburgerMenu\n items={items}\n triggerLabel={`${t('employeeTable.actions')} ${employeeName}`}\n />\n )\n },\n [t, isUnlimited, setError],\n )\n\n const discriminatedProps =\n policyDetails.accrualMethod === 'unlimited'\n ? { policyDetails }\n : {\n policyDetails,\n policySettings: policySettings!,\n onChangeSettings: isEditable\n ? () => {\n onEvent(componentEvents.TIME_OFF_CHANGE_SETTINGS, { policyId })\n }\n : undefined,\n }\n\n return (\n <>\n <TimeOffPolicyDetailPresentation\n {...discriminatedProps}\n title={policy.name}\n subtitle={t(`subtitle.${policyDetails.policyType}`)}\n onBack={() => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }}\n backLabel={t('breadcrumb')}\n actions={actions}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: filteredEmployees,\n searchValue,\n onSearchChange: setSearchValue,\n onSearchClear: () => {\n setSearchValue('')\n },\n ...(isEditable ? { itemMenu } : {}),\n }}\n onAddEmployee={isEditable ? handleAddEmployees : undefined}\n removeDialog={{\n isOpen: removeTarget !== null,\n employeeName: removeTarget?.name ?? '',\n onConfirm: () => {\n if (removeTarget) {\n void handleRemoveEmployee(removeTarget.uuid, removeTarget.name)\n }\n },\n onClose: () => {\n setRemoveTarget(null)\n },\n isPending: isRemovePending,\n }}\n successAlert={successAlert}\n onDismissAlert={() => {\n setSuccessAlert(undefined)\n }}\n />\n\n <EditEmployeeBalanceModal\n isOpen={editBalanceState !== null}\n onClose={() => {\n setEditBalanceState(null)\n setError(null)\n }}\n employeeName={editBalanceState?.employeeName ?? ''}\n currentBalance={editBalanceState?.currentBalance ?? 0}\n onConfirm={handleUpdateBalance}\n isPending={isBalancePending}\n error={error}\n />\n </>\n )\n}\n"],"names":["TimeOffPolicyDetail","props","jsx","BaseComponent","Root","API_ACCRUAL_METHOD_MAP","mapAccrualMethod","apiMethod","mapPolicyType","apiType","formatResetDate","resetDate","locale","month","day","derivePolicyDetails","policy","policyType","accrualMethod","derivePolicySettings","deriveEmployees","allEmployees","employeeMap","e","policyEmp","emp","primaryJob","job","policyId","useI18n","t","useTranslation","onEvent","baseSubmitHandler","error","setError","useBase","Button","useComponentContext","useLocale","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","removeEmployees","isRemovePending","useTimeOffPoliciesRemoveEmployeesMutation","updateBalance","isBalancePending","useTimeOffPoliciesUpdateBalanceMutation","isEditable","isEditableTimeOffPolicyType","employeesData","useEmployeesListSuspense","selectedTabId","setSelectedTabId","useState","searchValue","setSearchValue","successAlert","setSuccessAlert","removeTarget","setRemoveTarget","editBalanceState","setEditBalanceState","policyDetails","useMemo","policySettings","employees","filteredEmployees","query","invalidatePolicy","useCallback","handleRemoveEmployee","employeeUuid","employeeName","handleUpdateBalance","newBalance","err","UnprocessableEntityError","maxHours","SDKInternalError","messages","handleAddEmployees","componentEvents","actions","PlusCircleIcon","EditIcon","isUnlimited","itemMenu","employee","items","TrashCanSvg","HamburgerMenu","discriminatedProps","jsxs","Fragment","TimeOffPolicyDetailPresentation","EditEmployeeBalanceModal"],"mappings":"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"}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
import { TimeOffPolicyDetailPresentationProps } from './TimeOffPolicyDetailTypes';
|
|
2
|
+
/**
|
|
3
|
+
* Presentational detail view for sick and vacation time-off policies.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Displays policy configuration and accrual settings in a tabbed interface alongside the
|
|
7
|
+
* list of enrolled employees. Provides actions for editing the policy, changing settings,
|
|
8
|
+
* adding employees, removing employees, and editing individual employee balances. This
|
|
9
|
+
* component is fully controlled — pass in the data, selected tab, and dialog state and wire
|
|
10
|
+
* up the callbacks. The corresponding container component is {@link TimeOffPolicyDetail}.
|
|
11
|
+
*
|
|
12
|
+
* @param input - See {@link TimeOffPolicyDetailPresentationProps}.
|
|
13
|
+
* @returns The rendered detail view.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
2
16
|
export declare function TimeOffPolicyDetailPresentation({ title, subtitle, onBack, backLabel, actions, policyDetails, policySettings, onChangeSettings, selectedTabId, onTabChange, employees, onAddEmployee, removeDialog, successAlert, onDismissAlert, }: TimeOffPolicyDetailPresentationProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeOffPolicyDetailPresentation.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PolicyDetailLayout } from '../shared/PolicyDetailLayout'\nimport type {\n TimeOffPolicyDetailPresentationProps,\n TimeOffPolicyDetailEmployee,\n PolicyDetails,\n PolicySettingsDisplay,\n} from './TimeOffPolicyDetailTypes'\nimport styles from './TimeOffPolicyDetail.module.scss'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst DETAILS_TAB_ID = 'details'\n\nexport function TimeOffPolicyDetailPresentation({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n policyDetails,\n policySettings,\n onChangeSettings,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n}: TimeOffPolicyDetailPresentationProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n\n const isUnlimited = policyDetails.accrualMethod === 'unlimited'\n\n const balanceColumn = useMemo(\n () =>\n isUnlimited\n ? []\n : [\n {\n key: 'balance' as keyof TimeOffPolicyDetailEmployee,\n title: t('employeeTable.balance'),\n render: (item: TimeOffPolicyDetailEmployee) => item.balance ?? '-',\n },\n ],\n [t, isUnlimited],\n )\n\n const detailsTabContent = (\n <DetailsTab\n policyDetails={policyDetails}\n policySettings={policySettings}\n onChangeSettings={onChangeSettings}\n />\n )\n\n return (\n <PolicyDetailLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n firstTab={{\n id: DETAILS_TAB_ID,\n label: t('tabs.policyDetails'),\n content: detailsTabContent,\n }}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n employees={{\n ...employees,\n additionalColumns: balanceColumn,\n }}\n onAddEmployee={onAddEmployee}\n removeDialog={removeDialog}\n successAlert={successAlert}\n onDismissAlert={onDismissAlert}\n />\n )\n}\n\nfunction DetailsTab({\n policyDetails,\n policySettings,\n onChangeSettings,\n}: {\n policyDetails: PolicyDetails\n policySettings?: PolicySettingsDisplay\n onChangeSettings?: () => void\n}) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Box, BoxHeader, DescriptionList, Button } = useComponentContext()\n\n const isUnlimited = policyDetails.accrualMethod === 'unlimited'\n const isHoursWorked =\n policyDetails.accrualMethod === 'perHourWorked' ||\n policyDetails.accrualMethod === 'perHourWorkedNoOvertime' ||\n policyDetails.accrualMethod === 'perHourPaid' ||\n policyDetails.accrualMethod === 'perHourPaidNoOvertime'\n const showAccrualMaxAndWaiting = isHoursWorked || policyDetails.accrualMethod === 'perPayPeriod'\n\n const detailItems = useMemo(() => {\n const items: { term: string; description: string }[] = [\n {\n term: t('accrualMethod.label'),\n description: t(`accrualMethod.${policyDetails.accrualMethod}`),\n },\n ]\n\n if (policyDetails.accrualMethod !== 'unlimited') {\n items.push({\n term: t('accrualRate.label'),\n description: t(`accrualRate.${policyDetails.accrualMethod}`, {\n accrualRate: policyDetails.accrualRate,\n accrualRateUnit: policyDetails.accrualRateUnit,\n }),\n })\n\n if (policyDetails.resetDate) {\n items.push({\n term: t('resetDate'),\n description: policyDetails.resetDate,\n })\n }\n }\n\n return items\n }, [policyDetails, t])\n\n const settingsItems = useMemo(() => {\n if (!policySettings) return []\n\n const items: { term: string; description: string }[] = []\n\n if (showAccrualMaxAndWaiting) {\n items.push({\n term: t('maxAccrualHoursPerYear.label'),\n description:\n policySettings.maxAccrualHoursPerYear != null\n ? t('maxAccrualHoursPerYear.withMaximum', {\n count: policySettings.maxAccrualHoursPerYear,\n })\n : t('maxAccrualHoursPerYear.noMaximum'),\n })\n }\n\n items.push(\n {\n term: t('maxHours.label'),\n description:\n policySettings.maxHours != null\n ? t('maxHours.withMaximum', { count: policySettings.maxHours })\n : t('maxHours.noMaximum'),\n },\n {\n term: t('carryoverLimitHours.label'),\n description:\n policySettings.carryoverLimitHours != null\n ? t('carryoverLimitHours.withLimit', { count: policySettings.carryoverLimitHours })\n : t('carryoverLimitHours.noLimit'),\n },\n )\n\n if (showAccrualMaxAndWaiting) {\n items.push({\n term: t('accrualWaitingPeriodDays.label'),\n description:\n policySettings.accrualWaitingPeriodDays != null\n ? t('accrualWaitingPeriodDays.withPeriod', {\n count: policySettings.accrualWaitingPeriodDays,\n })\n : t('accrualWaitingPeriodDays.noPeriod'),\n })\n }\n\n items.push({\n term: t('paidOutOnTermination.label'),\n description: policySettings.paidOutOnTermination\n ? t('paidOutOnTermination.yes')\n : t('paidOutOnTermination.no'),\n })\n\n return items\n }, [policySettings, t, showAccrualMaxAndWaiting])\n\n return (\n <div className={styles.cardsContainer}>\n <div className={styles.cards}>\n <Box header={<BoxHeader title={t('details')} />} withPadding>\n <DescriptionList items={detailItems} showSeparators={false} layout=\"stacked\" />\n </Box>\n\n {!isUnlimited && policySettings && (\n <Box\n header={\n <BoxHeader\n title={t('policySettingsTitle')}\n action={\n onChangeSettings && (\n <Button variant=\"secondary\" onClick={onChangeSettings}>\n {t('changeSettingsCta')}\n </Button>\n )\n }\n />\n }\n withPadding\n >\n <DescriptionList items={settingsItems} showSeparators={false} layout=\"stacked\" />\n </Box>\n )}\n </div>\n </div>\n )\n}\n"],"names":["DETAILS_TAB_ID","TimeOffPolicyDetailPresentation","title","subtitle","onBack","backLabel","actions","policyDetails","policySettings","onChangeSettings","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","useI18n","t","useTranslation","isUnlimited","balanceColumn","useMemo","item","detailsTabContent","jsx","DetailsTab","PolicyDetailLayout","Box","BoxHeader","DescriptionList","Button","useComponentContext","showAccrualMaxAndWaiting","detailItems","items","settingsItems","styles","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeOffPolicyDetailPresentation.js","sources":["../../../../src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PolicyDetailLayout } from '../shared/PolicyDetailLayout'\nimport type {\n TimeOffPolicyDetailPresentationProps,\n TimeOffPolicyDetailEmployee,\n PolicyDetails,\n PolicySettingsDisplay,\n} from './TimeOffPolicyDetailTypes'\nimport styles from './TimeOffPolicyDetail.module.scss'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst DETAILS_TAB_ID = 'details'\n\n/**\n * Presentational detail view for sick and vacation time-off policies.\n *\n * @remarks\n * Displays policy configuration and accrual settings in a tabbed interface alongside the\n * list of enrolled employees. Provides actions for editing the policy, changing settings,\n * adding employees, removing employees, and editing individual employee balances. This\n * component is fully controlled — pass in the data, selected tab, and dialog state and wire\n * up the callbacks. The corresponding container component is {@link TimeOffPolicyDetail}.\n *\n * @param input - See {@link TimeOffPolicyDetailPresentationProps}.\n * @returns The rendered detail view.\n * @public\n */\nexport function TimeOffPolicyDetailPresentation({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n policyDetails,\n policySettings,\n onChangeSettings,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n}: TimeOffPolicyDetailPresentationProps) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n\n const isUnlimited = policyDetails.accrualMethod === 'unlimited'\n\n const balanceColumn = useMemo(\n () =>\n isUnlimited\n ? []\n : [\n {\n key: 'balance' as keyof TimeOffPolicyDetailEmployee,\n title: t('employeeTable.balance'),\n render: (item: TimeOffPolicyDetailEmployee) => item.balance ?? '-',\n },\n ],\n [t, isUnlimited],\n )\n\n const detailsTabContent = (\n <DetailsTab\n policyDetails={policyDetails}\n policySettings={policySettings}\n onChangeSettings={onChangeSettings}\n />\n )\n\n return (\n <PolicyDetailLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n firstTab={{\n id: DETAILS_TAB_ID,\n label: t('tabs.policyDetails'),\n content: detailsTabContent,\n }}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n employees={{\n ...employees,\n additionalColumns: balanceColumn,\n }}\n onAddEmployee={onAddEmployee}\n removeDialog={removeDialog}\n successAlert={successAlert}\n onDismissAlert={onDismissAlert}\n />\n )\n}\n\nfunction DetailsTab({\n policyDetails,\n policySettings,\n onChangeSettings,\n}: {\n policyDetails: PolicyDetails\n policySettings?: PolicySettingsDisplay\n onChangeSettings?: () => void\n}) {\n useI18n('Company.TimeOff.TimeOffPolicyDetails')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicyDetails')\n const { Box, BoxHeader, DescriptionList, Button } = useComponentContext()\n\n const isUnlimited = policyDetails.accrualMethod === 'unlimited'\n const isHoursWorked =\n policyDetails.accrualMethod === 'perHourWorked' ||\n policyDetails.accrualMethod === 'perHourWorkedNoOvertime' ||\n policyDetails.accrualMethod === 'perHourPaid' ||\n policyDetails.accrualMethod === 'perHourPaidNoOvertime'\n const showAccrualMaxAndWaiting = isHoursWorked || policyDetails.accrualMethod === 'perPayPeriod'\n\n const detailItems = useMemo(() => {\n const items: { term: string; description: string }[] = [\n {\n term: t('accrualMethod.label'),\n description: t(`accrualMethod.${policyDetails.accrualMethod}`),\n },\n ]\n\n if (policyDetails.accrualMethod !== 'unlimited') {\n items.push({\n term: t('accrualRate.label'),\n description: t(`accrualRate.${policyDetails.accrualMethod}`, {\n accrualRate: policyDetails.accrualRate,\n accrualRateUnit: policyDetails.accrualRateUnit,\n }),\n })\n\n if (policyDetails.resetDate) {\n items.push({\n term: t('resetDate'),\n description: policyDetails.resetDate,\n })\n }\n }\n\n return items\n }, [policyDetails, t])\n\n const settingsItems = useMemo(() => {\n if (!policySettings) return []\n\n const items: { term: string; description: string }[] = []\n\n if (showAccrualMaxAndWaiting) {\n items.push({\n term: t('maxAccrualHoursPerYear.label'),\n description:\n policySettings.maxAccrualHoursPerYear != null\n ? t('maxAccrualHoursPerYear.withMaximum', {\n count: policySettings.maxAccrualHoursPerYear,\n })\n : t('maxAccrualHoursPerYear.noMaximum'),\n })\n }\n\n items.push(\n {\n term: t('maxHours.label'),\n description:\n policySettings.maxHours != null\n ? t('maxHours.withMaximum', { count: policySettings.maxHours })\n : t('maxHours.noMaximum'),\n },\n {\n term: t('carryoverLimitHours.label'),\n description:\n policySettings.carryoverLimitHours != null\n ? t('carryoverLimitHours.withLimit', { count: policySettings.carryoverLimitHours })\n : t('carryoverLimitHours.noLimit'),\n },\n )\n\n if (showAccrualMaxAndWaiting) {\n items.push({\n term: t('accrualWaitingPeriodDays.label'),\n description:\n policySettings.accrualWaitingPeriodDays != null\n ? t('accrualWaitingPeriodDays.withPeriod', {\n count: policySettings.accrualWaitingPeriodDays,\n })\n : t('accrualWaitingPeriodDays.noPeriod'),\n })\n }\n\n items.push({\n term: t('paidOutOnTermination.label'),\n description: policySettings.paidOutOnTermination\n ? t('paidOutOnTermination.yes')\n : t('paidOutOnTermination.no'),\n })\n\n return items\n }, [policySettings, t, showAccrualMaxAndWaiting])\n\n return (\n <div className={styles.cardsContainer}>\n <div className={styles.cards}>\n <Box header={<BoxHeader title={t('details')} />} withPadding>\n <DescriptionList items={detailItems} showSeparators={false} layout=\"stacked\" />\n </Box>\n\n {!isUnlimited && policySettings && (\n <Box\n header={\n <BoxHeader\n title={t('policySettingsTitle')}\n action={\n onChangeSettings && (\n <Button variant=\"secondary\" onClick={onChangeSettings}>\n {t('changeSettingsCta')}\n </Button>\n )\n }\n />\n }\n withPadding\n >\n <DescriptionList items={settingsItems} showSeparators={false} layout=\"stacked\" />\n </Box>\n )}\n </div>\n </div>\n )\n}\n"],"names":["DETAILS_TAB_ID","TimeOffPolicyDetailPresentation","title","subtitle","onBack","backLabel","actions","policyDetails","policySettings","onChangeSettings","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","useI18n","t","useTranslation","isUnlimited","balanceColumn","useMemo","item","detailsTabContent","jsx","DetailsTab","PolicyDetailLayout","Box","BoxHeader","DescriptionList","Button","useComponentContext","showAccrualMaxAndWaiting","detailItems","items","settingsItems","styles","jsxs"],"mappings":"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"}
|
|
@@ -1,46 +1,138 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { EmployeeTableItem,
|
|
2
|
+
import { EmployeeTableItem, PolicyDetailEmployeeTableData } from '../shared/EmployeeTable/EmployeeTableTypes';
|
|
3
3
|
import { RemoveDialogState } from '../shared/PolicyDetailLayout/PolicyDetailLayoutTypes';
|
|
4
|
+
/**
|
|
5
|
+
* Row shape for an employee enrolled in a time-off policy.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
4
9
|
export interface TimeOffPolicyDetailEmployee extends EmployeeTableItem {
|
|
10
|
+
/** Unique identifier for the employee. */
|
|
5
11
|
uuid: string;
|
|
12
|
+
/** Current balance in hours, or `null` for unlimited policies. */
|
|
6
13
|
balance: number | null;
|
|
7
14
|
}
|
|
15
|
+
/** @public */
|
|
8
16
|
export type RateBasedAccrualMethod = 'perPayPeriod' | 'perCalendarYear' | 'perAnniversaryYear' | 'perHourWorked' | 'perHourWorkedNoOvertime' | 'perHourPaid' | 'perHourPaidNoOvertime';
|
|
17
|
+
/** @internal */
|
|
9
18
|
export type AccrualMethodKey = 'unlimited' | RateBasedAccrualMethod;
|
|
19
|
+
/** @public */
|
|
10
20
|
export type PolicyTypeKey = 'vacation' | 'sick';
|
|
11
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Policy details for an unlimited (no-accrual) time-off policy.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export interface UnlimitedPolicyDetails {
|
|
27
|
+
/** Whether the policy covers vacation or sick time. */
|
|
12
28
|
policyType: PolicyTypeKey;
|
|
29
|
+
/** Accrual method discriminant — always `'unlimited'` for this variant. */
|
|
13
30
|
accrualMethod: 'unlimited';
|
|
14
31
|
}
|
|
15
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Policy details for a rate-based accruing time-off policy.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export interface RateBasedPolicyDetails {
|
|
38
|
+
/** Whether the policy covers vacation or sick time. */
|
|
16
39
|
policyType: PolicyTypeKey;
|
|
40
|
+
/** The method by which time off accrues. */
|
|
17
41
|
accrualMethod: RateBasedAccrualMethod;
|
|
42
|
+
/** Hours accrued per accrual period. */
|
|
18
43
|
accrualRate: number;
|
|
44
|
+
/** Divisor used to compute the per-unit accrual rate, if applicable. */
|
|
19
45
|
accrualRateUnit?: number;
|
|
46
|
+
/** ISO date string for the annual balance reset, if applicable. */
|
|
20
47
|
resetDate?: string;
|
|
21
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Policy type and accrual configuration for the detail view.
|
|
51
|
+
*
|
|
52
|
+
* @remarks
|
|
53
|
+
* A discriminated union on `accrualMethod`. When `accrualMethod` is `'unlimited'`,
|
|
54
|
+
* no rate or reset date is present. For rate-based methods, `accrualRate` is set
|
|
55
|
+
* and `resetDate` / `accrualRateUnit` may also be provided.
|
|
56
|
+
*
|
|
57
|
+
* @public
|
|
58
|
+
*/
|
|
22
59
|
export type PolicyDetails = UnlimitedPolicyDetails | RateBasedPolicyDetails;
|
|
60
|
+
/**
|
|
61
|
+
* Accrual caps, carryover, and termination settings displayed alongside a rate-based policy.
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
23
65
|
export interface PolicySettingsDisplay {
|
|
66
|
+
/** Maximum hours that can accrue per year, or `null` for no limit. */
|
|
24
67
|
maxAccrualHoursPerYear: number | null;
|
|
68
|
+
/** Maximum balance an employee can hold, or `null` for no limit. */
|
|
25
69
|
maxHours: number | null;
|
|
70
|
+
/** Maximum hours that carry over on reset, or `null` for no limit. */
|
|
26
71
|
carryoverLimitHours: number | null;
|
|
72
|
+
/** Days before a newly enrolled employee begins accruing, or `null` for no waiting period. */
|
|
27
73
|
accrualWaitingPeriodDays: number | null;
|
|
74
|
+
/** Whether the remaining balance is paid out when an employee is terminated. */
|
|
28
75
|
paidOutOnTermination: boolean;
|
|
29
76
|
}
|
|
30
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Shared base props for {@link TimeOffPolicyDetailPresentation}.
|
|
79
|
+
*
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
export interface TimeOffPolicyDetailPresentationBaseProps {
|
|
83
|
+
/** Policy name displayed as the page heading. */
|
|
31
84
|
title: string;
|
|
85
|
+
/** Secondary label, typically the policy type. */
|
|
32
86
|
subtitle?: string;
|
|
87
|
+
/** Called when the back navigation is clicked. */
|
|
33
88
|
onBack: () => void;
|
|
89
|
+
/** Label for the back navigation link. */
|
|
34
90
|
backLabel: string;
|
|
91
|
+
/** Optional action buttons rendered in the header. */
|
|
35
92
|
actions?: ReactNode[];
|
|
93
|
+
/** The currently active tab id. */
|
|
36
94
|
selectedTabId: string;
|
|
95
|
+
/** Called with the new tab id when the user switches tabs. */
|
|
37
96
|
onTabChange: (id: string) => void;
|
|
38
|
-
|
|
97
|
+
/** Employee table data and callbacks. */
|
|
98
|
+
employees: PolicyDetailEmployeeTableData<TimeOffPolicyDetailEmployee>;
|
|
99
|
+
/** Called when the add-employee action is clicked. */
|
|
39
100
|
onAddEmployee?: () => void;
|
|
101
|
+
/** State for the employee removal confirmation dialog. */
|
|
40
102
|
removeDialog: RemoveDialogState;
|
|
103
|
+
/** Optional success message rendered as a dismissible alert. */
|
|
41
104
|
successAlert?: string;
|
|
105
|
+
/** Called when the success alert is dismissed. */
|
|
42
106
|
onDismissAlert?: () => void;
|
|
43
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Props for {@link TimeOffPolicyDetailPresentation}.
|
|
110
|
+
*
|
|
111
|
+
* @remarks
|
|
112
|
+
* The props form a discriminated union on `policyDetails.accrualMethod`. Unlimited policies
|
|
113
|
+
* omit `policySettings` and `onChangeSettings`; rate-based policies require `policySettings`
|
|
114
|
+
* and may provide `onChangeSettings` to enable the change-settings action.
|
|
115
|
+
*
|
|
116
|
+
* | Field | Description |
|
|
117
|
+
* | ----- | ----------- |
|
|
118
|
+
* | `title` | The policy name displayed as the page heading. |
|
|
119
|
+
* | `subtitle` | Secondary label, typically the policy type. |
|
|
120
|
+
* | `onBack` | Called when the back navigation is clicked. |
|
|
121
|
+
* | `backLabel` | Label for the back navigation link. |
|
|
122
|
+
* | `actions` | Optional action buttons rendered in the header. |
|
|
123
|
+
* | `policyDetails` | Policy type and accrual configuration. See {@link PolicyDetails}. |
|
|
124
|
+
* | `policySettings` | Accrual caps and termination settings. See {@link PolicySettingsDisplay}. Required for rate-based policies. |
|
|
125
|
+
* | `onChangeSettings` | Called when the change-settings action is clicked. Rate-based policies only. |
|
|
126
|
+
* | `selectedTabId` | The currently active tab id. |
|
|
127
|
+
* | `onTabChange` | Called with the new tab id when the user switches tabs. |
|
|
128
|
+
* | `employees` | Employee table data including `data`, `searchValue`, `onSearchChange`, `onSearchClear`, and optional `itemMenu`. |
|
|
129
|
+
* | `onAddEmployee` | Called when the add-employee action is clicked. |
|
|
130
|
+
* | `removeDialog` | State for the employee removal confirmation dialog. |
|
|
131
|
+
* | `successAlert` | Optional success message rendered as a dismissible alert. |
|
|
132
|
+
* | `onDismissAlert` | Called when the success alert is dismissed. |
|
|
133
|
+
*
|
|
134
|
+
* @public
|
|
135
|
+
*/
|
|
44
136
|
export type TimeOffPolicyDetailPresentationProps = TimeOffPolicyDetailPresentationBaseProps & ({
|
|
45
137
|
policyDetails: UnlimitedPolicyDetails;
|
|
46
138
|
policySettings?: never;
|
|
@@ -50,4 +142,3 @@ export type TimeOffPolicyDetailPresentationProps = TimeOffPolicyDetailPresentati
|
|
|
50
142
|
policySettings: PolicySettingsDisplay;
|
|
51
143
|
onChangeSettings?: () => void;
|
|
52
144
|
});
|
|
53
|
-
export {};
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
import "./types/i18next.d.ts"
|
|
2
2
|
export { TimeOffPolicyDetailPresentation } from './TimeOffPolicyDetailPresentation';
|
|
3
|
-
export type { TimeOffPolicyDetailPresentationProps, TimeOffPolicyDetailEmployee, PolicyDetails, PolicySettingsDisplay, } from './TimeOffPolicyDetailTypes';
|
|
4
|
-
export { TimeOffPolicyDetail } from './TimeOffPolicyDetail';
|
|
5
|
-
export type { TimeOffPolicyDetailProps } from './TimeOffPolicyDetail';
|
|
6
|
-
export { EditEmployeeBalanceModal } from './EditEmployeeBalanceModal';
|
|
7
|
-
export type { EditEmployeeBalanceModalProps } from './EditEmployeeBalanceModal';
|
|
3
|
+
export type { TimeOffPolicyDetailPresentationProps, TimeOffPolicyDetailPresentationBaseProps, TimeOffPolicyDetailEmployee, PolicyDetails, UnlimitedPolicyDetails, RateBasedPolicyDetails, RateBasedAccrualMethod, PolicySettingsDisplay, PolicyTypeKey, } from './TimeOffPolicyDetailTypes';
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link ViewHolidayEmployees}.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
2
7
|
export interface ViewHolidayEmployeesProps extends BaseComponentInterface {
|
|
8
|
+
/** Identifier of the company whose holiday policy enrollment is displayed. */
|
|
3
9
|
companyId: string;
|
|
4
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Displays the holiday policy detail view with the employees tab selected.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* Shows enrolled employees with search filtering, and provides actions to add employees,
|
|
16
|
+
* edit the holiday selection, or remove employees.
|
|
17
|
+
*
|
|
18
|
+
* | Event | Description | Data |
|
|
19
|
+
* | ----- | ----------- | ---- |
|
|
20
|
+
* | `timeOff/holidayAddEmployees` | User clicks to add employees | — |
|
|
21
|
+
* | `timeOff/editHolidayPolicy` | User clicks to edit holidays | — |
|
|
22
|
+
* | `timeOff/backToList` | User navigates back to the policy list | — |
|
|
23
|
+
*
|
|
24
|
+
* @param props - See {@link ViewHolidayEmployeesProps}.
|
|
25
|
+
* @returns The holiday policy detail view rendered with the employees tab active.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
5
28
|
export declare function ViewHolidayEmployees(props: ViewHolidayEmployeesProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHolidayEmployees.js","sources":["../../../../src/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\nexport interface ViewHolidayEmployeesProps extends BaseComponentInterface {\n companyId: string\n}\n\nexport function ViewHolidayEmployees(props: ViewHolidayEmployeesProps) {\n return <HolidayPolicyDetail {...props} defaultTab=\"employees\" />\n}\n"],"names":["ViewHolidayEmployees","props","jsx","HolidayPolicyDetail"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ViewHolidayEmployees.js","sources":["../../../../src/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link ViewHolidayEmployees}.\n *\n * @public\n */\nexport interface ViewHolidayEmployeesProps extends BaseComponentInterface {\n /** Identifier of the company whose holiday policy enrollment is displayed. */\n companyId: string\n}\n\n/**\n * Displays the holiday policy detail view with the employees tab selected.\n *\n * @remarks\n * Shows enrolled employees with search filtering, and provides actions to add employees,\n * edit the holiday selection, or remove employees.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidayAddEmployees` | User clicks to add employees | — |\n * | `timeOff/editHolidayPolicy` | User clicks to edit holidays | — |\n * | `timeOff/backToList` | User navigates back to the policy list | — |\n *\n * @param props - See {@link ViewHolidayEmployeesProps}.\n * @returns The holiday policy detail view rendered with the employees tab active.\n * @public\n */\nexport function ViewHolidayEmployees(props: ViewHolidayEmployeesProps) {\n return <HolidayPolicyDetail {...props} defaultTab=\"employees\" />\n}\n"],"names":["ViewHolidayEmployees","props","jsx","HolidayPolicyDetail"],"mappings":";;AA8BO,SAASA,EAAqBC,GAAkC;AACrE,SAAO,gBAAAC,EAACC,GAAA,EAAqB,GAAGF,GAAO,YAAW,aAAY;AAChE;"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the {@link ViewHolidayPolicyDetails} component.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
2
7
|
export interface ViewHolidayPolicyDetailsProps extends BaseComponentInterface {
|
|
8
|
+
/** The associated company identifier. */
|
|
3
9
|
companyId: string;
|
|
10
|
+
/** Which tab to display initially. Defaults to `'holidays'`. */
|
|
4
11
|
defaultTab?: 'holidays' | 'employees';
|
|
5
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Displays the holiday pay policy for a company with tabbed views of the included holidays and
|
|
15
|
+
* the enrolled employees.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* | Event | Description | Data |
|
|
19
|
+
* | ----- | ----------- | ---- |
|
|
20
|
+
* | `timeOff/backToList` | The user clicked the back navigation. | — |
|
|
21
|
+
* | `timeOff/holidayAddEmployees` | The user clicked the add-employees action. | — |
|
|
22
|
+
* | `timeOff/editHolidayPolicy` | The user clicked the edit-policy action. | — |
|
|
23
|
+
*
|
|
24
|
+
* @param props - {@link ViewHolidayPolicyDetailsProps}
|
|
25
|
+
* @returns The rendered holiday policy detail view.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
6
28
|
export declare function ViewHolidayPolicyDetails(props: ViewHolidayPolicyDetailsProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHolidayPolicyDetails.js","sources":["../../../../src/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\nexport interface ViewHolidayPolicyDetailsProps extends BaseComponentInterface {\n companyId: string\n defaultTab?: 'holidays' | 'employees'\n}\n\nexport function ViewHolidayPolicyDetails(props: ViewHolidayPolicyDetailsProps) {\n return <HolidayPolicyDetail {...props} />\n}\n"],"names":["ViewHolidayPolicyDetails","props","jsx","HolidayPolicyDetail"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ViewHolidayPolicyDetails.js","sources":["../../../../src/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for the {@link ViewHolidayPolicyDetails} component.\n *\n * @public\n */\nexport interface ViewHolidayPolicyDetailsProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n /** Which tab to display initially. Defaults to `'holidays'`. */\n defaultTab?: 'holidays' | 'employees'\n}\n\n/**\n * Displays the holiday pay policy for a company with tabbed views of the included holidays and\n * the enrolled employees.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/backToList` | The user clicked the back navigation. | — |\n * | `timeOff/holidayAddEmployees` | The user clicked the add-employees action. | — |\n * | `timeOff/editHolidayPolicy` | The user clicked the edit-policy action. | — |\n *\n * @param props - {@link ViewHolidayPolicyDetailsProps}\n * @returns The rendered holiday policy detail view.\n * @public\n */\nexport function ViewHolidayPolicyDetails(props: ViewHolidayPolicyDetailsProps) {\n return <HolidayPolicyDetail {...props} />\n}\n"],"names":["ViewHolidayPolicyDetails","props","jsx","HolidayPolicyDetail"],"mappings":";;AA8BO,SAASA,EAAyBC,GAAsC;AAC7E,SAAO,gBAAAC,EAACC,GAAA,EAAqB,GAAGF,EAAA,CAAO;AACzC;"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link ViewHolidaySchedule}.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
2
7
|
export interface ViewHolidayScheduleProps extends BaseComponentInterface {
|
|
8
|
+
/** The associated company identifier. */
|
|
3
9
|
companyId: string;
|
|
4
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Displays the holiday policy detail view with the holidays tab selected.
|
|
13
|
+
*
|
|
14
|
+
* Shows the list of selected holidays with their next observation dates.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* | Event | Description | Data |
|
|
18
|
+
* | ----- | ----------- | ---- |
|
|
19
|
+
* | `timeOff/holidayAddEmployees` | Fired when user clicks to add employees | — |
|
|
20
|
+
* | `timeOff/editHolidayPolicy` | Fired when user clicks to edit holidays | — |
|
|
21
|
+
* | `timeOff/backToList` | Fired when user navigates back to policy list | — |
|
|
22
|
+
*
|
|
23
|
+
* @param props - See {@link ViewHolidayScheduleProps}.
|
|
24
|
+
* @returns The holiday schedule view.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
5
27
|
export declare function ViewHolidaySchedule(props: ViewHolidayScheduleProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHolidaySchedule.js","sources":["../../../../src/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\nexport interface ViewHolidayScheduleProps extends BaseComponentInterface {\n companyId: string\n}\n\nexport function ViewHolidaySchedule(props: ViewHolidayScheduleProps) {\n return <HolidayPolicyDetail {...props} defaultTab=\"holidays\" />\n}\n"],"names":["ViewHolidaySchedule","props","jsx","HolidayPolicyDetail"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ViewHolidaySchedule.js","sources":["../../../../src/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.tsx"],"sourcesContent":["import { HolidayPolicyDetail } from '../HolidayPolicyDetail'\nimport type { BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link ViewHolidaySchedule}.\n *\n * @public\n */\nexport interface ViewHolidayScheduleProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Displays the holiday policy detail view with the holidays tab selected.\n *\n * Shows the list of selected holidays with their next observation dates.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidayAddEmployees` | Fired when user clicks to add employees | — |\n * | `timeOff/editHolidayPolicy` | Fired when user clicks to edit holidays | — |\n * | `timeOff/backToList` | Fired when user navigates back to policy list | — |\n *\n * @param props - See {@link ViewHolidayScheduleProps}.\n * @returns The holiday schedule view.\n * @public\n */\nexport function ViewHolidaySchedule(props: ViewHolidayScheduleProps) {\n return <HolidayPolicyDetail {...props} defaultTab=\"holidays\" />\n}\n"],"names":["ViewHolidaySchedule","props","jsx","HolidayPolicyDetail"],"mappings":";;AA6BO,SAASA,EAAoBC,GAAiC;AACnE,SAAO,gBAAAC,EAACC,GAAA,EAAqB,GAAGF,GAAO,YAAW,YAAW;AAC/D;"}
|
|
@@ -3,16 +3,20 @@ export { PolicyList } from './PolicyList/PolicyList';
|
|
|
3
3
|
export type { PolicyListProps } from './PolicyList/PolicyList';
|
|
4
4
|
export { PolicyTypeSelector } from './PolicyTypeSelector/PolicyTypeSelector';
|
|
5
5
|
export type { PolicyTypeSelectorProps } from './PolicyTypeSelector/PolicyTypeSelector';
|
|
6
|
+
export type { PolicyType } from './PolicyTypeSelector/PolicyTypeSelectorTypes';
|
|
6
7
|
export { PolicyConfigurationForm } from './TimeOffManagement/PolicyConfigurationForm';
|
|
7
8
|
export type { PolicyConfigurationFormProps } from './TimeOffManagement/PolicyConfigurationForm';
|
|
9
|
+
export type { PolicyConfigurationFormData, AccrualMethod, AccrualMethodFixed, ResetDateType, } from './TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes';
|
|
8
10
|
export { PolicySettings } from './PolicySettings/PolicySettings';
|
|
9
11
|
export type { PolicySettingsProps } from './PolicySettings/PolicySettings';
|
|
10
12
|
export { PolicySettingsPresentation } from './PolicySettings/PolicySettingsPresentation';
|
|
11
|
-
export type { PolicySettingsPresentationProps } from './PolicySettings/PolicySettingsTypes';
|
|
13
|
+
export type { PolicySettingsPresentationProps, PolicySettingsAccrualMethod, PolicySettingsFormData, } from './PolicySettings/PolicySettingsTypes';
|
|
12
14
|
export { AddEmployeesToPolicy } from './AddEmployeesToPolicy/AddEmployeesToPolicy';
|
|
13
15
|
export type { AddEmployeesToPolicyProps } from './AddEmployeesToPolicy/AddEmployeesToPolicy';
|
|
16
|
+
export type { CreatableTimeOffPolicyType } from './TimeOffFlow/timeOffPolicyTypes';
|
|
14
17
|
export { HolidaySelectionForm } from './HolidaySelectionForm/HolidaySelectionForm';
|
|
15
18
|
export type { HolidaySelectionFormProps } from './HolidaySelectionForm/HolidaySelectionForm';
|
|
19
|
+
export type { HolidayItem } from './HolidaySelectionForm/HolidaySelectionFormTypes';
|
|
16
20
|
export { AddEmployeesHoliday } from './AddEmployeesHoliday/AddEmployeesHoliday';
|
|
17
21
|
export type { AddEmployeesHolidayProps } from './AddEmployeesHoliday/AddEmployeesHoliday';
|
|
18
22
|
export { ViewHolidayEmployees } from './ViewHolidayEmployees/ViewHolidayEmployees';
|
|
@@ -22,9 +26,11 @@ export type { ViewHolidayPolicyDetailsProps } from './ViewHolidayPolicyDetails/V
|
|
|
22
26
|
export { ViewHolidaySchedule } from './ViewHolidaySchedule/ViewHolidaySchedule';
|
|
23
27
|
export type { ViewHolidayScheduleProps } from './ViewHolidaySchedule/ViewHolidaySchedule';
|
|
24
28
|
export type { HolidayPolicyDetailPresentationProps, HolidayPolicyDetailEmployee, } from './HolidayPolicyDetail';
|
|
29
|
+
export type { EmployeeTableItem, PolicyDetailEmployeeTableData, } from './shared/EmployeeTable/EmployeeTableTypes';
|
|
30
|
+
export type { RemoveDialogState } from './shared/PolicyDetailLayout/PolicyDetailLayoutTypes';
|
|
25
31
|
export { TimeOffPolicyDetail } from './TimeOffPolicyDetail/TimeOffPolicyDetail';
|
|
26
32
|
export type { TimeOffPolicyDetailProps } from './TimeOffPolicyDetail/TimeOffPolicyDetail';
|
|
27
33
|
export { TimeOffPolicyDetailPresentation } from './TimeOffPolicyDetail';
|
|
28
|
-
export type { TimeOffPolicyDetailPresentationProps, TimeOffPolicyDetailEmployee, PolicyDetails, PolicySettingsDisplay, } from './TimeOffPolicyDetail';
|
|
34
|
+
export type { TimeOffPolicyDetailPresentationProps, TimeOffPolicyDetailPresentationBaseProps, TimeOffPolicyDetailEmployee, PolicyDetails, UnlimitedPolicyDetails, RateBasedPolicyDetails, RateBasedAccrualMethod, PolicySettingsDisplay, PolicyTypeKey, } from './TimeOffPolicyDetail';
|
|
29
35
|
export { TimeOffFlow } from './TimeOffFlow/TimeOffFlow';
|
|
30
36
|
export type { TimeOffFlowProps } from './TimeOffFlow/TimeOffFlowComponents';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { EmployeeTableItem, EmployeeTableProps } from './EmployeeTableTypes';
|
|
2
|
+
/** @internal */
|
|
2
3
|
export declare function EmployeeTable<T extends EmployeeTableItem>({ data, label, additionalColumns, hideJobTitle, searchValue, onSearchChange, onSearchClear, searchPlaceholder, hideSearch, selectionMode, onSelect, onSelectAll, getIsItemSelected, hideSelectAll, itemMenu, pagination, isFetching, emptyState, emptySearchState, footer, }: EmployeeTableProps<T>): import("react").JSX.Element;
|