@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayScheduleForm.js","sources":["../../../../src/components/Company/PaySchedule/PayScheduleForm.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { usePayScheduleForm } from './shared/usePayScheduleForm'\nimport type { UsePayScheduleFormProps, PayScheduleFrequency } from './shared/usePayScheduleForm'\nimport style from './PayScheduleForm.module.scss'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { Form } from '@/components/Common/Form'\nimport { Flex, Grid, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\ninterface PayScheduleFormProps extends UsePayScheduleFormProps {\n onEvent: OnEventType<EventType, unknown>\n}\n\nexport function PayScheduleForm({ onEvent, ...hookProps }: PayScheduleFormProps) {\n return (\n <BaseBoundaries componentName=\"Company.PayScheduleForm\">\n <PayScheduleFormRoot onEvent={onEvent} {...hookProps} />\n </BaseBoundaries>\n )\n}\n\nfunction PayScheduleFormRoot({ onEvent, ...hookProps }: PayScheduleFormProps) {\n const { t } = useTranslation('Company.PaySchedule')\n const Components = useComponentContext()\n const dateFormatter = useDateFormatter()\n const paySchedule = usePayScheduleForm(hookProps)\n const [selectedPayPeriodIndex, setSelectedPayPeriodIndex] = useState(0)\n\n if (paySchedule.isLoading) {\n return <BaseLayout isLoading error={paySchedule.errorHandling.errors} />\n }\n\n const handleSubmit = async () => {\n const result = await paySchedule.actions.onSubmit()\n if (result) {\n onEvent(\n result.mode === 'create'\n ? componentEvents.PAY_SCHEDULE_CREATED\n : componentEvents.PAY_SCHEDULE_UPDATED,\n { paySchedule: result.data },\n )\n }\n }\n\n const { Fields } = paySchedule.form\n const { paymentSpeedDays, payPreviewLoading } = paySchedule.data\n const payPeriodPreview = paySchedule.data.payPeriodPreview\n\n const frequencyLabels: Record<PayScheduleFrequency, string> = {\n 'Every week': t('frequencies.everyWeek'),\n 'Every other week': t('frequencies.everyOtherWeek'),\n 'Twice per month': t('frequencies.twicePerMonth'),\n Monthly: t('frequencies.monthly'),\n }\n\n const twicePerMonthLabels: Record<string, string> = {\n '1st15th': t('frequencyOptions.15thAndLast'),\n custom: t('frequencyOptions.custom'),\n }\n\n return (\n <BaseLayout error={paySchedule.errorHandling.errors}>\n <SDKFormProvider formHookResult={paySchedule}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\">\n <Flex justifyContent=\"space-between\" flexDirection=\"column\" gap={4}>\n <header>\n <Components.Heading as=\"h2\">\n {paySchedule.status.mode === 'create'\n ? t('headings.addPaySchedule')\n : t('headings.editPaySchedule')}\n </Components.Heading>\n </header>\n </Flex>\n <div className={style.payScheduleContainer}>\n <Grid gap={32} gridTemplateColumns={{ base: '1fr', small: '1fr 1fr' }}>\n <div className={style.payScheduleForm}>\n <Flex flexDirection=\"column\">\n <Fields.CustomName\n label={t('labels.name')}\n validationMessages={{ REQUIRED: t('validations.name') }}\n />\n <Fields.Frequency\n label={t('labels.frequency')}\n getOptionLabel={(entry: PayScheduleFrequency) => frequencyLabels[entry]}\n validationMessages={{ REQUIRED: t('validations.frequency') }}\n />\n {Fields.CustomTwicePerMonth && (\n <Fields.CustomTwicePerMonth\n label={t('labels.frequencyOptions')}\n description={t('descriptions.frequencyOptionsDescription')}\n getOptionLabel={(entry: string) => twicePerMonthLabels[entry] ?? entry}\n />\n )}\n <Fields.AnchorPayDate\n label={t('labels.firstPayDate')}\n description={t('descriptions.anchorPayDateDescription', {\n count: paymentSpeedDays,\n })}\n validationMessages={{ REQUIRED: t('validations.firstPayDate') }}\n minDate={new Date()}\n />\n <Fields.AnchorEndOfPayPeriod\n label={t('labels.firstPayPeriodEndDate')}\n description={t('descriptions.anchorEndOfPayPeriodDescription')}\n validationMessages={{ REQUIRED: t('validations.firstPayPeriodEndDate') }}\n />\n {Fields.Day1 && (\n <Fields.Day1\n label={t('labels.firstPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.firstPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n {Fields.Day2 && (\n <Fields.Day2\n label={t('labels.lastPayDayOfTheMonth')}\n validationMessages={{\n REQUIRED: t('validations.lastPayDayOfTheMonth'),\n DAY_RANGE: t('validations.dayRange'),\n }}\n />\n )}\n </Flex>\n </div>\n <Flex flexDirection=\"column\" gap={4} justifyContent=\"center\" alignItems=\"center\">\n {payPeriodPreview && payPeriodPreview[selectedPayPeriodIndex] ? (\n <div className={style.calendarContainer}>\n {!payPreviewLoading && (\n <Components.Select\n label={t('labels.preview')}\n isRequired\n options={payPeriodPreview.map((period, index) => ({\n value: String(index),\n label: dateFormatter.formatPayPeriodRange(\n period.startDate.toString(),\n period.endDate.toString(),\n ),\n }))}\n value={String(selectedPayPeriodIndex)}\n onChange={(value: string) => {\n const numericValue = Number(value)\n if (!isNaN(numericValue)) {\n setSelectedPayPeriodIndex(numericValue)\n }\n }}\n />\n )}\n <Components.CalendarPreview\n key={selectedPayPeriodIndex}\n dateRange={{\n start: new Date(\n payPeriodPreview[selectedPayPeriodIndex].startDate.toString(),\n ),\n end: new Date(\n payPeriodPreview[selectedPayPeriodIndex].endDate.toString(),\n ),\n label: t('payPreview.payPeriod') || 'Pay Period',\n }}\n highlightDates={[\n {\n date: new Date(\n payPeriodPreview[selectedPayPeriodIndex].checkDate.toString(),\n ),\n highlightColor: 'primary',\n label: t('payPreview.payday') || 'Payday',\n },\n {\n date: new Date(\n payPeriodPreview[selectedPayPeriodIndex].runPayrollBy.toString(),\n ),\n highlightColor: 'secondary',\n label: t('payPreview.payrollDeadline') || 'Payroll Deadline',\n },\n ]}\n />\n </div>\n ) : (\n <div className={style.calendarContainer}>\n <Components.Alert\n status=\"info\"\n label={t('previewAlert.title', 'Pay Schedule Preview')}\n >\n <Components.Text>\n {t(\n 'previewAlert.description',\n 'Complete all the required fields on the left to see a preview of your pay schedule.',\n )}\n </Components.Text>\n </Components.Alert>\n </div>\n )}\n </Flex>\n </Grid>\n </div>\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n >\n {t('actions.cancel')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={paySchedule.status.isPending}>\n {t('actions.save')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["PayScheduleForm","onEvent","hookProps","jsx","BaseBoundaries","PayScheduleFormRoot","t","useTranslation","Components","useComponentContext","dateFormatter","useDateFormatter","paySchedule","usePayScheduleForm","selectedPayPeriodIndex","setSelectedPayPeriodIndex","useState","BaseLayout","handleSubmit","result","componentEvents","Fields","paymentSpeedDays","payPreviewLoading","payPeriodPreview","frequencyLabels","twicePerMonthLabels","SDKFormProvider","Form","jsxs","Flex","style","Grid","entry","period","index","value","numericValue","ActionsLayout"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const e = "_payScheduleContainer_1glwl_1", a = "_payScheduleForm_1glwl_5", n = "_calendarContainer_1glwl_9", l = {
|
|
2
|
+
payScheduleContainer: e,
|
|
3
|
+
payScheduleForm: a,
|
|
4
|
+
calendarContainer: n
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
n as calendarContainer,
|
|
8
|
+
l as default,
|
|
9
|
+
e as payScheduleContainer,
|
|
10
|
+
a as payScheduleForm
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=PayScheduleForm.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayScheduleForm.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EventType } from '../../../shared/constants';
|
|
2
|
+
import { OnEventType } from '../../Base/useBase';
|
|
3
|
+
interface PayScheduleListProps {
|
|
4
|
+
companyId: string;
|
|
5
|
+
onEvent: OnEventType<EventType, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export declare function PayScheduleList({ companyId, onEvent }: PayScheduleListProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as f, Trans as m } from "react-i18next";
|
|
3
|
+
import { usePaySchedulesGetAllSuspense as S } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
|
|
4
|
+
import d from "./PayScheduleList.module.scss.js";
|
|
5
|
+
import { Flex as o } from "../../Common/Flex/Flex.js";
|
|
6
|
+
import { ActionsLayout as C } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
+
import L from "../../../assets/icons/pencil.svg.js";
|
|
8
|
+
import { useComponentContext as g } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
|
+
import { componentEvents as s } from "../../../shared/constants.js";
|
|
10
|
+
import { VisuallyHidden as D } from "../../Common/VisuallyHidden/VisuallyHidden.js";
|
|
11
|
+
import { HamburgerMenu as v } from "../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
12
|
+
import { useDataView as P } from "../../Common/DataView/useDataView.js";
|
|
13
|
+
import { DataView as x } from "../../Common/DataView/DataView.js";
|
|
14
|
+
function Y({ companyId: u, onEvent: c }) {
|
|
15
|
+
const { t } = f("Company.PaySchedule"), i = g(), { data: p } = S({ companyId: u }), h = P({
|
|
16
|
+
data: p.paySchedules || [],
|
|
17
|
+
columns: [
|
|
18
|
+
{
|
|
19
|
+
title: t("payScheduleList.name"),
|
|
20
|
+
key: "customName",
|
|
21
|
+
render: (n) => {
|
|
22
|
+
const l = !!n.name;
|
|
23
|
+
let a = l ? n.name : n.customName;
|
|
24
|
+
a && a.length > 1 ? a = a.charAt(0).toUpperCase() + a.slice(1) : a = n.customName;
|
|
25
|
+
const y = n.customName;
|
|
26
|
+
return /* @__PURE__ */ e(o, { flexDirection: "column", gap: 0, children: /* @__PURE__ */ r("div", { className: d.content, children: [
|
|
27
|
+
/* @__PURE__ */ e("div", { children: a }),
|
|
28
|
+
l && /* @__PURE__ */ e("div", { children: y })
|
|
29
|
+
] }) });
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
title: /* @__PURE__ */ e(D, { children: t("payScheduleList.active") }),
|
|
34
|
+
key: "active",
|
|
35
|
+
render: (n) => /* @__PURE__ */ e(o, { alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ e("div", { className: d.content, children: n.active ? /* @__PURE__ */ e(i.Badge, { status: "success", children: t("payScheduleList.active") }) : /* @__PURE__ */ e(i.Badge, { status: "info", children: t("payScheduleList.inactive") }) }) })
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
itemMenu: (n) => /* @__PURE__ */ e(
|
|
39
|
+
v,
|
|
40
|
+
{
|
|
41
|
+
triggerLabel: "Actions",
|
|
42
|
+
items: [
|
|
43
|
+
{
|
|
44
|
+
label: t("payScheduleList.edit"),
|
|
45
|
+
onClick: () => {
|
|
46
|
+
c(s.PAY_SCHEDULE_UPDATE, { uuid: n.uuid });
|
|
47
|
+
},
|
|
48
|
+
icon: /* @__PURE__ */ e(L, { "aria-hidden": !0 })
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
});
|
|
54
|
+
return /* @__PURE__ */ r(o, { flexDirection: "column", children: [
|
|
55
|
+
/* @__PURE__ */ e(o, { justifyContent: "space-between", flexDirection: "column", gap: 4, children: /* @__PURE__ */ r("header", { children: [
|
|
56
|
+
/* @__PURE__ */ e(i.Heading, { as: "h2", children: t("headings.pageTitle") }),
|
|
57
|
+
/* @__PURE__ */ e(i.Text, { children: /* @__PURE__ */ e(
|
|
58
|
+
m,
|
|
59
|
+
{
|
|
60
|
+
i18nKey: "listDescription",
|
|
61
|
+
t,
|
|
62
|
+
components: { ScheduleLink: /* @__PURE__ */ e(i.Link, {}) }
|
|
63
|
+
}
|
|
64
|
+
) }),
|
|
65
|
+
/* @__PURE__ */ e(i.Text, { children: /* @__PURE__ */ e(
|
|
66
|
+
m,
|
|
67
|
+
{
|
|
68
|
+
i18nKey: "listDescription2",
|
|
69
|
+
t,
|
|
70
|
+
components: { PaymentLawLink: /* @__PURE__ */ e(i.Link, {}) }
|
|
71
|
+
}
|
|
72
|
+
) })
|
|
73
|
+
] }) }),
|
|
74
|
+
/* @__PURE__ */ e(x, { label: "test", ...h }),
|
|
75
|
+
/* @__PURE__ */ r(C, { children: [
|
|
76
|
+
/* @__PURE__ */ e(
|
|
77
|
+
i.Button,
|
|
78
|
+
{
|
|
79
|
+
variant: "secondary",
|
|
80
|
+
onClick: () => {
|
|
81
|
+
c(s.PAY_SCHEDULE_CREATE);
|
|
82
|
+
},
|
|
83
|
+
children: t("addAnotherPayScheduleCta")
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ e(
|
|
87
|
+
i.Button,
|
|
88
|
+
{
|
|
89
|
+
variant: "primary",
|
|
90
|
+
onClick: () => {
|
|
91
|
+
c(s.PAY_SCHEDULE_DONE);
|
|
92
|
+
},
|
|
93
|
+
children: t("continueCta")
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
] })
|
|
97
|
+
] });
|
|
98
|
+
}
|
|
99
|
+
export {
|
|
100
|
+
Y as PayScheduleList
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=PayScheduleList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayScheduleList.js","sources":["../../../../src/components/Company/PaySchedule/PayScheduleList.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport styles from './PayScheduleList.module.scss'\nimport { useDataView, DataView, Flex, VisuallyHidden, ActionsLayout } from '@/components/Common'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\ninterface PayScheduleListProps {\n companyId: string\n onEvent: OnEventType<EventType, unknown>\n}\n\nexport function PayScheduleList({ companyId, onEvent }: PayScheduleListProps) {\n const { t } = useTranslation('Company.PaySchedule')\n const Components = useComponentContext()\n\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({ companyId })\n\n const dataViewProps = useDataView({\n data: paySchedules.paySchedules || [],\n columns: [\n {\n title: t('payScheduleList.name'),\n key: 'customName',\n render: schedule => {\n const hasName = !!schedule.name\n let displayName = hasName ? schedule.name : schedule.customName\n if (displayName && displayName.length > 1) {\n displayName = displayName.charAt(0).toUpperCase() + displayName.slice(1)\n } else {\n displayName = schedule.customName\n }\n const displayFrequency = schedule.customName\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <div className={styles.content}>\n <div>{displayName}</div>\n {hasName && <div>{displayFrequency}</div>}\n </div>\n </Flex>\n )\n },\n },\n {\n title: <VisuallyHidden>{t('payScheduleList.active')}</VisuallyHidden>,\n key: 'active',\n render: schedule => (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <div className={styles.content}>\n {schedule.active ? (\n <Components.Badge status=\"success\">{t('payScheduleList.active')}</Components.Badge>\n ) : (\n <Components.Badge status=\"info\">{t('payScheduleList.inactive')}</Components.Badge>\n )}\n </div>\n </Flex>\n ),\n },\n ],\n itemMenu: schedule => (\n <HamburgerMenu\n triggerLabel=\"Actions\"\n items={[\n {\n label: t('payScheduleList.edit'),\n onClick: () => {\n onEvent(componentEvents.PAY_SCHEDULE_UPDATE, { uuid: schedule.uuid })\n },\n icon: <PencilSvg aria-hidden />,\n },\n ]}\n />\n ),\n })\n\n return (\n <Flex flexDirection=\"column\">\n <Flex justifyContent=\"space-between\" flexDirection=\"column\" gap={4}>\n <header>\n <Components.Heading as=\"h2\">{t('headings.pageTitle')}</Components.Heading>\n <Components.Text>\n <Trans\n i18nKey=\"listDescription\"\n t={t}\n components={{ ScheduleLink: <Components.Link /> }}\n />\n </Components.Text>\n <Components.Text>\n <Trans\n i18nKey=\"listDescription2\"\n t={t}\n components={{ PaymentLawLink: <Components.Link /> }}\n />\n </Components.Text>\n </header>\n </Flex>\n <DataView label=\"test\" {...dataViewProps} />\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.PAY_SCHEDULE_CREATE)\n }}\n >\n {t('addAnotherPayScheduleCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n onEvent(componentEvents.PAY_SCHEDULE_DONE)\n }}\n >\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n )\n}\n"],"names":["PayScheduleList","companyId","onEvent","useTranslation","Components","useComponentContext","paySchedules","usePaySchedulesGetAllSuspense","dataViewProps","useDataView","schedule","hasName","displayName","displayFrequency","jsx","Flex","jsxs","styles","VisuallyHidden","HamburgerMenu","componentEvents","PencilSvg","Trans","DataView","ActionsLayout"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayScheduleList.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { state as o, transition as e, reduce as l } from "robot3";
|
|
2
|
+
import { PayScheduleFormContextual as S, PayScheduleListContextual as E } from "./PayScheduleComponents.js";
|
|
3
|
+
import { componentEvents as d } from "../../../shared/constants.js";
|
|
4
|
+
const c = l(
|
|
5
|
+
(t) => ({
|
|
6
|
+
...t,
|
|
7
|
+
component: E,
|
|
8
|
+
payScheduleId: void 0
|
|
9
|
+
})
|
|
10
|
+
), a = {
|
|
11
|
+
listSchedules: o(
|
|
12
|
+
e(
|
|
13
|
+
d.PAY_SCHEDULE_CREATE,
|
|
14
|
+
"addSchedule",
|
|
15
|
+
l(
|
|
16
|
+
(t) => ({
|
|
17
|
+
...t,
|
|
18
|
+
component: S,
|
|
19
|
+
payScheduleId: void 0
|
|
20
|
+
})
|
|
21
|
+
)
|
|
22
|
+
),
|
|
23
|
+
e(
|
|
24
|
+
d.PAY_SCHEDULE_UPDATE,
|
|
25
|
+
"editSchedule",
|
|
26
|
+
l(
|
|
27
|
+
(t, u) => ({
|
|
28
|
+
...t,
|
|
29
|
+
component: S,
|
|
30
|
+
payScheduleId: u.payload.uuid
|
|
31
|
+
})
|
|
32
|
+
)
|
|
33
|
+
),
|
|
34
|
+
e(d.PAY_SCHEDULE_DONE, "done")
|
|
35
|
+
),
|
|
36
|
+
addSchedule: o(
|
|
37
|
+
e(d.PAY_SCHEDULE_CREATED, "listSchedules", c),
|
|
38
|
+
e(d.CANCEL, "listSchedules", c)
|
|
39
|
+
),
|
|
40
|
+
editSchedule: o(
|
|
41
|
+
e(d.PAY_SCHEDULE_UPDATED, "listSchedules", c),
|
|
42
|
+
e(d.CANCEL, "listSchedules", c)
|
|
43
|
+
),
|
|
44
|
+
done: o()
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
a as payScheduleStateMachine
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=payScheduleStateMachine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payScheduleStateMachine.js","sources":["../../../../src/components/Company/PaySchedule/payScheduleStateMachine.ts"],"sourcesContent":["import { reduce, state, state as final, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type { PayScheduleContextInterface } from './PayScheduleComponents'\nimport { PayScheduleFormContextual, PayScheduleListContextual } from './PayScheduleComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\ntype EventPayloads = {\n [componentEvents.PAY_SCHEDULE_UPDATE]: { uuid: string }\n [componentEvents.PAY_SCHEDULE_CREATED]: undefined\n [componentEvents.PAY_SCHEDULE_UPDATED]: undefined\n}\n\nconst toList = reduce(\n (ctx: PayScheduleContextInterface): PayScheduleContextInterface => ({\n ...ctx,\n component: PayScheduleListContextual as ComponentType,\n payScheduleId: undefined,\n }),\n)\n\nexport const payScheduleStateMachine = {\n listSchedules: state<MachineTransition>(\n transition(\n componentEvents.PAY_SCHEDULE_CREATE,\n 'addSchedule',\n reduce(\n (ctx: PayScheduleContextInterface): PayScheduleContextInterface => ({\n ...ctx,\n component: PayScheduleFormContextual as ComponentType,\n payScheduleId: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.PAY_SCHEDULE_UPDATE,\n 'editSchedule',\n reduce(\n (\n ctx: PayScheduleContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.PAY_SCHEDULE_UPDATE>,\n ): PayScheduleContextInterface => ({\n ...ctx,\n component: PayScheduleFormContextual as ComponentType,\n payScheduleId: ev.payload.uuid,\n }),\n ),\n ),\n transition(componentEvents.PAY_SCHEDULE_DONE, 'done'),\n ),\n addSchedule: state<MachineTransition>(\n transition(componentEvents.PAY_SCHEDULE_CREATED, 'listSchedules', toList),\n transition(componentEvents.CANCEL, 'listSchedules', toList),\n ),\n editSchedule: state<MachineTransition>(\n transition(componentEvents.PAY_SCHEDULE_UPDATED, 'listSchedules', toList),\n transition(componentEvents.CANCEL, 'listSchedules', toList),\n ),\n done: final(),\n}\n"],"names":["toList","reduce","ctx","PayScheduleListContextual","payScheduleStateMachine","state","transition","componentEvents","PayScheduleFormContextual","ev","final"],"mappings":";;;AAaA,MAAMA,IAASC;AAAA,EACb,CAACC,OAAmE;AAAA,IAClE,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,eAAe;AAAA,EAAA;AAEnB,GAEaC,IAA0B;AAAA,EACrC,eAAeC;AAAA,IACbC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAN;AAAA,QACE,CAACC,OAAmE;AAAA,UAClE,GAAGA;AAAA,UACH,WAAWM;AAAA,UACX,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,IACF;AAAA,IAEFF;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAN;AAAA,QACE,CACEC,GACAO,OACiC;AAAA,UACjC,GAAGP;AAAA,UACH,WAAWM;AAAA,UACX,eAAeC,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC5B;AAAA,IACF;AAAA,IAEFH,EAAWC,EAAgB,mBAAmB,MAAM;AAAA,EAAA;AAAA,EAEtD,aAAaF;AAAA,IACXC,EAAWC,EAAgB,sBAAsB,iBAAiBP,CAAM;AAAA,IACxEM,EAAWC,EAAgB,QAAQ,iBAAiBP,CAAM;AAAA,EAAA;AAAA,EAE5D,cAAcK;AAAA,IACZC,EAAWC,EAAgB,sBAAsB,iBAAiBP,CAAM;AAAA,IACxEM,EAAWC,EAAgB,QAAQ,iBAAiBP,CAAM;AAAA,EAAA;AAAA,EAE5D,MAAMU,EAAA;AACR;"}
|
package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { UseFormProps } from 'react-hook-form';
|
|
|
2
2
|
import { PaySchedule } from '@gusto/embedded-api/models/components/payschedule';
|
|
3
3
|
import { PaySchedulePreviewPayPeriod } from '@gusto/embedded-api/models/components/payschedulepreviewpayperiod';
|
|
4
4
|
import { PayScheduleOptionalFieldsToRequire, PayScheduleFormData } from './payScheduleSchema';
|
|
5
|
+
import { CustomNameField, FrequencyField, CustomTwicePerMonthField, AnchorPayDateField, AnchorEndOfPayPeriodField, Day1Field, Day2Field } from './fields';
|
|
5
6
|
import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
|
|
6
7
|
export type { PayScheduleOptionalFieldsToRequire } from './payScheduleSchema';
|
|
7
8
|
export interface UsePayScheduleFormProps {
|
|
@@ -12,7 +13,16 @@ export interface UsePayScheduleFormProps {
|
|
|
12
13
|
validationMode?: UseFormProps['mode'];
|
|
13
14
|
shouldFocusError?: boolean;
|
|
14
15
|
}
|
|
15
|
-
export interface
|
|
16
|
+
export interface PayScheduleFields {
|
|
17
|
+
CustomName: typeof CustomNameField;
|
|
18
|
+
Frequency: typeof FrequencyField;
|
|
19
|
+
CustomTwicePerMonth: typeof CustomTwicePerMonthField | undefined;
|
|
20
|
+
AnchorPayDate: typeof AnchorPayDateField;
|
|
21
|
+
AnchorEndOfPayPeriod: typeof AnchorEndOfPayPeriodField;
|
|
22
|
+
Day1: typeof Day1Field | undefined;
|
|
23
|
+
Day2: typeof Day2Field | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface UsePayScheduleFormReady extends BaseFormHookReady<FieldsMetadata, PayScheduleFormData, PayScheduleFields> {
|
|
16
26
|
data: {
|
|
17
27
|
paySchedule: PaySchedule | null;
|
|
18
28
|
payPeriodPreview: PaySchedulePreviewPayPeriod[] | null;
|
package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayScheduleForm.js","sources":["../../../../../../src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { PaySchedule } from '@gusto/embedded-api/models/components/payschedule'\nimport type { PaySchedulePreviewPayPeriod } from '@gusto/embedded-api/models/components/payschedulepreviewpayperiod'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport { usePaySchedulesGetPreview } from '@gusto/embedded-api/react-query/paySchedulesGetPreview'\nimport { usePaySchedulesCreateMutation } from '@gusto/embedded-api/react-query/paySchedulesCreate'\nimport { usePaySchedulesUpdateMutation } from '@gusto/embedded-api/react-query/paySchedulesUpdate'\nimport { usePaymentConfigsGet } from '@gusto/embedded-api/react-query/paymentConfigsGet'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createPayScheduleSchema,\n type PayScheduleOptionalFieldsToRequire,\n type PayScheduleFormData,\n type PayScheduleFormOutputs,\n type PayScheduleFrequency,\n} from './payScheduleSchema'\nimport {\n CustomNameField,\n FrequencyField,\n CustomTwicePerMonthField,\n AnchorPayDateField,\n AnchorEndOfPayPeriodField,\n Day1Field,\n Day2Field,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { parsePaymentSpeedDays } from '@/hooks/useCompanyPaymentSpeed'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\n\nexport type { PayScheduleOptionalFieldsToRequire } from './payScheduleSchema'\n\nexport interface UsePayScheduleFormProps {\n companyId: string\n payScheduleId?: string\n optionalFieldsToRequire?: PayScheduleOptionalFieldsToRequire\n defaultValues?: Partial<PayScheduleFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface UsePayScheduleFormReady extends BaseFormHookReady<\n FieldsMetadata,\n PayScheduleFormData\n> {\n data: {\n paySchedule: PaySchedule | null\n payPeriodPreview: PaySchedulePreviewPayPeriod[] | null\n payPreviewLoading: boolean\n paymentSpeedDays: number | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<PaySchedule> | undefined>\n }\n}\n\nconst FREQUENCY_OPTIONS: Array<{ value: PayScheduleFrequency; label: string }> = [\n { value: 'Every week', label: 'Every week' },\n { value: 'Every other week', label: 'Every other week' },\n { value: 'Twice per month', label: 'Twice per month' },\n { value: 'Monthly', label: 'Monthly' },\n]\n\nconst FREQUENCY_ENTRIES: PayScheduleFrequency[] = FREQUENCY_OPTIONS.map(o => o.value)\n\nconst TWICE_PER_MONTH_OPTIONS = [\n { value: '1st15th', label: '15th and Last day of the month' },\n { value: 'custom', label: 'Custom' },\n]\n\nconst TWICE_PER_MONTH_ENTRIES = TWICE_PER_MONTH_OPTIONS.map(o => o.value)\n\nfunction formatWatchedDate(value: unknown): string {\n if (value instanceof Date) return formatDateToStringDate(value) || ''\n if (typeof value === 'string' && value) return value\n return ''\n}\n\nfunction deriveCustomTwicePerMonth(\n frequency: string | undefined,\n day1: number | undefined,\n day2: number | undefined,\n): string {\n if (frequency !== 'Twice per month') return ''\n if (day1 === 15 && day2 === 31) return '1st15th'\n return 'custom'\n}\n\nexport function usePayScheduleForm({\n companyId,\n payScheduleId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UsePayScheduleFormProps): HookLoadingResult | UsePayScheduleFormReady {\n const payScheduleQuery = usePaySchedulesGet(\n { companyId, payScheduleId: payScheduleId ?? '' },\n { enabled: !!payScheduleId },\n )\n\n const paymentConfigsQuery = usePaymentConfigsGet({ companyUuid: companyId })\n\n const currentPaySchedule = payScheduleQuery.data?.paySchedule ?? null\n const paymentSpeed = paymentConfigsQuery.data?.paymentConfigs?.paymentSpeed\n const paymentSpeedDays = parsePaymentSpeedDays(paymentSpeed)\n\n const isCreateMode = !currentPaySchedule\n const mode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () => createPayScheduleSchema({ mode, optionalFieldsToRequire }),\n [mode, optionalFieldsToRequire],\n )\n\n const resolvedDefaults: PayScheduleFormData = {\n customName: currentPaySchedule?.customName ?? partnerDefaults?.customName ?? '',\n frequency: (currentPaySchedule?.frequency ??\n partnerDefaults?.frequency ??\n 'Every week') as PayScheduleFrequency,\n customTwicePerMonth: deriveCustomTwicePerMonth(\n currentPaySchedule?.frequency ?? partnerDefaults?.frequency,\n currentPaySchedule?.day1 ?? partnerDefaults?.day1 ?? undefined,\n currentPaySchedule?.day2 ?? partnerDefaults?.day2 ?? undefined,\n ),\n anchorPayDate:\n currentPaySchedule?.anchorPayDate?.toString() ?? partnerDefaults?.anchorPayDate ?? null,\n anchorEndOfPayPeriod:\n currentPaySchedule?.anchorEndOfPayPeriod?.toString() ??\n partnerDefaults?.anchorEndOfPayPeriod ??\n null,\n day1: currentPaySchedule?.day1 ?? partnerDefaults?.day1 ?? NaN,\n day2: currentPaySchedule?.day2 ?? partnerDefaults?.day2 ?? NaN,\n }\n\n const formMethods = useForm<PayScheduleFormData, unknown, PayScheduleFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const watchedFrequency = useWatch({ control: formMethods.control, name: 'frequency' })\n const watchedCustomTwicePerMonth = useWatch({\n control: formMethods.control,\n name: 'customTwicePerMonth',\n })\n const watchedAnchorPayDate = useWatch({ control: formMethods.control, name: 'anchorPayDate' })\n const watchedAnchorEndOfPayPeriod = useWatch({\n control: formMethods.control,\n name: 'anchorEndOfPayPeriod',\n })\n const watchedDay1 = useWatch({ control: formMethods.control, name: 'day1' })\n const watchedDay2 = useWatch({ control: formMethods.control, name: 'day2' })\n\n useEffect(() => {\n if (watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === '1st15th') {\n formMethods.setValue('day1', 15)\n formMethods.setValue('day2', 31)\n }\n }, [watchedFrequency, watchedCustomTwicePerMonth, formMethods.setValue])\n\n const formattedAnchorPayDate = formatWatchedDate(watchedAnchorPayDate)\n const formattedAnchorEndOfPayPeriod = formatWatchedDate(watchedAnchorEndOfPayPeriod)\n\n const previewEnabled = Boolean(formattedAnchorPayDate && formattedAnchorEndOfPayPeriod)\n\n const previewQuery = usePaySchedulesGetPreview(\n {\n companyId,\n frequency: watchedFrequency,\n ...(formattedAnchorPayDate && { anchorPayDate: new RFCDate(formattedAnchorPayDate) }),\n ...(formattedAnchorEndOfPayPeriod && {\n anchorEndOfPayPeriod: new RFCDate(formattedAnchorEndOfPayPeriod),\n }),\n day1: watchedDay1 || undefined,\n day2: watchedDay2 || undefined,\n } as Parameters<typeof usePaySchedulesGetPreview>[0],\n { enabled: previewEnabled },\n )\n\n const payPeriodPreview: PaySchedulePreviewPayPeriod[] | undefined =\n previewQuery.data?.paySchedulePreview?.payPeriods\n const payPreviewLoading = previewQuery.isLoading && previewEnabled\n\n const createPayScheduleMutation = usePaySchedulesCreateMutation()\n const updatePayScheduleMutation = usePaySchedulesUpdateMutation()\n\n const isPending = createPayScheduleMutation.isPending || updatePayScheduleMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('PayScheduleForm')\n\n const queries = payScheduleId ? [payScheduleQuery, paymentConfigsQuery] : [paymentConfigsQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const showCustomTwicePerMonth = watchedFrequency === 'Twice per month'\n const showDay1 =\n watchedFrequency === 'Monthly' ||\n (watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === 'custom')\n const showDay2 = watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === 'custom'\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n customName: baseMetadata.customName,\n frequency: withOptions<PayScheduleFrequency>(\n baseMetadata.frequency,\n FREQUENCY_OPTIONS,\n FREQUENCY_ENTRIES,\n ),\n customTwicePerMonth: withOptions<string>(\n baseMetadata.customTwicePerMonth,\n TWICE_PER_MONTH_OPTIONS,\n TWICE_PER_MONTH_ENTRIES,\n ),\n anchorPayDate: baseMetadata.anchorPayDate,\n anchorEndOfPayPeriod: baseMetadata.anchorEndOfPayPeriod,\n day1: baseMetadata.day1,\n day2: baseMetadata.day2,\n }\n\n const onSubmit = async (): Promise<HookSubmitResult<PaySchedule> | undefined> => {\n let submitResult: HookSubmitResult<PaySchedule> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: PayScheduleFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const anchorPayDate = payload.anchorPayDate ?? ''\n const anchorEndOfPayPeriod = payload.anchorEndOfPayPeriod ?? ''\n\n if (isCreateMode) {\n const result = await createPayScheduleMutation.mutateAsync({\n request: {\n companyId,\n payScheduleCreateRequest: {\n frequency: payload.frequency,\n anchorPayDate: new RFCDate(anchorPayDate),\n anchorEndOfPayPeriod: new RFCDate(anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1 || undefined,\n day2: payload.day2 || undefined,\n },\n },\n })\n\n submitResult = { mode: 'create', data: result.paySchedule! }\n } else {\n const result = await updatePayScheduleMutation.mutateAsync({\n request: {\n payScheduleId: currentPaySchedule.uuid,\n companyId,\n payScheduleUpdateRequest: {\n frequency: payload.frequency,\n anchorPayDate: new RFCDate(anchorPayDate),\n anchorEndOfPayPeriod: new RFCDate(anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1 || undefined,\n day2: payload.day2 || undefined,\n version: currentPaySchedule.version!,\n },\n },\n })\n\n submitResult = { mode: 'update', data: result.paySchedule! }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const isDataLoading =\n paymentConfigsQuery.isLoading || (payScheduleId ? payScheduleQuery.isLoading : false)\n\n if (isDataLoading) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n paySchedule: currentPaySchedule,\n payPeriodPreview: payPeriodPreview ?? null,\n payPreviewLoading,\n paymentSpeedDays,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n CustomName: CustomNameField,\n Frequency: FrequencyField,\n CustomTwicePerMonth: showCustomTwicePerMonth ? CustomTwicePerMonthField : undefined,\n AnchorPayDate: AnchorPayDateField,\n AnchorEndOfPayPeriod: AnchorEndOfPayPeriodField,\n Day1: showDay1 ? Day1Field : undefined,\n Day2: showDay2 ? Day2Field : undefined,\n },\n fieldsMetadata,\n hookFormInternals: { formMethods },\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UsePayScheduleFormResult = HookLoadingResult | UsePayScheduleFormReady\nexport type PayScheduleFieldsMetadata = UsePayScheduleFormReady['form']['fieldsMetadata']\nexport type PayScheduleFormFields = UsePayScheduleFormReady['form']['Fields']\n"],"names":["FREQUENCY_OPTIONS","FREQUENCY_ENTRIES","o","TWICE_PER_MONTH_OPTIONS","TWICE_PER_MONTH_ENTRIES","formatWatchedDate","value","formatDateToStringDate","deriveCustomTwicePerMonth","frequency","day1","day2","usePayScheduleForm","companyId","payScheduleId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","payScheduleQuery","usePaySchedulesGet","paymentConfigsQuery","usePaymentConfigsGet","currentPaySchedule","paymentSpeed","paymentSpeedDays","parsePaymentSpeedDays","isCreateMode","mode","schema","metadataConfig","useMemo","createPayScheduleSchema","resolvedDefaults","formMethods","useForm","zodResolver","watchedFrequency","useWatch","watchedCustomTwicePerMonth","watchedAnchorPayDate","watchedAnchorEndOfPayPeriod","watchedDay1","watchedDay2","useEffect","formattedAnchorPayDate","formattedAnchorEndOfPayPeriod","previewEnabled","previewQuery","usePaySchedulesGetPreview","RFCDate","payPeriodPreview","payPreviewLoading","createPayScheduleMutation","usePaySchedulesCreateMutation","updatePayScheduleMutation","usePaySchedulesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","showCustomTwicePerMonth","showDay1","showDay2","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","submitResult","resolve","data","payload","anchorPayDate","anchorEndOfPayPeriod","CustomNameField","FrequencyField","CustomTwicePerMonthField","AnchorPayDateField","AnchorEndOfPayPeriodField","Day1Field","Day2Field","createGetFormSubmissionValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePayScheduleForm.js","sources":["../../../../../../src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { PaySchedule } from '@gusto/embedded-api/models/components/payschedule'\nimport type { PaySchedulePreviewPayPeriod } from '@gusto/embedded-api/models/components/payschedulepreviewpayperiod'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport { usePaySchedulesGetPreview } from '@gusto/embedded-api/react-query/paySchedulesGetPreview'\nimport { usePaySchedulesCreateMutation } from '@gusto/embedded-api/react-query/paySchedulesCreate'\nimport { usePaySchedulesUpdateMutation } from '@gusto/embedded-api/react-query/paySchedulesUpdate'\nimport { usePaymentConfigsGet } from '@gusto/embedded-api/react-query/paymentConfigsGet'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createPayScheduleSchema,\n type PayScheduleOptionalFieldsToRequire,\n type PayScheduleFormData,\n type PayScheduleFormOutputs,\n type PayScheduleFrequency,\n} from './payScheduleSchema'\nimport {\n CustomNameField,\n FrequencyField,\n CustomTwicePerMonthField,\n AnchorPayDateField,\n AnchorEndOfPayPeriodField,\n Day1Field,\n Day2Field,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { parsePaymentSpeedDays } from '@/hooks/useCompanyPaymentSpeed'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\n\nexport type { PayScheduleOptionalFieldsToRequire } from './payScheduleSchema'\n\nexport interface UsePayScheduleFormProps {\n companyId: string\n payScheduleId?: string\n optionalFieldsToRequire?: PayScheduleOptionalFieldsToRequire\n defaultValues?: Partial<PayScheduleFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface PayScheduleFields {\n CustomName: typeof CustomNameField\n Frequency: typeof FrequencyField\n CustomTwicePerMonth: typeof CustomTwicePerMonthField | undefined\n AnchorPayDate: typeof AnchorPayDateField\n AnchorEndOfPayPeriod: typeof AnchorEndOfPayPeriodField\n Day1: typeof Day1Field | undefined\n Day2: typeof Day2Field | undefined\n}\n\nexport interface UsePayScheduleFormReady extends BaseFormHookReady<\n FieldsMetadata,\n PayScheduleFormData,\n PayScheduleFields\n> {\n data: {\n paySchedule: PaySchedule | null\n payPeriodPreview: PaySchedulePreviewPayPeriod[] | null\n payPreviewLoading: boolean\n paymentSpeedDays: number | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<PaySchedule> | undefined>\n }\n}\n\nconst FREQUENCY_OPTIONS: Array<{ value: PayScheduleFrequency; label: string }> = [\n { value: 'Every week', label: 'Every week' },\n { value: 'Every other week', label: 'Every other week' },\n { value: 'Twice per month', label: 'Twice per month' },\n { value: 'Monthly', label: 'Monthly' },\n]\n\nconst FREQUENCY_ENTRIES: PayScheduleFrequency[] = FREQUENCY_OPTIONS.map(o => o.value)\n\nconst TWICE_PER_MONTH_OPTIONS = [\n { value: '1st15th', label: '15th and Last day of the month' },\n { value: 'custom', label: 'Custom' },\n]\n\nconst TWICE_PER_MONTH_ENTRIES = TWICE_PER_MONTH_OPTIONS.map(o => o.value)\n\nfunction formatWatchedDate(value: unknown): string {\n if (value instanceof Date) return formatDateToStringDate(value) || ''\n if (typeof value === 'string' && value) return value\n return ''\n}\n\nfunction deriveCustomTwicePerMonth(\n frequency: string | undefined,\n day1: number | undefined,\n day2: number | undefined,\n): string {\n if (frequency !== 'Twice per month') return ''\n if (day1 === 15 && day2 === 31) return '1st15th'\n return 'custom'\n}\n\nexport function usePayScheduleForm({\n companyId,\n payScheduleId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UsePayScheduleFormProps): HookLoadingResult | UsePayScheduleFormReady {\n const payScheduleQuery = usePaySchedulesGet(\n { companyId, payScheduleId: payScheduleId ?? '' },\n { enabled: !!payScheduleId },\n )\n\n const paymentConfigsQuery = usePaymentConfigsGet({ companyUuid: companyId })\n\n const currentPaySchedule = payScheduleQuery.data?.paySchedule ?? null\n const paymentSpeed = paymentConfigsQuery.data?.paymentConfigs?.paymentSpeed\n const paymentSpeedDays = parsePaymentSpeedDays(paymentSpeed)\n\n const isCreateMode = !currentPaySchedule\n const mode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () => createPayScheduleSchema({ mode, optionalFieldsToRequire }),\n [mode, optionalFieldsToRequire],\n )\n\n const resolvedDefaults: PayScheduleFormData = {\n customName: currentPaySchedule?.customName ?? partnerDefaults?.customName ?? '',\n frequency: (currentPaySchedule?.frequency ??\n partnerDefaults?.frequency ??\n 'Every week') as PayScheduleFrequency,\n customTwicePerMonth: deriveCustomTwicePerMonth(\n currentPaySchedule?.frequency ?? partnerDefaults?.frequency,\n currentPaySchedule?.day1 ?? partnerDefaults?.day1 ?? undefined,\n currentPaySchedule?.day2 ?? partnerDefaults?.day2 ?? undefined,\n ),\n anchorPayDate:\n currentPaySchedule?.anchorPayDate?.toString() ?? partnerDefaults?.anchorPayDate ?? null,\n anchorEndOfPayPeriod:\n currentPaySchedule?.anchorEndOfPayPeriod?.toString() ??\n partnerDefaults?.anchorEndOfPayPeriod ??\n null,\n day1: currentPaySchedule?.day1 ?? partnerDefaults?.day1 ?? NaN,\n day2: currentPaySchedule?.day2 ?? partnerDefaults?.day2 ?? NaN,\n }\n\n const formMethods = useForm<PayScheduleFormData, unknown, PayScheduleFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const watchedFrequency = useWatch({ control: formMethods.control, name: 'frequency' })\n const watchedCustomTwicePerMonth = useWatch({\n control: formMethods.control,\n name: 'customTwicePerMonth',\n })\n const watchedAnchorPayDate = useWatch({ control: formMethods.control, name: 'anchorPayDate' })\n const watchedAnchorEndOfPayPeriod = useWatch({\n control: formMethods.control,\n name: 'anchorEndOfPayPeriod',\n })\n const watchedDay1 = useWatch({ control: formMethods.control, name: 'day1' })\n const watchedDay2 = useWatch({ control: formMethods.control, name: 'day2' })\n\n useEffect(() => {\n if (watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === '1st15th') {\n formMethods.setValue('day1', 15)\n formMethods.setValue('day2', 31)\n }\n }, [watchedFrequency, watchedCustomTwicePerMonth, formMethods.setValue])\n\n const formattedAnchorPayDate = formatWatchedDate(watchedAnchorPayDate)\n const formattedAnchorEndOfPayPeriod = formatWatchedDate(watchedAnchorEndOfPayPeriod)\n\n const previewEnabled = Boolean(formattedAnchorPayDate && formattedAnchorEndOfPayPeriod)\n\n const previewQuery = usePaySchedulesGetPreview(\n {\n companyId,\n frequency: watchedFrequency,\n ...(formattedAnchorPayDate && { anchorPayDate: new RFCDate(formattedAnchorPayDate) }),\n ...(formattedAnchorEndOfPayPeriod && {\n anchorEndOfPayPeriod: new RFCDate(formattedAnchorEndOfPayPeriod),\n }),\n day1: watchedDay1 || undefined,\n day2: watchedDay2 || undefined,\n } as Parameters<typeof usePaySchedulesGetPreview>[0],\n { enabled: previewEnabled },\n )\n\n const payPeriodPreview: PaySchedulePreviewPayPeriod[] | undefined =\n previewQuery.data?.paySchedulePreview?.payPeriods\n const payPreviewLoading = previewQuery.isLoading && previewEnabled\n\n const createPayScheduleMutation = usePaySchedulesCreateMutation()\n const updatePayScheduleMutation = usePaySchedulesUpdateMutation()\n\n const isPending = createPayScheduleMutation.isPending || updatePayScheduleMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('PayScheduleForm')\n\n const queries = payScheduleId ? [payScheduleQuery, paymentConfigsQuery] : [paymentConfigsQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const showCustomTwicePerMonth = watchedFrequency === 'Twice per month'\n const showDay1 =\n watchedFrequency === 'Monthly' ||\n (watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === 'custom')\n const showDay2 = watchedFrequency === 'Twice per month' && watchedCustomTwicePerMonth === 'custom'\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n customName: baseMetadata.customName,\n frequency: withOptions<PayScheduleFrequency>(\n baseMetadata.frequency,\n FREQUENCY_OPTIONS,\n FREQUENCY_ENTRIES,\n ),\n customTwicePerMonth: withOptions<string>(\n baseMetadata.customTwicePerMonth,\n TWICE_PER_MONTH_OPTIONS,\n TWICE_PER_MONTH_ENTRIES,\n ),\n anchorPayDate: baseMetadata.anchorPayDate,\n anchorEndOfPayPeriod: baseMetadata.anchorEndOfPayPeriod,\n day1: baseMetadata.day1,\n day2: baseMetadata.day2,\n }\n\n const onSubmit = async (): Promise<HookSubmitResult<PaySchedule> | undefined> => {\n let submitResult: HookSubmitResult<PaySchedule> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: PayScheduleFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const anchorPayDate = payload.anchorPayDate ?? ''\n const anchorEndOfPayPeriod = payload.anchorEndOfPayPeriod ?? ''\n\n if (isCreateMode) {\n const result = await createPayScheduleMutation.mutateAsync({\n request: {\n companyId,\n payScheduleCreateRequest: {\n frequency: payload.frequency,\n anchorPayDate: new RFCDate(anchorPayDate),\n anchorEndOfPayPeriod: new RFCDate(anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1 || undefined,\n day2: payload.day2 || undefined,\n },\n },\n })\n\n submitResult = { mode: 'create', data: result.paySchedule! }\n } else {\n const result = await updatePayScheduleMutation.mutateAsync({\n request: {\n payScheduleId: currentPaySchedule.uuid,\n companyId,\n payScheduleUpdateRequest: {\n frequency: payload.frequency,\n anchorPayDate: new RFCDate(anchorPayDate),\n anchorEndOfPayPeriod: new RFCDate(anchorEndOfPayPeriod),\n customName: payload.customName,\n day1: payload.day1 || undefined,\n day2: payload.day2 || undefined,\n version: currentPaySchedule.version!,\n },\n },\n })\n\n submitResult = { mode: 'update', data: result.paySchedule! }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const isDataLoading =\n paymentConfigsQuery.isLoading || (payScheduleId ? payScheduleQuery.isLoading : false)\n\n if (isDataLoading) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n paySchedule: currentPaySchedule,\n payPeriodPreview: payPeriodPreview ?? null,\n payPreviewLoading,\n paymentSpeedDays,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n CustomName: CustomNameField,\n Frequency: FrequencyField,\n CustomTwicePerMonth: showCustomTwicePerMonth ? CustomTwicePerMonthField : undefined,\n AnchorPayDate: AnchorPayDateField,\n AnchorEndOfPayPeriod: AnchorEndOfPayPeriodField,\n Day1: showDay1 ? Day1Field : undefined,\n Day2: showDay2 ? Day2Field : undefined,\n },\n fieldsMetadata,\n hookFormInternals: { formMethods },\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UsePayScheduleFormResult = HookLoadingResult | UsePayScheduleFormReady\nexport type PayScheduleFieldsMetadata = UsePayScheduleFormReady['form']['fieldsMetadata']\nexport type PayScheduleFormFields = UsePayScheduleFormReady['form']['Fields']\n"],"names":["FREQUENCY_OPTIONS","FREQUENCY_ENTRIES","o","TWICE_PER_MONTH_OPTIONS","TWICE_PER_MONTH_ENTRIES","formatWatchedDate","value","formatDateToStringDate","deriveCustomTwicePerMonth","frequency","day1","day2","usePayScheduleForm","companyId","payScheduleId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","payScheduleQuery","usePaySchedulesGet","paymentConfigsQuery","usePaymentConfigsGet","currentPaySchedule","paymentSpeed","paymentSpeedDays","parsePaymentSpeedDays","isCreateMode","mode","schema","metadataConfig","useMemo","createPayScheduleSchema","resolvedDefaults","formMethods","useForm","zodResolver","watchedFrequency","useWatch","watchedCustomTwicePerMonth","watchedAnchorPayDate","watchedAnchorEndOfPayPeriod","watchedDay1","watchedDay2","useEffect","formattedAnchorPayDate","formattedAnchorEndOfPayPeriod","previewEnabled","previewQuery","usePaySchedulesGetPreview","RFCDate","payPeriodPreview","payPreviewLoading","createPayScheduleMutation","usePaySchedulesCreateMutation","updatePayScheduleMutation","usePaySchedulesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","showCustomTwicePerMonth","showDay1","showDay2","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","submitResult","resolve","data","payload","anchorPayDate","anchorEndOfPayPeriod","CustomNameField","FrequencyField","CustomTwicePerMonthField","AnchorPayDateField","AnchorEndOfPayPeriodField","Day1Field","Day2Field","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { createMachine as
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { createMachine as e } from "robot3";
|
|
3
3
|
import { useMemo as a } from "react";
|
|
4
|
-
import { onboardingMachine as
|
|
5
|
-
import {
|
|
6
|
-
import { Flow as
|
|
7
|
-
const x = ({ companyId: o, onEvent:
|
|
8
|
-
const
|
|
9
|
-
() =>
|
|
4
|
+
import { onboardingMachine as c } from "./onboardingStateMachine.js";
|
|
5
|
+
import { ContractorListContextual as f } from "./OnboardingFlowComponents.js";
|
|
6
|
+
import { Flow as p } from "../../Flow/Flow.js";
|
|
7
|
+
const x = ({ companyId: o, onEvent: n, defaultValues: r }) => {
|
|
8
|
+
const t = a(
|
|
9
|
+
() => e(
|
|
10
10
|
"list",
|
|
11
|
-
|
|
12
|
-
(
|
|
13
|
-
...
|
|
14
|
-
component:
|
|
15
|
-
progressBarCta: p,
|
|
11
|
+
c,
|
|
12
|
+
(i) => ({
|
|
13
|
+
...i,
|
|
14
|
+
component: f,
|
|
16
15
|
companyId: o,
|
|
17
16
|
defaultValues: r,
|
|
18
|
-
totalSteps: 5,
|
|
19
|
-
currentStep: 0,
|
|
20
17
|
selfOnboarding: !1
|
|
21
18
|
})
|
|
22
19
|
),
|
|
23
20
|
[o, r]
|
|
24
21
|
);
|
|
25
|
-
return /* @__PURE__ */
|
|
22
|
+
return /* @__PURE__ */ m(p, { machine: t, onEvent: n });
|
|
26
23
|
};
|
|
27
24
|
export {
|
|
28
25
|
x as OnboardingFlow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { onboardingMachine } from './onboardingStateMachine'\nimport type { OnboardingFlowProps } from './OnboardingFlowComponents'\nimport {\n ContractorListContextual,\n
|
|
1
|
+
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { onboardingMachine } from './onboardingStateMachine'\nimport type { OnboardingFlowProps } from './OnboardingFlowComponents'\nimport {\n ContractorListContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\nexport const OnboardingFlow = ({ companyId, onEvent, defaultValues }: OnboardingFlowProps) => {\n const onboardingFlow = useMemo(\n () =>\n createMachine(\n 'list',\n onboardingMachine,\n (initialContext: OnboardingFlowContextInterface) => ({\n ...initialContext,\n component: ContractorListContextual,\n companyId,\n defaultValues,\n selfOnboarding: false,\n }),\n ),\n [companyId, defaultValues],\n )\n return <Flow machine={onboardingFlow} onEvent={onEvent} />\n}\n"],"names":["OnboardingFlow","companyId","onEvent","defaultValues","onboardingFlow","useMemo","createMachine","onboardingMachine","initialContext","ContractorListContextual","jsx","Flow"],"mappings":";;;;;;AAUO,MAAMA,IAAiB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,QAAyC;AAC5F,QAAMC,IAAiBC;AAAA,IACrB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAR;AAAA,QACA,eAAAE;AAAA,QACA,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,IAEJ,CAACF,GAAWE,CAAa;AAAA,EAAA;AAE3B,SAAO,gBAAAO,EAACC,GAAA,EAAK,SAASP,GAAgB,SAAAF,EAAA,CAAkB;AAC1D;"}
|