@gusto/embedded-react-sdk 0.11.3 → 0.12.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 +181 -0
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +1 -1
- package/dist/components/Common/DocumentList/DocumentList.module.scss.js +1 -1
- package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
- package/dist/components/Common/FieldErrorMessage/FieldErrorMessage.module.scss.js +1 -1
- package/dist/components/Common/FieldLayout/FieldLayout.module.scss.js +6 -6
- package/dist/components/Common/Flex/Flex.d.ts +2 -2
- package/dist/components/Common/Flex/Flex.js +5 -5
- package/dist/components/Common/Flex/Flex.js.map +1 -1
- package/dist/components/Common/Form/Form.module.scss.js +2 -2
- package/dist/components/Common/Grid/Grid.d.ts +2 -2
- package/dist/components/Common/Grid/Grid.js +13 -13
- package/dist/components/Common/Grid/Grid.js.map +1 -1
- package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayout.module.scss.js +12 -12
- package/dist/components/Common/InternalError/InternalError.module.scss.js +1 -1
- package/dist/components/Common/Loading/Loading.module.scss.js +1 -1
- package/dist/components/Common/PaginationControl/PaginationControl.module.scss.js +1 -1
- package/dist/components/Common/ReorderableList/ReorderableList.module.scss.js +15 -15
- package/dist/components/Common/RequirementsList/RequirementsList.module.scss.js +1 -1
- package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js +6 -6
- package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
- package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
- package/dist/components/Common/UI/Alert/Alert.module.scss.js +1 -1
- package/dist/components/Common/UI/Badge/Badge.module.scss.js +1 -1
- package/dist/components/Common/UI/Button/Button.module.scss.js +1 -1
- package/dist/components/Common/UI/Button/ButtonIcon.module.scss.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.module.scss.js +5 -5
- package/dist/components/Common/UI/Card/Card.module.scss.js +1 -1
- package/dist/components/Common/UI/Checkbox/Checkbox.module.scss.js +8 -8
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroup.module.scss.js +1 -1
- package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +1 -1
- package/dist/components/Common/UI/DatePicker/DatePicker.module.scss.js +5 -5
- package/dist/components/Common/UI/Input/Input.module.scss.js +7 -7
- package/dist/components/Common/UI/Link/Link.module.scss.js +1 -1
- package/dist/components/Common/UI/List/List.module.scss.js +1 -1
- package/dist/components/Common/UI/Menu/Menu.module.scss.js +5 -5
- package/dist/components/Common/UI/NumberInput/NumberInput.js +36 -38
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.module.scss.js +1 -1
- package/dist/components/Common/UI/Radio/Radio.module.scss.js +1 -1
- package/dist/components/Common/UI/RadioGroup/RadioGroup.module.scss.js +1 -1
- package/dist/components/Common/UI/Select/Select.module.scss.js +1 -1
- package/dist/components/Common/UI/Switch/Switch.module.scss.js +4 -4
- package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
- package/dist/components/Common/UI/Text/Text.module.scss.js +14 -14
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +2 -3
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +2 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +3 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +14 -13
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +2 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +6 -5
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +11 -10
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +6 -6
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js +8 -9
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +8 -9
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -5
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +2 -3
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +9 -8
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -6
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +5 -6
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +13 -12
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +3 -4
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +2 -3
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +4 -5
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +6 -5
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +11 -10
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +6 -7
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +2 -3
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +7 -6
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/Completed.js +10 -11
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js +6 -7
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +3 -2
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +34 -33
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Actions.js +9 -10
- package/dist/components/Company/PaySchedule/_parts/Actions.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.js +17 -16
- package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.module.scss.js +1 -1
- package/dist/components/Company/PaySchedule/_parts/Head.js +6 -7
- package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/List.js +11 -12
- package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +8 -8
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +5 -4
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Form.js +4 -3
- package/dist/components/Contractor/Address/Form.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.d.ts +16 -0
- package/dist/components/Contractor/ContractorList/index.js +125 -0
- package/dist/components/Contractor/ContractorList/index.js.map +1 -0
- package/dist/components/Contractor/{List → ContractorList}/useContractorList.d.ts +1 -3
- package/dist/components/Contractor/{List → ContractorList}/useContractorList.js +9 -10
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +2 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +25 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +26 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +71 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -0
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +9 -0
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +119 -0
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +5 -6
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.js +31 -17
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +1 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +40 -44
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +13 -12
- package/dist/components/Contractor/Profile/useContractorProfile.js +144 -144
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.d.ts +7 -0
- package/dist/components/Contractor/Submit/Submit.js +77 -0
- package/dist/components/Contractor/Submit/Submit.js.map +1 -0
- package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
- package/dist/components/Contractor/index.d.ts +3 -2
- package/dist/components/Contractor/index.js +10 -8
- package/dist/components/Contractor/index.js.map +1 -1
- package/dist/components/Employee/Compensation/Actions.js +1 -1
- package/dist/components/Employee/Compensation/Edit.js +12 -12
- package/dist/components/Employee/Compensation/List.js +22 -23
- package/dist/components/Employee/Compensation/List.js.map +1 -1
- package/dist/components/Employee/Deductions/Deductions.d.ts +8 -14
- package/dist/components/Employee/Deductions/Deductions.js +47 -140
- package/dist/components/Employee/Deductions/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsComponents.d.ts +23 -0
- package/dist/components/Employee/Deductions/DeductionsComponents.js +31 -0
- package/dist/components/Employee/Deductions/DeductionsComponents.js.map +1 -0
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.d.ts +41 -0
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +135 -0
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -0
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.d.ts +6 -0
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +99 -0
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js.map +1 -0
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.d.ts +15 -0
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +49 -0
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js.map +1 -0
- package/dist/components/Employee/Deductions/stateMachine.d.ts +7 -0
- package/dist/components/Employee/Deductions/stateMachine.js +107 -0
- package/dist/components/Employee/Deductions/stateMachine.js.map +1 -0
- package/dist/components/Employee/Deductions/useDeductions.d.ts +2 -2
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +6 -7
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +8 -7
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js +2 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +10 -9
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/Actions.js +2 -3
- package/dist/components/Employee/EmployeeList/Actions.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +4 -3
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/Head.js +5 -6
- package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +12 -12
- package/dist/components/Employee/Landing/Landing.js +8 -8
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.module.scss.js +6 -6
- package/dist/components/Employee/PaymentMethod/Actions.js +5 -6
- package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js +8 -9
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/Split.js +8 -8
- package/dist/components/Employee/Profile/Actions.js +6 -7
- package/dist/components/Employee/Profile/Actions.js.map +1 -1
- package/dist/components/Employee/Profile/HomeAddress.js +6 -5
- package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js +22 -21
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
- package/dist/components/Employee/Taxes/Actions.js +8 -9
- package/dist/components/Employee/Taxes/Actions.js.map +1 -1
- package/dist/components/Employee/Taxes/FederalForm.js +12 -13
- package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +3 -3
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +2 -3
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ThemeProvider/ThemeProvider.d.ts +1 -5
- package/dist/contexts/ThemeProvider/ThemeProvider.js +18 -60
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/contexts/ThemeProvider/theme.d.ts +42 -11
- package/dist/contexts/ThemeProvider/theme.js +31 -15
- package/dist/contexts/ThemeProvider/theme.js.map +1 -1
- package/dist/helpers/responsive.d.ts +0 -3
- package/dist/helpers/responsive.js +20 -34
- package/dist/helpers/responsive.js.map +1 -1
- package/dist/i18n/I18n.js +1 -1
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +14 -10
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Submit.json.js +22 -0
- package/dist/i18n/en/Contractor.Submit.json.js.map +1 -0
- package/dist/i18n/en/Employee.Deductions.json.js +49 -51
- package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
- package/dist/shared/constants.d.ts +20 -2
- package/dist/shared/constants.js +21 -11
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +25 -14
- package/package.json +2 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.module.scss.js +0 -8
- package/dist/components/Common/UI/NumberInput/NumberInput.module.scss.js.map +0 -1
- package/dist/components/Contractor/List/index.d.ts +0 -25
- package/dist/components/Contractor/List/index.js +0 -81
- package/dist/components/Contractor/List/index.js.map +0 -1
- package/dist/components/Contractor/List/useContractorList.js.map +0 -1
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.d.ts +0 -6
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js +0 -27
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js.map +0 -1
- package/dist/components/Contractor/Submit/index.d.ts +0 -6
- package/dist/components/Contractor/Submit/index.js +0 -20
- package/dist/components/Contractor/Submit/index.js.map +0 -1
- package/dist/components/Contractor/Submit/index.module.scss.js +0 -8
- package/dist/components/Contractor/Submit/index.module.scss.js.map +0 -1
- package/dist/components/Employee/Deductions/Actions.js +0 -27
- package/dist/components/Employee/Deductions/Actions.js.map +0 -1
- package/dist/components/Employee/Deductions/DeductionForm.d.ts +0 -1
- package/dist/components/Employee/Deductions/DeductionForm.js +0 -78
- package/dist/components/Employee/Deductions/DeductionForm.js.map +0 -1
- package/dist/components/Employee/Deductions/DeductionsList.d.ts +0 -2
- package/dist/components/Employee/Deductions/DeductionsList.js +0 -60
- package/dist/components/Employee/Deductions/DeductionsList.js.map +0 -1
- package/dist/components/Employee/Deductions/Head.js +0 -13
- package/dist/components/Employee/Deductions/Head.js.map +0 -1
- package/dist/components/Employee/Deductions/IncludeDeductionsForm.d.ts +0 -1
- package/dist/components/Employee/Deductions/IncludeDeductionsForm.js +0 -27
- package/dist/components/Employee/Deductions/IncludeDeductionsForm.js.map +0 -1
- package/dist/components/Employee/Deductions/useDeductions.js +0 -33
- package/dist/components/Employee/Deductions/useDeductions.js.map +0 -1
- package/dist/contexts/ThemeProvider/createTheme.d.ts +0 -21
- package/dist/contexts/ThemeProvider/createTheme.js +0 -269
- package/dist/contexts/ThemeProvider/createTheme.js.map +0 -1
- package/dist/i18n/en/Contractor.ContractorSubmit.json.js +0 -18
- package/dist/i18n/en/Contractor.ContractorSubmit.json.js.map +0 -1
- package/dist/types/GTheme.d.ts +0 -254
- /package/dist/contexts/ThemeProvider/{createTheme.test.d.ts → theme.test.d.ts} +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as d } from "react-i18next";
|
|
3
|
+
import { useContractorsDeleteMutation as x } from "@gusto/embedded-api/react-query/contractorsDelete";
|
|
4
|
+
import { useContractors as w } from "./useContractorList.js";
|
|
5
|
+
import { Flex as p } from "../../Common/Flex/Flex.js";
|
|
6
|
+
import "classnames";
|
|
7
|
+
import { EmptyData as H } from "../../Common/EmptyData/EmptyData.js";
|
|
8
|
+
import { ActionsLayout as f } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
9
|
+
import { firstLastName as k } from "../../../helpers/formattedStrings.js";
|
|
10
|
+
import { HamburgerMenu as U } from "../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
11
|
+
import j from "../../../assets/icons/pencil.svg.js";
|
|
12
|
+
import { useComponentContext as u } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
13
|
+
import { ContractorOnboardingStatusBadge as M } from "../../Common/OnboardingStatusBadge/index.js";
|
|
14
|
+
import { useI18n as V } from "../../../i18n/I18n.js";
|
|
15
|
+
import { BaseComponent as F } from "../../Base/Base.js";
|
|
16
|
+
import { useBase as q } from "../../Base/useBase.js";
|
|
17
|
+
import { CONTRACTOR_TYPE as G, componentEvents as l } from "../../../shared/constants.js";
|
|
18
|
+
import Y from "../../../assets/icons/trashcan.svg.js";
|
|
19
|
+
import { useDataView as z } from "../../Common/DataView/useDataView.js";
|
|
20
|
+
import { DataView as J } from "../../Common/DataView/DataView.js";
|
|
21
|
+
function K({ count: o, handleAdd: i }) {
|
|
22
|
+
const { Button: r, Heading: a } = u(), { t: n } = d("Contractor.ContractorList");
|
|
23
|
+
return /* @__PURE__ */ m(p, { alignItems: "center", justifyContent: "space-between", children: [
|
|
24
|
+
/* @__PURE__ */ t(a, { as: "h2", children: n("title") }),
|
|
25
|
+
o !== 0 && /* @__PURE__ */ t(r, { variant: "secondary", onClick: i, children: n("addAnotherCTA") })
|
|
26
|
+
] });
|
|
27
|
+
}
|
|
28
|
+
function Q({ handleAdd: o }) {
|
|
29
|
+
const { Button: i } = u(), { t: r } = d("Contractor.ContractorList");
|
|
30
|
+
return /* @__PURE__ */ t(H, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(f, { justifyContent: "center", children: /* @__PURE__ */ t(i, { onClick: o, children: r("addContractorCTA") }) }) });
|
|
31
|
+
}
|
|
32
|
+
function Tt(o) {
|
|
33
|
+
return /* @__PURE__ */ t(F, { ...o, children: /* @__PURE__ */ t(W, { ...o, children: o.children }) });
|
|
34
|
+
}
|
|
35
|
+
function W({ companyId: o, className: i, dictionary: r, successMessage: a }) {
|
|
36
|
+
V("Contractor.ContractorList");
|
|
37
|
+
const { t: n } = d("Contractor.ContractorList"), { onEvent: s, baseSubmitHandler: h } = q(), { Alert: T, Button: g } = u(), {
|
|
38
|
+
contractors: A,
|
|
39
|
+
totalCount: L,
|
|
40
|
+
handleNextPage: N,
|
|
41
|
+
handleFirstPage: P,
|
|
42
|
+
handleLastPage: b,
|
|
43
|
+
handlePreviousPage: y,
|
|
44
|
+
handleItemsPerPageChange: E,
|
|
45
|
+
currentPage: O,
|
|
46
|
+
totalPages: D
|
|
47
|
+
} = w({ companyUuid: o }), { mutateAsync: R, isPending: B } = x(), I = z({
|
|
48
|
+
columns: [
|
|
49
|
+
{
|
|
50
|
+
title: n("listHeaders.name"),
|
|
51
|
+
render: (e) => e.type === G.BUSINESS ? e.businessName : k({ first_name: e.firstName, last_name: e.lastName })
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
title: n("listHeaders.status"),
|
|
55
|
+
render: ({ onboarded: e, onboardingStatus: c }) => /* @__PURE__ */ t(
|
|
56
|
+
M,
|
|
57
|
+
{
|
|
58
|
+
onboarded: e,
|
|
59
|
+
onboardingStatus: c
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
data: A,
|
|
65
|
+
itemMenu: (e) => /* @__PURE__ */ t(
|
|
66
|
+
U,
|
|
67
|
+
{
|
|
68
|
+
items: [
|
|
69
|
+
{
|
|
70
|
+
label: n("editCTA"),
|
|
71
|
+
icon: /* @__PURE__ */ t(j, { "aria-hidden": !0 }),
|
|
72
|
+
onClick: () => {
|
|
73
|
+
S(e.uuid);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
label: n("deleteCTA"),
|
|
78
|
+
icon: /* @__PURE__ */ t(Y, { "aria-hidden": !0 }),
|
|
79
|
+
onClick: () => {
|
|
80
|
+
v(e.uuid);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
triggerLabel: n("editCTA"),
|
|
85
|
+
isLoading: B
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
emptyState: () => /* @__PURE__ */ t(Q, { handleAdd: C }),
|
|
89
|
+
pagination: {
|
|
90
|
+
handleNextPage: N,
|
|
91
|
+
handleFirstPage: P,
|
|
92
|
+
handleLastPage: b,
|
|
93
|
+
handlePreviousPage: y,
|
|
94
|
+
handleItemsPerPageChange: E,
|
|
95
|
+
currentPage: O,
|
|
96
|
+
totalPages: D
|
|
97
|
+
}
|
|
98
|
+
}), C = () => {
|
|
99
|
+
s(l.CONTRACTOR_CREATE);
|
|
100
|
+
}, S = (e) => {
|
|
101
|
+
s(l.CONTRACTOR_UPDATE, { contractorId: e });
|
|
102
|
+
}, _ = () => {
|
|
103
|
+
s(l.CONTRACTOR_ONBOARDING_CONTINUE);
|
|
104
|
+
}, v = async (e) => {
|
|
105
|
+
await h(e, async (c) => {
|
|
106
|
+
await R({
|
|
107
|
+
request: { contractorUuid: c }
|
|
108
|
+
}), s(l.CONTRACTOR_DELETED, { contractorId: c });
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
return /* @__PURE__ */ m("section", { className: i, children: [
|
|
112
|
+
a && /* @__PURE__ */ t(T, { label: a, status: "success" }),
|
|
113
|
+
/* @__PURE__ */ m(p, { flexDirection: "column", children: [
|
|
114
|
+
/* @__PURE__ */ t(K, { count: L, handleAdd: C }),
|
|
115
|
+
/* @__PURE__ */ t(J, { label: n("contractorListLabel"), ...I }),
|
|
116
|
+
/* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(g, { onClick: _, isLoading: !1, children: n("continueCta") }) })
|
|
117
|
+
] })
|
|
118
|
+
] });
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
Tt as ContractorList,
|
|
122
|
+
Q as EmptyDataContractorsList,
|
|
123
|
+
K as Head
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCTA')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCTA')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n companyId: string\n successMessage?: string\n}\n\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCTA'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCTA'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCTA')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
|
|
@@ -4,12 +4,10 @@ export interface ContractorListContext {
|
|
|
4
4
|
}
|
|
5
5
|
export interface useContractorsArgs {
|
|
6
6
|
companyUuid: string;
|
|
7
|
-
handleAdd: () => void;
|
|
8
7
|
}
|
|
9
|
-
export declare function useContractors({ companyUuid
|
|
8
|
+
export declare function useContractors({ companyUuid }: useContractorsArgs): {
|
|
10
9
|
contractors: Contractor[];
|
|
11
10
|
currentPage: number;
|
|
12
|
-
handleAdd: () => void;
|
|
13
11
|
handleFirstPage: () => void;
|
|
14
12
|
handleItemsPerPageChange: import('react').Dispatch<import('react').SetStateAction<number>>;
|
|
15
13
|
handleLastPage: () => void;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { useContractorsListSuspense as
|
|
1
|
+
import { useContractorsListSuspense as u } from "@gusto/embedded-api/react-query/contractorsList";
|
|
2
2
|
import { useState as o } from "react";
|
|
3
|
-
function
|
|
4
|
-
const [s, e] = o(1), [
|
|
5
|
-
data: { httpMeta: n, contractorList:
|
|
6
|
-
} =
|
|
3
|
+
function C({ companyUuid: r }) {
|
|
4
|
+
const [s, e] = o(1), [g, P] = o(5), {
|
|
5
|
+
data: { httpMeta: n, contractorList: c }
|
|
6
|
+
} = u({ companyUuid: r, page: s, per: g }), t = Number(n.response.headers.get("x-total-pages") ?? 1), h = Number(n.response.headers.get("x-total-count") ?? 1);
|
|
7
7
|
return {
|
|
8
|
-
contractors:
|
|
8
|
+
contractors: c,
|
|
9
9
|
currentPage: s,
|
|
10
|
-
handleAdd: g,
|
|
11
10
|
handleFirstPage: () => {
|
|
12
11
|
e(1);
|
|
13
12
|
},
|
|
14
|
-
handleItemsPerPageChange:
|
|
13
|
+
handleItemsPerPageChange: P,
|
|
15
14
|
handleLastPage: () => {
|
|
16
15
|
e(t);
|
|
17
16
|
},
|
|
@@ -21,11 +20,11 @@ function L({ companyUuid: r, handleAdd: g }) {
|
|
|
21
20
|
handlePreviousPage: () => {
|
|
22
21
|
e((a) => Math.max(a - 1, 1));
|
|
23
22
|
},
|
|
24
|
-
totalCount:
|
|
23
|
+
totalCount: h,
|
|
25
24
|
totalPages: t
|
|
26
25
|
};
|
|
27
26
|
}
|
|
28
27
|
export {
|
|
29
|
-
|
|
28
|
+
C as useContractors
|
|
30
29
|
};
|
|
31
30
|
//# sourceMappingURL=useContractorList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContractorList.js","sources":["../../../../src/components/Contractor/ContractorList/useContractorList.ts"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useState } from 'react'\n\nexport interface ContractorListContext {\n contractors: Contractor[]\n}\n\nexport interface useContractorsArgs {\n companyUuid: string\n}\n\nexport function useContractors({ companyUuid }: useContractorsArgs) {\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(5)\n\n const {\n data: { httpMeta, contractorList: contractors },\n } = useContractorsListSuspense({ companyUuid, page: currentPage, per: itemsPerPage })\n const totalPages = Number(httpMeta.response.headers.get('x-total-pages') ?? 1)\n const totalCount = Number(httpMeta.response.headers.get('x-total-count') ?? 1)\n\n const handleFirstPage = () => {\n setCurrentPage(1)\n }\n const handleLastPage = () => {\n setCurrentPage(totalPages)\n }\n const handleNextPage = () => {\n setCurrentPage(prevPage => Math.min(prevPage + 1, totalPages))\n }\n const handlePreviousPage = () => {\n setCurrentPage(prevPage => Math.max(prevPage - 1, 1))\n }\n\n return {\n contractors: contractors!,\n currentPage,\n handleFirstPage,\n handleItemsPerPageChange: setItemsPerPage,\n handleLastPage,\n handleNextPage,\n handlePreviousPage,\n totalCount,\n totalPages,\n }\n}\n"],"names":["useContractors","companyUuid","currentPage","setCurrentPage","useState","itemsPerPage","setItemsPerPage","httpMeta","contractors","useContractorsListSuspense","totalPages","totalCount","prevPage"],"mappings":";;AAYO,SAASA,EAAe,EAAE,aAAAC,KAAmC;AAClE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAS,CAAC,GAE5C;AAAA,IACJ,MAAM,EAAE,UAAAG,GAAU,gBAAgBC,EAAA;AAAA,EAAY,IAC5CC,EAA2B,EAAE,aAAAR,GAAa,MAAMC,GAAa,KAAKG,GAAc,GAC9EK,IAAa,OAAOH,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,GACvEI,IAAa,OAAOJ,EAAS,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC;AAe7E,SAAO;AAAA,IACL,aAAAC;AAAA,IACA,aAAAN;AAAA,IACA,iBAhBsB,MAAM;AAC5B,MAAAC,EAAe,CAAC;AAAA,IAClB;AAAA,IAeE,0BAA0BG;AAAA,IAC1B,gBAfqB,MAAM;AAC3B,MAAAH,EAAeO,CAAU;AAAA,IAC3B;AAAA,IAcE,gBAbqB,MAAM;AAC3B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAGF,CAAU,CAAC;AAAA,IAC/D;AAAA,IAYE,oBAXyB,MAAM;AAC/B,MAAAP,EAAe,OAAY,KAAK,IAAIS,IAAW,GAAG,CAAC,CAAC;AAAA,IACtD;AAAA,IAUE,YAAAD;AAAA,IACA,YAAAD;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { createMachine as a } from "robot3";
|
|
3
|
+
import { onboardingMachine as m } from "./onboardingStateMachine.js";
|
|
4
|
+
import { ContractorListContextual as c } from "./OnboardingFlowComponents.js";
|
|
5
|
+
import { Flow as p } from "../../Flow/Flow.js";
|
|
6
|
+
const g = ({ companyId: o, onEvent: r, defaultValues: t }) => {
|
|
7
|
+
const n = a(
|
|
8
|
+
"list",
|
|
9
|
+
m,
|
|
10
|
+
(e) => ({
|
|
11
|
+
...e,
|
|
12
|
+
component: c,
|
|
13
|
+
companyId: o,
|
|
14
|
+
defaultValues: t,
|
|
15
|
+
totalSteps: 5,
|
|
16
|
+
currentStep: 0,
|
|
17
|
+
selfOnboarding: !1
|
|
18
|
+
})
|
|
19
|
+
);
|
|
20
|
+
return /* @__PURE__ */ i(p, { machine: n, onEvent: r });
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
g as OnboardingFlow
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=OnboardingFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingFlow.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { onboardingMachine } from './onboardingStateMachine'\nimport type { OnboardingFlowProps } from './OnboardingFlowComponents'\nimport {\n ContractorListContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\n\nexport const OnboardingFlow = ({ companyId, onEvent, defaultValues }: OnboardingFlowProps) => {\n const onboardingFlow = createMachine(\n 'list',\n onboardingMachine,\n (initialContext: OnboardingFlowContextInterface) => ({\n ...initialContext,\n component: ContractorListContextual,\n companyId,\n defaultValues,\n totalSteps: 5,\n currentStep: 0,\n selfOnboarding: false,\n }),\n )\n return <Flow machine={onboardingFlow} onEvent={onEvent} />\n}\n"],"names":["OnboardingFlow","companyId","onEvent","defaultValues","onboardingFlow","createMachine","onboardingMachine","initialContext","ContractorListContextual","jsx","Flow"],"mappings":";;;;;AASO,MAAMA,IAAiB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,QAAyC;AAC5F,QAAMC,IAAiBC;AAAA,IACrB;AAAA,IACAC;AAAA,IACA,CAACC,OAAoD;AAAA,MACnD,GAAGA;AAAA,MACH,WAAWC;AAAA,MACX,WAAAP;AAAA,MACA,eAAAE;AAAA,MACA,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,gBAAgB;AAAA,IAAA;AAAA,EAClB;AAEF,SAAO,gBAAAM,EAACC,GAAA,EAAK,SAASN,GAAgB,SAAAF,EAAA,CAAkB;AAC1D;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { UseContractorProfileProps } from '../Profile/useContractorProfile';
|
|
2
|
+
import { AddressDefaultValues } from '../Address/useAddress';
|
|
3
|
+
import { FlowContextInterface } from '../../Flow/useFlow';
|
|
4
|
+
import { RequireAtLeastOne } from '../../../types/Helpers';
|
|
5
|
+
import { BaseComponentInterface } from '../../Base';
|
|
6
|
+
export type OnboardingFlowDefaultValues = RequireAtLeastOne<{
|
|
7
|
+
profile?: UseContractorProfileProps['defaultValues'];
|
|
8
|
+
address?: AddressDefaultValues;
|
|
9
|
+
}>;
|
|
10
|
+
export interface OnboardingFlowProps extends BaseComponentInterface {
|
|
11
|
+
companyId: string;
|
|
12
|
+
defaultValues?: RequireAtLeastOne<OnboardingFlowDefaultValues>;
|
|
13
|
+
}
|
|
14
|
+
export interface OnboardingFlowContextInterface extends FlowContextInterface {
|
|
15
|
+
companyId: string;
|
|
16
|
+
contractorId?: string;
|
|
17
|
+
defaultValues?: OnboardingFlowDefaultValues;
|
|
18
|
+
selfOnboarding?: boolean;
|
|
19
|
+
successMessage?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function ContractorListContextual(): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function ProfileContextual(): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function AddressContextual(): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function PaymentMethodContextual(): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function NewHireReportContextual(): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function SubmitContextual(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { ContractorList as u } from "../ContractorList/index.js";
|
|
3
|
+
import { PaymentMethod as d } from "../PaymentMethod/PaymentMethod.js";
|
|
4
|
+
import { NewHireReport as s } from "../NewHireReport/NewHireReport.js";
|
|
5
|
+
import { ContractorSubmit as i } from "../Submit/Submit.js";
|
|
6
|
+
import { useFlow as e } from "../../Flow/useFlow.js";
|
|
7
|
+
import { ensureRequired as c } from "../../../helpers/ensureRequired.js";
|
|
8
|
+
import { Address as m } from "../Address/Address.js";
|
|
9
|
+
import { ContractorProfile as f } from "../Profile/ContractorProfile.js";
|
|
10
|
+
function V() {
|
|
11
|
+
const { companyId: t, onEvent: o, successMessage: r } = e();
|
|
12
|
+
return /* @__PURE__ */ n(
|
|
13
|
+
u,
|
|
14
|
+
{
|
|
15
|
+
onEvent: o,
|
|
16
|
+
companyId: c(t),
|
|
17
|
+
successMessage: r
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
function b() {
|
|
22
|
+
const { companyId: t, onEvent: o, contractorId: r, defaultValues: a } = e();
|
|
23
|
+
return /* @__PURE__ */ n(
|
|
24
|
+
f,
|
|
25
|
+
{
|
|
26
|
+
onEvent: o,
|
|
27
|
+
companyId: c(t),
|
|
28
|
+
contractorId: r,
|
|
29
|
+
defaultValues: a?.profile
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function w() {
|
|
34
|
+
const { onEvent: t, contractorId: o, defaultValues: r } = e();
|
|
35
|
+
return /* @__PURE__ */ n(
|
|
36
|
+
m,
|
|
37
|
+
{
|
|
38
|
+
onEvent: t,
|
|
39
|
+
contractorId: c(o),
|
|
40
|
+
defaultValues: r?.address
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function M() {
|
|
45
|
+
const { onEvent: t, contractorId: o } = e();
|
|
46
|
+
return /* @__PURE__ */ n(d, { onEvent: t, contractorId: c(o) });
|
|
47
|
+
}
|
|
48
|
+
function R() {
|
|
49
|
+
const { onEvent: t, contractorId: o } = e();
|
|
50
|
+
return /* @__PURE__ */ n(s, { onEvent: t, contractorId: c(o) });
|
|
51
|
+
}
|
|
52
|
+
function g() {
|
|
53
|
+
const { onEvent: t, contractorId: o, selfOnboarding: r } = e();
|
|
54
|
+
return /* @__PURE__ */ n(
|
|
55
|
+
i,
|
|
56
|
+
{
|
|
57
|
+
onEvent: t,
|
|
58
|
+
contractorId: c(o),
|
|
59
|
+
selfOnboarding: r
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
export {
|
|
64
|
+
w as AddressContextual,
|
|
65
|
+
V as ContractorListContextual,
|
|
66
|
+
R as NewHireReportContextual,
|
|
67
|
+
M as PaymentMethodContextual,
|
|
68
|
+
b as ProfileContextual,
|
|
69
|
+
g as SubmitContextual
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=OnboardingFlowComponents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import { ContractorList } from '../ContractorList'\nimport { ContractorProfile } from '../Profile'\nimport { Address } from '../Address'\nimport { PaymentMethod } from '../PaymentMethod/PaymentMethod'\nimport { NewHireReport } from '../NewHireReport/NewHireReport'\nimport { ContractorSubmit } from '../Submit/Submit'\nimport type { UseContractorProfileProps } from '../Profile/useContractorProfile'\nimport type { AddressDefaultValues } from '../Address/useAddress'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\nexport type OnboardingFlowDefaultValues = RequireAtLeastOne<{\n profile?: UseContractorProfileProps['defaultValues']\n address?: AddressDefaultValues\n}>\nexport interface OnboardingFlowProps extends BaseComponentInterface {\n companyId: string\n defaultValues?: RequireAtLeastOne<OnboardingFlowDefaultValues>\n}\nexport interface OnboardingFlowContextInterface extends FlowContextInterface {\n companyId: string\n contractorId?: string\n defaultValues?: OnboardingFlowDefaultValues\n selfOnboarding?: boolean\n successMessage?: string\n}\n\nexport function ContractorListContextual() {\n const { companyId, onEvent, successMessage } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorList\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n successMessage={successMessage}\n />\n )\n}\n\nexport function ProfileContextual() {\n const { companyId, onEvent, contractorId, defaultValues } =\n useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorProfile\n onEvent={onEvent}\n companyId={ensureRequired(companyId)}\n contractorId={contractorId}\n defaultValues={defaultValues?.profile}\n />\n )\n}\n\nexport function AddressContextual() {\n const { onEvent, contractorId, defaultValues } = useFlow<OnboardingFlowContextInterface>()\n return (\n <Address\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n defaultValues={defaultValues?.address}\n />\n )\n}\nexport function PaymentMethodContextual() {\n const { onEvent, contractorId } = useFlow<OnboardingFlowContextInterface>()\n return <PaymentMethod onEvent={onEvent} contractorId={ensureRequired(contractorId)} />\n}\nexport function NewHireReportContextual() {\n const { onEvent, contractorId } = useFlow<OnboardingFlowContextInterface>()\n return <NewHireReport onEvent={onEvent} contractorId={ensureRequired(contractorId)} />\n}\nexport function SubmitContextual() {\n const { onEvent, contractorId, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <ContractorSubmit\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\n}\n"],"names":["ContractorListContextual","companyId","onEvent","successMessage","useFlow","jsx","ContractorList","ensureRequired","ProfileContextual","contractorId","defaultValues","ContractorProfile","AddressContextual","Address","PaymentMethodContextual","PaymentMethod","NewHireReportContextual","NewHireReport","SubmitContextual","selfOnboarding","ContractorSubmit"],"mappings":";;;;;;;;;AA6BO,SAASA,IAA2B;AACzC,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,gBAAAC,EAAA,IAAmBC,EAAA;AAC/C,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAJ;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,gBAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASK,IAAoB;AAClC,QAAM,EAAE,WAAAP,GAAW,SAAAC,GAAS,cAAAO,GAAc,eAAAC,EAAA,IACxCN,EAAA;AACF,SACE,gBAAAC;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAAT;AAAA,MACA,WAAWK,EAAeN,CAAS;AAAA,MACnC,cAAAQ;AAAA,MACA,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEO,SAASE,IAAoB;AAClC,QAAM,EAAE,SAAAV,GAAS,cAAAO,GAAc,eAAAC,EAAA,IAAkBN,EAAA;AACjD,SACE,gBAAAC;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,SAAAX;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,eAAeC,GAAe;AAAA,IAAA;AAAA,EAAA;AAGpC;AACO,SAASI,IAA0B;AACxC,QAAM,EAAE,SAAAZ,GAAS,cAAAO,EAAA,IAAiBL,EAAA;AAClC,2BAAQW,GAAA,EAAc,SAAAb,GAAkB,cAAcK,EAAeE,CAAY,GAAG;AACtF;AACO,SAASO,IAA0B;AACxC,QAAM,EAAE,SAAAd,GAAS,cAAAO,EAAA,IAAiBL,EAAA;AAClC,2BAAQa,GAAA,EAAc,SAAAf,GAAkB,cAAcK,EAAeE,CAAY,GAAG;AACtF;AACO,SAASS,IAAmB;AACjC,QAAM,EAAE,SAAAhB,GAAS,cAAAO,GAAc,gBAAAU,EAAA,IAAmBf,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,SAAAlB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAU;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const onboardingMachine: {
|
|
2
|
+
list: import('robot3').MachineState<"contractor/create" | "contractor/update">;
|
|
3
|
+
profile: import('robot3').MachineState<"contractor/profile/done">;
|
|
4
|
+
address: import('robot3').MachineState<"contractor/address/done">;
|
|
5
|
+
paymentMethod: import('robot3').MachineState<"contractor/paymentMethod/done">;
|
|
6
|
+
newHireReport: import('robot3').MachineState<"contractor/newHireReport/done">;
|
|
7
|
+
submit: import('robot3').MachineState<"contractor/submit/done">;
|
|
8
|
+
final: import('robot3').MachineState<string>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { state as s, transition as o, reduce as r, guard as c } from "robot3";
|
|
2
|
+
import { ContractorListContextual as u, AddressContextual as O, NewHireReportContextual as p, ProfileContextual as d, SubmitContextual as i, PaymentMethodContextual as R } from "./OnboardingFlowComponents.js";
|
|
3
|
+
import { componentEvents as n } from "../../../shared/constants.js";
|
|
4
|
+
const a = (t) => (e) => ({
|
|
5
|
+
...e,
|
|
6
|
+
...t
|
|
7
|
+
}), T = {
|
|
8
|
+
list: s(
|
|
9
|
+
o(
|
|
10
|
+
n.CONTRACTOR_CREATE,
|
|
11
|
+
"profile",
|
|
12
|
+
r(
|
|
13
|
+
a({
|
|
14
|
+
component: d,
|
|
15
|
+
currentStep: 1,
|
|
16
|
+
showProgress: !0,
|
|
17
|
+
contractorId: void 0,
|
|
18
|
+
successMessage: void 0
|
|
19
|
+
})
|
|
20
|
+
)
|
|
21
|
+
),
|
|
22
|
+
o(
|
|
23
|
+
n.CONTRACTOR_UPDATE,
|
|
24
|
+
"profile",
|
|
25
|
+
r(
|
|
26
|
+
(t, e) => ({
|
|
27
|
+
...t,
|
|
28
|
+
component: d,
|
|
29
|
+
currentStep: 1,
|
|
30
|
+
showProgress: !0,
|
|
31
|
+
contractorId: e.payload.contractorId,
|
|
32
|
+
successMessage: void 0
|
|
33
|
+
})
|
|
34
|
+
)
|
|
35
|
+
)
|
|
36
|
+
),
|
|
37
|
+
profile: s(
|
|
38
|
+
o(
|
|
39
|
+
n.CONTRACTOR_PROFILE_DONE,
|
|
40
|
+
"address",
|
|
41
|
+
r(
|
|
42
|
+
(t, e) => ({
|
|
43
|
+
...t,
|
|
44
|
+
component: O,
|
|
45
|
+
currentStep: 2,
|
|
46
|
+
contractorId: e.payload.contractorId,
|
|
47
|
+
selfOnboarding: e.payload.selfOnboarding
|
|
48
|
+
})
|
|
49
|
+
),
|
|
50
|
+
c((t, e) => !e.payload.selfOnboarding)
|
|
51
|
+
// Only allow transition to address if not self-onboarding
|
|
52
|
+
),
|
|
53
|
+
o(
|
|
54
|
+
n.CONTRACTOR_PROFILE_DONE,
|
|
55
|
+
"newHireReport",
|
|
56
|
+
r(
|
|
57
|
+
(t, e) => ({
|
|
58
|
+
...t,
|
|
59
|
+
component: p,
|
|
60
|
+
currentStep: 2,
|
|
61
|
+
totalSteps: 3
|
|
62
|
+
})
|
|
63
|
+
),
|
|
64
|
+
c((t, e) => e.payload.selfOnboarding)
|
|
65
|
+
// Only allow transition to new hire report if self-onboarding
|
|
66
|
+
)
|
|
67
|
+
),
|
|
68
|
+
address: s(
|
|
69
|
+
o(
|
|
70
|
+
n.CONTRACTOR_ADDRESS_DONE,
|
|
71
|
+
"paymentMethod",
|
|
72
|
+
r(a({ component: R, currentStep: 3 }))
|
|
73
|
+
)
|
|
74
|
+
),
|
|
75
|
+
paymentMethod: s(
|
|
76
|
+
o(
|
|
77
|
+
n.CONTRACTOR_PAYMENT_METHOD_DONE,
|
|
78
|
+
"newHireReport",
|
|
79
|
+
r(
|
|
80
|
+
a({
|
|
81
|
+
component: p,
|
|
82
|
+
currentStep: 4
|
|
83
|
+
})
|
|
84
|
+
)
|
|
85
|
+
)
|
|
86
|
+
),
|
|
87
|
+
newHireReport: s(
|
|
88
|
+
o(
|
|
89
|
+
n.CONTRACTOR_NEW_HIRE_REPORT_DONE,
|
|
90
|
+
"submit",
|
|
91
|
+
r(
|
|
92
|
+
a({
|
|
93
|
+
component: i,
|
|
94
|
+
currentStep: 5
|
|
95
|
+
})
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
),
|
|
99
|
+
submit: s(
|
|
100
|
+
o(
|
|
101
|
+
n.CONTRACTOR_SUBMIT_DONE,
|
|
102
|
+
"list",
|
|
103
|
+
r(
|
|
104
|
+
(t, e) => ({
|
|
105
|
+
...t,
|
|
106
|
+
component: u,
|
|
107
|
+
currentStep: 0,
|
|
108
|
+
showProgress: !1,
|
|
109
|
+
successMessage: e.payload.message
|
|
110
|
+
})
|
|
111
|
+
)
|
|
112
|
+
)
|
|
113
|
+
),
|
|
114
|
+
final: s()
|
|
115
|
+
};
|
|
116
|
+
export {
|
|
117
|
+
T as onboardingMachine
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=onboardingStateMachine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingStateMachine.js","sources":["../../../../src/components/Contractor/OnboardingFlow/onboardingStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport {\n AddressContextual,\n ContractorListContextual,\n NewHireReportContextual,\n PaymentMethodContextual,\n ProfileContextual,\n SubmitContextual,\n type OnboardingFlowContextInterface,\n} from './OnboardingFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType } from '@/types/Helpers'\n\ntype EventPayloads = {\n [componentEvents.CONTRACTOR_UPDATE]: {\n contractorId: string\n }\n [componentEvents.CONTRACTOR_PROFILE_DONE]: { contractorId: string; selfOnboarding: boolean }\n [componentEvents.CONTRACTOR_SUBMIT_DONE]: { message?: string }\n}\n\nconst createReducer = (props: Partial<OnboardingFlowContextInterface>) => {\n return (ctx: OnboardingFlowContextInterface): OnboardingFlowContextInterface => ({\n ...ctx,\n ...props,\n })\n}\nexport const onboardingMachine = {\n list: state(\n transition(\n componentEvents.CONTRACTOR_CREATE,\n 'profile',\n reduce(\n createReducer({\n component: ProfileContextual,\n currentStep: 1,\n showProgress: true,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\n ),\n transition(\n componentEvents.CONTRACTOR_UPDATE,\n 'profile',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_UPDATE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ProfileContextual,\n currentStep: 1,\n showProgress: true,\n contractorId: ev.payload.contractorId,\n successMessage: undefined,\n }\n },\n ),\n ),\n ),\n profile: state(\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'address',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: AddressContextual,\n currentStep: 2,\n contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\n }\n },\n ),\n guard((ctx, ev) => !ev.payload.selfOnboarding), // Only allow transition to address if not self-onboarding\n ),\n transition(\n componentEvents.CONTRACTOR_PROFILE_DONE,\n 'newHireReport',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_PROFILE_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: NewHireReportContextual,\n currentStep: 2,\n totalSteps: 3,\n }\n },\n ),\n guard((ctx, ev) => ev.payload.selfOnboarding), // Only allow transition to new hire report if self-onboarding\n ),\n ),\n address: state(\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual, currentStep: 3 })),\n ),\n ),\n paymentMethod: state(\n transition(\n componentEvents.CONTRACTOR_PAYMENT_METHOD_DONE,\n 'newHireReport',\n reduce(\n createReducer({\n component: NewHireReportContextual,\n currentStep: 4,\n }),\n ),\n ),\n ),\n newHireReport: state(\n transition(\n componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE,\n 'submit',\n reduce(\n createReducer({\n component: SubmitContextual,\n currentStep: 5,\n }),\n ),\n ),\n ),\n submit: state(\n transition(\n componentEvents.CONTRACTOR_SUBMIT_DONE,\n 'list',\n reduce(\n (\n ctx: OnboardingFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.CONTRACTOR_SUBMIT_DONE>,\n ): OnboardingFlowContextInterface => {\n return {\n ...ctx,\n component: ContractorListContextual,\n currentStep: 0,\n showProgress: false,\n successMessage: ev.payload.message,\n }\n },\n ),\n ),\n ),\n final: state(),\n}\n"],"names":["createReducer","props","ctx","onboardingMachine","state","transition","componentEvents","reduce","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","PaymentMethodContextual","SubmitContextual","ContractorListContextual"],"mappings":";;;AAqBA,MAAMA,IAAgB,CAACC,MACd,CAACC,OAAyE;AAAA,EAC/E,GAAGA;AAAA,EACH,GAAGD;AAAA,IAGME,IAAoB;AAAA,EAC/B,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACEP,EAAc;AAAA,UACZ,WAAWQ;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,cAAc;AAAA,UACd,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IAEFH;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEL,GACAO,OAEO;AAAA,UACL,GAAGP;AAAA,UACH,WAAWM;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,cAAcC,EAAG,QAAQ;AAAA,UACzB,gBAAgB;AAAA,QAAA;AAAA,MAEpB;AAAA,IACF;AAAA,EACF;AAAA,EAEF,SAASL;AAAA,IACPC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEL,GACAO,OAEO;AAAA,UACL,GAAGP;AAAA,UACH,WAAWQ;AAAA,UACX,aAAa;AAAA,UACb,cAAcD,EAAG,QAAQ;AAAA,UACzB,gBAAgBA,EAAG,QAAQ;AAAA,QAAA;AAAA,MAE/B;AAAA,MAEFE,EAAM,CAACT,GAAKO,MAAO,CAACA,EAAG,QAAQ,cAAc;AAAA;AAAA,IAAA;AAAA,IAE/CJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEL,GACAO,OAEO;AAAA,UACL,GAAGP;AAAA,UACH,WAAWU;AAAA,UACX,aAAa;AAAA,UACb,YAAY;AAAA,QAAA;AAAA,MAEhB;AAAA,MAEFD,EAAM,CAACT,GAAKO,MAAOA,EAAG,QAAQ,cAAc;AAAA;AAAA,IAAA;AAAA,EAC9C;AAAA,EAEF,SAASL;AAAA,IACPC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAOP,EAAc,EAAE,WAAWa,GAAyB,aAAa,GAAG,CAAC;AAAA,IAAA;AAAA,EAC9E;AAAA,EAEF,eAAeT;AAAA,IACbC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACEP,EAAc;AAAA,UACZ,WAAWY;AAAA,UACX,aAAa;AAAA,QAAA,CACd;AAAA,MAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEF,eAAeR;AAAA,IACbC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACEP,EAAc;AAAA,UACZ,WAAWc;AAAA,UACX,aAAa;AAAA,QAAA,CACd;AAAA,MAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEF,QAAQV;AAAA,IACNC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC;AAAA,QACE,CACEL,GACAO,OAEO;AAAA,UACL,GAAGP;AAAA,UACH,WAAWa;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,gBAAgBN,EAAG,QAAQ;AAAA,QAAA;AAAA,MAE/B;AAAA,IACF;AAAA,EACF;AAAA,EAEF,OAAOL,EAAA;AACT;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as n, Fragment as o, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as t } from "react-i18next";
|
|
3
3
|
import "classnames";
|
|
4
|
-
import "../../../shared/constants.js";
|
|
5
|
-
import { RadioGroupField as i } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
|
|
6
4
|
import { TextInputField as a } from "../../Common/Fields/TextInputField/TextInputField.js";
|
|
7
|
-
|
|
5
|
+
import { RadioGroupField as i } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
|
|
6
|
+
function p({ bankAccount: u }) {
|
|
8
7
|
const { t: e } = t("Contractor.PaymentMethod", { keyPrefix: "bankAccountForm" });
|
|
9
|
-
return /* @__PURE__ */ o
|
|
8
|
+
return /* @__PURE__ */ n(o, { children: [
|
|
10
9
|
/* @__PURE__ */ r(
|
|
11
10
|
a,
|
|
12
11
|
{
|
|
@@ -50,6 +49,6 @@ function d({ bankAccount: u }) {
|
|
|
50
49
|
] });
|
|
51
50
|
}
|
|
52
51
|
export {
|
|
53
|
-
|
|
52
|
+
p as BankAccountForm
|
|
54
53
|
};
|
|
55
54
|
//# sourceMappingURL=BankAccountForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankAccountForm.js","sources":["../../../../src/components/Contractor/PaymentMethod/BankAccountForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { BankAccountFormProps } from './types'\nimport { RadioGroupField, TextInputField } from '@/components/Common'\n\nexport function BankAccountForm({ bankAccount }: BankAccountFormProps) {\n const { t } = useTranslation('Contractor.PaymentMethod', { keyPrefix: 'bankAccountForm' })\n\n return (\n <>\n <TextInputField\n name=\"name\"\n isRequired\n label={t('nameLabel')}\n errorMessage={t('validations.accountName')}\n />\n\n <TextInputField\n name=\"routingNumber\"\n label={t('routingNumberLabel')}\n isRequired\n description={t('routingNumberDescription')}\n errorMessage={t('validations.routingNumber')}\n />\n\n <TextInputField\n name=\"accountNumber\"\n label={t('accountNumberLabel')}\n errorMessage={t('validations.accountNumber')}\n isRequired\n />\n\n <RadioGroupField\n name=\"accountType\"\n isRequired\n label={t('accountTypeLabel')}\n options={[\n { value: 'Checking', label: t('accountTypeChecking') },\n { value: 'Savings', label: t('accountTypeSavings') },\n ]}\n />\n </>\n )\n}\n"],"names":["BankAccountForm","bankAccount","t","useTranslation","jsxs","Fragment","jsx","TextInputField","RadioGroupField"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BankAccountForm.js","sources":["../../../../src/components/Contractor/PaymentMethod/BankAccountForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { BankAccountFormProps } from './types'\nimport { RadioGroupField, TextInputField } from '@/components/Common'\n\nexport function BankAccountForm({ bankAccount }: BankAccountFormProps) {\n const { t } = useTranslation('Contractor.PaymentMethod', { keyPrefix: 'bankAccountForm' })\n\n return (\n <>\n <TextInputField\n name=\"name\"\n isRequired\n label={t('nameLabel')}\n errorMessage={t('validations.accountName')}\n />\n\n <TextInputField\n name=\"routingNumber\"\n label={t('routingNumberLabel')}\n isRequired\n description={t('routingNumberDescription')}\n errorMessage={t('validations.routingNumber')}\n />\n\n <TextInputField\n name=\"accountNumber\"\n label={t('accountNumberLabel')}\n errorMessage={t('validations.accountNumber')}\n isRequired\n />\n\n <RadioGroupField\n name=\"accountType\"\n isRequired\n label={t('accountTypeLabel')}\n options={[\n { value: 'Checking', label: t('accountTypeChecking') },\n { value: 'Savings', label: t('accountTypeSavings') },\n ]}\n />\n </>\n )\n}\n"],"names":["BankAccountForm","bankAccount","t","useTranslation","jsxs","Fragment","jsx","TextInputField","RadioGroupField"],"mappings":";;;;;AAIO,SAASA,EAAgB,EAAE,aAAAC,KAAqC;AACrE,QAAM,EAAE,GAAAC,MAAMC,EAAe,4BAA4B,EAAE,WAAW,mBAAmB;AAEzF,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,YAAU;AAAA,QACV,OAAOL,EAAE,WAAW;AAAA,QACpB,cAAcA,EAAE,yBAAyB;AAAA,MAAA;AAAA,IAAA;AAAA,IAG3C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,YAAU;AAAA,QACV,aAAaA,EAAE,0BAA0B;AAAA,QACzC,cAAcA,EAAE,2BAA2B;AAAA,MAAA;AAAA,IAAA;AAAA,IAG7C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,cAAcA,EAAE,2BAA2B;AAAA,QAC3C,YAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAGZ,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,YAAU;AAAA,QACV,OAAON,EAAE,kBAAkB;AAAA,QAC3B,SAAS;AAAA,UACP,EAAE,OAAO,YAAY,OAAOA,EAAE,qBAAqB,EAAA;AAAA,UACnD,EAAE,OAAO,WAAW,OAAOA,EAAE,oBAAoB,EAAA;AAAA,QAAE;AAAA,MACrD;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -1,24 +1,38 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useContractorsGetSuspense as m } from "@gusto/embedded-api/react-query/contractorsGet";
|
|
3
|
+
import { useContractorProfile as f } from "./useContractorProfile.js";
|
|
4
|
+
import { ContractorType as T, WageType as W } from "./useContractorProfile.js";
|
|
5
|
+
import { ContractorProfileForm as d } from "./ContractorProfileForm.js";
|
|
6
|
+
import { BaseComponent as u } from "../../Base/Base.js";
|
|
7
|
+
import { useComponentDictionary as C } from "../../../i18n/I18n.js";
|
|
8
|
+
function g(o) {
|
|
9
|
+
return C("Contractor.Profile", o.dictionary), /* @__PURE__ */ t(u, { ...o, children: o.contractorId ? /* @__PURE__ */ t(l, { ...o, contractorId: o.contractorId, children: o.children }) : /* @__PURE__ */ t(n, { ...o, children: o.children }) });
|
|
9
10
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
11
|
+
function l(o) {
|
|
12
|
+
const {
|
|
13
|
+
data: { contractor: r }
|
|
14
|
+
} = m({ contractorUuid: o.contractorId });
|
|
15
|
+
return /* @__PURE__ */ t(n, { ...o, existingContractor: r });
|
|
16
|
+
}
|
|
17
|
+
function n({
|
|
18
|
+
companyId: o,
|
|
19
|
+
contractorId: r,
|
|
20
|
+
defaultValues: c,
|
|
21
|
+
existingContractor: e,
|
|
22
|
+
className: i
|
|
23
|
+
}) {
|
|
24
|
+
const a = f({
|
|
12
25
|
companyId: o,
|
|
13
|
-
contractorId:
|
|
14
|
-
defaultValues:
|
|
26
|
+
contractorId: r,
|
|
27
|
+
defaultValues: c,
|
|
28
|
+
existingContractor: e
|
|
15
29
|
});
|
|
16
|
-
return /* @__PURE__ */
|
|
30
|
+
return /* @__PURE__ */ t(d, { ...a, className: i });
|
|
17
31
|
}
|
|
18
32
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
g as ContractorProfile,
|
|
34
|
+
d as ContractorProfileForm,
|
|
35
|
+
T as ContractorType,
|
|
36
|
+
W as WageType
|
|
23
37
|
};
|
|
24
38
|
//# sourceMappingURL=ContractorProfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/ContractorProfile.tsx"],"sourcesContent":["import {\n useContractorProfile,\n ContractorType,\n WageType,\n type UseContractorProfileProps,\n} from './useContractorProfile'\nimport { ContractorProfileForm } from './ContractorProfileForm'\nimport type { BaseComponentInterface, CommonComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface ContractorProfileProps extends CommonComponentInterface<'Contractor.Profile'> {\n companyId: string\n contractorId?: string\n defaultValues?: UseContractorProfileProps['defaultValues']\n}\n\n// Container component - calls hook and passes data to presentation component\nexport function ContractorProfile(props: ContractorProfileProps & BaseComponentInterface) {\n useComponentDictionary('Contractor.Profile', props.dictionary)\n return (\n <BaseComponent {...props}>\n <
|
|
1
|
+
{"version":3,"file":"ContractorProfile.js","sources":["../../../../src/components/Contractor/Profile/ContractorProfile.tsx"],"sourcesContent":["import { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport {\n useContractorProfile,\n ContractorType,\n WageType,\n type UseContractorProfileProps,\n} from './useContractorProfile'\nimport { ContractorProfileForm } from './ContractorProfileForm'\nimport type { BaseComponentInterface, CommonComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport type { WithRequired } from '@/types/Helpers'\n\ninterface ContractorProfileProps extends CommonComponentInterface<'Contractor.Profile'> {\n companyId: string\n contractorId?: string\n defaultValues?: UseContractorProfileProps['defaultValues']\n}\n\ninterface ContractorProfileConditionalProps {\n existingContractor?: Contractor\n}\n\n// Container component - calls hook and passes data to presentation component\nexport function ContractorProfile(props: ContractorProfileProps & BaseComponentInterface) {\n useComponentDictionary('Contractor.Profile', props.dictionary)\n return (\n <BaseComponent {...props}>\n {props.contractorId ? (\n <RootWithContractor {...props} contractorId={props.contractorId}>\n {props.children}\n </RootWithContractor>\n ) : (\n <Root {...props}>{props.children}</Root>\n )}\n </BaseComponent>\n )\n}\n\n/**Accounting for conditional logic where contractor data needs to be fetched only if contractorId is present */\nfunction RootWithContractor(props: WithRequired<ContractorProfileProps, 'contractorId'>) {\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: props.contractorId })\n return <Root {...props} existingContractor={contractor} />\n}\n\nfunction Root({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n className,\n}: ContractorProfileProps & ContractorProfileConditionalProps) {\n const hookData = useContractorProfile({\n companyId,\n contractorId,\n defaultValues,\n existingContractor,\n })\n return <ContractorProfileForm {...hookData} className={className} />\n}\n\n// Re-export types and enums for convenience\nexport { ContractorType, WageType }\nexport type { UseContractorProfileProps as ContractorProfileFormData }\n\n// Re-export the form component for convenience\nexport { ContractorProfileForm } from './ContractorProfileForm'\n"],"names":["ContractorProfile","props","useComponentDictionary","jsx","BaseComponent","RootWithContractor","Root","contractor","useContractorsGetSuspense","companyId","contractorId","defaultValues","existingContractor","className","hookData","useContractorProfile","ContractorProfileForm"],"mappings":";;;;;;;AAyBO,SAASA,EAAkBC,GAAwD;AACxF,SAAAC,EAAuB,sBAAsBD,EAAM,UAAU,GAE3D,gBAAAE,EAACC,KAAe,GAAGH,GAChB,YAAM,eACL,gBAAAE,EAACE,GAAA,EAAoB,GAAGJ,GAAO,cAAcA,EAAM,cAChD,UAAAA,EAAM,UACT,IAEA,gBAAAE,EAACG,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CAErC;AAEJ;AAGA,SAASI,EAAmBJ,GAA6D;AACvF,QAAM;AAAA,IACJ,MAAM,EAAE,YAAAM,EAAA;AAAA,EAAW,IACjBC,EAA0B,EAAE,gBAAgBP,EAAM,cAAc;AACpE,SAAO,gBAAAE,EAACG,GAAA,EAAM,GAAGL,GAAO,oBAAoBM,GAAY;AAC1D;AAEA,SAASD,EAAK;AAAA,EACZ,WAAAG;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,WAAAC;AACF,GAA+D;AAC7D,QAAMC,IAAWC,EAAqB;AAAA,IACpC,WAAAN;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,CACD;AACD,SAAO,gBAAAT,EAACa,GAAA,EAAuB,GAAGF,GAAU,WAAAD,EAAA,CAAsB;AACpE;"}
|
|
@@ -2,4 +2,4 @@ import { useContractorProfile } from './useContractorProfile';
|
|
|
2
2
|
export type ContractorProfileFormProps = ReturnType<typeof useContractorProfile> & {
|
|
3
3
|
className?: string;
|
|
4
4
|
};
|
|
5
|
-
export declare function ContractorProfileForm({ formMethods, handleSubmit, formState,
|
|
5
|
+
export declare function ContractorProfileForm({ formMethods, handleSubmit, formState, shouldShowEmailField, shouldShowBusinessFields, shouldShowIndividualFields, shouldShowHourlyRate, contractorTypeOptions, wageTypeOptions, isEditing, className, }: ContractorProfileFormProps): import("react/jsx-runtime").JSX.Element;
|