@gusto/embedded-react-sdk 0.8.1 → 0.9.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 +20 -3
- package/dist/components/Base/Base.d.ts +6 -5
- package/dist/components/Base/Base.js +40 -39
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/index.d.ts +1 -0
- package/dist/components/Common/ActionsLayout/index.d.ts +1 -0
- package/dist/components/Common/DataView/DataCards/DataCards.js +21 -21
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/index.d.ts +1 -0
- package/dist/components/Common/DataView/index.d.ts +1 -0
- package/dist/components/Common/DocumentList/index.d.ts +1 -0
- package/dist/components/Common/DocumentViewer/index.d.ts +1 -0
- package/dist/components/Common/FieldCaption/index.d.ts +1 -0
- package/dist/components/Common/FieldDescription/index.d.ts +1 -0
- package/dist/components/Common/FieldErrorMessage/index.d.ts +1 -0
- package/dist/components/Common/FieldLayout/index.d.ts +1 -0
- package/dist/components/Common/Fields/CheckboxField/index.d.ts +1 -0
- package/dist/components/Common/Fields/CheckboxGroupField/index.d.ts +1 -0
- package/dist/components/Common/Fields/ComboBoxField/index.d.ts +1 -0
- package/dist/components/Common/Fields/DatePickerField/index.d.ts +1 -0
- package/dist/components/Common/Fields/NumberInputField/index.d.ts +1 -0
- package/dist/components/Common/Fields/RadioGroupField/index.d.ts +1 -0
- package/dist/components/Common/Fields/SelectField/index.d.ts +1 -0
- package/dist/components/Common/Fields/SwitchField/index.d.ts +1 -0
- package/dist/components/Common/Fields/TextInputField/index.d.ts +1 -0
- package/dist/components/Common/Fieldset/index.d.ts +1 -0
- package/dist/components/Common/Flex/index.d.ts +1 -0
- package/dist/components/Common/Form/index.d.ts +1 -0
- package/dist/components/Common/HamburgerMenu/index.d.ts +1 -0
- package/dist/components/Common/HorizontalFieldLayout/index.d.ts +1 -0
- package/dist/components/Common/PaginationControl/index.d.ts +1 -0
- package/dist/components/Common/ReorderableList/index.d.ts +1 -0
- package/dist/components/Common/SignatureForm/index.d.ts +1 -0
- package/dist/components/Common/TaxInputs/index.d.ts +1 -0
- package/dist/components/Common/UI/Alert/index.d.ts +1 -0
- package/dist/components/Common/UI/Button/index.d.ts +1 -0
- package/dist/components/Common/UI/CalendarPreview/index.d.ts +1 -0
- package/dist/components/Common/UI/Checkbox/index.d.ts +1 -0
- package/dist/components/Common/UI/CheckboxGroup/index.d.ts +1 -0
- package/dist/components/Common/UI/ComboBox/ComboBox.js +28 -27
- package/dist/components/Common/UI/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +6 -6
- package/dist/components/Common/UI/DatePicker/index.d.ts +1 -0
- package/dist/components/Common/UI/Heading/index.d.ts +1 -0
- package/dist/components/Common/UI/Input/index.d.ts +1 -0
- package/dist/components/Common/UI/Link/index.d.ts +1 -0
- package/dist/components/Common/UI/List/index.d.ts +1 -0
- package/dist/components/Common/UI/Menu/index.d.ts +1 -0
- package/dist/components/Common/UI/NumberInput/index.d.ts +1 -0
- package/dist/components/Common/UI/ProgressBar/index.d.ts +1 -0
- package/dist/components/Common/UI/Radio/index.d.ts +1 -0
- package/dist/components/Common/UI/RadioGroup/index.d.ts +1 -0
- package/dist/components/Common/UI/Select/index.d.ts +1 -0
- package/dist/components/Common/UI/Switch/index.d.ts +1 -0
- package/dist/components/Common/UI/Table/index.d.ts +1 -0
- package/dist/components/Common/UI/Text/index.d.ts +1 -0
- package/dist/components/Common/UI/TextInput/index.d.ts +1 -0
- package/dist/components/Common/VisuallyHidden/index.d.ts +1 -0
- package/dist/components/Common/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +3 -3
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +20 -19
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +10 -0
- package/dist/components/Company/BankAccount/BankAccount.js +32 -0
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -0
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -0
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +63 -0
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/Head.js.map +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/List.js.map +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.js.map +1 -0
- package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/index.d.ts +1 -0
- package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -0
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +12 -0
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +41 -0
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/Actions.js.map +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/Form.js.map +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/Head.js.map +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/Preview.js.map +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +14 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +72 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -0
- package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/index.d.ts +1 -0
- package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/useSignatureForm.js +4 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -0
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -0
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -0
- package/dist/components/Company/DocumentSigner/index.d.ts +2 -0
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -0
- package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +1 -4
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +27 -27
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/index.d.ts +1 -0
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +1 -1
- package/dist/components/Company/Industry/Industry.js +29 -28
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Industry/index.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +9 -0
- package/dist/components/Company/Locations/Locations.js +27 -0
- package/dist/components/Company/Locations/Locations.js.map +1 -0
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +3 -3
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +27 -32
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/index.d.ts +1 -0
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -2
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +13 -13
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +3 -3
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +15 -15
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +2 -2
- package/dist/components/Company/PaySchedule/PaySchedule.js +63 -62
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/index.d.ts +1 -0
- package/dist/components/Company/PaySchedule/index.d.ts +1 -0
- package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +9 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js +27 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -0
- package/dist/components/Company/StateTaxes/{StateTaxesFlowComponents.js → StateTaxesComponents.js} +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +10 -10
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +29 -29
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/index.d.ts +7 -6
- package/dist/components/Company/index.js +18 -18
- package/dist/components/Contractor/Address/Actions.d.ts +1 -0
- package/dist/components/Contractor/Address/Actions.js +13 -0
- package/dist/components/Contractor/Address/Actions.js.map +1 -0
- package/dist/components/Contractor/Address/Address.d.ts +16 -0
- package/dist/components/Contractor/Address/Address.js +74 -0
- package/dist/components/Contractor/Address/Address.js.map +1 -0
- package/dist/components/Contractor/Address/Form.d.ts +1 -0
- package/dist/components/Contractor/Address/Form.js +57 -0
- package/dist/components/Contractor/Address/Form.js.map +1 -0
- package/dist/components/Contractor/Address/Head.d.ts +1 -0
- package/dist/components/Contractor/Address/Head.js +15 -0
- package/dist/components/Contractor/Address/Head.js.map +1 -0
- package/dist/components/Contractor/Address/index.d.ts +2 -0
- package/dist/components/Contractor/Address/useAddress.d.ts +33 -0
- package/dist/components/Contractor/Address/useAddress.js +28 -0
- package/dist/components/Contractor/Address/useAddress.js.map +1 -0
- package/dist/components/Contractor/index.d.ts +2 -0
- package/dist/components/Contractor/index.js +5 -0
- package/dist/components/{Flow → Contractor}/index.js.map +1 -1
- package/dist/components/Employee/Compensation/Compensation.d.ts +1 -1
- package/dist/components/Employee/Compensation/Compensation.js +45 -44
- package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/Edit.js +17 -16
- package/dist/components/Employee/Compensation/Edit.js.map +1 -1
- package/dist/components/Employee/Compensation/index.d.ts +1 -0
- package/dist/components/Employee/Compensation/useCompensation.d.ts +6 -46
- package/dist/components/Employee/Compensation/useCompensation.js +60 -45
- package/dist/components/Employee/Compensation/useCompensation.js.map +1 -1
- package/dist/components/Employee/Deductions/Deductions.d.ts +2 -2
- package/dist/components/Employee/Deductions/Deductions.js +73 -71
- package/dist/components/Employee/Deductions/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/index.d.ts +1 -0
- package/dist/components/Employee/Deductions/useDeductions.js +6 -5
- package/dist/components/Employee/Deductions/useDeductions.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentSigner.d.ts +11 -0
- package/dist/components/Employee/DocumentSigner/DocumentSigner.js +27 -0
- package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +1 -0
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/index.d.ts +2 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.d.ts +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +38 -38
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +9 -9
- package/dist/components/Employee/EmployeeList/List.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +2 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.d.ts +1 -1
- package/dist/components/Employee/Landing/Landing.js +5 -5
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/Landing/index.d.ts +1 -0
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +27 -0
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +29 -0
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -0
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +107 -0
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -0
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +30 -30
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/index.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/PaymentMethod.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js +68 -68
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/index.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +9 -8
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +1 -1
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +1 -1
- package/dist/components/Employee/Profile/Profile.d.ts +1 -1
- package/dist/components/Employee/Profile/Profile.js +117 -112
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/SelfPersonalDetails.d.ts +2 -2
- package/dist/components/Employee/Profile/index.d.ts +1 -0
- package/dist/components/Employee/Profile/useProfile.js +4 -3
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +17 -0
- package/dist/components/{Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingComponents.js → Employee/SelfOnboardingFlow/SelfOnboardingComponents.js} +7 -7
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -0
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +2 -0
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js +22 -0
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -0
- package/dist/components/{Flow/StateMachines/employeeSelfOnboarding.js → Employee/SelfOnboardingFlow/selfOnboardingMachine.js} +4 -4
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -0
- package/dist/components/Employee/Taxes/StateForm.d.ts +3 -3
- package/dist/components/Employee/Taxes/StateForm.js +2 -2
- package/dist/components/Employee/Taxes/StateForm.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.d.ts +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +93 -86
- package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
- package/dist/components/Employee/Taxes/index.d.ts +1 -0
- package/dist/components/Employee/Taxes/useTaxes.d.ts +2 -2
- package/dist/components/Employee/Taxes/useTaxes.js +4 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/index.d.ts +4 -1
- package/dist/components/Employee/index.js +20 -16
- package/dist/components/Employee/index.js.map +1 -1
- package/dist/components/Flow/useFlow.d.ts +2 -1
- package/dist/components/Flow/useFlow.js.map +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/contexts/ApiProvider/ApiProvider.d.ts +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +17 -17
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/GustoApiProvider/index.d.ts +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +2 -7
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +16 -14
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/GustoProvider/index.d.ts +2 -1
- package/dist/contexts/LocaleProvider/index.d.ts +1 -0
- package/dist/contexts/ThemeProvider/index.d.ts +1 -0
- package/dist/contexts/index.d.ts +1 -0
- package/dist/hooks/useForkRef/index.d.ts +1 -0
- package/dist/i18n/I18n.d.ts +2 -0
- package/dist/i18n/I18n.js +23 -17
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Contractor.Address.json.js +35 -0
- package/dist/i18n/en/Contractor.Address.json.js.map +1 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/dist/shared/constants.d.ts +7 -1
- package/dist/shared/constants.js +52 -46
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +14 -0
- package/dist/types/i18next.d.ts +80 -62
- package/package.json +5 -2
- package/dist/components/Company/BankAccount/BankAccountFlow.d.ts +0 -5
- package/dist/components/Company/BankAccount/BankAccountFlow.js +0 -24
- package/dist/components/Company/BankAccount/BankAccountFlow.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/Actions.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/DocumentList.d.ts +0 -13
- package/dist/components/Company/DocumentSignerFlow/DocumentList/DocumentList.js +0 -69
- package/dist/components/Company/DocumentSignerFlow/DocumentList/DocumentList.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/Head.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/List.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/ManageSignatories.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentList/useDocumentList.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/DocumentSignerFlow.d.ts +0 -6
- package/dist/components/Company/DocumentSignerFlow/DocumentSignerFlow.js +0 -35
- package/dist/components/Company/DocumentSignerFlow/DocumentSignerFlow.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/Actions.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/Form.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/Head.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/Preview.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/SignatureForm.d.ts +0 -17
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/SignatureForm.js +0 -78
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/SignatureForm.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/SignatureForm/useSignatureForm.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/assignSignatoryState.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/documentSignerStateMachine.js.map +0 -1
- package/dist/components/Company/DocumentSignerFlow/index.d.ts +0 -1
- package/dist/components/Company/DocumentSignerFlow/stateMachine.js.map +0 -1
- package/dist/components/Company/Locations/LocationsFlow.d.ts +0 -5
- package/dist/components/Company/Locations/LocationsFlow.js +0 -21
- package/dist/components/Company/Locations/LocationsFlow.js.map +0 -1
- package/dist/components/Company/StateTaxes/StateTaxesFlow.d.ts +0 -5
- package/dist/components/Company/StateTaxes/StateTaxesFlow.js +0 -21
- package/dist/components/Company/StateTaxes/StateTaxesFlow.js.map +0 -1
- package/dist/components/Company/StateTaxes/StateTaxesFlowComponents.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentSignerFlow.d.ts +0 -5
- package/dist/components/Employee/DocumentSigner/DocumentSignerFlow.js +0 -21
- package/dist/components/Employee/DocumentSigner/DocumentSignerFlow.js.map +0 -1
- package/dist/components/Flow/EmployeeOnboardingFlow.d.ts +0 -27
- package/dist/components/Flow/EmployeeOnboardingFlow.js +0 -29
- package/dist/components/Flow/EmployeeOnboardingFlow.js.map +0 -1
- package/dist/components/Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingComponents.d.ts +0 -5
- package/dist/components/Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingComponents.js.map +0 -1
- package/dist/components/Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingFlow.d.ts +0 -13
- package/dist/components/Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingFlow.js +0 -26
- package/dist/components/Flow/EmployeeSelfOnboardingFlow/EmployeeSelfOnboardingFlow.js.map +0 -1
- package/dist/components/Flow/StateMachines/employeeOnboarding.js +0 -136
- package/dist/components/Flow/StateMachines/employeeOnboarding.js.map +0 -1
- package/dist/components/Flow/StateMachines/employeeSelfOnboarding.js.map +0 -1
- package/dist/components/Flow/StateMachines/index.d.ts +0 -2
- package/dist/components/Flow/index.d.ts +0 -2
- package/dist/components/Flow/index.js +0 -7
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/Actions.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/Actions.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/Head.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/Head.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/List.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/List.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/ManageSignatories.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/ManageSignatories.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/ManageSignatories.module.scss.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/ManageSignatories.module.scss.js.map +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/DocumentList/useDocumentList.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Actions.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Actions.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Form.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Form.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Head.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Head.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Preview.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/Preview.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/SignatureForm/useSignatureForm.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/assignSignatoryState.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/assignSignatoryState.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/documentSignerStateMachine.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/documentSignerStateMachine.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/stateMachine.d.ts +0 -0
- /package/dist/components/Company/{DocumentSignerFlow → DocumentSigner}/stateMachine.js +0 -0
- /package/dist/components/Company/{DocumentSignerFlow/useDocumentSignerFlow.d.ts → DocumentSigner/useDocumentSigner.d.ts} +0 -0
- /package/dist/components/Company/StateTaxes/{StateTaxesFlowComponents.d.ts → StateTaxesComponents.d.ts} +0 -0
- /package/dist/components/{Flow/StateMachines/employeeOnboarding.d.ts → Employee/OnboardingFlow/onboardingStateMachine.d.ts} +0 -0
- /package/dist/components/{Flow/StateMachines/employeeSelfOnboarding.d.ts → Employee/SelfOnboardingFlow/selfOnboardingMachine.d.ts} +0 -0
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import "./types/i18next.d.ts"
|
|
2
|
+
export * from './DocumentSigner';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentInterface, CommonComponentInterface } from '../../Base/Base';
|
|
2
|
-
interface EmployeeListProps extends CommonComponentInterface {
|
|
2
|
+
interface EmployeeListProps extends CommonComponentInterface<'Employee.EmployeeList'> {
|
|
3
3
|
companyId: string;
|
|
4
4
|
}
|
|
5
5
|
export declare function EmployeeList(props: EmployeeListProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { jsx as n, jsxs as
|
|
1
|
+
import { jsx as n, jsxs as F } from "react/jsx-runtime";
|
|
2
2
|
import { useState as y } from "react";
|
|
3
|
-
import { useEmployeesListSuspense as
|
|
4
|
-
import { useEmployeesDeleteMutation as
|
|
5
|
-
import { useEmployeesUpdateOnboardingStatusMutation as
|
|
6
|
-
import { useQueryClient as
|
|
7
|
-
import { EmployeeListProvider as
|
|
3
|
+
import { useEmployeesListSuspense as U, invalidateEmployeesList as q } from "@gusto/embedded-api/react-query/employeesList";
|
|
4
|
+
import { useEmployeesDeleteMutation as W } from "@gusto/embedded-api/react-query/employeesDelete";
|
|
5
|
+
import { useEmployeesUpdateOnboardingStatusMutation as H } from "@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus";
|
|
6
|
+
import { useQueryClient as j } from "@tanstack/react-query";
|
|
7
|
+
import { EmployeeListProvider as k } from "./useEmployeeList.js";
|
|
8
8
|
import { Actions as P } from "./Actions.js";
|
|
9
|
-
import { BaseComponent as
|
|
10
|
-
import { useBase as
|
|
11
|
-
import { Flex as
|
|
12
|
-
import { useI18n as
|
|
9
|
+
import { BaseComponent as V } from "../../Base/Base.js";
|
|
10
|
+
import { useBase as Q } from "../../Base/useBase.js";
|
|
11
|
+
import { Flex as z } from "../../Common/Flex/Flex.js";
|
|
12
|
+
import { useI18n as J, useComponentDictionary as K } from "../../../i18n/I18n.js";
|
|
13
13
|
import { componentEvents as s, EmployeeOnboardingStatus as c } from "../../../shared/constants.js";
|
|
14
14
|
import { Head as h } from "./Head.js";
|
|
15
15
|
import { List as O } from "./List.js";
|
|
16
|
-
import { useFlow as
|
|
16
|
+
import { useFlow as X } from "../../Flow/useFlow.js";
|
|
17
17
|
function m(o) {
|
|
18
|
-
return /* @__PURE__ */ n(
|
|
18
|
+
return /* @__PURE__ */ n(V, { ...o, children: /* @__PURE__ */ n(Z, { ...o, children: o.children }) });
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
const { onEvent: a, baseSubmitHandler: i } =
|
|
23
|
-
|
|
24
|
-
}, w = () => {
|
|
25
|
-
r(1);
|
|
20
|
+
function Z({ companyId: o, className: l, children: p, dictionary: g }) {
|
|
21
|
+
J("Employee.EmployeeList"), K("Employee.EmployeeList", g);
|
|
22
|
+
const { onEvent: a, baseSubmitHandler: i } = Q(), [u, r] = y(1), [A, L] = y(5), N = j(), { data: f } = U({ companyId: o, page: u, per: A }), { httpMeta: D, employees: I } = f, _ = I, { mutateAsync: M } = W(), { mutateAsync: S } = H(), E = Number(D.response.headers.get("x-total-pages") ?? 1), w = (e) => {
|
|
23
|
+
L(e);
|
|
26
24
|
}, b = () => {
|
|
25
|
+
r(1);
|
|
26
|
+
}, C = () => {
|
|
27
27
|
r((e) => Math.max(e - 1, 1));
|
|
28
28
|
}, R = () => {
|
|
29
29
|
r((e) => Math.min(e + 1, E));
|
|
@@ -31,11 +31,11 @@ function K({ companyId: o, className: l, children: u }) {
|
|
|
31
31
|
r(E);
|
|
32
32
|
}, x = async (e) => {
|
|
33
33
|
await i(e, async (t) => {
|
|
34
|
-
await
|
|
34
|
+
await M({
|
|
35
35
|
request: { employeeId: t }
|
|
36
|
-
}), await
|
|
36
|
+
}), await q(N, [o]), a(s.EMPLOYEE_DELETED, { employeeId: t });
|
|
37
37
|
});
|
|
38
|
-
},
|
|
38
|
+
}, v = async (e) => {
|
|
39
39
|
await i(e, async (t) => {
|
|
40
40
|
await d({
|
|
41
41
|
employeeId: t,
|
|
@@ -45,7 +45,7 @@ function K({ companyId: o, className: l, children: u }) {
|
|
|
45
45
|
onboardingStatus: c.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
|
-
},
|
|
48
|
+
}, B = async (e) => {
|
|
49
49
|
await i(e, async (t) => {
|
|
50
50
|
await d({
|
|
51
51
|
employeeId: t,
|
|
@@ -53,15 +53,15 @@ function K({ companyId: o, className: l, children: u }) {
|
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
}, d = async (e) => {
|
|
56
|
-
await i(e, async ({ employeeId: t, status:
|
|
57
|
-
const { employeeOnboardingStatus:
|
|
58
|
-
request: { employeeId: t, requestBody: { onboardingStatus:
|
|
56
|
+
await i(e, async ({ employeeId: t, status: G }) => {
|
|
57
|
+
const { employeeOnboardingStatus: Y } = await S({
|
|
58
|
+
request: { employeeId: t, requestBody: { onboardingStatus: G } }
|
|
59
59
|
});
|
|
60
|
-
a(s.EMPLOYEE_ONBOARDING_STATUS_UPDATED,
|
|
60
|
+
a(s.EMPLOYEE_ONBOARDING_STATUS_UPDATED, Y);
|
|
61
61
|
});
|
|
62
62
|
};
|
|
63
63
|
return /* @__PURE__ */ n("section", { className: l, children: /* @__PURE__ */ n(
|
|
64
|
-
|
|
64
|
+
k,
|
|
65
65
|
{
|
|
66
66
|
value: {
|
|
67
67
|
handleEdit: (e, t) => {
|
|
@@ -70,22 +70,22 @@ function K({ companyId: o, className: l, children: u }) {
|
|
|
70
70
|
handleNew: () => {
|
|
71
71
|
a(s.EMPLOYEE_CREATE);
|
|
72
72
|
},
|
|
73
|
-
handleReview:
|
|
73
|
+
handleReview: v,
|
|
74
74
|
handleDelete: x,
|
|
75
|
-
employees:
|
|
76
|
-
currentPage:
|
|
75
|
+
employees: _,
|
|
76
|
+
currentPage: u,
|
|
77
77
|
totalPages: E,
|
|
78
|
-
handleFirstPage:
|
|
79
|
-
handlePreviousPage:
|
|
78
|
+
handleFirstPage: b,
|
|
79
|
+
handlePreviousPage: C,
|
|
80
80
|
handleNextPage: R,
|
|
81
81
|
handleLastPage: T,
|
|
82
|
-
handleCancelSelfOnboarding:
|
|
83
|
-
handleItemsPerPageChange:
|
|
82
|
+
handleCancelSelfOnboarding: B,
|
|
83
|
+
handleItemsPerPageChange: w,
|
|
84
84
|
handleSkip: () => {
|
|
85
85
|
a(s.EMPLOYEE_ONBOARDING_DONE);
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
-
children:
|
|
88
|
+
children: p || /* @__PURE__ */ F(z, { flexDirection: "column", children: [
|
|
89
89
|
/* @__PURE__ */ n(h, {}),
|
|
90
90
|
/* @__PURE__ */ n(O, {}),
|
|
91
91
|
/* @__PURE__ */ n(P, {})
|
|
@@ -96,12 +96,12 @@ function K({ companyId: o, className: l, children: u }) {
|
|
|
96
96
|
m.Head = h;
|
|
97
97
|
m.List = O;
|
|
98
98
|
m.Actions = P;
|
|
99
|
-
const
|
|
100
|
-
const { companyId: o, onEvent: l } =
|
|
99
|
+
const Oe = () => {
|
|
100
|
+
const { companyId: o, onEvent: l } = X();
|
|
101
101
|
return /* @__PURE__ */ n(m, { companyId: o, onEvent: l });
|
|
102
102
|
};
|
|
103
103
|
export {
|
|
104
104
|
m as EmployeeList,
|
|
105
|
-
|
|
105
|
+
Oe as EmployeeListContextual
|
|
106
106
|
};
|
|
107
107
|
//# sourceMappingURL=EmployeeList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/EmployeeList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n useEmployeesListSuspense,\n invalidateEmployeesList,\n} from '@gusto/embedded-api/react-query/employeesList'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { EmployeeListProvider } from './useEmployeeList'\nimport { Actions } from './Actions'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { Flex } from '@/components/Common'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { Head } from '@/components/Employee/EmployeeList/Head'\nimport { List } from '@/components/Employee/EmployeeList/List'\nimport type { EmployeeOnboardingContextInterface } from '@/components/Flow/EmployeeOnboardingFlow'\nimport { useFlow } from '@/components/Flow/useFlow'\n\n//Interface for component specific props\ninterface EmployeeListProps extends CommonComponentInterface {\n companyId: string\n}\n\nexport function EmployeeList(props: EmployeeListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\nfunction Root({ companyId, className, children }: EmployeeListProps) {\n //Using i18n hook to directly load necessary namespace\n useI18n('Employee.EmployeeList')\n //Getting props from base context\n const { onEvent, baseSubmitHandler } = useBase()\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n const queryClient = useQueryClient()\n\n const { data } = useEmployeesListSuspense({ companyId, page: currentPage, per: itemsPerPage })\n const { httpMeta, employeeList } = data\n const employees = employeeList!\n\n const { mutateAsync: deleteEmployeeMutation } = useEmployeesDeleteMutation()\n const { mutateAsync: updateEmployeeOnboardingStatusMutation } =\n useEmployeesUpdateOnboardingStatusMutation()\n\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n\n const handleItemsPerPageChange = (newCount: number) => {\n setItemsPerPage(newCount)\n }\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteEmployeeMutation({\n request: { employeeId: payload },\n })\n\n await invalidateEmployeesList(queryClient, [companyId])\n onEvent(componentEvents.EMPLOYEE_DELETED, { employeeId: payload })\n })\n }\n /**Set onboarding status to self_onboarding_awaiting_admin_review and proceed to edit */\n const handleReview = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n onEvent(componentEvents.EMPLOYEE_UPDATE, {\n employeeId,\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n })\n }\n /**Update employee onboarding status reverting it back to admin_onboarding_incomplete */\n const handleCancelSelfOnboarding = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n })\n })\n }\n const updateOnboardingStatus = async (data: { employeeId: string; status: string }) => {\n await baseSubmitHandler(data, async ({ employeeId, status }) => {\n const { employeeOnboardingStatus: responseData } =\n await updateEmployeeOnboardingStatusMutation({\n request: { employeeId, requestBody: { onboardingStatus: status } },\n })\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, responseData)\n })\n }\n const handleNew = () => {\n onEvent(componentEvents.EMPLOYEE_CREATE)\n }\n const handleSkip = () => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }\n\n const handleEdit = (uuid: string, onboardingStatus?: string) => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId: uuid, onboardingStatus })\n }\n return (\n <section className={className}>\n <EmployeeListProvider\n value={{\n handleEdit,\n handleNew,\n handleReview,\n handleDelete,\n employees,\n currentPage,\n totalPages,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleCancelSelfOnboarding,\n handleItemsPerPageChange,\n handleSkip,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </EmployeeListProvider>\n </section>\n )\n}\n\nEmployeeList.Head = Head\nEmployeeList.List = List\nEmployeeList.Actions = Actions\n\n/**\n * Wrapper used inside Flows -> exposes flow context for required parameters\n */\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<EmployeeOnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["EmployeeList","props","jsx","BaseComponent","Root","companyId","className","children","useI18n","onEvent","baseSubmitHandler","useBase","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","queryClient","useQueryClient","data","useEmployeesListSuspense","httpMeta","employeeList","employees","deleteEmployeeMutation","useEmployeesDeleteMutation","updateEmployeeOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","totalPages","handleItemsPerPageChange","newCount","handleFirstPage","handlePreviousPage","prevPage","handleNextPage","handleLastPage","handleDelete","uuid","payload","invalidateEmployeesList","componentEvents","handleReview","employeeId","updateOnboardingStatus","EmployeeOnboardingStatus","handleCancelSelfOnboarding","status","responseData","EmployeeListProvider","onboardingStatus","jsxs","Flex","Head","List","Actions","EmployeeListContextual","useFlow"],"mappings":";;;;;;;;;;;;;;;;AA6BO,SAASA,EAAaC,GAAmD;AAE5E,SAAA,gBAAAC,EAACC,GAAe,EAAA,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAMA,EAAA,SAAA,CAAS,EACnC,CAAA;AAEJ;AACA,SAASG,EAAK,EAAE,WAAAC,GAAW,WAAAC,GAAW,UAAAC,KAA+B;AAEnE,EAAAC,EAAQ,uBAAuB;AAE/B,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAkB,IAAIC,EAAQ,GACzC,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAS,CAAC,GAC5CG,IAAcC,EAAe,GAE7B,EAAE,MAAAC,MAASC,EAAyB,EAAE,WAAAf,GAAW,MAAMO,GAAa,KAAKG,GAAc,GACvF,EAAE,UAAAM,GAAU,cAAAC,EAAA,IAAiBH,GAC7BI,IAAYD,GAEZ,EAAE,aAAaE,EAAuB,IAAIC,EAA2B,GACrE,EAAE,aAAaC,EAAuC,IAC1DC,EAA2C,GAEvCC,IAAa,OAAOP,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GAEvEQ,IAA2B,CAACC,MAAqB;AACrD,IAAAd,EAAgBc,CAAQ;AAAA,EAC1B,GACMC,IAAkB,MAAM;AAC5B,IAAAlB,EAAe,CAAC;AAAA,EAClB,GACMmB,IAAqB,MAAM;AAC/B,IAAAnB,EAAe,OAAY,KAAK,IAAIoB,IAAW,GAAG,CAAC,CAAC;AAAA,EACtD,GACMC,IAAiB,MAAM;AAC3B,IAAArB,EAAe,OAAY,KAAK,IAAIoB,IAAW,GAAGL,CAAU,CAAC;AAAA,EAC/D,GACMO,IAAiB,MAAM;AAC3B,IAAAtB,EAAee,CAAU;AAAA,EAC3B,GACMQ,IAAe,OAAOC,MAAiB;AACrC,UAAA3B,EAAkB2B,GAAM,OAAMC,MAAW;AAC7C,YAAMd,EAAuB;AAAA,QAC3B,SAAS,EAAE,YAAYc,EAAQ;AAAA,MAAA,CAChC,GAED,MAAMC,EAAwBtB,GAAa,CAACZ,CAAS,CAAC,GACtDI,EAAQ+B,EAAgB,kBAAkB,EAAE,YAAYF,GAAS;AAAA,IAAA,CAClE;AAAA,EACH,GAEMG,IAAe,OAAOtB,MAAiB;AACrC,UAAAT,EAAkBS,GAAM,OAAMuB,MAAc;AAChD,YAAMC,EAAuB;AAAA,QAC3B,YAAAD;AAAA,QACA,QAAQE,EAAyB;AAAA,MAAA,CAClC,GACDnC,EAAQ+B,EAAgB,iBAAiB;AAAA,QACvC,YAAAE;AAAA,QACA,kBAAkBE,EAAyB;AAAA,MAAA,CAC5C;AAAA,IAAA,CACF;AAAA,EACH,GAEMC,IAA6B,OAAO1B,MAAiB;AACnD,UAAAT,EAAkBS,GAAM,OAAMuB,MAAc;AAChD,YAAMC,EAAuB;AAAA,QAC3B,YAAAD;AAAA,QACA,QAAQE,EAAyB;AAAA,MAAA,CAClC;AAAA,IAAA,CACF;AAAA,EACH,GACMD,IAAyB,OAAOxB,MAAiD;AACrF,UAAMT,EAAkBS,GAAM,OAAO,EAAE,YAAAuB,GAAY,QAAAI,QAAa;AAC9D,YAAM,EAAE,0BAA0BC,EAAa,IAC7C,MAAMrB,EAAuC;AAAA,QAC3C,SAAS,EAAE,YAAAgB,GAAY,aAAa,EAAE,kBAAkBI,EAAS,EAAA;AAAA,MAAA,CAClE;AACK,MAAArC,EAAA+B,EAAgB,oCAAoCO,CAAY;AAAA,IAAA,CACzE;AAAA,EACH;AAYE,SAAA,gBAAA7C,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAAC8C;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,YAPW,CAACX,GAAcY,MAA8B;AAC9D,UAAAxC,EAAQ+B,EAAgB,iBAAiB,EAAE,YAAYH,GAAM,kBAAAY,GAAkB;AAAA,QACjF;AAAA,QAMQ,WAfU,MAAM;AACtB,UAAAxC,EAAQ+B,EAAgB,eAAe;AAAA,QACzC;AAAA,QAcQ,cAAAC;AAAA,QACA,cAAAL;AAAA,QACA,WAAAb;AAAA,QACA,aAAAX;AAAA,QACA,YAAAgB;AAAA,QACA,iBAAAG;AAAA,QACA,oBAAAC;AAAA,QACA,gBAAAE;AAAA,QACA,gBAAAC;AAAA,QACA,4BAAAU;AAAA,QACA,0BAAAhB;AAAA,QACA,YAxBW,MAAM;AACvB,UAAApB,EAAQ+B,EAAgB,wBAAwB;AAAA,QAClD;AAAA,MAuBM;AAAA,MAEC,UACCjC,KAEC,gBAAA2C,EAAAC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,QAAA,gBAAAjD,EAACkD,GAAK,EAAA;AAAA,0BACLC,GAAK,EAAA;AAAA,0BACLC,GAAQ,CAAA,CAAA;AAAA,MAAA,EACX,CAAA;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;AAEAtD,EAAa,OAAOoD;AACpBpD,EAAa,OAAOqD;AACpBrD,EAAa,UAAUsD;AAKhB,MAAMC,KAAyB,MAAM;AAC1C,QAAM,EAAE,WAAAlD,GAAW,SAAAI,EAAQ,IAAI+C,EAA4C;AACpE,SAAA,gBAAAtD,EAACF,GAAa,EAAA,WAAAK,GAAsB,SAAAI,EAAkB,CAAA;AAC/D;"}
|
|
1
|
+
{"version":3,"file":"EmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/EmployeeList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n useEmployeesListSuspense,\n invalidateEmployeesList,\n} from '@gusto/embedded-api/react-query/employeesList'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { useQueryClient } from '@tanstack/react-query'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlow'\nimport { EmployeeListProvider } from './useEmployeeList'\nimport { Actions } from './Actions'\nimport {\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { Flex } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { Head } from '@/components/Employee/EmployeeList/Head'\nimport { List } from '@/components/Employee/EmployeeList/List'\nimport { useFlow } from '@/components/Flow/useFlow'\n\n//Interface for component specific props\ninterface EmployeeListProps extends CommonComponentInterface<'Employee.EmployeeList'> {\n companyId: string\n}\n\nexport function EmployeeList(props: EmployeeListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\nfunction Root({ companyId, className, children, dictionary }: EmployeeListProps) {\n //Using i18n hook to directly load necessary namespace\n useI18n('Employee.EmployeeList')\n useComponentDictionary('Employee.EmployeeList', dictionary)\n //Getting props from base context\n const { onEvent, baseSubmitHandler } = useBase()\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n const queryClient = useQueryClient()\n\n const { data } = useEmployeesListSuspense({ companyId, page: currentPage, per: itemsPerPage })\n const { httpMeta, employees: employeeList } = data\n const employees = employeeList!\n\n const { mutateAsync: deleteEmployeeMutation } = useEmployeesDeleteMutation()\n const { mutateAsync: updateEmployeeOnboardingStatusMutation } =\n useEmployeesUpdateOnboardingStatusMutation()\n\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n\n const handleItemsPerPageChange = (newCount: number) => {\n setItemsPerPage(newCount)\n }\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteEmployeeMutation({\n request: { employeeId: payload },\n })\n\n await invalidateEmployeesList(queryClient, [companyId])\n onEvent(componentEvents.EMPLOYEE_DELETED, { employeeId: payload })\n })\n }\n /**Set onboarding status to self_onboarding_awaiting_admin_review and proceed to edit */\n const handleReview = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n onEvent(componentEvents.EMPLOYEE_UPDATE, {\n employeeId,\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n })\n })\n }\n /**Update employee onboarding status reverting it back to admin_onboarding_incomplete */\n const handleCancelSelfOnboarding = async (data: string) => {\n await baseSubmitHandler(data, async employeeId => {\n await updateOnboardingStatus({\n employeeId,\n status: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n })\n })\n }\n const updateOnboardingStatus = async (data: { employeeId: string; status: OnboardingStatus }) => {\n await baseSubmitHandler(data, async ({ employeeId, status }) => {\n const { employeeOnboardingStatus: responseData } =\n await updateEmployeeOnboardingStatusMutation({\n request: { employeeId, requestBody: { onboardingStatus: status } },\n })\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, responseData)\n })\n }\n const handleNew = () => {\n onEvent(componentEvents.EMPLOYEE_CREATE)\n }\n const handleSkip = () => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }\n\n const handleEdit = (uuid: string, onboardingStatus?: OnboardingStatus) => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId: uuid, onboardingStatus })\n }\n return (\n <section className={className}>\n <EmployeeListProvider\n value={{\n handleEdit,\n handleNew,\n handleReview,\n handleDelete,\n employees,\n currentPage,\n totalPages,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleCancelSelfOnboarding,\n handleItemsPerPageChange,\n handleSkip,\n }}\n >\n {children ? (\n children\n ) : (\n <Flex flexDirection=\"column\">\n <Head />\n <List />\n <Actions />\n </Flex>\n )}\n </EmployeeListProvider>\n </section>\n )\n}\n\nEmployeeList.Head = Head\nEmployeeList.List = List\nEmployeeList.Actions = Actions\n\n/**\n * Wrapper used inside Flows -> exposes flow context for required parameters\n */\nexport const EmployeeListContextual = () => {\n const { companyId, onEvent } = useFlow<OnboardingContextInterface>()\n return <EmployeeList companyId={companyId} onEvent={onEvent} />\n}\n"],"names":["EmployeeList","props","jsx","BaseComponent","Root","companyId","className","children","dictionary","useI18n","useComponentDictionary","onEvent","baseSubmitHandler","useBase","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","queryClient","useQueryClient","data","useEmployeesListSuspense","httpMeta","employeeList","employees","deleteEmployeeMutation","useEmployeesDeleteMutation","updateEmployeeOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","totalPages","handleItemsPerPageChange","newCount","handleFirstPage","handlePreviousPage","prevPage","handleNextPage","handleLastPage","handleDelete","uuid","payload","invalidateEmployeesList","componentEvents","handleReview","employeeId","updateOnboardingStatus","EmployeeOnboardingStatus","handleCancelSelfOnboarding","status","responseData","EmployeeListProvider","onboardingStatus","jsxs","Flex","Head","List","Actions","EmployeeListContextual","useFlow"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsx as a, jsxs as c, Fragment as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useState as
|
|
4
|
-
import
|
|
5
|
-
import { useEmployeeList as
|
|
1
|
+
import { jsx as a, jsxs as c, Fragment as v } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as w } from "react-i18next";
|
|
3
|
+
import { useState as A } from "react";
|
|
4
|
+
import T from "./List.module.scss.js";
|
|
5
|
+
import { useEmployeeList as k } from "./useEmployeeList.js";
|
|
6
6
|
import { EmptyData as B } from "../../Common/EmptyData/EmptyData.js";
|
|
7
7
|
import { ActionsLayout as h } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
8
8
|
import { useComponentContext as M } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
@@ -29,7 +29,7 @@ const at = () => {
|
|
|
29
29
|
currentPage: O,
|
|
30
30
|
totalPages: _,
|
|
31
31
|
handleSkip: D
|
|
32
|
-
} =
|
|
32
|
+
} = k(), r = M(), { t: n } = w("Employee.EmployeeList"), [I, l] = A(/* @__PURE__ */ new Set()), { ...P } = F({
|
|
33
33
|
data: d,
|
|
34
34
|
columns: [
|
|
35
35
|
{
|
|
@@ -53,7 +53,7 @@ const at = () => {
|
|
|
53
53
|
return (t.onboardingStatus === i.ADMIN_ONBOARDING_INCOMPLETE || t.onboardingStatus === i.SELF_ONBOARDING_PENDING_INVITE || t.onboardingStatus === i.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW || t.onboardingStatus === i.ONBOARDING_COMPLETED) && e.push({
|
|
54
54
|
label: n("editCta"),
|
|
55
55
|
onClick: () => {
|
|
56
|
-
b(t.uuid, t.onboardingStatus);
|
|
56
|
+
b(t.uuid, t.onboardingStatus ?? void 0);
|
|
57
57
|
},
|
|
58
58
|
icon: /* @__PURE__ */ a(s, { "aria-hidden": !0 })
|
|
59
59
|
}), x.has(t.onboarding_status ?? "") && e.push({
|
|
@@ -102,9 +102,9 @@ const at = () => {
|
|
|
102
102
|
/* @__PURE__ */ a(r.Button, { variant: "primary", onClick: u, children: n("addEmployeeCTA") })
|
|
103
103
|
] }) })
|
|
104
104
|
});
|
|
105
|
-
return /* @__PURE__ */ c(
|
|
105
|
+
return /* @__PURE__ */ c(v, { children: [
|
|
106
106
|
d.length > 0 && /* @__PURE__ */ a(h, { children: /* @__PURE__ */ a(r.Button, { variant: "secondary", onClick: u, children: n("addAnotherCta") }) }),
|
|
107
|
-
/* @__PURE__ */ a("div", { className:
|
|
107
|
+
/* @__PURE__ */ a("div", { className: T.container, children: /* @__PURE__ */ a(V, { label: n("employeeListLabel"), ...P }) })
|
|
108
108
|
] });
|
|
109
109
|
};
|
|
110
110
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../../src/components/Employee/EmployeeList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useState } from 'react'\nimport style from './List.module.scss'\nimport { useEmployeeList } from './useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const {\n handleDelete,\n employees,\n handleEdit,\n handleReview,\n handleNew,\n handleCancelSelfOnboarding,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n handleSkip,\n } = useEmployeeList()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Employee.EmployeeList')\n const [deleting, setDeleting] = useState<Set<string>>(new Set())\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: employee => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: employee => {\n return (\n <Components.Badge status={employee.onboarded ? 'success' : 'warning'}>\n {t(`onboardingStatus.${employee.onboardingStatus ?? 'undefined'}`, {\n ns: 'common',\n })}\n </Components.Badge>\n )\n },\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n // Edit item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED\n ) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n handleEdit(employee.uuid, employee.onboardingStatus)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Cancel self onboarding item\n /* @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses */\n if (EmployeeSelfOnboardingStatuses.has(employee.onboarding_status ?? '')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: async () => {\n await handleCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Review item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void handleReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Delete item\n if (!employee.onboarded) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setDeleting(prev => new Set(prev).add(employee.uuid))\n void handleDelete(employee.uuid).then(() => {\n setDeleting(prev => {\n const newSet = new Set(prev)\n newSet.delete(employee.uuid)\n return newSet\n })\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle')}\n isLoading={deleting.has(employee.uuid)}\n />\n )\n },\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button variant=\"secondary\" onClick={handleSkip}>\n {t('skipCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" onClick={handleNew}>\n {t('addEmployeeCTA')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n return (\n <>\n {employees.length > 0 && (\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleNew}>\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n <div className={style.container}>\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n </div>\n </>\n )\n}\n"],"names":["List","handleDelete","employees","handleEdit","handleReview","handleNew","handleCancelSelfOnboarding","handleFirstPage","handlePreviousPage","handleNextPage","handleLastPage","handleItemsPerPageChange","currentPage","totalPages","handleSkip","useEmployeeList","Components","useComponentContext","t","useTranslation","deleting","setDeleting","useState","dataViewProps","useDataView","employee","firstLastName","jsx","menuItems","EmployeeOnboardingStatus","PencilSvg","EmployeeSelfOnboardingStatuses","prev","newSet","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","Fragment","style","DataView"],"mappings":";;;;;;;;;;;;;;;AAaO,MAAMA,KAAO,MAAM;AAClB,QAAA;AAAA,IACJ,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,4BAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,MACEC,EAAgB,GACdC,IAAaC,EAAoB,GAEjC,EAAE,GAAAC,EAAA,IAAMC,EAAe,uBAAuB,GAC9C,CAACC,GAAUC,CAAW,IAAIC,EAAsB,oBAAI,KAAK,GACzD,EAAE,GAAGC,EAAc,IAAIC,EAAY;AAAA,IACvC,MAAMtB;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOgB,EAAE,WAAW;AAAA,QACpB,QAAQ,CAAYO,MACXC,EAAc;AAAA,UACnB,YAAYD,EAAS;AAAA,UACrB,WAAWA,EAAS;AAAA,QAAA,CACrB;AAAA,MAEL;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAOP,EAAE,aAAa;AAAA,QACtB,QAAQ,CAAYO,MAEf,gBAAAE,EAAAX,EAAW,OAAX,EAAiB,QAAQS,EAAS,YAAY,YAAY,WACxD,UAAEP,EAAA,oBAAoBO,EAAS,oBAAoB,WAAW,IAAI;AAAA,UACjE,IAAI;AAAA,QACL,CAAA,GACH;AAAA,MAEJ;AAAA,IAEJ;AAAA,IACA,UAAU,CAAYA,MAAA;AACpB,YAAMG,IAAY,CAAC;AAGnB,cACEH,EAAS,qBAAqBI,EAAyB,+BACvDJ,EAAS,qBAAqBI,EAAyB,kCACvDJ,EAAS,qBACPI,EAAyB,yCAC3BJ,EAAS,qBAAqBI,EAAyB,yBAEvDD,EAAU,KAAK;AAAA,QACb,OAAOV,EAAE,SAAS;AAAA,QAClB,SAAS,MAAM;
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../../../src/components/Employee/EmployeeList/List.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useState } from 'react'\nimport style from './List.module.scss'\nimport { useEmployeeList } from './useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**List of employees slot for EmployeeList component */\nexport const List = () => {\n const {\n handleDelete,\n employees,\n handleEdit,\n handleReview,\n handleNew,\n handleCancelSelfOnboarding,\n handleFirstPage,\n handlePreviousPage,\n handleNextPage,\n handleLastPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n handleSkip,\n } = useEmployeeList()\n const Components = useComponentContext()\n\n const { t } = useTranslation('Employee.EmployeeList')\n const [deleting, setDeleting] = useState<Set<string>>(new Set())\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: employee => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: employee => {\n return (\n <Components.Badge status={employee.onboarded ? 'success' : 'warning'}>\n {t(`onboardingStatus.${employee.onboardingStatus ?? 'undefined'}`, {\n ns: 'common',\n })}\n </Components.Badge>\n )\n },\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n // Edit item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED\n ) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n handleEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Cancel self onboarding item\n /* @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses */\n if (EmployeeSelfOnboardingStatuses.has(employee.onboarding_status ?? '')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: async () => {\n await handleCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Review item\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void handleReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n // Delete item\n if (!employee.onboarded) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setDeleting(prev => new Set(prev).add(employee.uuid))\n void handleDelete(employee.uuid).then(() => {\n setDeleting(prev => {\n const newSet = new Set(prev)\n newSet.delete(employee.uuid)\n return newSet\n })\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle')}\n isLoading={deleting.has(employee.uuid)}\n />\n )\n },\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button variant=\"secondary\" onClick={handleSkip}>\n {t('skipCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" onClick={handleNew}>\n {t('addEmployeeCTA')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n return (\n <>\n {employees.length > 0 && (\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleNew}>\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n <div className={style.container}>\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n </div>\n </>\n )\n}\n"],"names":["List","handleDelete","employees","handleEdit","handleReview","handleNew","handleCancelSelfOnboarding","handleFirstPage","handlePreviousPage","handleNextPage","handleLastPage","handleItemsPerPageChange","currentPage","totalPages","handleSkip","useEmployeeList","Components","useComponentContext","t","useTranslation","deleting","setDeleting","useState","dataViewProps","useDataView","employee","firstLastName","jsx","menuItems","EmployeeOnboardingStatus","PencilSvg","EmployeeSelfOnboardingStatuses","prev","newSet","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","Fragment","style","DataView"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Employee } from '@gusto/embedded-api/models/components/employee';
|
|
2
|
+
import { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus';
|
|
2
3
|
type EmployeeListContextType = {
|
|
3
|
-
handleEdit: (uuid: string, onboardingStatus?:
|
|
4
|
+
handleEdit: (uuid: string, onboardingStatus?: OnboardingStatus) => void;
|
|
4
5
|
handleDelete: (uuid: string) => Promise<void>;
|
|
5
6
|
handleCancelSelfOnboarding: (employeeId: string) => Promise<void>;
|
|
6
7
|
handleReview: (employeeId: string) => Promise<void>;
|
|
@@ -6,12 +6,13 @@ import "@gusto/embedded-api/models/errors/apierror";
|
|
|
6
6
|
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
7
7
|
import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
|
|
8
8
|
import "../../Base/useBase.js";
|
|
9
|
+
import "../../../shared/constants.js";
|
|
9
10
|
import "dompurify";
|
|
10
11
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
12
|
import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
|
|
12
|
-
const [
|
|
13
|
+
const [E, L] = o("EmployeeListContext");
|
|
13
14
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
L as EmployeeListProvider,
|
|
16
|
+
E as useEmployeeList
|
|
16
17
|
};
|
|
17
18
|
//# sourceMappingURL=useEmployeeList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/useEmployeeList.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype EmployeeListContextType = {\n handleEdit: (uuid: string, onboardingStatus?:
|
|
1
|
+
{"version":3,"file":"useEmployeeList.js","sources":["../../../../src/components/Employee/EmployeeList/useEmployeeList.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype EmployeeListContextType = {\n handleEdit: (uuid: string, onboardingStatus?: OnboardingStatus) => void\n handleDelete: (uuid: string) => Promise<void>\n handleCancelSelfOnboarding: (employeeId: string) => Promise<void>\n handleReview: (employeeId: string) => Promise<void>\n handleNew: () => void\n handleSkip: () => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleItemsPerPageChange: (newCount: number) => void\n currentPage: number\n totalPages: number\n employees: Employee[]\n}\n\nconst [useEmployeeList, EmployeeListProvider] =\n createCompoundContext<EmployeeListContextType>('EmployeeListContext')\nexport { useEmployeeList, EmployeeListProvider }\n"],"names":["useEmployeeList","EmployeeListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;AAsBA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
|
|
@@ -8,12 +8,12 @@ import { useBase as y } from "../../Base/useBase.js";
|
|
|
8
8
|
import { Flex as r } from "../../Common/Flex/Flex.js";
|
|
9
9
|
import { ActionsLayout as E } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
10
|
import { useComponentContext as C } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
-
import { useI18n as I } from "../../../i18n/I18n.js";
|
|
11
|
+
import { useI18n as D, useComponentDictionary as I } from "../../../i18n/I18n.js";
|
|
12
12
|
import { componentEvents as S } from "../../../shared/constants.js";
|
|
13
|
-
function
|
|
14
|
-
return I("Employee.Landing"), /* @__PURE__ */ e(x, { ...t, children: /* @__PURE__ */ e(
|
|
13
|
+
function F(t) {
|
|
14
|
+
return D("Employee.Landing"), I("Employee.Landing", t.dictionary), /* @__PURE__ */ e(x, { ...t, children: /* @__PURE__ */ e(L, { ...t, children: t.children }) });
|
|
15
15
|
}
|
|
16
|
-
const
|
|
16
|
+
const L = ({ employeeId: t, companyId: c, className: l }) => {
|
|
17
17
|
const { onEvent: m } = y(), o = C(), {
|
|
18
18
|
data: { employee: a }
|
|
19
19
|
} = h({ employeeId: t }), p = a.firstName, {
|
|
@@ -48,6 +48,6 @@ const D = ({ employeeId: t, companyId: c, className: l }) => {
|
|
|
48
48
|
] }) });
|
|
49
49
|
};
|
|
50
50
|
export {
|
|
51
|
-
|
|
51
|
+
F as Landing
|
|
52
52
|
};
|
|
53
53
|
//# sourceMappingURL=Landing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api/react-query/companiesGet'\nimport styles from './Landing.module.scss'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SummaryProps extends CommonComponentInterface {\n employeeId: string\n companyId: string\n}\n\nexport function Landing(props: SummaryProps & BaseComponentInterface) {\n useI18n('Employee.Landing')\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, companyId, className }: SummaryProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const firstName = employee!.firstName\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const companyName = company?.name\n\n const { t } = useTranslation('Employee.Landing')\n\n return (\n <section className={className}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('landingSubtitle', { firstName, companyName })}\n </Components.Heading>\n <Components.Text className={styles.description}>\n {t('landingDescription')}\n </Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <ul>\n <li>{t('steps.personalInfo')}</li>\n <li>{t('steps.taxInfo')}</li>\n <li>{t('steps.bankInfo')}</li>\n </ul>\n </Flex>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n </Components.Button>\n </ActionsLayout>\n <Components.Text className={styles.description}>\n {t('getStartedDescription')}\n </Components.Text>\n </Flex>\n </Flex>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","jsx","BaseComponent","Root","employeeId","companyId","className","onEvent","useBase","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","company","useCompaniesGetSuspense","companyName","t","useTranslation","jsxs","Flex","styles","ActionsLayout","componentEvents"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api/react-query/companiesGet'\nimport styles from './Landing.module.scss'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface SummaryProps extends CommonComponentInterface<'Employee.Landing'> {\n employeeId: string\n companyId: string\n}\n\nexport function Landing(props: SummaryProps & BaseComponentInterface) {\n useI18n('Employee.Landing')\n useComponentDictionary('Employee.Landing', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, companyId, className }: SummaryProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const firstName = employee!.firstName\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const companyName = company?.name\n\n const { t } = useTranslation('Employee.Landing')\n\n return (\n <section className={className}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('landingSubtitle', { firstName, companyName })}\n </Components.Heading>\n <Components.Text className={styles.description}>\n {t('landingDescription')}\n </Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <ul>\n <li>{t('steps.personalInfo')}</li>\n <li>{t('steps.taxInfo')}</li>\n <li>{t('steps.bankInfo')}</li>\n </ul>\n </Flex>\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n </Components.Button>\n </ActionsLayout>\n <Components.Text className={styles.description}>\n {t('getStartedDescription')}\n </Components.Text>\n </Flex>\n </Flex>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","companyId","className","onEvent","useBase","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","company","useCompaniesGetSuspense","companyName","t","useTranslation","jsxs","Flex","styles","ActionsLayout","componentEvents"],"mappings":";;;;;;;;;;;;AAqBO,SAASA,EAAQC,GAA8C;AACpE,SAAAC,EAAQ,kBAAkB,GACHC,EAAA,oBAAoBF,EAAM,UAAU,GAGzD,gBAAAG,EAACC,GAAe,EAAA,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAMA,EAAA,SAAA,CAAS,EACnC,CAAA;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,WAAAC,QAA8B;AAC7D,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAQ,GACtBC,IAAaC,EAAoB,GAEjC;AAAA,IACJ,MAAM,EAAE,UAAAC,EAAS;AAAA,EAAA,IACfC,EAAwB,EAAE,YAAAR,GAAY,GACpCS,IAAYF,EAAU,WAEtB;AAAA,IACJ,MAAM,EAAE,SAAAG,EAAQ;AAAA,EAAA,IACdC,EAAwB,EAAE,WAAAV,GAAW,GACnCW,IAAcF,GAAS,MAEvB,EAAE,GAAAG,EAAA,IAAMC,EAAe,kBAAkB;AAG7C,SAAA,gBAAAjB,EAAC,WAAQ,EAAA,WAAAK,GACP,UAAC,gBAAAa,EAAAC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,IAAA,gBAAAD,EAACC,KAAK,YAAW,UAAS,eAAc,UAAS,KAAK,GACpD,UAAA;AAAA,MAAA,gBAAAnB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAK,WAAU,UACnC,UAAAQ,EAAE,mBAAmB,EAAE,WAAAJ,GAAW,aAAAG,EAAA,CAAa,EAClD,CAAA;AAAA,MACA,gBAAAf,EAACQ,EAAW,MAAX,EAAgB,WAAWY,EAAO,aAChC,UAAEJ,EAAA,oBAAoB,EACzB,CAAA;AAAA,IAAA,GACF;AAAA,IACC,gBAAAE,EAAAC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAnB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAQ,EAAE,eAAe,GAAE;AAAA,wBAC/C,MACC,EAAA,UAAA;AAAA,QAAC,gBAAAhB,EAAA,MAAA,EAAI,UAAEgB,EAAA,oBAAoB,EAAE,CAAA;AAAA,QAC5B,gBAAAhB,EAAA,MAAA,EAAI,UAAEgB,EAAA,eAAe,EAAE,CAAA;AAAA,QACvB,gBAAAhB,EAAA,MAAA,EAAI,UAAEgB,EAAA,gBAAgB,EAAE,CAAA;AAAA,MAAA,EAC3B,CAAA;AAAA,IAAA,GACF;AAAA,sBACCG,GAAK,EAAA,eAAc,UAAS,YAAW,UAAS,KAAK,GACpD,UAAA;AAAA,MAAC,gBAAAnB,EAAAqB,GAAA,EAAc,gBAAe,UAC5B,UAAA,gBAAArB;AAAA,QAACQ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQgB,EAAgB,8BAA8B;AAAA,UACxD;AAAA,UAEC,YAAE,eAAe;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MACA,gBAAAtB,EAACQ,EAAW,MAAX,EAAgB,WAAWY,EAAO,aAChC,UAAEJ,EAAA,uBAAuB,EAC5B,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount';
|
|
2
|
+
import { ProfileDefaultValues } from '../Profile';
|
|
3
|
+
import { CompensationDefaultValues } from '../Compensation';
|
|
4
|
+
import { BaseComponentInterface } from '../../Base';
|
|
5
|
+
import { EmployeeOnboardingStatus } from '../../../shared/constants';
|
|
6
|
+
import { RequireAtLeastOne } from '../../../types/Helpers';
|
|
7
|
+
import { FlowContextInterface } from '../../Flow/useFlow';
|
|
8
|
+
export type OnboardingDefaultValues = RequireAtLeastOne<{
|
|
9
|
+
profile?: ProfileDefaultValues;
|
|
10
|
+
compensation?: CompensationDefaultValues;
|
|
11
|
+
}>;
|
|
12
|
+
export interface OnboardingFlowProps extends BaseComponentInterface {
|
|
13
|
+
companyId: string;
|
|
14
|
+
defaultValues?: RequireAtLeastOne<OnboardingDefaultValues>;
|
|
15
|
+
isSelfOnboardingEnabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface OnboardingContextInterface extends FlowContextInterface {
|
|
18
|
+
companyId: string;
|
|
19
|
+
employeeId?: string;
|
|
20
|
+
isAdmin?: boolean;
|
|
21
|
+
onboardingStatus?: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus];
|
|
22
|
+
startDate?: string;
|
|
23
|
+
paymentMethod?: PaymentMethodBankAccount;
|
|
24
|
+
defaultValues?: OnboardingDefaultValues;
|
|
25
|
+
isSelfOnboardingEnabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const OnboardingFlow: ({ companyId, onEvent, defaultValues, isSelfOnboardingEnabled, }: OnboardingFlowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { createMachine as p } from "robot3";
|
|
3
|
+
import { EmployeeListContextual as a } from "../EmployeeList/EmployeeList.js";
|
|
4
|
+
import { employeeOnboardingMachine as c } from "./onboardingStateMachine.js";
|
|
5
|
+
import { Flow as l } from "../../Flow/Flow.js";
|
|
6
|
+
const g = ({
|
|
7
|
+
companyId: o,
|
|
8
|
+
onEvent: e,
|
|
9
|
+
defaultValues: r,
|
|
10
|
+
isSelfOnboardingEnabled: m = !0
|
|
11
|
+
}) => {
|
|
12
|
+
const n = p(
|
|
13
|
+
"index",
|
|
14
|
+
c,
|
|
15
|
+
(t) => ({
|
|
16
|
+
...t,
|
|
17
|
+
component: a,
|
|
18
|
+
companyId: o,
|
|
19
|
+
isAdmin: !0,
|
|
20
|
+
defaultValues: r,
|
|
21
|
+
isSelfOnboardingEnabled: m
|
|
22
|
+
})
|
|
23
|
+
);
|
|
24
|
+
return /* @__PURE__ */ i(l, { machine: n, onEvent: e });
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
g as OnboardingFlow
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=OnboardingFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Employee/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport type { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount'\nimport type { ProfileDefaultValues } from '../Profile'\nimport type { CompensationDefaultValues } from '../Compensation'\nimport { EmployeeListContextual } from '../EmployeeList/EmployeeList'\nimport { employeeOnboardingMachine } from './onboardingStateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport type { EmployeeOnboardingStatus } from '@/shared/constants'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { FlowContextInterface } from '@/components/Flow/useFlow'\n\nexport type OnboardingDefaultValues = RequireAtLeastOne<{\n profile?: ProfileDefaultValues\n compensation?: CompensationDefaultValues\n}>\nexport interface OnboardingFlowProps extends BaseComponentInterface {\n companyId: string\n defaultValues?: RequireAtLeastOne<OnboardingDefaultValues>\n isSelfOnboardingEnabled?: boolean\n}\nexport interface OnboardingContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n isAdmin?: boolean\n onboardingStatus?: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate?: string\n paymentMethod?: PaymentMethodBankAccount\n defaultValues?: OnboardingDefaultValues\n isSelfOnboardingEnabled?: boolean\n}\n\nexport const OnboardingFlow = ({\n companyId,\n onEvent,\n defaultValues,\n isSelfOnboardingEnabled = true,\n}: OnboardingFlowProps) => {\n const manageEmployees = createMachine(\n 'index',\n employeeOnboardingMachine,\n (initialContext: OnboardingContextInterface) => ({\n ...initialContext,\n component: EmployeeListContextual,\n companyId,\n isAdmin: true,\n defaultValues,\n isSelfOnboardingEnabled,\n }),\n )\n return <Flow machine={manageEmployees} onEvent={onEvent} />\n}\n"],"names":["OnboardingFlow","companyId","onEvent","defaultValues","isSelfOnboardingEnabled","manageEmployees","createMachine","employeeOnboardingMachine","initialContext","EmployeeListContextual","jsx","Flow"],"mappings":";;;;;AAgCO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,yBAAAC,IAA0B;AAC5B,MAA2B;AACzB,QAAMC,IAAkBC;AAAA,IACtB;AAAA,IACAC;AAAA,IACA,CAACC,OAAgD;AAAA,MAC/C,GAAGA;AAAA,MACH,WAAWC;AAAA,MACX,WAAAR;AAAA,MACA,SAAS;AAAA,MACT,eAAAE;AAAA,MACA,yBAAAC;AAAA,IACF;AAAA,EACF;AACA,SAAQ,gBAAAM,EAAAC,GAAA,EAAK,SAASN,GAAiB,SAAAH,EAAkB,CAAA;AAC3D;"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { state as m, transition as e, reduce as t, guard as i } from "robot3";
|
|
2
|
+
import { componentEvents as n, EmployeeSelfOnboardingStatuses as O, EmployeeOnboardingStatus as u } from "../../../shared/constants.js";
|
|
3
|
+
import { EmployeeListContextual as s } from "../EmployeeList/EmployeeList.js";
|
|
4
|
+
import { CompensationContextual as c } from "../Compensation/Compensation.js";
|
|
5
|
+
import { ProfileContextual as d } from "../Profile/Profile.js";
|
|
6
|
+
import { OnboardingSummaryContextual as y } from "../OnboardingSummary/OnboardingSummary.js";
|
|
7
|
+
import { DeductionsContextual as p } from "../Deductions/Deductions.js";
|
|
8
|
+
import { PaymentMethodContextual as N } from "../PaymentMethod/PaymentMethod.js";
|
|
9
|
+
import { TaxesContextual as P } from "../Taxes/Taxes.js";
|
|
10
|
+
const E = (o) => (a) => ({
|
|
11
|
+
...a,
|
|
12
|
+
...o
|
|
13
|
+
}), r = (o, a) => e(
|
|
14
|
+
n.CANCEL,
|
|
15
|
+
o,
|
|
16
|
+
t(E({ component: s }))
|
|
17
|
+
), l = (o) => o.onboardingStatus ? !// prettier-ignore
|
|
18
|
+
// @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses
|
|
19
|
+
(O.has(o.onboardingStatus) || o.onboardingStatus === u.SELF_ONBOARDING_PENDING_INVITE) : !0, T = {
|
|
20
|
+
index: m(
|
|
21
|
+
e(
|
|
22
|
+
n.EMPLOYEE_CREATE,
|
|
23
|
+
"employeeProfile",
|
|
24
|
+
t(E({ component: d, employeeId: void 0 }))
|
|
25
|
+
),
|
|
26
|
+
e(
|
|
27
|
+
n.EMPLOYEE_UPDATE,
|
|
28
|
+
"employeeProfile",
|
|
29
|
+
t(
|
|
30
|
+
(o, a) => ({
|
|
31
|
+
...o,
|
|
32
|
+
component: d,
|
|
33
|
+
employeeId: a.payload.employeeId,
|
|
34
|
+
onboardingStatus: a.payload.onboardingStatus
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
),
|
|
38
|
+
e(n.EMPLOYEE_ONBOARDING_DONE, "final")
|
|
39
|
+
),
|
|
40
|
+
employeeProfile: m(
|
|
41
|
+
e(
|
|
42
|
+
n.EMPLOYEE_PROFILE_DONE,
|
|
43
|
+
"compensation",
|
|
44
|
+
t(
|
|
45
|
+
(o, a) => ({
|
|
46
|
+
...o,
|
|
47
|
+
component: c,
|
|
48
|
+
employeeId: a.payload.uuid,
|
|
49
|
+
onboardingStatus: a.payload.onboardingStatus,
|
|
50
|
+
startDate: a.payload.startDate
|
|
51
|
+
})
|
|
52
|
+
)
|
|
53
|
+
),
|
|
54
|
+
r("index")
|
|
55
|
+
),
|
|
56
|
+
compensation: m(
|
|
57
|
+
e(
|
|
58
|
+
n.EMPLOYEE_COMPENSATION_DONE,
|
|
59
|
+
"employeeTaxes",
|
|
60
|
+
t(E({ component: P })),
|
|
61
|
+
i(l)
|
|
62
|
+
),
|
|
63
|
+
e(
|
|
64
|
+
n.EMPLOYEE_COMPENSATION_DONE,
|
|
65
|
+
"deductions",
|
|
66
|
+
t(E({ component: p }))
|
|
67
|
+
),
|
|
68
|
+
r("index")
|
|
69
|
+
),
|
|
70
|
+
employeeTaxes: m(
|
|
71
|
+
e(
|
|
72
|
+
n.EMPLOYEE_TAXES_DONE,
|
|
73
|
+
"paymentMethod",
|
|
74
|
+
t(E({ component: N })),
|
|
75
|
+
i(l)
|
|
76
|
+
),
|
|
77
|
+
r("index")
|
|
78
|
+
),
|
|
79
|
+
paymentMethod: m(
|
|
80
|
+
e(
|
|
81
|
+
n.EMPLOYEE_PAYMENT_METHOD_DONE,
|
|
82
|
+
"deductions",
|
|
83
|
+
t(E({ component: p }))
|
|
84
|
+
),
|
|
85
|
+
r("index")
|
|
86
|
+
),
|
|
87
|
+
deductions: m(
|
|
88
|
+
e(
|
|
89
|
+
n.EMPLOYEE_DEDUCTION_DONE,
|
|
90
|
+
"summary",
|
|
91
|
+
t(E({ component: y }))
|
|
92
|
+
),
|
|
93
|
+
r("index")
|
|
94
|
+
),
|
|
95
|
+
summary: m(
|
|
96
|
+
e(
|
|
97
|
+
n.EMPLOYEES_LIST,
|
|
98
|
+
"index",
|
|
99
|
+
t(E({ component: s, employeeId: void 0 }))
|
|
100
|
+
)
|
|
101
|
+
),
|
|
102
|
+
final: m()
|
|
103
|
+
};
|
|
104
|
+
export {
|
|
105
|
+
T as employeeOnboardingMachine
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=onboardingStateMachine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Employee/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { OnboardingContextInterface } from './OnboardingFlow'\nimport {\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n componentEvents,\n} from '@/shared/constants'\nimport { type MachineEventType } from '@/types/Helpers'\nimport { CompensationContextual } from '@/components/Employee/Compensation'\nimport { DeductionsContextual } from '@/components/Employee/Deductions'\nimport { EmployeeListContextual } from '@/components/Employee/EmployeeList/EmployeeList'\nimport { PaymentMethodContextual } from '@/components/Employee/PaymentMethod'\nimport { ProfileContextual } from '@/components/Employee/Profile'\nimport { TaxesContextual } from '@/components/Employee/Taxes'\nimport { OnboardingSummaryContextual } from '@/components/Employee/OnboardingSummary'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: {\n employeeId: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n }\n [componentEvents.EMPLOYEE_PROFILE_DONE]: {\n uuid: string\n onboardingStatus: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate: string\n }\n}\n\nconst createReducer = (props: Partial<OnboardingContextInterface>) => {\n return (ctx: OnboardingContextInterface): OnboardingContextInterface => ({\n ...ctx,\n ...props,\n })\n}\n\nconst cancelTransition = (target: string, component?: React.ComponentType) =>\n transition(\n componentEvents.CANCEL,\n target,\n reduce(createReducer({ component: component ?? EmployeeListContextual })),\n )\n\nconst selfOnboardingGuard = (ctx: OnboardingContextInterface) =>\n ctx.onboardingStatus\n ? !(\n // prettier-ignore\n // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n (EmployeeSelfOnboardingStatuses.has(ctx.onboardingStatus) ||\n ctx.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n )\n : true\n\nexport const employeeOnboardingMachine = {\n index: state(\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'employeeProfile',\n reduce(createReducer({ component: ProfileContextual, employeeId: undefined })),\n ),\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'employeeProfile',\n\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): OnboardingContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n employeeId: ev.payload.employeeId,\n onboardingStatus: ev.payload.onboardingStatus,\n }\n },\n ),\n ),\n transition(componentEvents.EMPLOYEE_ONBOARDING_DONE, 'final'),\n ),\n employeeProfile: state(\n transition(\n componentEvents.EMPLOYEE_PROFILE_DONE,\n 'compensation',\n reduce(\n (\n ctx: OnboardingContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_PROFILE_DONE>,\n ): OnboardingContextInterface => ({\n ...ctx,\n component: CompensationContextual,\n employeeId: ev.payload.uuid,\n onboardingStatus: ev.payload.onboardingStatus,\n startDate: ev.payload.startDate,\n }),\n ),\n ),\n cancelTransition('index'),\n ),\n compensation: state(\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'employeeTaxes',\n reduce(createReducer({ component: TaxesContextual })),\n guard(selfOnboardingGuard),\n ),\n transition(\n componentEvents.EMPLOYEE_COMPENSATION_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n employeeTaxes: state(\n transition(\n componentEvents.EMPLOYEE_TAXES_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual })),\n guard(selfOnboardingGuard),\n ),\n cancelTransition('index'),\n ),\n paymentMethod: state(\n transition(\n componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE,\n 'deductions',\n reduce(createReducer({ component: DeductionsContextual })),\n ),\n cancelTransition('index'),\n ),\n deductions: state(\n transition(\n componentEvents.EMPLOYEE_DEDUCTION_DONE,\n 'summary',\n reduce(createReducer({ component: OnboardingSummaryContextual })),\n ),\n\n cancelTransition('index'),\n ),\n summary: state(\n transition(\n componentEvents.EMPLOYEES_LIST,\n 'index',\n reduce(createReducer({ component: EmployeeListContextual, employeeId: undefined })),\n ),\n ),\n final: state(),\n}\n"],"names":["createReducer","props","ctx","cancelTransition","target","component","transition","componentEvents","reduce","EmployeeListContextual","selfOnboardingGuard","EmployeeSelfOnboardingStatuses","EmployeeOnboardingStatus","employeeOnboardingMachine","state","ProfileContextual","ev","CompensationContextual","TaxesContextual","guard","DeductionsContextual","PaymentMethodContextual","OnboardingSummaryContextual"],"mappings":";;;;;;;;;AA4BA,MAAMA,IAAgB,CAACC,MACd,CAACC,OAAiE;AAAA,EACvE,GAAGA;AAAA,EACH,GAAGD;AAAA,IAIDE,IAAmB,CAACC,GAAgBC,MACxCC;AAAA,EACEC,EAAgB;AAAA,EAChBH;AAAA,EACAI,EAAOR,EAAc,EAAE,WAAwBS,EAAA,CAAwB,CAAC;AAC1E,GAEIC,IAAsB,CAACR,MAC3BA,EAAI,mBACA;AAAA;AAAA,CAGGS,EAA+B,IAAIT,EAAI,gBAAgB,KACxDA,EAAI,qBAAqBU,EAAyB,kCAEpD,IAEOC,IAA4B;AAAA,EACvC,OAAOC;AAAA,IACLR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWe,GAAmB,YAAY,QAAW,CAAC;AAAA,IAC/E;AAAA,IACAT;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MAEAC;AAAA,QACE,CACEN,GACAc,OAEO;AAAA,UACL,GAAGd;AAAA,UACH,WAAWa;AAAA,UACX,YAAYC,EAAG,QAAQ;AAAA,UACvB,kBAAkBA,EAAG,QAAQ;AAAA,QAC/B;AAAA,MACF;AAAA,IAEJ;AAAA,IACAV,EAAWC,EAAgB,0BAA0B,OAAO;AAAA,EAC9D;AAAA,EACA,iBAAiBO;AAAA,IACfR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEN,GACAc,OACgC;AAAA,UAChC,GAAGd;AAAA,UACH,WAAWe;AAAA,UACX,YAAYD,EAAG,QAAQ;AAAA,UACvB,kBAAkBA,EAAG,QAAQ;AAAA,UAC7B,WAAWA,EAAG,QAAQ;AAAA,QACxB;AAAA,MAAA;AAAA,IAEJ;AAAA,IACAb,EAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,cAAcW;AAAA,IACZR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWkB,EAAiB,CAAA,CAAC;AAAA,MACpDC,EAAMT,CAAmB;AAAA,IAC3B;AAAA,IACAJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWoB,EAAA,CAAsB,CAAC;AAAA,IAC3D;AAAA,IACAjB,EAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,eAAeW;AAAA,IACbR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWqB,EAAyB,CAAA,CAAC;AAAA,MAC5DF,EAAMT,CAAmB;AAAA,IAC3B;AAAA,IACAP,EAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,eAAeW;AAAA,IACbR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWoB,EAAA,CAAsB,CAAC;AAAA,IAC3D;AAAA,IACAjB,EAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,YAAYW;AAAA,IACVR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWsB,EAAA,CAA6B,CAAC;AAAA,IAClE;AAAA,IAEAnB,EAAiB,OAAO;AAAA,EAC1B;AAAA,EACA,SAASW;AAAA,IACPR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOR,EAAc,EAAE,WAAWS,GAAwB,YAAY,QAAW,CAAC;AAAA,IAAA;AAAA,EAEtF;AAAA,EACA,OAAOK,EAAM;AACf;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseComponentInterface, CommonComponentInterface } from '../../Base';
|
|
2
|
-
interface SummaryProps extends CommonComponentInterface {
|
|
2
|
+
interface SummaryProps extends CommonComponentInterface<'Employee.OnboardingSummary'> {
|
|
3
3
|
employeeId: string;
|
|
4
4
|
isAdmin?: boolean;
|
|
5
5
|
}
|