@gusto/embedded-react-sdk 0.52.0 → 0.52.2
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 +32 -0
- package/dist/components/Base/Base.d.ts +2 -0
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +4 -1
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +1 -1
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -2
- package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +3 -2
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.d.ts +3 -3
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -2
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -2
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -2
- package/dist/components/Common/UI/Table/TableTypes.d.ts +4 -4
- package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -2
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +0 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +12 -14
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +83 -75
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.d.ts +2 -1
- package/dist/components/Contractor/ContractorList/index.js +112 -99
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +170 -123
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.module.scss.js +12 -0
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.module.scss.js.map +1 -0
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js +44 -43
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js +91 -88
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +0 -33
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js +77 -86
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +150 -80
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.test.d.ts +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +1 -1
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +19 -18
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.js +121 -111
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +27 -26
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +16 -16
- package/dist/components/Contractor/Submit/Submit.js +127 -67
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/shared/useContractorHasSignedW9.d.ts +8 -0
- package/dist/components/Contractor/shared/useContractorHasSignedW9.js +10 -0
- package/dist/components/Contractor/shared/useContractorHasSignedW9.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +2 -2
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
- package/dist/components/index.d.ts +40 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProvider.d.ts +1 -0
- package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ThemeProvider/types.d.ts +2 -2
- package/dist/i18n/en/Contractor.Address.json.js +22 -20
- package/dist/i18n/en/Contractor.Address.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +22 -20
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +13 -11
- package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
- package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
- package/dist/i18n/en/Contractor.Submit.json.js +11 -11
- package/dist/i18n/types.d.ts +29 -9
- package/dist/index.d.ts +6 -3
- package/dist/models/WA_RISK_CODES.d.ts +1 -0
- package/dist/models/WA_RISK_CODES.js.map +1 -1
- package/dist/partner-hook-utils/composeErrorHandler.d.ts +4 -0
- package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +1 -0
- package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +4 -0
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.d.ts +1 -0
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/types.d.ts +9 -0
- package/dist/shared/constants.d.ts +10 -0
- package/dist/shared/constants.js +7 -6
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +2 -0
- package/dist/types/hooks.d.ts +1 -0
- package/dist/types/observability.d.ts +1 -0
- package/docs/guides/endpoint-inventory.json +17 -28
- package/package.json +16 -16
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { useFormFieldsMetadataContext as i } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
|
|
3
|
-
import { usePlaceholderSSN as d, normalizeSSN as u } from "../../../../../helpers/ssn.js";
|
|
4
|
-
import { usePlaceholderEin as f, normalizeEin as s } from "../../../../../helpers/federalEin.js";
|
|
5
|
-
import { SelectHookField as c } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
6
2
|
import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
+
import { SelectHookField as d } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
|
+
import { NumberInputHookField as u } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
5
|
+
import { DatePickerHookField as f } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
6
|
+
import { RadioGroupHookField as i } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
7
7
|
import { SwitchHookField as m } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { useFormFieldsMetadataContext as l } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
|
|
9
|
+
import { usePlaceholderSSN as s, normalizeSSN as c } from "../../../../../helpers/ssn.js";
|
|
10
|
+
import { usePlaceholderEin as F, normalizeEin as p } from "../../../../../helpers/federalEin.js";
|
|
11
11
|
function b(e) {
|
|
12
|
-
return /* @__PURE__ */ t(
|
|
12
|
+
return /* @__PURE__ */ t(i, { ...e, name: "type" });
|
|
13
13
|
}
|
|
14
14
|
function g(e) {
|
|
15
|
-
return /* @__PURE__ */ t(
|
|
15
|
+
return /* @__PURE__ */ t(i, { ...e, name: "wageType" });
|
|
16
16
|
}
|
|
17
17
|
function I(e) {
|
|
18
|
-
return /* @__PURE__ */ t(
|
|
18
|
+
return /* @__PURE__ */ t(f, { ...e, name: "startDate" });
|
|
19
19
|
}
|
|
20
20
|
function M(e) {
|
|
21
|
-
return /* @__PURE__ */ t(
|
|
21
|
+
return /* @__PURE__ */ t(u, { ...e, name: "hourlyRate" });
|
|
22
22
|
}
|
|
23
23
|
function T(e) {
|
|
24
24
|
return /* @__PURE__ */ t(m, { ...e, name: "selfOnboarding" });
|
|
@@ -42,31 +42,31 @@ function V(e) {
|
|
|
42
42
|
return /* @__PURE__ */ t(n, { ...e, name: "businessName" });
|
|
43
43
|
}
|
|
44
44
|
function W(e) {
|
|
45
|
-
const a =
|
|
45
|
+
const a = l(), o = e.formHookResult?.form.fieldsMetadata ?? a?.metadata ?? {}, r = s(o.ssn?.hasRedactedValue);
|
|
46
46
|
return /* @__PURE__ */ t(
|
|
47
47
|
n,
|
|
48
48
|
{
|
|
49
49
|
...e,
|
|
50
50
|
name: "ssn",
|
|
51
|
-
transform:
|
|
51
|
+
transform: c,
|
|
52
52
|
placeholder: r
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
function j(e) {
|
|
57
|
-
const a =
|
|
57
|
+
const a = l(), o = e.formHookResult?.form.fieldsMetadata ?? a?.metadata ?? {}, r = F(o.ein?.hasRedactedValue);
|
|
58
58
|
return /* @__PURE__ */ t(
|
|
59
59
|
n,
|
|
60
60
|
{
|
|
61
61
|
...e,
|
|
62
62
|
name: "ein",
|
|
63
|
-
transform:
|
|
63
|
+
transform: p,
|
|
64
64
|
placeholder: r
|
|
65
65
|
}
|
|
66
66
|
);
|
|
67
67
|
}
|
|
68
68
|
function B(e) {
|
|
69
|
-
return /* @__PURE__ */ t(
|
|
69
|
+
return /* @__PURE__ */ t(d, { ...e, name: "workState" });
|
|
70
70
|
}
|
|
71
71
|
export {
|
|
72
72
|
V as BusinessNameField,
|
|
@@ -1,101 +1,161 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useContractorsUpdateOnboardingStatusMutation as
|
|
4
|
-
import { useContractorsGetOnboardingStatusSuspense as
|
|
5
|
-
import { useContractorsGetSuspense as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { jsx as t, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as S } from "react-i18next";
|
|
3
|
+
import { useContractorsUpdateOnboardingStatusMutation as L } from "@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus";
|
|
4
|
+
import { useContractorsGetOnboardingStatusSuspense as w } from "@gusto/embedded-api/react-query/contractorsGetOnboardingStatus";
|
|
5
|
+
import { useContractorsGetSuspense as N } from "@gusto/embedded-api/react-query/contractorsGet";
|
|
6
|
+
import { useContractorDocumentsGetAllSuspense as M } from "@gusto/embedded-api/react-query/contractorDocumentsGetAll";
|
|
7
|
+
import { useContractorDocumentsGetPdf as q } from "@gusto/embedded-api/react-query/contractorDocumentsGetPdf";
|
|
8
|
+
import { SubmitDone as G } from "./SubmitDone.js";
|
|
9
|
+
import { Flex as l, FlexItem as P } from "../../Common/Flex/Flex.js";
|
|
10
|
+
import { ActionsLayout as j } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
|
+
import { useComponentContext as h } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
12
|
import "react";
|
|
11
|
-
import { useI18n as
|
|
12
|
-
import { BaseComponent as
|
|
13
|
-
import { useBase as
|
|
14
|
-
import { ContractorOnboardingStatus as
|
|
15
|
-
import { firstLastName as
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
import { useI18n as k, useComponentDictionary as H } from "../../../i18n/I18n.js";
|
|
14
|
+
import { BaseComponent as W } from "../../Base/Base.js";
|
|
15
|
+
import { useBase as F } from "../../Base/useBase.js";
|
|
16
|
+
import { ContractorOnboardingStatus as O, componentEvents as C } from "../../../shared/constants.js";
|
|
17
|
+
import { firstLastName as V } from "../../../helpers/formattedStrings.js";
|
|
18
|
+
import { W9_DOCUMENT_NAME as T } from "../Documents/SignatureForm/useContractorSignatureForm/w9Fields.js";
|
|
19
|
+
import { useContractorHasSignedW9 as z } from "../shared/useContractorHasSignedW9.js";
|
|
20
|
+
function gt(n) {
|
|
21
|
+
return /* @__PURE__ */ t(W, { ...n, children: /* @__PURE__ */ t(J, { ...n, children: n.children }) });
|
|
18
22
|
}
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const { Alert:
|
|
23
|
+
const J = ({ contractorId: n, selfOnboarding: c, dictionary: r }) => {
|
|
24
|
+
k("Contractor.Submit"), H("Contractor.Submit", r);
|
|
25
|
+
const { Alert: d, Button: u, Heading: i, UnorderedList: m } = h(), { t: e } = S("Contractor.Submit"), { onEvent: o, baseSubmitHandler: s } = F(), g = Object.values(e("warningItems", { returnObjects: !0 })), { data: b } = w({
|
|
22
26
|
contractorUuid: n
|
|
23
|
-
}),
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
}), p = b.contractorOnboardingStatus?.onboardingStatus, { data: R } = N({ contractorUuid: n }), D = R.contractor, x = D?.type === "Individual" ? D.firstName : D?.businessName, { data: A } = M({
|
|
28
|
+
contractorUuid: n
|
|
29
|
+
}), _ = (A.documents ?? []).filter(
|
|
30
|
+
(f) => f.requiresSigning && !f.signedAt
|
|
31
|
+
), U = _.some((f) => f.name === T), { mutateAsync: B, isPending: E } = L(), v = async () => {
|
|
32
|
+
await s(null, async () => {
|
|
33
|
+
const f = await B({
|
|
26
34
|
request: {
|
|
27
35
|
contractorUuid: n,
|
|
28
36
|
contractorOnboardingStatusUpdateRequestBody: {
|
|
29
|
-
onboardingStatus:
|
|
37
|
+
onboardingStatus: O.ONBOARDING_COMPLETED
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
40
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
),
|
|
41
|
+
o(
|
|
42
|
+
C.CONTRACTOR_ONBOARDING_STATUS_UPDATED,
|
|
43
|
+
f.contractorOnboardingStatus
|
|
44
|
+
), o(C.CONTRACTOR_SUBMIT_DONE, { message: e("submitDone.successMessage") });
|
|
37
45
|
});
|
|
38
|
-
},
|
|
39
|
-
|
|
46
|
+
}, y = () => {
|
|
47
|
+
o(C.CONTRACTOR_INVITE_CONTRACTOR, { contractorId: n }), o(C.CONTRACTOR_SUBMIT_DONE, {
|
|
40
48
|
message: e("inviteContractor.successMessage")
|
|
41
49
|
});
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
onboardingStatus:
|
|
50
|
+
}, I = () => {
|
|
51
|
+
o(C.CONTRACTOR_SUBMIT_DONE, {
|
|
52
|
+
onboardingStatus: p,
|
|
45
53
|
message: e("submitDone.successMessage")
|
|
46
54
|
});
|
|
47
55
|
};
|
|
48
|
-
return
|
|
49
|
-
/* @__PURE__ */ t(
|
|
56
|
+
return p === O.ONBOARDING_COMPLETED ? /* @__PURE__ */ t(G, { onDone: I }) : p === O.SELF_ONBOARDING_NOT_INVITED && c ? /* @__PURE__ */ t(X, { onSubmit: y, contractorId: n }) : /* @__PURE__ */ a(l, { flexDirection: "column", gap: 24, children: [
|
|
57
|
+
/* @__PURE__ */ t(P, { children: /* @__PURE__ */ t(i, { as: "h2", children: e("heading") }) }),
|
|
50
58
|
/* @__PURE__ */ t(
|
|
51
|
-
|
|
59
|
+
K,
|
|
52
60
|
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
description: e("documentRequirements.description")
|
|
58
|
-
}
|
|
59
|
-
),
|
|
60
|
-
children: /* @__PURE__ */ o(m, { flexDirection: "column", gap: 16, children: [
|
|
61
|
-
Object.values(e("documentRequirements.items", { returnObjects: !0 })).map((c) => /* @__PURE__ */ o("div", { children: [
|
|
62
|
-
/* @__PURE__ */ t(s, { weight: "medium", children: c.title }),
|
|
63
|
-
/* @__PURE__ */ t(s, { variant: "supporting", children: c.description })
|
|
64
|
-
] }, c.title)),
|
|
65
|
-
/* @__PURE__ */ t(l, { status: "info", label: e("documentRequirements.alertLabel") })
|
|
66
|
-
] })
|
|
61
|
+
contractorId: n,
|
|
62
|
+
documentsToCollect: _,
|
|
63
|
+
contractorName: x,
|
|
64
|
+
hasW9: U
|
|
67
65
|
}
|
|
68
66
|
),
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
/* @__PURE__ */ t(
|
|
71
|
-
/* @__PURE__ */ t(
|
|
67
|
+
/* @__PURE__ */ a(l, { flexDirection: "column", gap: 8, children: [
|
|
68
|
+
/* @__PURE__ */ t(d, { status: "warning", label: e("title"), children: /* @__PURE__ */ t(m, { items: g }) }),
|
|
69
|
+
/* @__PURE__ */ t(j, { justifyContent: "end", children: /* @__PURE__ */ t(u, { title: e("submitCta"), onClick: v, isLoading: E, children: e("submitCta") }) })
|
|
72
70
|
] })
|
|
73
71
|
] });
|
|
74
|
-
},
|
|
72
|
+
}, K = ({
|
|
73
|
+
contractorId: n,
|
|
74
|
+
documentsToCollect: c,
|
|
75
|
+
contractorName: r,
|
|
76
|
+
hasW9: d
|
|
77
|
+
}) => {
|
|
78
|
+
const u = z(n), { Alert: i, Box: m, BoxHeader: e } = h(), { t: o } = S("Contractor.Submit");
|
|
79
|
+
return u || c.length === 0 ? null : /* @__PURE__ */ t(
|
|
80
|
+
m,
|
|
81
|
+
{
|
|
82
|
+
header: /* @__PURE__ */ t(
|
|
83
|
+
e,
|
|
84
|
+
{
|
|
85
|
+
title: o("documentRequirements.title"),
|
|
86
|
+
description: o("documentRequirements.description", { contractorName: r })
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
children: /* @__PURE__ */ a(l, { flexDirection: "column", gap: 16, children: [
|
|
90
|
+
c.map((s) => {
|
|
91
|
+
const g = s.name === T, b = g ? o("documentRequirements.documents.taxpayer_identification_form_w_9.title") : s.title ?? "", p = g ? o("documentRequirements.documents.taxpayer_identification_form_w_9.description") : s.description ?? "";
|
|
92
|
+
return /* @__PURE__ */ t(
|
|
93
|
+
Q,
|
|
94
|
+
{
|
|
95
|
+
title: b,
|
|
96
|
+
description: p,
|
|
97
|
+
document: s,
|
|
98
|
+
downloadLabel: o("documentRequirements.downloadCta")
|
|
99
|
+
},
|
|
100
|
+
s.uuid
|
|
101
|
+
);
|
|
102
|
+
}),
|
|
103
|
+
d && /* @__PURE__ */ t(i, { status: "info", label: o("documentRequirements.alertLabel") })
|
|
104
|
+
] })
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
}, Q = ({
|
|
108
|
+
title: n,
|
|
109
|
+
description: c,
|
|
110
|
+
document: r,
|
|
111
|
+
downloadLabel: d
|
|
112
|
+
}) => {
|
|
113
|
+
const { Text: u, Button: i } = h(), m = r?.uuid, { data: e, isLoading: o } = q(
|
|
114
|
+
{ documentUuid: m ?? "" },
|
|
115
|
+
{ enabled: !!m }
|
|
116
|
+
), s = e?.documentPdf?.documentUrl ?? null;
|
|
117
|
+
return /* @__PURE__ */ a(l, { gap: 16, justifyContent: "space-between", alignItems: "center", children: [
|
|
118
|
+
/* @__PURE__ */ a(l, { flexDirection: "column", gap: 4, children: [
|
|
119
|
+
/* @__PURE__ */ t(u, { weight: "medium", children: n }),
|
|
120
|
+
/* @__PURE__ */ t(u, { variant: "supporting", children: c })
|
|
121
|
+
] }),
|
|
122
|
+
(o || s) && /* @__PURE__ */ t(
|
|
123
|
+
i,
|
|
124
|
+
{
|
|
125
|
+
variant: "secondary",
|
|
126
|
+
isLoading: o,
|
|
127
|
+
onClick: () => {
|
|
128
|
+
s && window.open(s, "_blank", "noopener,noreferrer");
|
|
129
|
+
},
|
|
130
|
+
children: d
|
|
131
|
+
}
|
|
132
|
+
)
|
|
133
|
+
] });
|
|
134
|
+
}, X = ({
|
|
75
135
|
onSubmit: n,
|
|
76
|
-
contractorId:
|
|
136
|
+
contractorId: c
|
|
77
137
|
}) => {
|
|
78
|
-
const { t: r } =
|
|
79
|
-
return /* @__PURE__ */
|
|
80
|
-
/* @__PURE__ */ t(
|
|
138
|
+
const { t: r } = S("Contractor.Submit", { keyPrefix: "inviteContractor" }), { Button: d, Heading: u, Text: i } = h(), { data: m } = N({ contractorUuid: c }), e = m.contractor;
|
|
139
|
+
return /* @__PURE__ */ a(l, { flexDirection: "column", children: [
|
|
140
|
+
/* @__PURE__ */ t(u, { as: "h2", children: r("title") }),
|
|
81
141
|
/* @__PURE__ */ t(i, { children: r("description") }),
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
/* @__PURE__ */ t(i, { children:
|
|
85
|
-
first_name:
|
|
86
|
-
last_name:
|
|
142
|
+
/* @__PURE__ */ a(l, { flexDirection: "column", children: [
|
|
143
|
+
/* @__PURE__ */ a("div", { children: [
|
|
144
|
+
/* @__PURE__ */ t(i, { children: V({
|
|
145
|
+
first_name: e?.firstName,
|
|
146
|
+
last_name: e?.lastName
|
|
87
147
|
}) }),
|
|
88
|
-
/* @__PURE__ */ t(i, { children:
|
|
148
|
+
/* @__PURE__ */ t(i, { children: e?.email })
|
|
89
149
|
] }),
|
|
90
|
-
/* @__PURE__ */
|
|
150
|
+
/* @__PURE__ */ a("div", { children: [
|
|
91
151
|
/* @__PURE__ */ t(i, { children: r("startDateLabel") }),
|
|
92
|
-
/* @__PURE__ */ t(i, { children:
|
|
152
|
+
/* @__PURE__ */ t(i, { children: e?.startDate })
|
|
93
153
|
] })
|
|
94
154
|
] }),
|
|
95
|
-
/* @__PURE__ */ t(
|
|
155
|
+
/* @__PURE__ */ t(d, { title: r("inviteCta"), onClick: n, children: r("inviteCta") })
|
|
96
156
|
] });
|
|
97
157
|
};
|
|
98
158
|
export {
|
|
99
|
-
|
|
159
|
+
gt as ContractorSubmit
|
|
100
160
|
};
|
|
101
161
|
//# sourceMappingURL=Submit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { SubmitDone } from './SubmitDone'\nimport { ActionsLayout, Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/**\n * Props for {@link ContractorSubmit}.\n *\n * @public\n */\nexport interface ContractorSubmitProps extends BaseComponentInterface<'Contractor.Submit'> {\n /** UUID of the contractor being submitted. */\n contractorId: string\n /** When true, adjusts the submission for the self-onboarding flow, surfacing the invite step before the contractor's onboarding status is finalized. */\n selfOnboarding?: boolean\n}\n\n/**\n * Finalizes contractor onboarding by updating the onboarding status, and in the self-onboarding flow can trigger an invitation to the contractor.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/onboardingStatus/updated` | The contractor's onboarding status was successfully updated. | The updated `contractorOnboardingStatus` returned by the API. |\n * | `contractor/invite/selfOnboarding` | The invite action was triggered for a self-onboarding contractor. | `{ contractorId: string }` |\n * | `contractor/submit/done` | The submission step finished — fired after a successful status update, after an invite, or when the contractor was already onboarded. | `{ message: string }`, optionally with `onboardingStatus` when the contractor was already completed. |\n *\n * @param props - See {@link ContractorSubmitProps}.\n * @returns The rendered submission step.\n * @public\n */\nexport function ContractorSubmit(props: ContractorSubmitProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, selfOnboarding, dictionary }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n useComponentDictionary('Contractor.Submit', dictionary)\n const { Alert, Box, BoxHeader, Button, Text, Heading, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { mutateAsync } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorOnboardingStatusUpdateRequestBody: {\n onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <FlexItem>\n <Heading as=\"h2\">{t('heading')}</Heading>\n </FlexItem>\n\n <Box\n header={\n <BoxHeader\n title={t('documentRequirements.title')}\n description={t('documentRequirements.description')}\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {Object.values(t('documentRequirements.items', { returnObjects: true })).map(item => (\n <div key={item.title}>\n <Text weight=\"medium\">{item.title}</Text>\n <Text variant=\"supporting\">{item.description}</Text>\n </div>\n ))}\n <Alert status=\"info\" label={t('documentRequirements.alertLabel')}></Alert>\n </Flex>\n </Box>\n <Flex flexDirection=\"column\" gap={8}>\n <Alert status=\"warning\" label={t('title')}>\n <UnorderedList items={items} />\n </Alert>\n <ActionsLayout justifyContent=\"end\">\n <Button title={t('submitCta')} onClick={onSubmit}>\n {t('submitCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","dictionary","useI18n","useComponentDictionary","Alert","Box","BoxHeader","Button","Text","Heading","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","mutateAsync","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Flex","FlexItem","item","ActionsLayout","contractorData","useContractorsGetSuspense","contractor","firstLastName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorDocumentsGetAllSuspense } from '@gusto/embedded-api/react-query/contractorDocumentsGetAll'\nimport { useContractorDocumentsGetPdf } from '@gusto/embedded-api/react-query/contractorDocumentsGetPdf'\nimport type { Document } from '@gusto/embedded-api/models/components/document'\nimport { SubmitDone } from './SubmitDone'\nimport { ActionsLayout, Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { W9_DOCUMENT_NAME } from '@/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields'\nimport { useContractorHasSignedW9 } from '@/components/Contractor/shared/useContractorHasSignedW9'\n\n/**\n * Props for {@link ContractorSubmit}.\n *\n * @public\n */\nexport interface ContractorSubmitProps extends BaseComponentInterface<'Contractor.Submit'> {\n /** UUID of the contractor being submitted. */\n contractorId: string\n /** When true, adjusts the submission for the self-onboarding flow, surfacing the invite step before the contractor's onboarding status is finalized. */\n selfOnboarding?: boolean\n}\n\n/**\n * Finalizes contractor onboarding by updating the onboarding status, and in the self-onboarding flow can trigger an invitation to the contractor.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/onboardingStatus/updated` | The contractor's onboarding status was successfully updated. | The updated `contractorOnboardingStatus` returned by the API. |\n * | `contractor/invite/selfOnboarding` | The invite action was triggered for a self-onboarding contractor. | `{ contractorId: string }` |\n * | `contractor/submit/done` | The submission step finished — fired after a successful status update, after an invite, or when the contractor was already onboarded. | `{ message: string }`, optionally with `onboardingStatus` when the contractor was already completed. |\n *\n * @param props - See {@link ContractorSubmitProps}.\n * @returns The rendered submission step.\n * @public\n */\nexport function ContractorSubmit(props: ContractorSubmitProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ contractorId, selfOnboarding, dictionary }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n useComponentDictionary('Contractor.Submit', dictionary)\n const { Alert, Button, Heading, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n const contractorName =\n contractor?.type === 'Individual' ? contractor.firstName : contractor?.businessName\n\n const { data: documentsData } = useContractorDocumentsGetAllSuspense({\n contractorUuid: contractorId,\n })\n const documentsToCollect = (documentsData.documents ?? []).filter(\n d => d.requiresSigning && !d.signedAt,\n )\n const hasW9 = documentsToCollect.some(d => d.name === W9_DOCUMENT_NAME)\n\n const { mutateAsync, isPending } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorOnboardingStatusUpdateRequestBody: {\n onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <FlexItem>\n <Heading as=\"h2\">{t('heading')}</Heading>\n </FlexItem>\n\n <ContractorSubmitDocuments\n contractorId={contractorId}\n documentsToCollect={documentsToCollect}\n contractorName={contractorName}\n hasW9={hasW9}\n />\n <Flex flexDirection=\"column\" gap={8}>\n <Alert status=\"warning\" label={t('title')}>\n <UnorderedList items={items} />\n </Alert>\n <ActionsLayout justifyContent=\"end\">\n <Button title={t('submitCta')} onClick={onSubmit} isLoading={isPending}>\n {t('submitCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n )\n}\n\nconst ContractorSubmitDocuments = ({\n contractorId,\n documentsToCollect,\n contractorName,\n hasW9,\n}: {\n contractorId: string\n documentsToCollect: Document[]\n contractorName: string | null | undefined\n hasW9: boolean\n}) => {\n const hasSignedW9 = useContractorHasSignedW9(contractorId)\n const { Alert, Box, BoxHeader } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n\n // If the contractor already signed a W-9 during self-onboarding, we don't\n // show manual collection instructions.\n if (hasSignedW9) {\n return null\n }\n\n if (documentsToCollect.length === 0) {\n return null\n }\n\n return (\n <Box\n header={\n <BoxHeader\n title={t('documentRequirements.title')}\n description={t('documentRequirements.description', { contractorName })}\n />\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {documentsToCollect.map(document => {\n const isW9 = document.name === W9_DOCUMENT_NAME\n const title = isW9\n ? t('documentRequirements.documents.taxpayer_identification_form_w_9.title')\n : (document.title ?? '')\n const description = isW9\n ? t('documentRequirements.documents.taxpayer_identification_form_w_9.description')\n : (document.description ?? '')\n return (\n <DocumentRequirementItem\n key={document.uuid}\n title={title}\n description={description}\n document={document}\n downloadLabel={t('documentRequirements.downloadCta')}\n />\n )\n })}\n {hasW9 && <Alert status=\"info\" label={t('documentRequirements.alertLabel')}></Alert>}\n </Flex>\n </Box>\n )\n}\n\nconst DocumentRequirementItem = ({\n title,\n description,\n document,\n downloadLabel,\n}: {\n title: string\n description: string\n document: Document | undefined\n downloadLabel: string\n}) => {\n const { Text, Button } = useComponentContext()\n const documentUuid = document?.uuid\n const { data: pdfData, isLoading: isPdfLoading } = useContractorDocumentsGetPdf(\n { documentUuid: documentUuid ?? '' },\n { enabled: Boolean(documentUuid) },\n )\n const pdfUrl = pdfData?.documentPdf?.documentUrl ?? null\n\n return (\n <Flex gap={16} justifyContent=\"space-between\" alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"medium\">{title}</Text>\n <Text variant=\"supporting\">{description}</Text>\n </Flex>\n {(isPdfLoading || pdfUrl) && (\n <Button\n variant=\"secondary\"\n isLoading={isPdfLoading}\n onClick={() => {\n if (pdfUrl) window.open(pdfUrl, '_blank', 'noopener,noreferrer')\n }}\n >\n {downloadLabel}\n </Button>\n )}\n </Flex>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","dictionary","useI18n","useComponentDictionary","Alert","Button","Heading","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","contractorData","useContractorsGetSuspense","contractor","contractorName","documentsData","useContractorDocumentsGetAllSuspense","documentsToCollect","d","hasW9","W9_DOCUMENT_NAME","mutateAsync","isPending","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Flex","FlexItem","ContractorSubmitDocuments","ActionsLayout","hasSignedW9","useContractorHasSignedW9","Box","BoxHeader","document","isW9","title","description","DocumentRequirementItem","downloadLabel","Text","documentUuid","pdfData","isPdfLoading","useContractorDocumentsGetPdf","pdfUrl","firstLastName"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns `true` when the contractor has a W-9 with a `signedAt` timestamp on
|
|
3
|
+
* file. Fetches via Suspense — must be rendered inside a Suspense boundary
|
|
4
|
+
* (SDK `BaseBoundaries` supplies one).
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function useContractorHasSignedW9(contractorId: string): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useContractorDocumentsGetAllSuspense as n } from "@gusto/embedded-api/react-query/contractorDocumentsGetAll";
|
|
2
|
+
import { isW9Document as r } from "../Documents/SignatureForm/useContractorSignatureForm/w9Fields.js";
|
|
3
|
+
function c(o) {
|
|
4
|
+
const { data: e } = n({ contractorUuid: o });
|
|
5
|
+
return (e.documents ?? []).some((t) => r(t) && !!t.signedAt);
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
c as useContractorHasSignedW9
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useContractorHasSignedW9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContractorHasSignedW9.js","sources":["../../../../src/components/Contractor/shared/useContractorHasSignedW9.ts"],"sourcesContent":["import { useContractorDocumentsGetAllSuspense } from '@gusto/embedded-api/react-query/contractorDocumentsGetAll'\nimport { isW9Document } from '@/components/Contractor/Documents/SignatureForm/useContractorSignatureForm'\n\n/**\n * Returns `true` when the contractor has a W-9 with a `signedAt` timestamp on\n * file. Fetches via Suspense — must be rendered inside a Suspense boundary\n * (SDK `BaseBoundaries` supplies one).\n *\n * @internal\n */\nexport function useContractorHasSignedW9(contractorId: string): boolean {\n const { data } = useContractorDocumentsGetAllSuspense({ contractorUuid: contractorId })\n return (data.documents ?? []).some(doc => isW9Document(doc) && !!doc.signedAt)\n}\n"],"names":["useContractorHasSignedW9","contractorId","data","useContractorDocumentsGetAllSuspense","doc","isW9Document"],"mappings":";;AAUO,SAASA,EAAyBC,GAA+B;AACtE,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAqC,EAAE,gBAAgBF,GAAc;AACtF,UAAQC,EAAK,aAAa,CAAA,GAAI,KAAK,CAAAE,MAAOC,EAAaD,CAAG,KAAK,CAAC,CAACA,EAAI,QAAQ;AAC/E;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
3
|
import { SelectHookField as i } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
4
|
import { CheckboxHookField as r } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
5
5
|
import { NumberInputHookField as o } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
6
|
-
import {
|
|
6
|
+
import { DatePickerHookField as m } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
7
7
|
function c(e) {
|
|
8
|
-
return /* @__PURE__ */ t(
|
|
8
|
+
return /* @__PURE__ */ t(n, { ...e, name: "title" });
|
|
9
9
|
}
|
|
10
10
|
function p(e) {
|
|
11
11
|
return /* @__PURE__ */ t(i, { ...e, name: "flsaStatus" });
|
|
@@ -23,7 +23,7 @@ function g(e) {
|
|
|
23
23
|
return /* @__PURE__ */ t(i, { ...e, name: "minimumWageId" });
|
|
24
24
|
}
|
|
25
25
|
function x(e) {
|
|
26
|
-
return /* @__PURE__ */ t(
|
|
26
|
+
return /* @__PURE__ */ t(m, { ...e, name: "effectiveDate" });
|
|
27
27
|
}
|
|
28
28
|
export {
|
|
29
29
|
H as AdjustForMinimumWageField,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { TextInputHookField as t } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
+
import { SelectHookField as r } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
4
|
import { CheckboxHookField as i } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
5
5
|
import { DatePickerHookField as n } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
6
|
-
import {
|
|
6
|
+
import { RadioGroupHookField as a } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
7
7
|
function F(e) {
|
|
8
|
-
return /* @__PURE__ */ o(
|
|
8
|
+
return /* @__PURE__ */ o(t, { ...e, name: "title" });
|
|
9
9
|
}
|
|
10
10
|
function p(e) {
|
|
11
11
|
return /* @__PURE__ */ o(n, { ...e, name: "hireDate" });
|
|
@@ -14,10 +14,10 @@ function k(e) {
|
|
|
14
14
|
return /* @__PURE__ */ o(i, { ...e, name: "twoPercentShareholder" });
|
|
15
15
|
}
|
|
16
16
|
function s(e) {
|
|
17
|
-
return /* @__PURE__ */ o(
|
|
17
|
+
return /* @__PURE__ */ o(a, { ...e, name: "stateWcCovered" });
|
|
18
18
|
}
|
|
19
19
|
function C(e) {
|
|
20
|
-
return /* @__PURE__ */ o(
|
|
20
|
+
return /* @__PURE__ */ o(r, { ...e, name: "stateWcClassCode" });
|
|
21
21
|
}
|
|
22
22
|
export {
|
|
23
23
|
p as HireDateField,
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
+
import { SelectHookField as t } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
3
4
|
import { NumberInputHookField as i } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
4
|
-
import { TextInputHookField as t } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
5
5
|
function d(e) {
|
|
6
|
-
return /* @__PURE__ */ r(
|
|
6
|
+
return /* @__PURE__ */ r(t, { ...e, name: "state" });
|
|
7
7
|
}
|
|
8
8
|
function f(e) {
|
|
9
|
-
return /* @__PURE__ */ r(
|
|
9
|
+
return /* @__PURE__ */ r(t, { ...e, name: "fipsCode" });
|
|
10
10
|
}
|
|
11
11
|
function c(e) {
|
|
12
|
-
return /* @__PURE__ */ r(
|
|
12
|
+
return /* @__PURE__ */ r(n, { ...e, name: "caseNumber" });
|
|
13
13
|
}
|
|
14
14
|
function l(e) {
|
|
15
|
-
return /* @__PURE__ */ r(
|
|
15
|
+
return /* @__PURE__ */ r(n, { ...e, name: "orderNumber" });
|
|
16
16
|
}
|
|
17
17
|
function F(e) {
|
|
18
|
-
return /* @__PURE__ */ r(
|
|
18
|
+
return /* @__PURE__ */ r(n, { ...e, name: "remittanceNumber" });
|
|
19
19
|
}
|
|
20
20
|
function p(e) {
|
|
21
21
|
return /* @__PURE__ */ r(i, { ...e, name: "payPeriodMaximum" });
|
|
@@ -24,7 +24,7 @@ function b(e) {
|
|
|
24
24
|
return /* @__PURE__ */ r(i, { ...e, name: "amount" });
|
|
25
25
|
}
|
|
26
26
|
function N(e) {
|
|
27
|
-
return /* @__PURE__ */ r(
|
|
27
|
+
return /* @__PURE__ */ r(t, { ...e, name: "paymentPeriod" });
|
|
28
28
|
}
|
|
29
29
|
export {
|
|
30
30
|
b as AmountField,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { TextInputHookField as o } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
+
import { SelectHookField as i } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
3
4
|
import { NumberInputHookField as t } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
4
5
|
import { RadioGroupHookField as r } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
5
|
-
import { TextInputHookField as i } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
6
6
|
function l(n) {
|
|
7
|
-
return /* @__PURE__ */ e(
|
|
7
|
+
return /* @__PURE__ */ e(o, { ...n, name: "description" });
|
|
8
8
|
}
|
|
9
9
|
function p(n) {
|
|
10
10
|
return /* @__PURE__ */ e(r, { ...n, name: "recurring" });
|
|
@@ -22,7 +22,7 @@ function A(n) {
|
|
|
22
22
|
return /* @__PURE__ */ e(t, { ...n, name: "annualMaximum" });
|
|
23
23
|
}
|
|
24
24
|
function g(n) {
|
|
25
|
-
return /* @__PURE__ */ e(
|
|
25
|
+
return /* @__PURE__ */ e(i, { ...n, name: "garnishmentType" });
|
|
26
26
|
}
|
|
27
27
|
export {
|
|
28
28
|
F as AmountField,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { CheckboxHookField as t } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
3
2
|
import { TextInputHookField as n } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
4
3
|
import { SelectHookField as a } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
|
+
import { CheckboxHookField as t } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
5
5
|
import { RadioGroupHookField as p } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
6
6
|
function c(r) {
|
|
7
7
|
return /* @__PURE__ */ e(n, { ...r, name: "signature" });
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { SelectHookField as t } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
2
3
|
import { NumberInputHookField as o } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
3
|
-
import { RadioGroupHookField as
|
|
4
|
-
import { SelectHookField as r } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
|
+
import { RadioGroupHookField as r } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
5
5
|
function d(n) {
|
|
6
|
-
return /* @__PURE__ */ e(
|
|
6
|
+
return /* @__PURE__ */ e(t, { ...n, name: "filingStatus" });
|
|
7
7
|
}
|
|
8
8
|
function a(n) {
|
|
9
|
-
return /* @__PURE__ */ e(
|
|
9
|
+
return /* @__PURE__ */ e(r, { ...n, name: "twoJobs" });
|
|
10
10
|
}
|
|
11
11
|
function f(n) {
|
|
12
12
|
return /* @__PURE__ */ e(o, { ...n, name: "dependentsAmount", format: "currency", min: 0 });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { RadioGroupHookField as r } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
3
2
|
import { TextInputHookField as o } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
+
import { RadioGroupHookField as r } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
4
4
|
function m(e) {
|
|
5
5
|
return /* @__PURE__ */ n(o, { ...e, name: "name" });
|
|
6
6
|
}
|
package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { useWatch as f } from "react-hook-form";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { NumberInputHookField as s } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
4
|
+
import { SPLIT_BY as F } from "../../../../../shared/constants.js";
|
|
5
5
|
function B(t) {
|
|
6
6
|
function n({
|
|
7
7
|
label: r,
|
|
@@ -13,9 +13,9 @@ function B(t) {
|
|
|
13
13
|
placeholder: c,
|
|
14
14
|
FieldComponent: d
|
|
15
15
|
}) {
|
|
16
|
-
const l = o?.form.hookFormInternals.formMethods.control, p = f({ control: l, name: "splitBy" }) ===
|
|
16
|
+
const l = o?.form.hookFormInternals.formMethods.control, p = f({ control: l, name: "splitBy" }) === F.amount ? "currency" : "percent";
|
|
17
17
|
return /* @__PURE__ */ a(
|
|
18
|
-
|
|
18
|
+
s,
|
|
19
19
|
{
|
|
20
20
|
name: `splitAmount.${t}`,
|
|
21
21
|
formHookResult: o,
|