@gusto/embedded-react-sdk 0.40.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -42
- package/dist/assets/icons/house.svg.js +10 -0
- package/dist/assets/icons/house.svg.js.map +1 -0
- package/dist/components/Common/EmptyData/EmptyData.d.ts +3 -0
- package/dist/components/Common/EmptyData/EmptyData.js +11 -11
- package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +8 -6
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
- package/dist/components/Common/Form/Form.d.ts +1 -1
- package/dist/components/Common/Form/Form.js +15 -5
- package/dist/components/Common/Form/Form.js.map +1 -1
- package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
- package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
- package/dist/components/Common/UI/TextInput/TextInput.js +37 -35
- package/dist/components/Common/UI/TextInput/TextInput.js.map +1 -1
- package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -1
- package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +78 -61
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +7 -6
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +54 -54
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +11 -15
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +37 -35
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +6 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +31 -148
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.d.ts +10 -0
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +26 -0
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +8 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +186 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +12 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js.map +1 -0
- package/dist/components/Company/PaySchedule/PayScheduleList.d.ts +8 -0
- package/dist/components/Company/PaySchedule/PayScheduleList.js +102 -0
- package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -0
- package/dist/components/Company/PaySchedule/{_parts/List.module.scss.js → PayScheduleList.module.scss.js} +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.module.scss.js.map +1 -0
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +6 -0
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +49 -0
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -0
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +11 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +13 -16
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +61 -63
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +11 -11
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +88 -111
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/Edit.js +8 -8
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +2 -0
- package/dist/components/Employee/Dashboard/DashboardComponents.js +18 -6
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +2 -0
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +55 -4
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +0 -33
- package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +130 -214
- package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +79 -56
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.d.ts +2 -3
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/index.d.ts +2 -2
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +0 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js +33 -49
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +12 -3
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -0
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -0
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -0
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -0
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +6 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +48 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +18 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +476 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -0
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +8 -0
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js +36 -0
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -0
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.test.d.ts +1 -0
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +45 -0
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +112 -0
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -0
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/Split.js +22 -21
- package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminProfile.js +144 -146
- package/dist/components/Employee/Profile/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/EmployeeProfile.js +34 -30
- package/dist/components/Employee/Profile/EmployeeProfile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +37 -36
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/index.d.ts +2 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +3 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +24 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +9 -3
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +97 -97
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/index.d.ts +2 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +3 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +24 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +10 -4
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +95 -84
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +11 -9
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +71 -89
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +6 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +48 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +16 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +367 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -0
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +4 -0
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js +35 -0
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -0
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +45 -0
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +143 -0
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -0
- package/dist/components/Employee/exports/employeeManagement.d.ts +3 -1
- package/dist/components/Employee/exports/employeeManagement.js +12 -10
- package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.js +1 -1
- package/dist/components/Employee/index.d.ts +5 -1
- package/dist/components/Employee/index.js +37 -33
- package/dist/components/Employee/index.js.map +1 -1
- package/dist/components/Flow/Flow.js +23 -50
- package/dist/components/Flow/Flow.js.map +1 -1
- package/dist/components/Flow/FlowHeader.d.ts +16 -0
- package/dist/components/Flow/FlowHeader.js +89 -0
- package/dist/components/Flow/FlowHeader.js.map +1 -0
- package/dist/components/Flow/useFlow.d.ts +33 -6
- package/dist/components/Flow/useFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.js +20 -18
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +10 -10
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +17 -19
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js +13 -11
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +9 -9
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +25 -29
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +43 -42
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -42
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +18 -17
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +69 -78
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +13 -12
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +51 -82
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +45 -43
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +17 -15
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -24
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.js +25 -29
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +1 -0
- package/dist/helpers/breadcrumbHelpers.d.ts +35 -22
- package/dist/helpers/breadcrumbHelpers.js +45 -35
- package/dist/helpers/breadcrumbHelpers.js.map +1 -1
- package/dist/helpers/dateFormatting.d.ts +12 -0
- package/dist/helpers/dateFormatting.js +72 -65
- package/dist/helpers/dateFormatting.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +2 -0
- package/dist/helpers/formattedStrings.js +30 -27
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/i18n/I18n.js +130 -35
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +15 -13
- package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js +60 -0
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -0
- package/dist/i18n/en/Employee.HomeAddress.json.js +22 -20
- package/dist/i18n/en/Employee.HomeAddress.json.js.map +1 -1
- package/dist/i18n/en/Employee.I9SignatureForm.json.js +79 -75
- package/dist/i18n/en/Employee.I9SignatureForm.json.js.map +1 -1
- package/dist/i18n/en/Employee.PaymentMethod.json.js +13 -13
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js +62 -0
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -0
- package/dist/i18n/en/Payroll.RecoveryCasesList.json.js +14 -10
- package/dist/i18n/en/Payroll.RecoveryCasesList.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +1 -0
- package/dist/i18n/en/common.json.js +28 -26
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +72 -68
- package/dist/index.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +4 -2
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +19 -13
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +21 -17
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/shared/constants.d.ts +4 -0
- package/dist/shared/constants.js +14 -12
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +98 -1
- package/docs/reference/endpoint-inventory.json +88 -43
- package/package.json +10 -10
- package/dist/_virtual/dynamic-import-helper.js +0 -17
- package/dist/_virtual/dynamic-import-helper.js.map +0 -1
- package/dist/components/Common/SignatureForm/SignatureForm.d.ts +0 -14
- package/dist/components/Common/SignatureForm/SignatureForm.js +0 -26
- package/dist/components/Common/SignatureForm/SignatureForm.js.map +0 -1
- package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js +0 -10
- package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js.map +0 -1
- package/dist/components/Common/SignatureForm/SignatureFormActions.d.ts +0 -8
- package/dist/components/Common/SignatureForm/SignatureFormActions.js +0 -19
- package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +0 -1
- package/dist/components/Common/SignatureForm/SignatureFormFields.d.ts +0 -9
- package/dist/components/Common/SignatureForm/SignatureFormFields.js +0 -36
- package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +0 -1
- package/dist/components/Common/SignatureForm/index.d.ts +0 -5
- package/dist/components/Company/DocumentSigner/SignatureForm/Actions.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Actions.js +0 -20
- package/dist/components/Company/DocumentSigner/SignatureForm/Actions.js.map +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Form.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Form.js +0 -20
- package/dist/components/Company/DocumentSigner/SignatureForm/Form.js.map +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Head.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Head.js +0 -35
- package/dist/components/Company/DocumentSigner/SignatureForm/Head.js.map +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Preview.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/Preview.js +0 -20
- package/dist/components/Company/DocumentSigner/SignatureForm/Preview.js.map +0 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.d.ts +0 -9
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +0 -22
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/Actions.d.ts +0 -1
- package/dist/components/Company/PaySchedule/_parts/Actions.js +0 -62
- package/dist/components/Company/PaySchedule/_parts/Actions.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.d.ts +0 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.js +0 -134
- package/dist/components/Company/PaySchedule/_parts/Edit.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.module.scss.js +0 -14
- package/dist/components/Company/PaySchedule/_parts/Edit.module.scss.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/Head.d.ts +0 -1
- package/dist/components/Company/PaySchedule/_parts/Head.js +0 -47
- package/dist/components/Company/PaySchedule/_parts/Head.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/List.d.ts +0 -1
- package/dist/components/Company/PaySchedule/_parts/List.js +0 -57
- package/dist/components/Company/PaySchedule/_parts/List.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/List.module.scss.js.map +0 -1
- package/dist/components/Company/PaySchedule/_parts/index.d.ts +0 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.d.ts +0 -39
- package/dist/components/Company/PaySchedule/usePaySchedule.js +0 -30
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.d.ts +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js +0 -20
- package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Form.d.ts +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js +0 -20
- package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Head.d.ts +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js +0 -35
- package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.d.ts +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js +0 -20
- package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.d.ts +0 -9
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +0 -20
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +0 -1
- package/dist/components/Employee/employee-list/management/ManagementEmployeeList.js.map +0 -1
- package/dist/components/Employee/employee-list/management/ManagementEmployeeListView.js.map +0 -1
- package/dist/components/Employee/employee-list/onboarding/EmployeeList.js.map +0 -1
- package/dist/components/Employee/employee-list/onboarding/EmployeeListView.js.map +0 -1
- package/dist/components/Employee/employee-list/shared/useEmployeeList.js.map +0 -1
- /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.js +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.js +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.js +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.js +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/shared/index.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.d.ts +0 -0
- /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.js +0 -0
package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: TerminateEmployeeContextual,\n currentBreadcrumbId: 'form',\n progressBarType: 'breadcrumbs',\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: TerminationSummaryContextual,\n currentBreadcrumbId: 'summary',\n progressBarType: 'breadcrumbs',\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: DismissalFlowContextual,\n currentBreadcrumbId: 'dismissal',\n progressBarType: null,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n currentBreadcrumbId: 'form',\n progressBarType: 'breadcrumbs',\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n currentBreadcrumbId: 'summary',\n progressBarType: 'breadcrumbs',\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n currentBreadcrumbId: 'summary',\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n alerts: undefined,\n currentBreadcrumbId: 'summary',\n }\n },\n ),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n alerts: undefined,\n currentBreadcrumbId: 'form',\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n currentBreadcrumbId: 'form',\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n progressBarType: null,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n progressBarType: null,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce(\n (ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...ctx,\n component: PayrollLandingContextual,\n payrollOption: undefined,\n progressBarType: null,\n }),\n ),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n alerts: undefined,\n }\n }),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce(\n (ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\n }),\n ),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","patchBreadcrumbsHeader","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseComponentInterface, CommonComponentInterface } from '../../../Base/Base';
|
|
2
|
+
export interface WorkAddressProps extends CommonComponentInterface<'Employee.WorkAddress.Management'> {
|
|
3
|
+
employeeId: string;
|
|
4
|
+
onEvent: BaseComponentInterface['onEvent'];
|
|
5
|
+
}
|
|
6
|
+
export declare function WorkAddress({ FallbackComponent, ...props }: WorkAddressProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { WorkAddressView as m } from "./WorkAddressView.js";
|
|
3
|
+
import { useWorkAddressManagement as A, isUseWorkAddressManagementSuccess as g } from "./useWorkAddressManagement.js";
|
|
4
|
+
import { BaseBoundaries as p, BaseLayout as n } from "../../../Base/Base.js";
|
|
5
|
+
import { useI18n as W, useComponentDictionary as c } from "../../../../i18n/I18n.js";
|
|
6
|
+
import { componentEvents as t } from "../../../../shared/constants.js";
|
|
7
|
+
function k({ employeeId: o, dictionary: d, onEvent: s }) {
|
|
8
|
+
W(["Employee.WorkAddress.Management"]), c("Employee.WorkAddress.Management", d);
|
|
9
|
+
const e = A({ employeeId: o, onEvent: s });
|
|
10
|
+
if (e.isLoading)
|
|
11
|
+
return /* @__PURE__ */ r(n, { isLoading: !0, error: e.errorHandling.errors });
|
|
12
|
+
if (!g(e))
|
|
13
|
+
return /* @__PURE__ */ r(n, { error: e.errorHandling.errors });
|
|
14
|
+
const i = (a) => {
|
|
15
|
+
a.mode === "create" ? s(t.EMPLOYEE_WORK_ADDRESS_CREATED, a.data) : s(t.EMPLOYEE_WORK_ADDRESS_UPDATED, a.data);
|
|
16
|
+
};
|
|
17
|
+
return /* @__PURE__ */ r(n, { error: e.errorHandling.errors, children: /* @__PURE__ */ r(
|
|
18
|
+
m,
|
|
19
|
+
{
|
|
20
|
+
editWorkAddressForm: e.data.editWorkAddressForm,
|
|
21
|
+
changeWorkAddressForm: e.data.changeWorkAddressForm,
|
|
22
|
+
workAddresses: e.data.employeeWorkAddresses,
|
|
23
|
+
editTargetUuid: e.data.editTargetUuid,
|
|
24
|
+
onEditTargetUuidChange: e.actions.setEditTargetUuid,
|
|
25
|
+
employeeDisplayName: e.data.employeeDisplayName,
|
|
26
|
+
onConfirmDelete: e.actions.confirmDeleteWorkAddress,
|
|
27
|
+
onWorkAddressSaved: i,
|
|
28
|
+
isDeletePending: e.status.isDeletePending
|
|
29
|
+
}
|
|
30
|
+
) });
|
|
31
|
+
}
|
|
32
|
+
function M({
|
|
33
|
+
FallbackComponent: o,
|
|
34
|
+
...d
|
|
35
|
+
}) {
|
|
36
|
+
return /* @__PURE__ */ r(
|
|
37
|
+
p,
|
|
38
|
+
{
|
|
39
|
+
componentName: "Employee.WorkAddress.Management",
|
|
40
|
+
FallbackComponent: o,
|
|
41
|
+
children: /* @__PURE__ */ r(k, { ...d })
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
M as WorkAddress
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=WorkAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddress.tsx"],"sourcesContent":["import type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { WorkAddressView } from './WorkAddressView'\nimport {\n isUseWorkAddressManagementSuccess,\n useWorkAddressManagement,\n} from './useWorkAddressManagement'\nimport {\n BaseBoundaries,\n BaseLayout,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { componentEvents } from '@/shared/constants'\n\nexport interface WorkAddressProps extends CommonComponentInterface<'Employee.WorkAddress.Management'> {\n employeeId: string\n onEvent: BaseComponentInterface['onEvent']\n}\n\nfunction WorkAddressRoot({ employeeId, dictionary, onEvent }: WorkAddressProps) {\n useI18n(['Employee.WorkAddress.Management'])\n useComponentDictionary('Employee.WorkAddress.Management', dictionary)\n\n const management = useWorkAddressManagement({ employeeId, onEvent })\n\n if (management.isLoading) {\n return <BaseLayout isLoading error={management.errorHandling.errors} />\n }\n\n if (!isUseWorkAddressManagementSuccess(management)) {\n return <BaseLayout error={management.errorHandling.errors} />\n }\n\n const handleWorkAddressSaved = (result: HookSubmitResult<EmployeeWorkAddress>) => {\n if (result.mode === 'create') {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, result.data)\n } else {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, result.data)\n }\n }\n\n return (\n <BaseLayout error={management.errorHandling.errors}>\n <WorkAddressView\n editWorkAddressForm={management.data.editWorkAddressForm}\n changeWorkAddressForm={management.data.changeWorkAddressForm}\n workAddresses={management.data.employeeWorkAddresses}\n editTargetUuid={management.data.editTargetUuid}\n onEditTargetUuidChange={management.actions.setEditTargetUuid}\n employeeDisplayName={management.data.employeeDisplayName}\n onConfirmDelete={management.actions.confirmDeleteWorkAddress}\n onWorkAddressSaved={handleWorkAddressSaved}\n isDeletePending={management.status.isDeletePending}\n />\n </BaseLayout>\n )\n}\n\nexport function WorkAddress({\n FallbackComponent,\n ...props\n}: WorkAddressProps & BaseComponentInterface) {\n return (\n <BaseBoundaries\n componentName=\"Employee.WorkAddress.Management\"\n FallbackComponent={FallbackComponent}\n >\n <WorkAddressRoot {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["WorkAddressRoot","employeeId","dictionary","onEvent","useI18n","useComponentDictionary","management","useWorkAddressManagement","BaseLayout","isUseWorkAddressManagementSuccess","jsx","handleWorkAddressSaved","result","componentEvents","WorkAddressView","WorkAddress","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAqBA,SAASA,EAAgB,EAAE,YAAAC,GAAY,YAAAC,GAAY,SAAAC,KAA6B;AAC9E,EAAAC,EAAQ,CAAC,iCAAiC,CAAC,GAC3CC,EAAuB,mCAAmCH,CAAU;AAEpE,QAAMI,IAAaC,EAAyB,EAAE,YAAAN,GAAY,SAAAE,GAAS;AAEnE,MAAIG,EAAW;AACb,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAW,cAAc,QAAQ;AAGvE,MAAI,CAACG,EAAkCH,CAAU;AAC/C,WAAO,gBAAAI,EAACF,GAAA,EAAW,OAAOF,EAAW,cAAc,QAAQ;AAG7D,QAAMK,IAAyB,CAACC,MAAkD;AAChF,IAAIA,EAAO,SAAS,WAClBT,EAAQU,EAAgB,+BAA+BD,EAAO,IAAI,IAElET,EAAQU,EAAgB,+BAA+BD,EAAO,IAAI;AAAA,EAEtE;AAEA,SACE,gBAAAF,EAACF,GAAA,EAAW,OAAOF,EAAW,cAAc,QAC1C,UAAA,gBAAAI;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,qBAAqBR,EAAW,KAAK;AAAA,MACrC,uBAAuBA,EAAW,KAAK;AAAA,MACvC,eAAeA,EAAW,KAAK;AAAA,MAC/B,gBAAgBA,EAAW,KAAK;AAAA,MAChC,wBAAwBA,EAAW,QAAQ;AAAA,MAC3C,qBAAqBA,EAAW,KAAK;AAAA,MACrC,iBAAiBA,EAAW,QAAQ;AAAA,MACpC,oBAAoBK;AAAA,MACpB,iBAAiBL,EAAW,OAAO;AAAA,IAAA;AAAA,EAAA,GAEvC;AAEJ;AAEO,SAASS,EAAY;AAAA,EAC1B,mBAAAC;AAAA,EACA,GAAGC;AACL,GAA8C;AAC5C,SACE,gBAAAP;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAF;AAAA,MAEA,UAAA,gBAAAN,EAACV,GAAA,EAAiB,GAAGiB,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGlC;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress';
|
|
2
|
+
import { UseWorkAddressFormReady } from '../../Profile/shared/useWorkAddressForm';
|
|
3
|
+
import { HookSubmitResult } from '../../../../partner-hook-utils/types';
|
|
4
|
+
export interface WorkAddressViewProps {
|
|
5
|
+
editWorkAddressForm: UseWorkAddressFormReady;
|
|
6
|
+
changeWorkAddressForm: UseWorkAddressFormReady;
|
|
7
|
+
/** Full list for history table, pending-future alert, and delete-confirmation lookup. */
|
|
8
|
+
workAddresses: EmployeeWorkAddress[] | undefined;
|
|
9
|
+
editTargetUuid: string | undefined;
|
|
10
|
+
onEditTargetUuidChange: (uuid: string | undefined) => void;
|
|
11
|
+
employeeDisplayName: string;
|
|
12
|
+
onConfirmDelete: (workAddressUuid: string) => Promise<boolean>;
|
|
13
|
+
onWorkAddressSaved: (result: HookSubmitResult<EmployeeWorkAddress>) => void;
|
|
14
|
+
isDeletePending?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function WorkAddressView({ editWorkAddressForm, changeWorkAddressForm, workAddresses, editTargetUuid, onEditTargetUuidChange, employeeDisplayName, onConfirmDelete, onWorkAddressSaved, isDeletePending, }: WorkAddressViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e, Fragment as K } from "react/jsx-runtime";
|
|
2
|
+
import { useState as A, useRef as me, useLayoutEffect as fe, useMemo as D } from "react";
|
|
3
|
+
import { useTranslation as pe, Trans as he } from "react-i18next";
|
|
4
|
+
import { getPendingFutureWorkAddress as ge, formatPendingWorkAddressLine as Q } from "./getPendingFutureWorkAddress.js";
|
|
5
|
+
import De from "../../../../assets/icons/list.svg.js";
|
|
6
|
+
import ve from "../../../../assets/icons/pencil.svg.js";
|
|
7
|
+
import ye from "../../../../assets/icons/trashcan.svg.js";
|
|
8
|
+
import { Flex as c, FlexItem as xe } from "../../../Common/Flex/Flex.js";
|
|
9
|
+
import { Grid as Y } from "../../../Common/Grid/Grid.js";
|
|
10
|
+
import { EmptyData as Ce } from "../../../Common/EmptyData/EmptyData.js";
|
|
11
|
+
import { LocationField as z, EffectiveDateField as G } from "../../Profile/shared/useWorkAddressForm/fields.js";
|
|
12
|
+
import { WorkAddressErrorCodes as Z } from "../../Profile/shared/useWorkAddressForm/workAddressSchema.js";
|
|
13
|
+
import { SDKFormProvider as J } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
14
|
+
import { useComponentContext as Me } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
15
|
+
import { formatDateLongWithYear as S, normalizeToDate as be, addDays as Te } from "../../../../helpers/dateFormatting.js";
|
|
16
|
+
import { getStreet as R, getCityStateZip as B } from "../../../../helpers/formattedStrings.js";
|
|
17
|
+
import { HamburgerMenu as Le } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
18
|
+
import { useDataView as Se } from "../../../Common/DataView/useDataView.js";
|
|
19
|
+
import { DataView as Pe } from "../../../Common/DataView/DataView.js";
|
|
20
|
+
function _(s, u) {
|
|
21
|
+
if (!(!s.locationUuid || !u?.length))
|
|
22
|
+
return u.find((o) => o.uuid === s.locationUuid);
|
|
23
|
+
}
|
|
24
|
+
function X(s, u) {
|
|
25
|
+
const o = _(s, u);
|
|
26
|
+
if (o) {
|
|
27
|
+
const y = R(o).trim(), P = B(o).trim();
|
|
28
|
+
return { primary: y, secondary: P };
|
|
29
|
+
}
|
|
30
|
+
const H = R(s).trim(), f = B(s).trim();
|
|
31
|
+
return { primary: H, secondary: f };
|
|
32
|
+
}
|
|
33
|
+
function ze({
|
|
34
|
+
editWorkAddressForm: s,
|
|
35
|
+
changeWorkAddressForm: u,
|
|
36
|
+
workAddresses: o,
|
|
37
|
+
editTargetUuid: H,
|
|
38
|
+
onEditTargetUuidChange: f,
|
|
39
|
+
employeeDisplayName: y,
|
|
40
|
+
onConfirmDelete: P,
|
|
41
|
+
onWorkAddressSaved: I,
|
|
42
|
+
isDeletePending: N = !1
|
|
43
|
+
}) {
|
|
44
|
+
const { t } = pe("Employee.WorkAddress.Management"), i = Me(), [l, x] = A(null), [m, C] = A(null), k = me(null), [M, V] = A(void 0);
|
|
45
|
+
fe(() => {
|
|
46
|
+
if (!l) {
|
|
47
|
+
V(void 0);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const n = () => {
|
|
51
|
+
V(k.current ?? void 0);
|
|
52
|
+
};
|
|
53
|
+
if (n(), k.current == null) {
|
|
54
|
+
const a = requestAnimationFrame(n);
|
|
55
|
+
return () => {
|
|
56
|
+
cancelAnimationFrame(a);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}, [l]);
|
|
60
|
+
const {
|
|
61
|
+
data: { workAddress: d, companyLocations: p },
|
|
62
|
+
status: j,
|
|
63
|
+
form: { Fields: ee }
|
|
64
|
+
} = s, b = ee.EffectiveDate != null, { status: O } = u, U = {
|
|
65
|
+
[Z.REQUIRED]: t("form.locationRequired")
|
|
66
|
+
}, W = {
|
|
67
|
+
[Z.REQUIRED]: t("form.startDateRequired")
|
|
68
|
+
}, T = D(
|
|
69
|
+
() => ge(o),
|
|
70
|
+
[o]
|
|
71
|
+
), $ = D(() => {
|
|
72
|
+
if (!(!m || !o))
|
|
73
|
+
return o.find((n) => n.uuid === m);
|
|
74
|
+
}, [m, o]), te = D(() => {
|
|
75
|
+
const n = y.trim();
|
|
76
|
+
return n ? `${n}'s` : t("changePendingPossessiveFallback");
|
|
77
|
+
}, [y, t]), v = D(() => [...o ?? []].sort((n, a) => {
|
|
78
|
+
const h = n.effectiveDate ?? "", g = a.effectiveDate ?? "";
|
|
79
|
+
return !h && !g ? 0 : h ? g ? h.localeCompare(g) : -1 : 1;
|
|
80
|
+
}), [o]), q = D(
|
|
81
|
+
() => v.filter((n) => n.active !== !0),
|
|
82
|
+
[v]
|
|
83
|
+
), ie = D(() => [...q].reverse(), [q]), ne = (n) => {
|
|
84
|
+
const a = v.findIndex((ue) => ue.uuid === n.uuid);
|
|
85
|
+
if (a === -1 || a >= v.length - 1) return "—";
|
|
86
|
+
const h = v[a + 1]?.effectiveDate;
|
|
87
|
+
if (!h) return "—";
|
|
88
|
+
const g = be(h);
|
|
89
|
+
if (!g) return "—";
|
|
90
|
+
const F = Te(g, -1), se = F.getFullYear(), ce = String(F.getMonth() + 1).padStart(2, "0"), de = String(F.getDate()).padStart(2, "0");
|
|
91
|
+
return S(`${se}-${ce}-${de}`);
|
|
92
|
+
}, re = Se({
|
|
93
|
+
data: ie,
|
|
94
|
+
columns: [
|
|
95
|
+
{
|
|
96
|
+
title: t("columns.location"),
|
|
97
|
+
render: (n) => {
|
|
98
|
+
const a = X(n, p);
|
|
99
|
+
return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 0, children: [
|
|
100
|
+
/* @__PURE__ */ e(i.Text, { weight: "medium", children: a.primary }),
|
|
101
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: a.secondary })
|
|
102
|
+
] });
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
title: t("columns.startDate"),
|
|
107
|
+
render: (n) => n.effectiveDate ? S(n.effectiveDate) : "—"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: t("columns.endDate"),
|
|
111
|
+
render: (n) => ne(n)
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
itemMenu: (n) => /* @__PURE__ */ e(
|
|
115
|
+
Le,
|
|
116
|
+
{
|
|
117
|
+
triggerLabel: t("rowMenuAriaLabel"),
|
|
118
|
+
items: [
|
|
119
|
+
{
|
|
120
|
+
label: t("rowEdit"),
|
|
121
|
+
onClick: () => {
|
|
122
|
+
f(n.uuid), x("edit");
|
|
123
|
+
},
|
|
124
|
+
icon: /* @__PURE__ */ e(ve, { "aria-hidden": !0 })
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
label: t("rowDelete"),
|
|
128
|
+
onClick: () => {
|
|
129
|
+
n.active !== !0 && C(n.uuid);
|
|
130
|
+
},
|
|
131
|
+
icon: /* @__PURE__ */ e(ye, { "aria-hidden": !0 })
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
emptyState: () => /* @__PURE__ */ e("div", { "data-testid": "work-address-history-empty", children: /* @__PURE__ */ e(
|
|
137
|
+
Ce,
|
|
138
|
+
{
|
|
139
|
+
icon: /* @__PURE__ */ e(De, { "aria-hidden": !0 }),
|
|
140
|
+
title: t("historyEmptyTitle"),
|
|
141
|
+
description: t("historyEmptyDescription")
|
|
142
|
+
}
|
|
143
|
+
) })
|
|
144
|
+
}), L = () => {
|
|
145
|
+
x(null), f(void 0);
|
|
146
|
+
}, oe = async () => {
|
|
147
|
+
if (!m)
|
|
148
|
+
return;
|
|
149
|
+
await P(m) && C(null);
|
|
150
|
+
}, ae = async () => {
|
|
151
|
+
if (!l)
|
|
152
|
+
return;
|
|
153
|
+
if (l === "edit") {
|
|
154
|
+
const a = await s.actions.onSubmit(
|
|
155
|
+
void 0,
|
|
156
|
+
b ? void 0 : { effectiveDate: d?.effectiveDate }
|
|
157
|
+
);
|
|
158
|
+
a && (I(a), L());
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const n = await u.actions.onSubmit();
|
|
162
|
+
n && (I(n), L());
|
|
163
|
+
}, le = l === "edit" ? j.isPending : O.isPending, w = d ? X(d, p) : null, E = d && p ? _(d, p) : void 0;
|
|
164
|
+
return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 24, children: [
|
|
165
|
+
/* @__PURE__ */ r(c, { flexDirection: "column", gap: 8, alignItems: "flex-start", children: [
|
|
166
|
+
/* @__PURE__ */ e(i.Heading, { as: "h1", children: t("title") }),
|
|
167
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("description") })
|
|
168
|
+
] }),
|
|
169
|
+
/* @__PURE__ */ e(
|
|
170
|
+
i.Box,
|
|
171
|
+
{
|
|
172
|
+
header: /* @__PURE__ */ e(
|
|
173
|
+
i.BoxHeader,
|
|
174
|
+
{
|
|
175
|
+
title: t("currentSectionTitle"),
|
|
176
|
+
action: d ? /* @__PURE__ */ e(
|
|
177
|
+
i.Button,
|
|
178
|
+
{
|
|
179
|
+
variant: "secondary",
|
|
180
|
+
onClick: () => {
|
|
181
|
+
f(void 0), x("edit");
|
|
182
|
+
},
|
|
183
|
+
isLoading: j.isPending,
|
|
184
|
+
children: t("editCta")
|
|
185
|
+
}
|
|
186
|
+
) : void 0
|
|
187
|
+
}
|
|
188
|
+
),
|
|
189
|
+
footer: /* @__PURE__ */ e(
|
|
190
|
+
i.Button,
|
|
191
|
+
{
|
|
192
|
+
variant: "secondary",
|
|
193
|
+
onClick: () => {
|
|
194
|
+
f(void 0), x("create");
|
|
195
|
+
},
|
|
196
|
+
isLoading: O.isPending,
|
|
197
|
+
children: t("changeCta")
|
|
198
|
+
}
|
|
199
|
+
),
|
|
200
|
+
children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
|
|
201
|
+
d && w ? /* @__PURE__ */ r(c, { flexDirection: "column", gap: 4, children: [
|
|
202
|
+
/* @__PURE__ */ e(xe, { children: E ? /* @__PURE__ */ r(K, { children: [
|
|
203
|
+
/* @__PURE__ */ e(i.Text, { weight: "medium", children: R(E).trim() }),
|
|
204
|
+
/* @__PURE__ */ e(i.Text, { weight: "medium", children: B(E) })
|
|
205
|
+
] }) : /* @__PURE__ */ r(K, { children: [
|
|
206
|
+
/* @__PURE__ */ e(i.Text, { weight: "medium", children: w.primary }),
|
|
207
|
+
/* @__PURE__ */ e(i.Text, { weight: "medium", children: w.secondary })
|
|
208
|
+
] }) }),
|
|
209
|
+
d.effectiveDate ? /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("currentSince", {
|
|
210
|
+
date: S(d.effectiveDate)
|
|
211
|
+
}) }) : null
|
|
212
|
+
] }) : /* @__PURE__ */ e(i.Text, { children: t("currentEmpty") }),
|
|
213
|
+
T ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("changePendingTitle"), children: /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("changePendingDescription", {
|
|
214
|
+
possessiveLabel: te,
|
|
215
|
+
newAddress: Q(T, p),
|
|
216
|
+
effectiveDate: T.effectiveDate ? S(T.effectiveDate) : "—"
|
|
217
|
+
}) }) }) : null
|
|
218
|
+
] })
|
|
219
|
+
}
|
|
220
|
+
),
|
|
221
|
+
/* @__PURE__ */ r(c, { flexDirection: "column", gap: 12, children: [
|
|
222
|
+
/* @__PURE__ */ e(i.Heading, { as: "h2", children: t("historySectionTitle") }),
|
|
223
|
+
/* @__PURE__ */ e(Pe, { label: t("historySectionTitle"), ...re })
|
|
224
|
+
] }),
|
|
225
|
+
/* @__PURE__ */ e(
|
|
226
|
+
i.Modal,
|
|
227
|
+
{
|
|
228
|
+
isOpen: l !== null,
|
|
229
|
+
onClose: L,
|
|
230
|
+
shouldCloseOnBackdropClick: !1,
|
|
231
|
+
containerRef: k,
|
|
232
|
+
footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
|
|
233
|
+
/* @__PURE__ */ e(i.Button, { variant: "secondary", onClick: L, children: t("cancelCta") }),
|
|
234
|
+
/* @__PURE__ */ e(
|
|
235
|
+
i.Button,
|
|
236
|
+
{
|
|
237
|
+
variant: "primary",
|
|
238
|
+
onClick: () => {
|
|
239
|
+
ae();
|
|
240
|
+
},
|
|
241
|
+
isLoading: le,
|
|
242
|
+
children: t("submitCta")
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
] }),
|
|
246
|
+
children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
|
|
247
|
+
/* @__PURE__ */ e(i.Heading, { as: "h2", children: t(l === "edit" ? "editModalTitle" : "changeModalTitle") }),
|
|
248
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: t(l === "edit" ? "editModalDescription" : "changeModalDescription") }),
|
|
249
|
+
l === "edit" && b ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("editPastAddressAlertTitle") }) : null,
|
|
250
|
+
l === "edit" ? /* @__PURE__ */ e(J, { formHookResult: s, children: /* @__PURE__ */ r(
|
|
251
|
+
Y,
|
|
252
|
+
{
|
|
253
|
+
gridTemplateColumns: {
|
|
254
|
+
base: "1fr",
|
|
255
|
+
small: "1fr"
|
|
256
|
+
},
|
|
257
|
+
gap: 20,
|
|
258
|
+
children: [
|
|
259
|
+
/* @__PURE__ */ e(
|
|
260
|
+
z,
|
|
261
|
+
{
|
|
262
|
+
label: t(b ? "form.editInactiveLocationLabel" : "form.editLocationLabel"),
|
|
263
|
+
description: t("form.editLocationDescription"),
|
|
264
|
+
validationMessages: U,
|
|
265
|
+
portalContainer: M
|
|
266
|
+
}
|
|
267
|
+
),
|
|
268
|
+
b ? /* @__PURE__ */ e(
|
|
269
|
+
G,
|
|
270
|
+
{
|
|
271
|
+
label: t("form.startDateLabel"),
|
|
272
|
+
description: t("form.editInactiveStartDateDescription"),
|
|
273
|
+
validationMessages: W,
|
|
274
|
+
portalContainer: M
|
|
275
|
+
}
|
|
276
|
+
) : null
|
|
277
|
+
]
|
|
278
|
+
}
|
|
279
|
+
) }) : null,
|
|
280
|
+
l === "create" ? /* @__PURE__ */ e(J, { formHookResult: u, children: /* @__PURE__ */ r(
|
|
281
|
+
Y,
|
|
282
|
+
{
|
|
283
|
+
gridTemplateColumns: {
|
|
284
|
+
base: "1fr",
|
|
285
|
+
small: "1fr"
|
|
286
|
+
},
|
|
287
|
+
gap: 20,
|
|
288
|
+
children: [
|
|
289
|
+
/* @__PURE__ */ e(
|
|
290
|
+
z,
|
|
291
|
+
{
|
|
292
|
+
label: t("form.newWorkAddressLabel"),
|
|
293
|
+
description: t("form.newWorkAddressDescription"),
|
|
294
|
+
validationMessages: U,
|
|
295
|
+
portalContainer: M
|
|
296
|
+
}
|
|
297
|
+
),
|
|
298
|
+
/* @__PURE__ */ e(
|
|
299
|
+
G,
|
|
300
|
+
{
|
|
301
|
+
label: t("form.startDateLabel"),
|
|
302
|
+
description: t("form.startDateDescription"),
|
|
303
|
+
validationMessages: W,
|
|
304
|
+
portalContainer: M
|
|
305
|
+
}
|
|
306
|
+
)
|
|
307
|
+
]
|
|
308
|
+
}
|
|
309
|
+
) }) : null
|
|
310
|
+
] })
|
|
311
|
+
}
|
|
312
|
+
),
|
|
313
|
+
/* @__PURE__ */ e(
|
|
314
|
+
i.Modal,
|
|
315
|
+
{
|
|
316
|
+
isOpen: m !== null,
|
|
317
|
+
onClose: () => {
|
|
318
|
+
C(null);
|
|
319
|
+
},
|
|
320
|
+
shouldCloseOnBackdropClick: !1,
|
|
321
|
+
footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
|
|
322
|
+
/* @__PURE__ */ e(
|
|
323
|
+
i.Button,
|
|
324
|
+
{
|
|
325
|
+
variant: "secondary",
|
|
326
|
+
onClick: () => {
|
|
327
|
+
C(null);
|
|
328
|
+
},
|
|
329
|
+
children: t("cancelCta")
|
|
330
|
+
}
|
|
331
|
+
),
|
|
332
|
+
/* @__PURE__ */ e(
|
|
333
|
+
i.Button,
|
|
334
|
+
{
|
|
335
|
+
variant: "error",
|
|
336
|
+
onClick: () => {
|
|
337
|
+
oe();
|
|
338
|
+
},
|
|
339
|
+
isLoading: N && m !== null,
|
|
340
|
+
children: t("deleteModalConfirmCta")
|
|
341
|
+
}
|
|
342
|
+
)
|
|
343
|
+
] }),
|
|
344
|
+
children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
|
|
345
|
+
/* @__PURE__ */ e(i.Heading, { as: "h2", children: t("deleteModalTitle") }),
|
|
346
|
+
/* @__PURE__ */ e(i.Text, { variant: "supporting", children: $ ? /* @__PURE__ */ e(
|
|
347
|
+
he,
|
|
348
|
+
{
|
|
349
|
+
t,
|
|
350
|
+
i18nKey: "deleteModalDescription",
|
|
351
|
+
values: {
|
|
352
|
+
address: Q($, p)
|
|
353
|
+
},
|
|
354
|
+
components: {
|
|
355
|
+
strong: /* @__PURE__ */ e(i.Text, { weight: "medium", as: "span" })
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
) : null })
|
|
359
|
+
] })
|
|
360
|
+
}
|
|
361
|
+
)
|
|
362
|
+
] });
|
|
363
|
+
}
|
|
364
|
+
export {
|
|
365
|
+
ze as WorkAddressView
|
|
366
|
+
};
|
|
367
|
+
//# sourceMappingURL=WorkAddressView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkAddressView.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport {\n formatPendingWorkAddressLine,\n getPendingFutureWorkAddress,\n} from './getPendingFutureWorkAddress'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { DataView, EmptyData, Grid, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport {\n LocationField,\n EffectiveDateField,\n} from '@/components/Employee/Profile/shared/useWorkAddressForm/fields'\nimport { WorkAddressErrorCodes } from '@/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema'\nimport type { UseWorkAddressFormReady } from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { getCityStateZip, getStreet } from '@/helpers/formattedStrings'\n\nexport interface WorkAddressViewProps {\n editWorkAddressForm: UseWorkAddressFormReady\n changeWorkAddressForm: UseWorkAddressFormReady\n /** Full list for history table, pending-future alert, and delete-confirmation lookup. */\n workAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n onEditTargetUuidChange: (uuid: string | undefined) => void\n employeeDisplayName: string\n onConfirmDelete: (workAddressUuid: string) => Promise<boolean>\n onWorkAddressSaved: (result: HookSubmitResult<EmployeeWorkAddress>) => void\n isDeletePending?: boolean\n}\n\nfunction resolveLocation(\n row: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): Location | undefined {\n if (!row.locationUuid || !companyLocations?.length) {\n return undefined\n }\n return companyLocations.find(loc => loc.uuid === row.locationUuid)\n}\n\nfunction formatWorkAddressLines(\n row: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): { primary: string; secondary: string } {\n const location = resolveLocation(row, companyLocations)\n if (location) {\n const street = getStreet(location).trim()\n const locality = getCityStateZip(location).trim()\n return { primary: street, secondary: locality }\n }\n const street = getStreet(row).trim()\n const locality = getCityStateZip(row).trim()\n return { primary: street, secondary: locality }\n}\n\nexport function WorkAddressView({\n editWorkAddressForm,\n changeWorkAddressForm,\n workAddresses,\n editTargetUuid,\n onEditTargetUuidChange,\n employeeDisplayName,\n onConfirmDelete,\n onWorkAddressSaved,\n isDeletePending = false,\n}: WorkAddressViewProps) {\n const { t } = useTranslation('Employee.WorkAddress.Management')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n data: { workAddress, companyLocations },\n status: editStatus,\n form: { Fields: editFormFields },\n } = editWorkAddressForm\n\n const editShowsEffectiveDateField = editFormFields.EffectiveDate != null\n\n const { status: createStatus } = changeWorkAddressForm\n\n const locationValidation = {\n [WorkAddressErrorCodes.REQUIRED]: t('form.locationRequired'),\n }\n\n const startDateValidation = {\n [WorkAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureWorkAddress(workAddresses),\n [workAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !workAddresses) {\n return undefined\n }\n return workAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, workAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = useMemo(() => {\n return [...(workAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate ?? ''\n const bDate = b.effectiveDate ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n }, [workAddresses])\n\n const historyAddresses = useMemo(\n () => chronologicalAsc.filter(address => address.active !== true),\n [chronologicalAsc],\n )\n\n const sortedHistory = useMemo(() => [...historyAddresses].reverse(), [historyAddresses])\n\n const historyEndDate = (row: EmployeeWorkAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart)\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.location'),\n render: (row: EmployeeWorkAddress) => {\n const lines = formatWorkAddressLines(row, companyLocations)\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{lines.primary}</Components.Text>\n <Components.Text variant=\"supporting\">{lines.secondary}</Components.Text>\n </Flex>\n )\n },\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeWorkAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeWorkAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeWorkAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditTargetUuidChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"work-address-history-empty\">\n <EmptyData\n icon={<ListIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditTargetUuidChange(undefined)\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const handleSave = async () => {\n if (!addressModal) {\n return\n }\n\n if (addressModal === 'edit') {\n const result = await editWorkAddressForm.actions.onSubmit(\n undefined,\n editShowsEffectiveDateField ? undefined : { effectiveDate: workAddress?.effectiveDate },\n )\n if (result) {\n onWorkAddressSaved(result)\n closeAddressModal()\n }\n return\n }\n\n const result = await changeWorkAddressForm.actions.onSubmit()\n if (result) {\n onWorkAddressSaved(result)\n closeAddressModal()\n }\n }\n\n const modalPending = addressModal === 'edit' ? editStatus.isPending : createStatus.isPending\n\n const currentLines = workAddress ? formatWorkAddressLines(workAddress, companyLocations) : null\n const currentLocation =\n workAddress && companyLocations ? resolveLocation(workAddress, companyLocations) : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={8} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n workAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditTargetUuidChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditTargetUuidChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {workAddress && currentLines ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n {currentLocation ? (\n <>\n <Components.Text weight=\"medium\">\n {getStreet(currentLocation).trim()}\n </Components.Text>\n <Components.Text weight=\"medium\">\n {getCityStateZip(currentLocation)}\n </Components.Text>\n </>\n ) : (\n <>\n <Components.Text weight=\"medium\">{currentLines.primary}</Components.Text>\n <Components.Text weight=\"medium\">{currentLines.secondary}</Components.Text>\n </>\n )}\n </FlexItem>\n {workAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(workAddress.effectiveDate),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{t('currentEmpty')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingWorkAddressLine(pendingFutureAddress, companyLocations),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate)\n : '—',\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\">{t('historySectionTitle')}</Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button variant=\"secondary\" onClick={closeAddressModal}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('changeModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('changeModalDescription')}\n </Components.Text>\n {addressModal === 'edit' && editShowsEffectiveDateField ? (\n <Components.Alert status=\"warning\" label={t('editPastAddressAlertTitle')} />\n ) : null}\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editWorkAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <LocationField\n label={\n editShowsEffectiveDateField\n ? t('form.editInactiveLocationLabel')\n : t('form.editLocationLabel')\n }\n description={t('form.editLocationDescription')}\n validationMessages={locationValidation}\n portalContainer={addressModalPortal}\n />\n {editShowsEffectiveDateField ? (\n <EffectiveDateField\n label={t('form.startDateLabel')}\n description={t('form.editInactiveStartDateDescription')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={changeWorkAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <LocationField\n label={t('form.newWorkAddressLabel')}\n description={t('form.newWorkAddressDescription')}\n validationMessages={locationValidation}\n portalContainer={addressModalPortal}\n />\n <EffectiveDateField\n label={t('form.startDateLabel')}\n description={t('form.startDateDescription')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending && deleteConfirmUuid !== null}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingWorkAddressLine(addressForDeleteModal, companyLocations),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["resolveLocation","row","companyLocations","loc","formatWorkAddressLines","location","street","getStreet","locality","getCityStateZip","WorkAddressView","editWorkAddressForm","changeWorkAddressForm","workAddresses","editTargetUuid","onEditTargetUuidChange","employeeDisplayName","onConfirmDelete","onWorkAddressSaved","isDeletePending","useTranslation","Components","useComponentContext","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","workAddress","editStatus","editFormFields","editShowsEffectiveDateField","createStatus","locationValidation","WorkAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureWorkAddress","addressForDeleteModal","a","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","historyAddresses","address","sortedHistory","historyEndDate","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","lines","jsxs","Flex","jsx","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","ListIcon","closeAddressModal","handleDeleteModalConfirm","handleSave","result","modalPending","currentLines","currentLocation","FlexItem","Fragment","formatPendingWorkAddressLine","DataView","SDKFormProvider","Grid","LocationField","EffectiveDateField","Trans"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Location } from '@gusto/embedded-api/models/components/location';
|
|
2
|
+
import { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress';
|
|
3
|
+
export declare function getPendingFutureWorkAddress(addresses: EmployeeWorkAddress[] | undefined, now?: Date): EmployeeWorkAddress | undefined;
|
|
4
|
+
export declare function formatPendingWorkAddressLine(address: EmployeeWorkAddress, companyLocations: Location[] | undefined): string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { normalizeToDate as a } from "../../../../helpers/dateFormatting.js";
|
|
2
|
+
import { addressInline as u } from "../../../../helpers/formattedStrings.js";
|
|
3
|
+
const l = (t) => new Date(t.getFullYear(), t.getMonth(), t.getDate());
|
|
4
|
+
function D(t, r = /* @__PURE__ */ new Date()) {
|
|
5
|
+
if (!t?.length)
|
|
6
|
+
return;
|
|
7
|
+
const f = l(r), i = t.filter((n) => {
|
|
8
|
+
if (n.active === !0)
|
|
9
|
+
return !1;
|
|
10
|
+
const e = n.effectiveDate;
|
|
11
|
+
if (!e)
|
|
12
|
+
return !1;
|
|
13
|
+
const o = a(e);
|
|
14
|
+
return o ? l(o) > f : !1;
|
|
15
|
+
});
|
|
16
|
+
if (i.length !== 0)
|
|
17
|
+
return i.sort((n, e) => {
|
|
18
|
+
const o = n.effectiveDate ?? "", c = e.effectiveDate ?? "";
|
|
19
|
+
return o.localeCompare(c);
|
|
20
|
+
}), i[0];
|
|
21
|
+
}
|
|
22
|
+
function m(t, r) {
|
|
23
|
+
if (t.locationUuid && r?.length) {
|
|
24
|
+
const e = r.find((o) => o.uuid === t.locationUuid);
|
|
25
|
+
if (e)
|
|
26
|
+
return u(e);
|
|
27
|
+
}
|
|
28
|
+
const f = [t.street1, t.street2].filter(Boolean).join(", "), i = [t.city, [t.state, t.zip].filter(Boolean).join(" ")].filter(Boolean).join(", "), n = t.country.trim();
|
|
29
|
+
return [f, i, n].filter(Boolean).join(", ");
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
m as formatPendingWorkAddressLine,
|
|
33
|
+
D as getPendingFutureWorkAddress
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=getPendingFutureWorkAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPendingFutureWorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.ts"],"sourcesContent":["import type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\nimport { addressInline } from '@/helpers/formattedStrings'\n\nconst startOfLocalDay = (d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate())\n\nexport function getPendingFutureWorkAddress(\n addresses: EmployeeWorkAddress[] | undefined,\n now: Date = new Date(),\n): EmployeeWorkAddress | undefined {\n if (!addresses?.length) {\n return undefined\n }\n\n const todayStart = startOfLocalDay(now)\n\n const pending = addresses.filter(address => {\n if (address.active === true) {\n return false\n }\n const raw = address.effectiveDate\n if (!raw) {\n return false\n }\n const parsed = normalizeToDate(raw)\n if (!parsed) {\n return false\n }\n return startOfLocalDay(parsed) > todayStart\n })\n\n if (pending.length === 0) {\n return undefined\n }\n\n pending.sort((a, b) => {\n const as = a.effectiveDate ?? ''\n const bs = b.effectiveDate ?? ''\n return as.localeCompare(bs)\n })\n\n return pending[0]\n}\n\nexport function formatPendingWorkAddressLine(\n address: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): string {\n if (address.locationUuid && companyLocations?.length) {\n const location = companyLocations.find(loc => loc.uuid === address.locationUuid)\n if (location) {\n return addressInline(location)\n }\n }\n const streetLine = [address.street1, address.street2].filter(Boolean).join(', ')\n const cityStateZip = [address.city, [address.state, address.zip].filter(Boolean).join(' ')]\n .filter(Boolean)\n .join(', ')\n const country = address.country.trim()\n return [streetLine, cityStateZip, country].filter(Boolean).join(', ')\n}\n"],"names":["startOfLocalDay","d","getPendingFutureWorkAddress","addresses","now","todayStart","pending","address","raw","parsed","normalizeToDate","a","b","as","bs","formatPendingWorkAddressLine","companyLocations","location","loc","addressInline","streetLine","cityStateZip","country"],"mappings":";;AAKA,MAAMA,IAAkB,CAACC,MAAY,IAAI,KAAKA,EAAE,eAAeA,EAAE,SAAA,GAAYA,EAAE,SAAS;AAEjF,SAASC,EACdC,GACAC,IAAY,oBAAI,QACiB;AACjC,MAAI,CAACD,GAAW;AACd;AAGF,QAAME,IAAaL,EAAgBI,CAAG,GAEhCE,IAAUH,EAAU,OAAO,CAAAI,MAAW;AAC1C,QAAIA,EAAQ,WAAW;AACrB,aAAO;AAET,UAAMC,IAAMD,EAAQ;AACpB,QAAI,CAACC;AACH,aAAO;AAET,UAAMC,IAASC,EAAgBF,CAAG;AAClC,WAAKC,IAGET,EAAgBS,CAAM,IAAIJ,IAFxB;AAAA,EAGX,CAAC;AAED,MAAIC,EAAQ,WAAW;AAIvB,WAAAA,EAAQ,KAAK,CAACK,GAAGC,MAAM;AACrB,YAAMC,IAAKF,EAAE,iBAAiB,IACxBG,IAAKF,EAAE,iBAAiB;AAC9B,aAAOC,EAAG,cAAcC,CAAE;AAAA,IAC5B,CAAC,GAEMR,EAAQ,CAAC;AAClB;AAEO,SAASS,EACdR,GACAS,GACQ;AACR,MAAIT,EAAQ,gBAAgBS,GAAkB,QAAQ;AACpD,UAAMC,IAAWD,EAAiB,KAAK,OAAOE,EAAI,SAASX,EAAQ,YAAY;AAC/E,QAAIU;AACF,aAAOE,EAAcF,CAAQ;AAAA,EAEjC;AACA,QAAMG,IAAa,CAACb,EAAQ,SAASA,EAAQ,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GACzEc,IAAe,CAACd,EAAQ,MAAM,CAACA,EAAQ,OAAOA,EAAQ,GAAG,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC,EACvF,OAAO,OAAO,EACd,KAAK,IAAI,GACNe,IAAUf,EAAQ,QAAQ,KAAA;AAChC,SAAO,CAACa,GAAYC,GAAcC,CAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AACtE;"}
|