@gusto/embedded-react-sdk 0.12.3 → 0.13.1
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 +12 -0
- package/dist/_virtual/dynamic-import-helper.js +8 -1
- package/dist/_virtual/dynamic-import-helper.js.map +1 -1
- package/dist/assets/icons/spinner_small.svg.js +10 -0
- package/dist/assets/icons/spinner_small.svg.js.map +1 -0
- package/dist/components/Base/Base.js +28 -27
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/useBase.d.ts +2 -0
- package/dist/components/Base/useBase.js.map +1 -1
- package/dist/components/Common/DataView/DataView.d.ts +2 -1
- package/dist/components/Common/DataView/DataView.js +20 -19
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +3 -1
- package/dist/components/Common/DataView/useDataView.js +13 -11
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
- package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
- package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
- package/dist/components/Common/Fields/hooks/useField.js +31 -24
- package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
- package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
- package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
- package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
- package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
- package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
- package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
- package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
- package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
- package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
- package/dist/components/Common/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Company/FederalTaxes/Form.js +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +18 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +12 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +4 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +9 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +5 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.js +12 -6
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +4 -4
- package/dist/components/Contractor/Address/useAddress.js +11 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +52 -50
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
- package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
- package/dist/components/Contractor/Profile/useContractorProfile.js +40 -35
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +25 -25
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/Compensation/Compensation.js +10 -10
- package/dist/components/Employee/Deductions/Deductions.js +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +27 -25
- package/dist/components/Employee/EmployeeList/List.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +9 -3
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +9 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +2 -2
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
- package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
- package/dist/components/Employee/PaymentMethod/Split.js +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -9
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
- package/dist/components/Employee/Profile/Profile.js +15 -13
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/useProfile.js +9 -3
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +9 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +5 -5
- package/dist/components/Employee/Taxes/useTaxes.js +9 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +69 -33
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +119 -50
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -18
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +35 -26
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -35
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +21 -0
- package/dist/components/Payroll/helpers.js +209 -0
- package/dist/components/Payroll/helpers.js.map +1 -0
- package/dist/components/Payroll/helpers.test.d.ts +1 -0
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
- package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +9 -0
- package/dist/helpers/formattedStrings.js +55 -16
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/i18n/I18n.js +15 -15
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +32 -0
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +8 -0
- package/dist/i18n/en/common.json.js +15 -13
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/shared/constants.d.ts +6 -0
- package/dist/shared/constants.js +43 -34
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +96 -1
- package/package.json +27 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddress.js","sources":["../../../../src/components/Contractor/Address/useAddress.ts"],"sourcesContent":["import type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { z } from 'zod'\nimport { createCompoundContext } from '@/components/Base'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport interface AddressContextType {\n contractor?: Contractor\n contractorType?: ContractorType\n address?: ContractorAddress\n isPending: boolean\n}\n\nexport type AddressDefaultValues = RequireAtLeastOne<\n Pick<ContractorAddress, 'street1' | 'street2' | 'city' | 'state' | 'zip'>\n>\n\nexport const AddressFormSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().min(1),\n})\n\nexport type AddressFormValues = z.infer<typeof AddressFormSchema>\n\nconst [useAddress, AddressProvider] = createCompoundContext<AddressContextType>(\n 'ContractorAddressContext',\n)\n\nexport { useAddress, AddressProvider }\n"],"names":["AddressFormSchema","z","useAddress","AddressProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAddress.js","sources":["../../../../src/components/Contractor/Address/useAddress.ts"],"sourcesContent":["import type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { z } from 'zod'\nimport { createCompoundContext } from '@/components/Base'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\nexport interface AddressContextType {\n contractor?: Contractor\n contractorType?: ContractorType\n address?: ContractorAddress\n isPending: boolean\n}\n\nexport type AddressDefaultValues = RequireAtLeastOne<\n Pick<ContractorAddress, 'street1' | 'street2' | 'city' | 'state' | 'zip'>\n>\n\nexport const AddressFormSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().min(1),\n})\n\nexport type AddressFormValues = z.infer<typeof AddressFormSchema>\n\nconst [useAddress, AddressProvider] = createCompoundContext<AddressContextType>(\n 'ContractorAddressContext',\n)\n\nexport { useAddress, AddressProvider }\n"],"names":["AddressFormSchema","z","useAddress","AddressProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AAiBO,MAAMA,IAAoBC,EAAE,OAAO;AAAA,EACxC,SAASA,EAAE,SAAS,IAAI,CAAC;AAAA,EACzB,SAASA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,MAAMA,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,OAAOA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,KAAKA,EAAE,OAAA,EAAS,IAAI,CAAC;AACvB,CAAC,GAIK,CAACC,GAAYC,CAAe,IAAIC;AAAA,EACpC;AACF;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as d } from "react-i18next";
|
|
3
|
-
import { useContractorsDeleteMutation as x } from "
|
|
3
|
+
import { useContractorsDeleteMutation as x } from "@gusto/embedded-api/react-query/contractorsDelete";
|
|
4
4
|
import { useContractors as w } from "./useContractorList.js";
|
|
5
5
|
import { Flex as p } from "../../Common/Flex/Flex.js";
|
|
6
6
|
import "classnames";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useContractorsListSuspense as u } from "
|
|
1
|
+
import { useContractorsListSuspense as u } from "@gusto/embedded-api/react-query/contractorsList";
|
|
2
2
|
import { useState as o } from "react";
|
|
3
3
|
function C({ companyUuid: r }) {
|
|
4
4
|
const [s, e] = o(1), [g, P] = o(5), {
|
|
@@ -1,111 +1,113 @@
|
|
|
1
1
|
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useForm as
|
|
2
|
+
import { useTranslation as S } from "react-i18next";
|
|
3
|
+
import { useForm as E, useWatch as T, FormProvider as y } from "react-hook-form";
|
|
4
4
|
import { useMemo as O } from "react";
|
|
5
5
|
import r from "zod";
|
|
6
|
-
import { zodResolver as _ } from "
|
|
7
|
-
import { useContractorsGetSuspense as
|
|
8
|
-
import { useContractorsUpdateMutation as
|
|
9
|
-
import { useComponentDictionary as
|
|
10
|
-
import { BaseComponent as
|
|
11
|
-
import { useBase as
|
|
12
|
-
import { useComponentContext as
|
|
13
|
-
import { Form as
|
|
14
|
-
import { STATES_ABBR as
|
|
15
|
-
import { ActionsLayout as
|
|
16
|
-
import { Flex as
|
|
6
|
+
import { zodResolver as _ } from "@hookform/resolvers/zod";
|
|
7
|
+
import { useContractorsGetSuspense as D } from "@gusto/embedded-api/react-query/contractorsGet";
|
|
8
|
+
import { useContractorsUpdateMutation as F } from "@gusto/embedded-api/react-query/contractorsUpdate";
|
|
9
|
+
import { useComponentDictionary as x, useI18n as g } from "../../../i18n/I18n.js";
|
|
10
|
+
import { BaseComponent as A } from "../../Base/Base.js";
|
|
11
|
+
import { useBase as B } from "../../Base/useBase.js";
|
|
12
|
+
import { useComponentContext as P } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
13
|
+
import { Form as j } from "../../Common/Form/Form.js";
|
|
14
|
+
import { STATES_ABBR as L, componentEvents as p } from "../../../shared/constants.js";
|
|
15
|
+
import { ActionsLayout as M } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
16
|
+
import { Flex as U } from "../../Common/Flex/Flex.js";
|
|
17
17
|
import "classnames";
|
|
18
|
-
import { RadioGroupField as
|
|
19
|
-
import { SelectField as
|
|
20
|
-
const
|
|
18
|
+
import { RadioGroupField as q } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
|
|
19
|
+
import { SelectField as W } from "../../Common/Fields/SelectField/SelectField.js";
|
|
20
|
+
const k = r.union([
|
|
21
21
|
r.object({
|
|
22
|
-
fileNewHireReport: r.boolean().refine((
|
|
22
|
+
fileNewHireReport: r.boolean().refine((t) => t),
|
|
23
23
|
state: r.string().min(1)
|
|
24
24
|
}),
|
|
25
25
|
r.object({
|
|
26
|
-
fileNewHireReport: r.boolean().refine((
|
|
26
|
+
fileNewHireReport: r.boolean().refine((t) => !t)
|
|
27
27
|
})
|
|
28
28
|
]);
|
|
29
|
-
function
|
|
30
|
-
return /* @__PURE__ */ e(
|
|
29
|
+
function me(t) {
|
|
30
|
+
return /* @__PURE__ */ e(A, { ...t, children: /* @__PURE__ */ e(z, { ...t, children: t.children }) });
|
|
31
31
|
}
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
const { t } =
|
|
35
|
-
data: { contractor:
|
|
36
|
-
} =
|
|
32
|
+
function z({ contractorId: t, className: u, dictionary: d, selfOnboarding: f = !1 }) {
|
|
33
|
+
x("Contractor.NewHireReport", d), g("Contractor.NewHireReport");
|
|
34
|
+
const { t: o } = S("Contractor.NewHireReport"), { onEvent: m, baseSubmitHandler: R } = B(), s = P(), {
|
|
35
|
+
data: { contractor: h }
|
|
36
|
+
} = D({ contractorUuid: t }), i = h, { mutateAsync: H, isPending: w } = F(), N = O(
|
|
37
37
|
() => ({
|
|
38
38
|
fileNewHireReport: i.fileNewHireReport || !1,
|
|
39
39
|
state: i.workState || null
|
|
40
40
|
}),
|
|
41
41
|
[i]
|
|
42
|
-
), a =
|
|
43
|
-
resolver: _(
|
|
44
|
-
defaultValues:
|
|
45
|
-
}),
|
|
46
|
-
await
|
|
47
|
-
const
|
|
42
|
+
), a = E({
|
|
43
|
+
resolver: _(k),
|
|
44
|
+
defaultValues: N
|
|
45
|
+
}), b = T({ control: a.control, name: "fileNewHireReport" }), C = async (n) => {
|
|
46
|
+
await R(n, async (l) => {
|
|
47
|
+
const v = await H({
|
|
48
48
|
request: {
|
|
49
|
-
contractorUuid:
|
|
49
|
+
contractorUuid: t,
|
|
50
50
|
requestBody: {
|
|
51
|
+
type: i.type,
|
|
52
|
+
selfOnboarding: f,
|
|
51
53
|
fileNewHireReport: l.fileNewHireReport,
|
|
52
54
|
workState: "state" in l ? l.state : null,
|
|
53
55
|
version: i.version
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
|
-
m(p.CONTRACTOR_NEW_HIRE_REPORT_UPDATED,
|
|
59
|
+
m(p.CONTRACTOR_NEW_HIRE_REPORT_UPDATED, v), m(p.CONTRACTOR_NEW_HIRE_REPORT_DONE);
|
|
58
60
|
});
|
|
59
61
|
};
|
|
60
|
-
return /* @__PURE__ */ e("section", { className: u, children: /* @__PURE__ */ e(
|
|
62
|
+
return /* @__PURE__ */ e("section", { className: u, children: /* @__PURE__ */ e(y, { ...a, children: /* @__PURE__ */ e(j, { onSubmit: a.handleSubmit(C), children: /* @__PURE__ */ c(U, { flexDirection: "column", children: [
|
|
61
63
|
/* @__PURE__ */ c("header", { children: [
|
|
62
|
-
/* @__PURE__ */ e(s.Heading, { as: "h2", children:
|
|
63
|
-
/* @__PURE__ */ e(s.Text, { children:
|
|
64
|
+
/* @__PURE__ */ e(s.Heading, { as: "h2", children: o("title") }),
|
|
65
|
+
/* @__PURE__ */ e(s.Text, { children: o("description") })
|
|
64
66
|
] }),
|
|
65
67
|
/* @__PURE__ */ e(
|
|
66
|
-
|
|
68
|
+
q,
|
|
67
69
|
{
|
|
68
70
|
name: "fileNewHireReport",
|
|
69
|
-
label:
|
|
71
|
+
label: o("doFileLegend"),
|
|
70
72
|
shouldVisuallyHideLabel: !0,
|
|
71
73
|
options: [
|
|
72
74
|
{
|
|
73
75
|
value: !0,
|
|
74
|
-
label:
|
|
76
|
+
label: o("yesOption")
|
|
75
77
|
},
|
|
76
78
|
{
|
|
77
79
|
value: !1,
|
|
78
|
-
label:
|
|
80
|
+
label: o("noOption")
|
|
79
81
|
}
|
|
80
82
|
]
|
|
81
83
|
}
|
|
82
84
|
),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
b && /* @__PURE__ */ e(
|
|
86
|
+
W,
|
|
85
87
|
{
|
|
86
88
|
name: "state",
|
|
87
|
-
options:
|
|
88
|
-
label:
|
|
89
|
+
options: L.map((n) => ({
|
|
90
|
+
label: o(`statesHash.${n}`, { ns: "common" }),
|
|
89
91
|
value: n
|
|
90
92
|
})),
|
|
91
|
-
label:
|
|
93
|
+
label: o("stateSelectionLabel"),
|
|
92
94
|
placeholder: "",
|
|
93
|
-
errorMessage:
|
|
95
|
+
errorMessage: o("validations.state"),
|
|
94
96
|
isRequired: !0
|
|
95
97
|
}
|
|
96
98
|
),
|
|
97
|
-
/* @__PURE__ */ e(
|
|
99
|
+
/* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(
|
|
98
100
|
s.Button,
|
|
99
101
|
{
|
|
100
102
|
type: "submit",
|
|
101
103
|
variant: "primary",
|
|
102
|
-
isDisabled:
|
|
103
|
-
children:
|
|
104
|
+
isDisabled: w,
|
|
105
|
+
children: o("submitCta")
|
|
104
106
|
}
|
|
105
107
|
) })
|
|
106
108
|
] }) }) }) });
|
|
107
109
|
}
|
|
108
110
|
export {
|
|
109
|
-
|
|
111
|
+
me as NewHireReport
|
|
110
112
|
};
|
|
111
113
|
//# sourceMappingURL=NewHireReport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewHireReport.js","sources":["../../../../src/components/Contractor/NewHireReport/NewHireReport.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport z from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport type { NewHireReportProps } from './types'\nimport { useI18n } from '@/i18n'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { componentEvents, STATES_ABBR } from '@/shared/constants'\nimport { ActionsLayout } from '@/components/Common/ActionsLayout'\nimport { Flex, RadioGroupField, SelectField } from '@/components/Common'\n\nconst NewHireReportSchema = z.union([\n z.object({\n fileNewHireReport: z.boolean().refine(v => v),\n state: z.string().min(1),\n }),\n z.object({\n fileNewHireReport: z.boolean().refine(v => !v),\n }),\n])\n\nexport type NewHireReportSchemaInputs = z.input<typeof NewHireReportSchema>\n\nexport function NewHireReport(props: NewHireReportProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary }: NewHireReportProps) {\n useComponentDictionary('Contractor.NewHireReport', dictionary)\n useI18n('Contractor.NewHireReport')\n const { t } = useTranslation('Contractor.NewHireReport')\n const { onEvent, baseSubmitHandler } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractorDetails = contractor!\n\n const { mutateAsync: updateContractor, isPending: updateContractorPending } =\n useContractorsUpdateMutation()\n\n const defaultValues = useMemo(\n () => ({\n fileNewHireReport: contractorDetails.fileNewHireReport || false,\n state: contractorDetails.workState || null,\n }),\n [contractorDetails],\n )\n\n const formMethods = useForm({\n resolver: zodResolver(NewHireReportSchema),\n defaultValues: defaultValues,\n })\n\n const watchedDoFile = useWatch({ control: formMethods.control, name: 'fileNewHireReport' })\n const onSubmit: SubmitHandler<NewHireReportSchemaInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const contractorResponse = await updateContractor({\n request: {\n contractorUuid: contractorId,\n requestBody: {\n fileNewHireReport: payload.fileNewHireReport,\n workState: 'state' in payload ? payload.state : null,\n version: contractorDetails.version!,\n },\n },\n })\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_UPDATED, contractorResponse)\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection={'column'}>\n <header>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>{t('description')}</Components.Text>\n </header>\n <RadioGroupField\n name=\"fileNewHireReport\"\n label={t('doFileLegend')}\n shouldVisuallyHideLabel\n options={[\n {\n value: true,\n label: t('yesOption'),\n },\n {\n value: false,\n label: t('noOption'),\n },\n ]}\n />\n {watchedDoFile && (\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('stateSelectionLabel')}\n placeholder={''}\n errorMessage={t('validations.state')}\n isRequired\n />\n )}\n <ActionsLayout>\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={updateContractorPending}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n </section>\n )\n}\n"],"names":["NewHireReportSchema","z","v","NewHireReport","props","jsx","BaseComponent","Root","contractorId","className","dictionary","useComponentDictionary","useI18n","useTranslation","onEvent","baseSubmitHandler","useBase","Components","useComponentContext","contractor","useContractorsGetSuspense","contractorDetails","updateContractor","updateContractorPending","useContractorsUpdateMutation","defaultValues","useMemo","formMethods","useForm","zodResolver","watchedDoFile","useWatch","onSubmit","data","payload","contractorResponse","componentEvents","FormProvider","Form","jsxs","Flex","RadioGroupField","SelectField","STATES_ABBR","stateAbbr","ActionsLayout"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAsBC,EAAE,MAAM;AAAA,EAClCA,EAAE,OAAO;AAAA,IACP,mBAAmBA,EAAE,QAAA,EAAU,OAAO,OAAKC,CAAC;AAAA,IAC5C,OAAOD,EAAE,OAAA,EAAS,IAAI,CAAC;AAAA,EAAA,CACxB;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,mBAAmBA,EAAE,QAAA,EAAU,OAAO,CAAAC,MAAK,CAACA,CAAC;AAAA,EAAA,CAC9C;AACH,CAAC;AAIM,SAASC,GAAcC,GAA2B;AACvD,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,cAAAC,GAAc,WAAAC,GAAW,YAAAC,
|
|
1
|
+
{"version":3,"file":"NewHireReport.js","sources":["../../../../src/components/Contractor/NewHireReport/NewHireReport.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useMemo } from 'react'\nimport z from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport type { NewHireReportProps } from './types'\nimport { useI18n } from '@/i18n'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { componentEvents, STATES_ABBR } from '@/shared/constants'\nimport { ActionsLayout } from '@/components/Common/ActionsLayout'\nimport { Flex, RadioGroupField, SelectField } from '@/components/Common'\n\nconst NewHireReportSchema = z.union([\n z.object({\n fileNewHireReport: z.boolean().refine(v => v),\n state: z.string().min(1),\n }),\n z.object({\n fileNewHireReport: z.boolean().refine(v => !v),\n }),\n])\n\nexport type NewHireReportSchemaInputs = z.input<typeof NewHireReportSchema>\n\nexport function NewHireReport(props: NewHireReportProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ contractorId, className, dictionary, selfOnboarding = false }: NewHireReportProps) {\n useComponentDictionary('Contractor.NewHireReport', dictionary)\n useI18n('Contractor.NewHireReport')\n const { t } = useTranslation('Contractor.NewHireReport')\n const { onEvent, baseSubmitHandler } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { contractor },\n } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractorDetails = contractor!\n\n const { mutateAsync: updateContractor, isPending: updateContractorPending } =\n useContractorsUpdateMutation()\n\n const defaultValues = useMemo(\n () => ({\n fileNewHireReport: contractorDetails.fileNewHireReport || false,\n state: contractorDetails.workState || null,\n }),\n [contractorDetails],\n )\n\n const formMethods = useForm({\n resolver: zodResolver(NewHireReportSchema),\n defaultValues: defaultValues,\n })\n\n const watchedDoFile = useWatch({ control: formMethods.control, name: 'fileNewHireReport' })\n const onSubmit: SubmitHandler<NewHireReportSchemaInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const contractorResponse = await updateContractor({\n request: {\n contractorUuid: contractorId,\n requestBody: {\n type: contractorDetails.type,\n selfOnboarding: selfOnboarding,\n fileNewHireReport: payload.fileNewHireReport,\n workState: 'state' in payload ? payload.state : null,\n version: contractorDetails.version!,\n },\n },\n })\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_UPDATED, contractorResponse)\n onEvent(componentEvents.CONTRACTOR_NEW_HIRE_REPORT_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection={'column'}>\n <header>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>{t('description')}</Components.Text>\n </header>\n <RadioGroupField\n name=\"fileNewHireReport\"\n label={t('doFileLegend')}\n shouldVisuallyHideLabel\n options={[\n {\n value: true,\n label: t('yesOption'),\n },\n {\n value: false,\n label: t('noOption'),\n },\n ]}\n />\n {watchedDoFile && (\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('stateSelectionLabel')}\n placeholder={''}\n errorMessage={t('validations.state')}\n isRequired\n />\n )}\n <ActionsLayout>\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={updateContractorPending}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n </section>\n )\n}\n"],"names":["NewHireReportSchema","z","v","NewHireReport","props","jsx","BaseComponent","Root","contractorId","className","dictionary","selfOnboarding","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","Components","useComponentContext","contractor","useContractorsGetSuspense","contractorDetails","updateContractor","updateContractorPending","useContractorsUpdateMutation","defaultValues","useMemo","formMethods","useForm","zodResolver","watchedDoFile","useWatch","onSubmit","data","payload","contractorResponse","componentEvents","FormProvider","Form","jsxs","Flex","RadioGroupField","SelectField","STATES_ABBR","stateAbbr","ActionsLayout"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAsBC,EAAE,MAAM;AAAA,EAClCA,EAAE,OAAO;AAAA,IACP,mBAAmBA,EAAE,QAAA,EAAU,OAAO,OAAKC,CAAC;AAAA,IAC5C,OAAOD,EAAE,OAAA,EAAS,IAAI,CAAC;AAAA,EAAA,CACxB;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,mBAAmBA,EAAE,QAAA,EAAU,OAAO,CAAAC,MAAK,CAACA,CAAC;AAAA,EAAA,CAC9C;AACH,CAAC;AAIM,SAASC,GAAcC,GAA2B;AACvD,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,cAAAC,GAAc,WAAAC,GAAW,YAAAC,GAAY,gBAAAC,IAAiB,MAA6B;AACjG,EAAAC,EAAuB,4BAA4BF,CAAU,GAC7DG,EAAQ,0BAA0B;AAClC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,0BAA0B,GACjD,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjCC,IAAaC,EAAA,GAEb;AAAA,IACJ,MAAM,EAAE,YAAAC,EAAA;AAAA,EAAW,IACjBC,EAA0B,EAAE,gBAAgBd,GAAc,GACxDe,IAAoBF,GAEpB,EAAE,aAAaG,GAAkB,WAAWC,EAAA,IAChDC,EAAA,GAEIC,IAAgBC;AAAA,IACpB,OAAO;AAAA,MACL,mBAAmBL,EAAkB,qBAAqB;AAAA,MAC1D,OAAOA,EAAkB,aAAa;AAAA,IAAA;AAAA,IAExC,CAACA,CAAiB;AAAA,EAAA,GAGdM,IAAcC,EAAQ;AAAA,IAC1B,UAAUC,EAAY/B,CAAmB;AAAA,IACzC,eAAA2B;AAAA,EAAA,CACD,GAEKK,IAAgBC,EAAS,EAAE,SAASJ,EAAY,SAAS,MAAM,qBAAqB,GACpFK,IAAqD,OAAMC,MAAQ;AACvE,UAAMlB,EAAkBkB,GAAM,OAAMC,MAAW;AAC7C,YAAMC,IAAqB,MAAMb,EAAiB;AAAA,QAChD,SAAS;AAAA,UACP,gBAAgBhB;AAAA,UAChB,aAAa;AAAA,YACX,MAAMe,EAAkB;AAAA,YACxB,gBAAAZ;AAAA,YACA,mBAAmByB,EAAQ;AAAA,YAC3B,WAAW,WAAWA,IAAUA,EAAQ,QAAQ;AAAA,YAChD,SAASb,EAAkB;AAAA,UAAA;AAAA,QAC7B;AAAA,MACF,CACD;AACD,MAAAP,EAAQsB,EAAgB,oCAAoCD,CAAkB,GAC9ErB,EAAQsB,EAAgB,+BAA+B;AAAA,IACzD,CAAC;AAAA,EACH;AAEA,2BACG,WAAA,EAAQ,WAAA7B,GACP,UAAA,gBAAAJ,EAACkC,GAAA,EAAc,GAAGV,GAChB,UAAA,gBAAAxB,EAACmC,GAAA,EAAK,UAAUX,EAAY,aAAaK,CAAQ,GAC/C,UAAA,gBAAAO,EAACC,GAAA,EAAK,eAAe,UACnB,UAAA;AAAA,IAAA,gBAAAD,EAAC,UAAA,EACC,UAAA;AAAA,MAAA,gBAAApC,EAACc,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAL,EAAE,OAAO,GAAE;AAAA,wBACvCK,EAAW,MAAX,EAAiB,UAAAL,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GACrC;AAAA,IACA,gBAAAT;AAAA,MAACsC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAO7B,EAAE,cAAc;AAAA,QACvB,yBAAuB;AAAA,QACvB,SAAS;AAAA,UACP;AAAA,YACE,OAAO;AAAA,YACP,OAAOA,EAAE,WAAW;AAAA,UAAA;AAAA,UAEtB;AAAA,YACE,OAAO;AAAA,YACP,OAAOA,EAAE,UAAU;AAAA,UAAA;AAAA,QACrB;AAAA,MACF;AAAA,IAAA;AAAA,IAEDkB,KACC,gBAAA3B;AAAA,MAACuC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASC,EAAY,IAAI,CAACC,OAA6C;AAAA,UACrE,OAAOhC,EAAE,cAAcgC,CAAS,IAAI,EAAE,IAAI,UAAU;AAAA,UACpD,OAAOA;AAAA,QAAA,EACP;AAAA,QACF,OAAOhC,EAAE,qBAAqB;AAAA,QAC9B,aAAa;AAAA,QACb,cAAcA,EAAE,mBAAmB;AAAA,QACnC,YAAU;AAAA,MAAA;AAAA,IAAA;AAAA,sBAGbiC,GAAA,EACC,UAAA,gBAAA1C;AAAA,MAACc,EAAW;AAAA,MAAX;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,YAAYM;AAAA,QAEX,YAAE,WAAW;AAAA,MAAA;AAAA,IAAA,EAChB,CACF;AAAA,EAAA,GACF,EAAA,CACF,GACF,GACF;AAEJ;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as s } from "react-i18next";
|
|
3
|
-
import { ContractorList as
|
|
4
|
-
import { PaymentMethod as
|
|
3
|
+
import { ContractorList as i } from "../ContractorList/index.js";
|
|
4
|
+
import { PaymentMethod as u } from "../PaymentMethod/PaymentMethod.js";
|
|
5
5
|
import { NewHireReport as m } from "../NewHireReport/NewHireReport.js";
|
|
6
6
|
import { ContractorSubmit as d } from "../Submit/Submit.js";
|
|
7
7
|
import { useFlow as e } from "../../Flow/useFlow.js";
|
|
@@ -14,7 +14,7 @@ import { ContractorProfile as I } from "../Profile/ContractorProfile.js";
|
|
|
14
14
|
function M() {
|
|
15
15
|
const { companyId: t, onEvent: o, successMessage: r } = e();
|
|
16
16
|
return /* @__PURE__ */ n(
|
|
17
|
-
|
|
17
|
+
i,
|
|
18
18
|
{
|
|
19
19
|
onEvent: o,
|
|
20
20
|
companyId: c(t),
|
|
@@ -47,13 +47,20 @@ function R() {
|
|
|
47
47
|
}
|
|
48
48
|
function H() {
|
|
49
49
|
const { onEvent: t, contractorId: o } = e();
|
|
50
|
-
return /* @__PURE__ */ n(
|
|
50
|
+
return /* @__PURE__ */ n(u, { onEvent: t, contractorId: c(o) });
|
|
51
51
|
}
|
|
52
|
-
function
|
|
53
|
-
const { onEvent: t, contractorId: o } = e();
|
|
54
|
-
return /* @__PURE__ */ n(
|
|
52
|
+
function O() {
|
|
53
|
+
const { onEvent: t, contractorId: o, selfOnboarding: r } = e();
|
|
54
|
+
return /* @__PURE__ */ n(
|
|
55
|
+
m,
|
|
56
|
+
{
|
|
57
|
+
onEvent: t,
|
|
58
|
+
contractorId: c(o),
|
|
59
|
+
selfOnboarding: r
|
|
60
|
+
}
|
|
61
|
+
);
|
|
55
62
|
}
|
|
56
|
-
function
|
|
63
|
+
function S() {
|
|
57
64
|
const { onEvent: t, contractorId: o, selfOnboarding: r } = e();
|
|
58
65
|
return /* @__PURE__ */ n(
|
|
59
66
|
d,
|
|
@@ -64,7 +71,7 @@ function j() {
|
|
|
64
71
|
}
|
|
65
72
|
);
|
|
66
73
|
}
|
|
67
|
-
function
|
|
74
|
+
function j() {
|
|
68
75
|
const { onEvent: t } = e(), { Button: o } = f();
|
|
69
76
|
p("Contractor.ContractorList");
|
|
70
77
|
const { t: r } = s("Contractor.ContractorList");
|
|
@@ -82,10 +89,10 @@ function k() {
|
|
|
82
89
|
export {
|
|
83
90
|
R as AddressContextual,
|
|
84
91
|
M as ContractorListContextual,
|
|
85
|
-
|
|
92
|
+
O as NewHireReportContextual,
|
|
86
93
|
H as PaymentMethodContextual,
|
|
87
94
|
N as ProfileContextual,
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
j as ProgressBarCta,
|
|
96
|
+
S as SubmitContextual
|
|
90
97
|
};
|
|
91
98
|
//# sourceMappingURL=OnboardingFlowComponents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { 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'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\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
|
|
1
|
+
{"version":3,"file":"OnboardingFlowComponents.js","sources":["../../../../src/components/Contractor/OnboardingFlow/OnboardingFlowComponents.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { 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'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\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, selfOnboarding } = useFlow<OnboardingFlowContextInterface>()\n return (\n <NewHireReport\n onEvent={onEvent}\n contractorId={ensureRequired(contractorId)}\n selfOnboarding={selfOnboarding}\n />\n )\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\nexport function ProgressBarCta() {\n const { onEvent } = useFlow<OnboardingFlowContextInterface>()\n const { Button } = useComponentContext()\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n return (\n <Button\n onClick={() => {\n onEvent(componentEvents.CANCEL)\n }}\n variant=\"secondary\"\n >\n {t('progressBarCta')}\n </Button>\n )\n}\n"],"names":["ContractorListContextual","companyId","onEvent","successMessage","useFlow","jsx","ContractorList","ensureRequired","ProfileContextual","contractorId","defaultValues","ContractorProfile","AddressContextual","Address","PaymentMethodContextual","PaymentMethod","NewHireReportContextual","selfOnboarding","NewHireReport","SubmitContextual","ContractorSubmit","ProgressBarCta","Button","useComponentContext","useI18n","t","useTranslation","componentEvents"],"mappings":";;;;;;;;;;;;;AAiCO,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,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,SAAAhB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AACO,SAASE,IAAmB;AACjC,QAAM,EAAE,SAAAjB,GAAS,cAAAO,GAAc,gBAAAQ,EAAA,IAAmBb,EAAA;AAClD,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,SAAAlB;AAAA,MACA,cAAcK,EAAeE,CAAY;AAAA,MACzC,gBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASI,IAAiB;AAC/B,QAAM,EAAE,SAAAnB,EAAA,IAAYE,EAAA,GACd,EAAE,QAAAkB,EAAA,IAAWC,EAAA;AACnB,EAAAC,EAAQ,2BAA2B;AACnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,2BAA2B;AACxD,SACE,gBAAArB;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AACb,QAAApB,EAAQyB,EAAgB,MAAM;AAAA,MAChC;AAAA,MACA,SAAQ;AAAA,MAEP,YAAE,gBAAgB;AAAA,IAAA;AAAA,EAAA;AAGzB;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { state as s, transition as o, reduce as r, guard as p } from "robot3";
|
|
2
|
-
import { ContractorListContextual as
|
|
2
|
+
import { ContractorListContextual as l, AddressContextual as u, NewHireReportContextual as d, ProfileContextual as i, SubmitContextual as O, PaymentMethodContextual as R } from "./OnboardingFlowComponents.js";
|
|
3
3
|
import { componentEvents as n } from "../../../shared/constants.js";
|
|
4
4
|
const c = (t) => (e) => ({
|
|
5
5
|
...e,
|
|
@@ -9,7 +9,7 @@ const c = (t) => (e) => ({
|
|
|
9
9
|
"list",
|
|
10
10
|
r(
|
|
11
11
|
c({
|
|
12
|
-
component:
|
|
12
|
+
component: l,
|
|
13
13
|
showProgress: !1,
|
|
14
14
|
currentStep: 0,
|
|
15
15
|
contractorId: void 0,
|
|
@@ -54,7 +54,7 @@ const c = (t) => (e) => ({
|
|
|
54
54
|
r(
|
|
55
55
|
(t, e) => ({
|
|
56
56
|
...t,
|
|
57
|
-
component:
|
|
57
|
+
component: u,
|
|
58
58
|
currentStep: 2,
|
|
59
59
|
contractorId: e.payload.contractorId,
|
|
60
60
|
selfOnboarding: e.payload.selfOnboarding
|
|
@@ -71,6 +71,7 @@ const c = (t) => (e) => ({
|
|
|
71
71
|
...t,
|
|
72
72
|
component: d,
|
|
73
73
|
contractorId: e.payload.contractorId,
|
|
74
|
+
selfOnboarding: e.payload.selfOnboarding,
|
|
74
75
|
currentStep: 2,
|
|
75
76
|
totalSteps: 3
|
|
76
77
|
})
|
|
@@ -107,7 +108,7 @@ const c = (t) => (e) => ({
|
|
|
107
108
|
"submit",
|
|
108
109
|
r(
|
|
109
110
|
c({
|
|
110
|
-
component:
|
|
111
|
+
component: O,
|
|
111
112
|
currentStep: 5
|
|
112
113
|
})
|
|
113
114
|
)
|
|
@@ -121,7 +122,7 @@ const c = (t) => (e) => ({
|
|
|
121
122
|
r(
|
|
122
123
|
(t, e) => ({
|
|
123
124
|
...t,
|
|
124
|
-
component:
|
|
125
|
+
component: l,
|
|
125
126
|
currentStep: 0,
|
|
126
127
|
showProgress: !1,
|
|
127
128
|
successMessage: e.payload.message
|
|
@@ -1 +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}\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n showProgress: false,\n currentStep: 0,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\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 cancelTransition(),\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 contractorId: ev.payload.contractorId,\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 cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual, currentStep: 3 })),\n ),\n ),\n paymentMethod: state(\n cancelTransition(),\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 cancelTransition(),\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 cancelTransition(),\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","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","PaymentMethodContextual","SubmitContextual"],"mappings":"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"}
|
|
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}\nconst cancelTransition = () =>\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce(\n createReducer({\n component: ContractorListContextual,\n showProgress: false,\n currentStep: 0,\n contractorId: undefined,\n successMessage: undefined,\n }),\n ),\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 cancelTransition(),\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 contractorId: ev.payload.contractorId,\n selfOnboarding: ev.payload.selfOnboarding,\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 cancelTransition(),\n transition(\n componentEvents.CONTRACTOR_ADDRESS_DONE,\n 'paymentMethod',\n reduce(createReducer({ component: PaymentMethodContextual, currentStep: 3 })),\n ),\n ),\n paymentMethod: state(\n cancelTransition(),\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 cancelTransition(),\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 cancelTransition(),\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","cancelTransition","transition","componentEvents","reduce","ContractorListContextual","onboardingMachine","state","ProfileContextual","ev","AddressContextual","guard","NewHireReportContextual","PaymentMethodContextual","SubmitContextual"],"mappings":"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"}
|
|
@@ -7,16 +7,16 @@ declare const PaymentMethodSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
|
|
|
7
7
|
accountNumber: z.ZodAny;
|
|
8
8
|
accountType: z.ZodEnum<["Checking", "Savings"]>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
name: string;
|
|
11
|
-
type: "Direct Deposit";
|
|
12
10
|
routingNumber: string;
|
|
11
|
+
name: string;
|
|
13
12
|
accountType: "Checking" | "Savings";
|
|
13
|
+
type: "Direct Deposit";
|
|
14
14
|
accountNumber?: any;
|
|
15
15
|
}, {
|
|
16
|
-
name: string;
|
|
17
|
-
type: "Direct Deposit";
|
|
18
16
|
routingNumber: string;
|
|
17
|
+
name: string;
|
|
19
18
|
accountType: "Checking" | "Savings";
|
|
19
|
+
type: "Direct Deposit";
|
|
20
20
|
accountNumber?: any;
|
|
21
21
|
}>, z.ZodObject<{
|
|
22
22
|
type: z.ZodLiteral<"Check">;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as t, jsxs as H } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as j } from "react-i18next";
|
|
3
3
|
import { useForm as G, useWatch as Q, FormProvider as V } from "react-hook-form";
|
|
4
|
-
import { useContractorPaymentMethodGetSuspense as Y, buildContractorPaymentMethodGetQuery as z } from "
|
|
5
|
-
import { useContractorPaymentMethodGetBankAccountsSuspense as L } from "
|
|
6
|
-
import { useContractorPaymentMethodsCreateBankAccountMutation as K } from "
|
|
4
|
+
import { useContractorPaymentMethodGetSuspense as Y, buildContractorPaymentMethodGetQuery as z } from "@gusto/embedded-api/react-query/contractorPaymentMethodGet";
|
|
5
|
+
import { useContractorPaymentMethodGetBankAccountsSuspense as L } from "@gusto/embedded-api/react-query/contractorPaymentMethodGetBankAccounts";
|
|
6
|
+
import { useContractorPaymentMethodsCreateBankAccountMutation as K } from "@gusto/embedded-api/react-query/contractorPaymentMethodsCreateBankAccount";
|
|
7
7
|
import { useState as W, useMemo as J } from "react";
|
|
8
8
|
import n from "zod";
|
|
9
|
-
import { zodResolver as X } from "
|
|
10
|
-
import { useContractorPaymentMethodUpdateMutation as Z } from "
|
|
11
|
-
import { useQueryClient as $ } from "
|
|
12
|
-
import { useGustoEmbeddedContext as I } from "
|
|
9
|
+
import { zodResolver as X } from "@hookform/resolvers/zod";
|
|
10
|
+
import { useContractorPaymentMethodUpdateMutation as Z } from "@gusto/embedded-api/react-query/contractorPaymentMethodUpdate";
|
|
11
|
+
import { useQueryClient as $ } from "@tanstack/react-query";
|
|
12
|
+
import { useGustoEmbeddedContext as I } from "@gusto/embedded-api/react-query/_context";
|
|
13
13
|
import { BankAccountForm as tt } from "./BankAccountForm.js";
|
|
14
14
|
import { PaymentTypeForm as et } from "./PaymentTypeForm.js";
|
|
15
15
|
import { useComponentDictionary as ot, useI18n as nt } from "../../../i18n/I18n.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { useContractorsGetSuspense as m } from "
|
|
2
|
+
import { useContractorsGetSuspense as m } from "@gusto/embedded-api/react-query/contractorsGet";
|
|
3
3
|
import { useContractorProfile as f } from "./useContractorProfile.js";
|
|
4
4
|
import { ContractorType as W, WageType as g } from "./useContractorProfile.js";
|
|
5
5
|
import { ContractorProfileForm as d } from "./ContractorProfileForm.js";
|