@gusto/embedded-react-sdk 0.35.0-rc.3 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +20 -11
  2. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +58 -57
  3. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  4. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +18 -18
  5. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  6. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +17 -13
  7. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  8. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +1 -1
  9. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  10. package/dist/components/Company/DocumentSigner/DocumentSigner.js +5 -5
  11. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  12. package/dist/components/Employee/Compensation/Compensation.js +21 -21
  13. package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
  14. package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +2 -8
  15. package/dist/components/Employee/FederalTaxes/FederalForm.js +29 -84
  16. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  17. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +44 -49
  18. package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
  19. package/dist/components/Employee/Taxes/FederalForm.d.ts +2 -8
  20. package/dist/components/Employee/Taxes/FederalForm.js +29 -84
  21. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  22. package/dist/components/Employee/Taxes/Taxes.js +69 -74
  23. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  24. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +6 -6
  25. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  26. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +12 -12
  27. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  28. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +2 -2
  29. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  30. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  31. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +6 -4
  32. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  33. package/dist/components/Payroll/PayrollList/PayrollList.js +8 -6
  34. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  35. package/dist/components/Payroll/helpers.d.ts +1 -1
  36. package/dist/components/Payroll/helpers.js.map +1 -1
  37. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"FederalTaxes.js","sources":["../../../../src/components/Employee/FederalTaxes/FederalTaxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport { FederalForm } from './FederalForm'\nimport { FederalFormSchema, type FederalFormInputs, type FederalFormPayload } from './FederalForm'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport { FederalTaxesProvider } from './useFederalTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport { normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { componentEvents } from '@/shared/constants'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface FederalTaxesProps extends CommonComponentInterface<'Employee.FederalTaxes'> {\n employeeId: string\n}\n\nexport function FederalTaxes(props: FederalTaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent<'Employee.FederalTaxes'> {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = (props: FederalTaxesProps) => {\n const { employeeId, className, children, dictionary } = props\n const { onEvent, fieldErrors, baseSubmitHandler } = useBase()\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const defaultValues: FederalFormInputs = isRev2020\n ? {\n w4DataType: 'rev_2020_w4',\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n }\n : {\n w4DataType: 'pre_2020_w4',\n filingStatus: employeeFederalTax.filingStatus ?? '',\n federalWithholdingAllowance: employeeFederalTax.federalWithholdingAllowance ?? 0,\n additionalWithholding: employeeFederalTax.additionalWithholding,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload>({\n resolver: zodResolver(FederalFormSchema),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(msgObject => {\n const key = normalizeErrorKeyForForm(msgObject.errorKey)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: msgObject.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const requestBody =\n payload.w4DataType === 'rev_2020_w4'\n ? {\n filingStatus: payload.filingStatus,\n twoJobs: payload.twoJobs === 'true',\n dependentsAmount: payload.dependentsAmount,\n otherIncome: payload.otherIncome,\n deductions: payload.deductions,\n extraWithholding: payload.extraWithholding,\n w4DataType: payload.w4DataType,\n version: employeeFederalTax.version,\n }\n : {\n filingStatus: payload.filingStatus,\n federalWithholdingAllowance: payload.federalWithholdingAllowance,\n additionalWithholding: payload.additionalWithholding,\n w4DataType: payload.w4DataType,\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FederalTaxesProvider\n value={{\n isPending,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <FederalForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </FederalTaxesProvider>\n </section>\n )\n}\n"],"names":["FederalTaxes","props","jsx","BaseComponent","Root","employeeId","className","children","dictionary","onEvent","fieldErrors","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPending","useEmployeeTaxSetupUpdateFederalTaxesMutation","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","handleSubmit","_setError","useEffect","msgObject","key","normalizeErrorKeyForForm","FederalTaxesProvider","FormProvider","Form","data","payload","requestBody","federalTaxesResponse","componentEvents","jsxs","Fragment","Head","FederalForm","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"FederalTaxes.js","sources":["../../../../src/components/Employee/FederalTaxes/FederalTaxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport type { PutV1EmployeesEmployeeIdFederalTaxesRequestBody } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidfederaltaxes'\nimport { FederalForm } from './FederalForm'\nimport { FederalFormSchema, type FederalFormInputs, type FederalFormPayload } from './FederalForm'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport { FederalTaxesProvider } from './useFederalTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport { normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { componentEvents } from '@/shared/constants'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\ninterface FederalTaxesProps extends CommonComponentInterface<'Employee.FederalTaxes'> {\n employeeId: string\n}\n\nexport function FederalTaxes(props: FederalTaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent<'Employee.FederalTaxes'> {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = (props: FederalTaxesProps) => {\n const { employeeId, className, children, dictionary } = props\n const { onEvent, fieldErrors, baseSubmitHandler } = useBase()\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const defaultValues = isRev2020\n ? {\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n }\n : {\n filingStatus: '',\n twoJobs: 'false',\n deductions: 0,\n dependentsAmount: 0,\n otherIncome: 0,\n extraWithholding: 0,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload>({\n resolver: zodResolver(FederalFormSchema),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(msgObject => {\n const key = normalizeErrorKeyForForm(msgObject.errorKey)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: msgObject.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const requestBody: PutV1EmployeesEmployeeIdFederalTaxesRequestBody = {\n filingStatus:\n payload.filingStatus as PutV1EmployeesEmployeeIdFederalTaxesRequestBody['filingStatus'],\n twoJobs: payload.twoJobs === 'true',\n dependentsAmount: Number(payload.dependentsAmount),\n otherIncome: Number(payload.otherIncome),\n deductions: Number(payload.deductions),\n extraWithholding: Number(payload.extraWithholding),\n w4DataType: 'rev_2020_w4',\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <FederalTaxesProvider\n value={{\n isPending,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Head />\n <FederalForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </FederalTaxesProvider>\n </section>\n )\n}\n"],"names":["FederalTaxes","props","jsx","BaseComponent","Root","employeeId","className","children","dictionary","onEvent","fieldErrors","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPending","useEmployeeTaxSetupUpdateFederalTaxesMutation","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","handleSubmit","_setError","useEffect","msgObject","key","normalizeErrorKeyForForm","FederalTaxesProvider","FormProvider","Form","data","payload","requestBody","federalTaxesResponse","componentEvents","jsxs","Fragment","Head","FederalForm","Actions"],"mappings":";;;;;;;;;;;;;;;;AA2BO,SAASA,GAAaC,GAAmD;AAC9E,SACE,gBAAAC,EAACC,KAAwC,GAAGF,GAC1C,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAACH,MAA6B;AACzC,QAAM,EAAE,YAAAI,GAAY,WAAAC,GAAW,UAAAC,GAAU,YAAAC,MAAeP,GAClD,EAAE,SAAAQ,GAAS,aAAAC,GAAa,mBAAAC,EAAA,IAAsBC,EAAA;AACpD,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBN,CAAU;AAE1D,QAAM,EAAE,MAAMO,EAAA,IAAYC,EAA2C;AAAA,IACnE,cAAcX;AAAA,EAAA,CACf,GACKY,IAAqBF,EAAQ,oBAE7B,EAAE,aAAaG,GAAoB,WAAAC,EAAA,IACvCC,EAAA,GAIIC,IAFYJ,EAAmB,eAAe,gBAGhD;AAAA,IACE,cAAcA,EAAmB,gBAAgB;AAAA,IACjD,SAASA,EAAmB,UAAU,SAAS;AAAA,IAC/C,YAAYA,EAAmB,aAAa,OAAOA,EAAmB,UAAU,IAAI;AAAA,IACpF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,IACJ,aAAaA,EAAmB,cAAc,OAAOA,EAAmB,WAAW,IAAI;AAAA,IACvF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,EAAA,IAEN;AAAA,IACE,cAAc;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,kBAAkB;AAAA,EAAA,GAGlBK,IAAcC,EAAwD;AAAA,IAC1E,UAAUC,EAAYC,CAAiB;AAAA,IACvC,eAAAJ;AAAA,EAAA,CACD,GACK,EAAE,cAAAK,GAAc,UAAUC,EAAA,IAAcL;AAE9C,SAAAM,EAAU,MAAM;AACd,IAAIlB,KAAeA,EAAY,SAAS,KACtCA,EAAY,QAAQ,CAAAmB,MAAa;AAC/B,YAAMC,IAAMC,EAAyBF,EAAU,QAAQ;AACvD,MAAAF,EAAUG,GAAgC,EAAE,MAAM,UAAU,SAASD,EAAU,SAAS;AAAA,IAC1F,CAAC;AAAA,EAEL,GAAG,CAACnB,GAAaiB,CAAS,CAAC,GA4BzB,gBAAAzB,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAAC8B;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,WAAAb;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAjB,EAAC+B,GAAA,EAAc,GAAGX,GAChB,UAAA,gBAAApB,EAACgC,GAAA,EAAK,UAAUR,EAjC4B,OAAMS,MAAQ;AAChE,cAAMxB,EAAkBwB,GAAM,OAAMC,MAAW;AAC7C,gBAAMC,IAA+D;AAAA,YACnE,cACED,EAAQ;AAAA,YACV,SAASA,EAAQ,YAAY;AAAA,YAC7B,kBAAkB,OAAOA,EAAQ,gBAAgB;AAAA,YACjD,aAAa,OAAOA,EAAQ,WAAW;AAAA,YACvC,YAAY,OAAOA,EAAQ,UAAU;AAAA,YACrC,kBAAkB,OAAOA,EAAQ,gBAAgB;AAAA,YACjD,YAAY;AAAA,YACZ,SAASnB,EAAmB;AAAA,UAAA,GAGxBqB,IAAuB,MAAMpB,EAAmB;AAAA,YACpD,SAAS;AAAA,cACP,cAAcb;AAAA,cACd,aAAAgC;AAAA,YAAA;AAAA,UACF,CACD;AACD,UAAA5B,EAAQ8B,EAAgB,gCAAgCD,CAAoB,GAC5E7B,EAAQ8B,EAAgB,2BAA2B;AAAA,QACrD,CAAC;AAAA,MACH,CAU6C,GAClC,UAAAhC,KAGC,gBAAAiC,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAvC,EAACwC,GAAA,EAAK;AAAA,0BACLC,GAAA,EAAY;AAAA,0BACZC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX,GAEJ,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,18 +1,12 @@
1
1
  import { z } from 'zod';
2
- export declare const FederalFormSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
- w4DataType: z.ZodLiteral<"rev_2020_w4">;
2
+ export declare const FederalFormSchema: z.ZodObject<{
4
3
  filingStatus: z.ZodString;
5
4
  twoJobs: z.ZodString;
6
5
  dependentsAmount: z.ZodPipe<z.ZodNumber, z.ZodTransform<string, number>>;
7
6
  otherIncome: z.ZodPipe<z.ZodNumber, z.ZodTransform<string, number>>;
8
7
  deductions: z.ZodPipe<z.ZodNumber, z.ZodTransform<string, number>>;
9
8
  extraWithholding: z.ZodPipe<z.ZodNumber, z.ZodTransform<string, number>>;
10
- }, z.core.$strip>, z.ZodObject<{
11
- w4DataType: z.ZodLiteral<"pre_2020_w4">;
12
- filingStatus: z.ZodString;
13
- federalWithholdingAllowance: z.ZodNumber;
14
- additionalWithholding: z.ZodString;
15
- }, z.core.$strip>], "w4DataType">;
9
+ }, z.core.$strip>;
16
10
  export type FederalFormInputs = z.input<typeof FederalFormSchema>;
17
11
  export type FederalFormPayload = z.output<typeof FederalFormSchema>;
18
12
  export declare function FederalForm(): import("react/jsx-runtime").JSX.Element;
@@ -1,66 +1,54 @@
1
- import { jsx as i, jsxs as n, Fragment as a } from "react/jsx-runtime";
2
- import { useTranslation as o, Trans as u } from "react-i18next";
3
- import { useFormContext as m } from "react-hook-form";
1
+ import { jsxs as l, Fragment as a, jsx as r } from "react/jsx-runtime";
2
+ import { useTranslation as s, Trans as m } from "react-i18next";
4
3
  import { z as t } from "zod";
5
4
  import "../../../shared/constants.js";
6
5
  import "classnames";
7
- import { RadioGroupField as f } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
8
- import { TextInputField as g } from "../../Common/Fields/TextInputField/TextInputField.js";
9
- import { NumberInputField as l } from "../../Common/Fields/NumberInputField/NumberInputField.js";
10
- import { useComponentContext as c } from "../../../contexts/ComponentAdapter/useComponentContext.js";
6
+ import { RadioGroupField as u } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
7
+ import { NumberInputField as i } from "../../Common/Fields/NumberInputField/NumberInputField.js";
8
+ import { useComponentContext as d } from "../../../contexts/ComponentAdapter/useComponentContext.js";
11
9
  import "react";
12
- import { SelectField as s } from "../../Common/Fields/SelectField/SelectField.js";
13
- const p = t.object({
14
- w4DataType: t.literal("rev_2020_w4"),
10
+ import { SelectField as f } from "../../Common/Fields/SelectField/SelectField.js";
11
+ const c = t.object({
15
12
  filingStatus: t.string().min(1),
16
13
  twoJobs: t.string().min(1),
17
14
  dependentsAmount: t.number().transform(String),
18
15
  otherIncome: t.number().transform(String),
19
16
  deductions: t.number().transform(String),
20
17
  extraWithholding: t.number().transform(String)
21
- }), h = t.object({
22
- w4DataType: t.literal("pre_2020_w4"),
23
- filingStatus: t.string().min(1),
24
- federalWithholdingAllowance: t.number().int(),
25
- additionalWithholding: t.string()
26
- }), H = t.discriminatedUnion("w4DataType", [p, h]);
27
- function A() {
28
- const { watch: e } = m();
29
- return e("w4DataType") === "rev_2020_w4" ? /* @__PURE__ */ i(b, {}) : /* @__PURE__ */ i(S, {});
30
- }
31
- function b() {
32
- const { t: e } = o("Employee.Taxes"), r = c(), d = [
18
+ }), v = c;
19
+ function M() {
20
+ const { t: e } = s("Employee.Taxes"), o = d(), n = [
33
21
  { value: "Single", label: e("filingStatusSingle") },
34
22
  { value: "Married", label: e("filingStatusMarried") },
35
23
  { value: "Head of Household", label: e("filingStatusHeadOfHousehold") },
36
24
  { value: "Exempt from withholding", label: e("filingStatusExemptFromWithholding") }
37
25
  ];
38
- return /* @__PURE__ */ n(a, { children: [
39
- /* @__PURE__ */ i(
40
- s,
26
+ return /* @__PURE__ */ l(a, { children: [
27
+ /* @__PURE__ */ r(
28
+ f,
41
29
  {
42
30
  name: "filingStatus",
43
31
  label: e("federalFilingStatus1c"),
44
32
  placeholder: e("federalFilingStatusPlaceholder"),
45
- options: d,
33
+ options: n,
46
34
  isRequired: !0,
47
35
  errorMessage: e("validations.federalFilingStatus")
48
36
  }
49
37
  ),
50
- /* @__PURE__ */ i(
51
- f,
38
+ /* @__PURE__ */ r(
39
+ u,
52
40
  {
53
41
  name: "twoJobs",
54
42
  isRequired: !0,
55
43
  label: e("multipleJobs2c"),
56
44
  errorMessage: e("validations.federalTwoJobs"),
57
- description: /* @__PURE__ */ i(r.Text, { children: /* @__PURE__ */ i(
58
- u,
45
+ description: /* @__PURE__ */ r(o.Text, { children: /* @__PURE__ */ r(
46
+ m,
59
47
  {
60
48
  i18nKey: "includesSpouseExplanation",
61
49
  t: e,
62
50
  components: {
63
- IrsLink: /* @__PURE__ */ i(r.Link, {})
51
+ IrsLink: /* @__PURE__ */ r(o.Link, {})
64
52
  }
65
53
  }
66
54
  ) }),
@@ -70,8 +58,8 @@ function b() {
70
58
  ]
71
59
  }
72
60
  ),
73
- /* @__PURE__ */ i(
74
- l,
61
+ /* @__PURE__ */ r(
62
+ i,
75
63
  {
76
64
  name: "dependentsAmount",
77
65
  isRequired: !0,
@@ -81,8 +69,8 @@ function b() {
81
69
  errorMessage: e("fieldIsRequired")
82
70
  }
83
71
  ),
84
- /* @__PURE__ */ i(
85
- l,
72
+ /* @__PURE__ */ r(
73
+ i,
86
74
  {
87
75
  name: "otherIncome",
88
76
  isRequired: !0,
@@ -92,8 +80,8 @@ function b() {
92
80
  errorMessage: e("fieldIsRequired")
93
81
  }
94
82
  ),
95
- /* @__PURE__ */ i(
96
- l,
83
+ /* @__PURE__ */ r(
84
+ i,
97
85
  {
98
86
  name: "deductions",
99
87
  isRequired: !0,
@@ -103,8 +91,8 @@ function b() {
103
91
  errorMessage: e("fieldIsRequired")
104
92
  }
105
93
  ),
106
- /* @__PURE__ */ i(
107
- l,
94
+ /* @__PURE__ */ r(
95
+ i,
108
96
  {
109
97
  name: "extraWithholding",
110
98
  isRequired: !0,
@@ -116,51 +104,8 @@ function b() {
116
104
  )
117
105
  ] });
118
106
  }
119
- function S() {
120
- const { t: e } = o("Employee.Taxes"), r = [
121
- { value: "Single", label: e("filingStatusSingle") },
122
- { value: "Married", label: e("filingStatusMarried") },
123
- { value: "Head of Household", label: e("filingStatusHeadOfHousehold") },
124
- { value: "Exempt from withholding", label: e("filingStatusExemptFromWithholding") },
125
- { value: "Married, but withhold as Single", label: e("filingStatusMarriedWithholdAsSingle") }
126
- ];
127
- return /* @__PURE__ */ n(a, { children: [
128
- /* @__PURE__ */ i(
129
- l,
130
- {
131
- name: "federalWithholdingAllowance",
132
- isRequired: !0,
133
- label: e("federalWithholdingAllowance"),
134
- min: 0,
135
- maximumFractionDigits: 0,
136
- errorMessage: e("fieldIsRequired")
137
- }
138
- ),
139
- /* @__PURE__ */ i(
140
- s,
141
- {
142
- name: "filingStatus",
143
- label: e("filingStatus"),
144
- placeholder: e("federalFilingStatusPlaceholder"),
145
- description: e("selectWithholdingDescription"),
146
- options: r,
147
- isRequired: !0,
148
- errorMessage: e("validations.federalFilingStatus")
149
- }
150
- ),
151
- /* @__PURE__ */ i(
152
- g,
153
- {
154
- name: "additionalWithholding",
155
- label: e("additionalWithholding"),
156
- type: "number",
157
- errorMessage: e("fieldIsRequired")
158
- }
159
- )
160
- ] });
161
- }
162
107
  export {
163
- A as FederalForm,
164
- H as FederalFormSchema
108
+ M as FederalForm,
109
+ v as FederalFormSchema
165
110
  };
166
111
  //# sourceMappingURL=FederalForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FederalForm.js","sources":["../../../../src/components/Employee/Taxes/FederalForm.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { useFormContext } from 'react-hook-form'\nimport { z } from 'zod'\nimport { NumberInputField, RadioGroupField, SelectField, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst Rev2020Schema = z.object({\n w4DataType: z.literal('rev_2020_w4'),\n filingStatus: z.string().min(1),\n twoJobs: z.string().min(1),\n dependentsAmount: z.number().transform(String),\n otherIncome: z.number().transform(String),\n deductions: z.number().transform(String),\n extraWithholding: z.number().transform(String),\n})\n\nconst Pre2020Schema = z.object({\n w4DataType: z.literal('pre_2020_w4'),\n filingStatus: z.string().min(1),\n federalWithholdingAllowance: z.number().int(),\n additionalWithholding: z.string(),\n})\n\nexport const FederalFormSchema = z.discriminatedUnion('w4DataType', [Rev2020Schema, Pre2020Schema])\n\nexport type FederalFormInputs = z.input<typeof FederalFormSchema>\nexport type FederalFormPayload = z.output<typeof FederalFormSchema>\n\nexport function FederalForm() {\n const { watch } = useFormContext<FederalFormInputs>()\n const w4DataType = watch('w4DataType')\n\n if (w4DataType === 'rev_2020_w4') {\n return <Rev2020Form />\n }\n\n return <Pre2020Form />\n}\n\nfunction Rev2020Form() {\n const { t } = useTranslation('Employee.Taxes')\n const Components = useComponentContext()\n\n const filingStatusOptions = [\n { value: 'Single', label: t('filingStatusSingle') },\n { value: 'Married', label: t('filingStatusMarried') },\n { value: 'Head of Household', label: t('filingStatusHeadOfHousehold') },\n { value: 'Exempt from withholding', label: t('filingStatusExemptFromWithholding') },\n ]\n\n return (\n <>\n <SelectField\n name=\"filingStatus\"\n label={t('federalFilingStatus1c')}\n placeholder={t('federalFilingStatusPlaceholder')}\n options={filingStatusOptions}\n isRequired\n errorMessage={t('validations.federalFilingStatus')}\n />\n <RadioGroupField\n name=\"twoJobs\"\n isRequired\n label={t('multipleJobs2c')}\n errorMessage={t('validations.federalTwoJobs')}\n description={\n <Components.Text>\n <Trans\n i18nKey={'includesSpouseExplanation'}\n t={t}\n components={{\n IrsLink: <Components.Link />,\n }}\n />\n </Components.Text>\n }\n options={[\n { value: 'true', label: t('twoJobYesLabel') },\n { value: 'false', label: t('twoJobNoLabel') },\n ]}\n />\n <NumberInputField\n name=\"dependentsAmount\"\n isRequired\n label={t('dependentsTotalIfApplicable')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"otherIncome\"\n isRequired\n label={t('otherIncome')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"deductions\"\n isRequired\n label={t('deductions')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"extraWithholding\"\n isRequired\n label={t('extraWithholding')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n </>\n )\n}\n\nfunction Pre2020Form() {\n const { t } = useTranslation('Employee.Taxes')\n\n const filingStatusOptions = [\n { value: 'Single', label: t('filingStatusSingle') },\n { value: 'Married', label: t('filingStatusMarried') },\n { value: 'Head of Household', label: t('filingStatusHeadOfHousehold') },\n { value: 'Exempt from withholding', label: t('filingStatusExemptFromWithholding') },\n { value: 'Married, but withhold as Single', label: t('filingStatusMarriedWithholdAsSingle') },\n ]\n\n return (\n <>\n <NumberInputField\n name=\"federalWithholdingAllowance\"\n isRequired\n label={t('federalWithholdingAllowance')}\n min={0}\n maximumFractionDigits={0}\n errorMessage={t('fieldIsRequired')}\n />\n <SelectField\n name=\"filingStatus\"\n label={t('filingStatus')}\n placeholder={t('federalFilingStatusPlaceholder')}\n description={t('selectWithholdingDescription')}\n options={filingStatusOptions}\n isRequired\n errorMessage={t('validations.federalFilingStatus')}\n />\n <TextInputField\n name=\"additionalWithholding\"\n label={t('additionalWithholding')}\n type=\"number\"\n errorMessage={t('fieldIsRequired')}\n />\n </>\n )\n}\n"],"names":["Rev2020Schema","z","Pre2020Schema","FederalFormSchema","FederalForm","watch","useFormContext","Rev2020Form","Pre2020Form","t","useTranslation","Components","useComponentContext","filingStatusOptions","jsxs","Fragment","jsx","SelectField","RadioGroupField","Trans","NumberInputField","TextInputField"],"mappings":"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"}
1
+ {"version":3,"file":"FederalForm.js","sources":["../../../../src/components/Employee/Taxes/FederalForm.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { NumberInputField, RadioGroupField, SelectField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst Rev2020Schema = z.object({\n filingStatus: z.string().min(1),\n twoJobs: z.string().min(1),\n dependentsAmount: z.number().transform(String),\n otherIncome: z.number().transform(String),\n deductions: z.number().transform(String),\n extraWithholding: z.number().transform(String),\n})\n\nexport const FederalFormSchema = Rev2020Schema\n\nexport type FederalFormInputs = z.input<typeof FederalFormSchema>\nexport type FederalFormPayload = z.output<typeof FederalFormSchema>\n\nexport function FederalForm() {\n const { t } = useTranslation('Employee.Taxes')\n const Components = useComponentContext()\n\n const filingStatusOptions = [\n { value: 'Single', label: t('filingStatusSingle') },\n { value: 'Married', label: t('filingStatusMarried') },\n { value: 'Head of Household', label: t('filingStatusHeadOfHousehold') },\n { value: 'Exempt from withholding', label: t('filingStatusExemptFromWithholding') },\n ]\n\n return (\n <>\n <SelectField\n name=\"filingStatus\"\n label={t('federalFilingStatus1c')}\n placeholder={t('federalFilingStatusPlaceholder')}\n options={filingStatusOptions}\n isRequired\n errorMessage={t('validations.federalFilingStatus')}\n />\n <RadioGroupField\n name=\"twoJobs\"\n isRequired\n label={t('multipleJobs2c')}\n errorMessage={t('validations.federalTwoJobs')}\n description={\n <Components.Text>\n <Trans\n i18nKey={'includesSpouseExplanation'}\n t={t}\n components={{\n IrsLink: <Components.Link />,\n }}\n />\n </Components.Text>\n }\n options={[\n { value: 'true', label: t('twoJobYesLabel') },\n { value: 'false', label: t('twoJobNoLabel') },\n ]}\n />\n <NumberInputField\n name=\"dependentsAmount\"\n isRequired\n label={t('dependentsTotalIfApplicable')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"otherIncome\"\n isRequired\n label={t('otherIncome')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"deductions\"\n isRequired\n label={t('deductions')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n <NumberInputField\n name=\"extraWithholding\"\n isRequired\n label={t('extraWithholding')}\n format=\"currency\"\n min={0}\n errorMessage={t('fieldIsRequired')}\n />\n </>\n )\n}\n"],"names":["Rev2020Schema","z","FederalFormSchema","FederalForm","t","useTranslation","Components","useComponentContext","filingStatusOptions","jsxs","Fragment","jsx","SelectField","RadioGroupField","Trans","NumberInputField"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as o, jsxs as O, Fragment as C } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as W, Fragment as C } from "react/jsx-runtime";
2
2
  import { zodResolver as J } from "@hookform/resolvers/zod";
3
3
  import { useForm as V, FormProvider as X } from "react-hook-form";
4
4
  import "react-i18next";
@@ -15,114 +15,109 @@ import { TaxesProvider as ee } from "./useTaxes.js";
15
15
  import { BaseComponent as te } from "../../Base/Base.js";
16
16
  import { useBase as oe } from "../../Base/useBase.js";
17
17
  import "../../Flow/useFlow.js";
18
- import { useI18n as ae, useComponentDictionary as se } from "../../../i18n/I18n.js";
19
- import { componentEvents as T } from "../../../shared/constants.js";
20
- import { snakeCaseToCamelCase as A, normalizeErrorKeyForForm as ne } from "../../../helpers/formattedStrings.js";
21
- import { Form as re } from "../../Common/Form/Form.js";
18
+ import { useI18n as se, useComponentDictionary as re } from "../../../i18n/I18n.js";
19
+ import { componentEvents as h } from "../../../shared/constants.js";
20
+ import { snakeCaseToCamelCase as g, normalizeErrorKeyForForm as ne } from "../../../helpers/formattedStrings.js";
21
+ import { Form as ae } from "../../Common/Form/Form.js";
22
22
  const ie = "2010-01-01";
23
23
  function Ue(i) {
24
- return /* @__PURE__ */ o(te, { ...i, children: /* @__PURE__ */ o(le, { ...i, children: i.children }) });
24
+ return /* @__PURE__ */ t(te, { ...i, children: /* @__PURE__ */ t(me, { ...i, children: i.children }) });
25
25
  }
26
- const le = (i) => {
27
- const { employeeId: m, className: v, children: S, isAdmin: E = !1, dictionary: D } = i, { onEvent: c, fieldErrors: u, baseSubmitHandler: _ } = oe();
28
- ae("Employee.Taxes"), se("Employee.Taxes", D);
29
- const { data: b } = B({
30
- employeeUuid: m
31
- }), e = b.employeeFederalTax, { mutateAsync: P, isPending: W } = H(), { data: U } = Y({
32
- employeeUuid: m
33
- }), f = U.employeeStateTaxesList, { mutateAsync: N, isPending: R } = j(), k = e.w4DataType === "rev_2020_w4", x = f.reduce((a, s) => (s.state && (a[s.state] = s.questions?.reduce((n, t) => {
34
- const l = t.answers[0]?.value, d = A(t.key);
35
- return d === "fileNewHireReport" ? n[d] = typeof l > "u" ? !0 : l : n[d] = l, n;
36
- }, {})), a), {}), I = k ? {
37
- w4DataType: "rev_2020_w4",
26
+ const me = (i) => {
27
+ const { employeeId: u, className: v, children: E, isAdmin: x = !1, dictionary: w } = i, { onEvent: c, fieldErrors: l, baseSubmitHandler: _ } = oe();
28
+ se("Employee.Taxes"), re("Employee.Taxes", w);
29
+ const { data: D } = B({
30
+ employeeUuid: u
31
+ }), e = D.employeeFederalTax, { mutateAsync: N, isPending: P } = H(), { data: U } = Y({
32
+ employeeUuid: u
33
+ }), f = U.employeeStateTaxesList, { mutateAsync: I, isPending: R } = j(), k = e.w4DataType === "rev_2020_w4", S = f.reduce((s, r) => (r.state && (s[r.state] = r.questions?.reduce((n, o) => {
34
+ const m = o.answers[0]?.value, d = g(o.key);
35
+ return d === "fileNewHireReport" ? n[d] = typeof m > "u" ? !0 : m : n[d] = m, n;
36
+ }, {})), s), {}), L = k ? {
38
37
  filingStatus: e.filingStatus ?? "",
39
38
  twoJobs: e.twoJobs ? "true" : "false",
40
39
  deductions: e.deductions ? Number(e.deductions) : 0,
41
40
  dependentsAmount: e.dependentsAmount ? Number(e.dependentsAmount) : 0,
42
41
  otherIncome: e.otherIncome ? Number(e.otherIncome) : 0,
43
42
  extraWithholding: e.extraWithholding ? Number(e.extraWithholding) : 0,
44
- states: x
43
+ states: S
45
44
  } : {
46
- w4DataType: "pre_2020_w4",
47
- filingStatus: e.filingStatus ?? "",
48
- federalWithholdingAllowance: e.federalWithholdingAllowance ?? 0,
49
- additionalWithholding: e.additionalWithholding,
50
- states: x
51
- }, g = V({
45
+ filingStatus: "",
46
+ twoJobs: "false",
47
+ deductions: 0,
48
+ dependentsAmount: 0,
49
+ otherIncome: 0,
50
+ extraWithholding: 0,
51
+ states: S
52
+ }, F = V({
52
53
  resolver: J(G.and(Z)),
53
- defaultValues: I
54
- }), { handleSubmit: L, setError: w } = g;
54
+ defaultValues: L
55
+ }), { handleSubmit: M, setError: A } = F;
55
56
  return q(() => {
56
- u && u.length > 0 && u.forEach((a) => {
57
- const s = ne(a.errorKey);
58
- w(s, { type: "custom", message: a.message });
57
+ l && l.length > 0 && l.forEach((s) => {
58
+ const r = ne(s.errorKey);
59
+ A(r, { type: "custom", message: s.message });
59
60
  });
60
- }, [u, w]), /* @__PURE__ */ o("section", { className: v, children: /* @__PURE__ */ o(
61
+ }, [l, A]), /* @__PURE__ */ t("section", { className: v, children: /* @__PURE__ */ t(
61
62
  ee,
62
63
  {
63
64
  value: {
64
65
  employeeStateTaxes: f,
65
- isAdmin: E,
66
- isPending: W || R
66
+ isAdmin: x,
67
+ isPending: P || R
67
68
  },
68
- children: /* @__PURE__ */ o(X, { ...g, children: /* @__PURE__ */ o(re, { onSubmit: L(async (a) => {
69
- await _(a, async (s) => {
70
- const { states: n, ...t } = s, l = t.w4DataType === "rev_2020_w4" ? {
71
- filingStatus: t.filingStatus,
72
- twoJobs: t.twoJobs === "true",
73
- dependentsAmount: t.dependentsAmount,
74
- otherIncome: t.otherIncome,
75
- deductions: t.deductions,
76
- extraWithholding: t.extraWithholding,
77
- w4DataType: t.w4DataType,
78
- version: e.version
79
- } : {
80
- filingStatus: t.filingStatus,
81
- federalWithholdingAllowance: t.federalWithholdingAllowance,
82
- additionalWithholding: t.additionalWithholding,
83
- w4DataType: t.w4DataType,
69
+ children: /* @__PURE__ */ t(X, { ...F, children: /* @__PURE__ */ t(ae, { onSubmit: M(async (s) => {
70
+ await _(s, async (r) => {
71
+ const { states: n, ...o } = r, m = {
72
+ filingStatus: o.filingStatus,
73
+ twoJobs: o.twoJobs === "true",
74
+ dependentsAmount: Number(o.dependentsAmount),
75
+ otherIncome: Number(o.otherIncome),
76
+ deductions: Number(o.deductions),
77
+ extraWithholding: Number(o.extraWithholding),
78
+ w4DataType: "rev_2020_w4",
84
79
  version: e.version
85
- }, d = await P({
80
+ }, d = await N({
86
81
  request: {
87
- employeeUuid: m,
88
- requestBody: l
82
+ employeeUuid: u,
83
+ requestBody: m
89
84
  }
90
85
  });
91
- if (c(T.EMPLOYEE_FEDERAL_TAXES_UPDATED, d), n && Object.keys(n).length > 0) {
92
- const F = [];
93
- for (const h of f) {
94
- const y = h.state;
95
- y && h.questions !== void 0 && F.push({
96
- state: y,
97
- questions: h.questions.map((r) => {
98
- if (r.isQuestionForAdminOnly && !E)
86
+ if (c(h.EMPLOYEE_FEDERAL_TAXES_UPDATED, d), n && Object.keys(n).length > 0) {
87
+ const b = [];
88
+ for (const y of f) {
89
+ const T = y.state;
90
+ T && y.questions !== void 0 && b.push({
91
+ state: T,
92
+ questions: y.questions.map((a) => {
93
+ if (a.isQuestionForAdminOnly && !x)
99
94
  return null;
100
- const p = n[y]?.[A(r.key)];
95
+ const p = n[T]?.[g(a.key)];
101
96
  return {
102
- key: r.key,
97
+ key: a.key,
103
98
  answers: [
104
99
  {
105
- validFrom: r.answers[0]?.validFrom ?? ie,
106
- validUpTo: r.answers[0]?.validUpTo ?? null,
100
+ validFrom: a.answers[0]?.validFrom ?? ie,
101
+ validUpTo: a.answers[0]?.validUpTo ?? null,
107
102
  value: p == null || typeof p == "number" && isNaN(p) ? "" : p
108
103
  }
109
104
  ]
110
105
  };
111
- }).filter((r) => r !== null)
106
+ }).filter((a) => a !== null)
112
107
  });
113
108
  }
114
- const M = await N({
115
- request: { employeeUuid: m, employeeStateTaxesRequest: { states: F } }
109
+ const O = await I({
110
+ request: { employeeUuid: u, employeeStateTaxesRequest: { states: b } }
116
111
  });
117
- c(T.EMPLOYEE_STATE_TAXES_UPDATED, M);
112
+ c(h.EMPLOYEE_STATE_TAXES_UPDATED, O);
118
113
  }
119
- c(T.EMPLOYEE_TAXES_DONE);
114
+ c(h.EMPLOYEE_TAXES_DONE);
120
115
  });
121
- }), children: S || /* @__PURE__ */ O(C, { children: [
122
- /* @__PURE__ */ o(Q, {}),
123
- /* @__PURE__ */ o(K, {}),
124
- /* @__PURE__ */ o($, {}),
125
- /* @__PURE__ */ o(z, {})
116
+ }), children: E || /* @__PURE__ */ W(C, { children: [
117
+ /* @__PURE__ */ t(Q, {}),
118
+ /* @__PURE__ */ t(K, {}),
119
+ /* @__PURE__ */ t($, {}),
120
+ /* @__PURE__ */ t(z, {})
126
121
  ] }) }) })
127
122
  }
128
123
  ) });
@@ -1 +1 @@
1
- {"version":3,"file":"Taxes.js","sources":["../../../../src/components/Employee/Taxes/Taxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport { useEmployeeTaxSetupGetStateTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { Actions } from './Actions'\nimport {\n FederalForm,\n FederalFormSchema,\n type FederalFormInputs,\n type FederalFormPayload,\n} from './FederalForm'\nimport { FederalHead } from './FederalHead'\nimport { StateForm, StateFormSchema, type StateFormPayload } from './StateForm'\nimport { TaxesProvider } from './useTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { snakeCaseToCamelCase, normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\ninterface TaxesProps extends CommonComponentInterface<'Employee.Taxes'> {\n employeeId: string\n isAdmin?: boolean\n}\n\n/**\n * @deprecated The Taxes component has been deprecated and will be removed in a future release.\n * The component has been split into separate components for state and federal. Use Employee.FederalTaxes\n * and Employee.StateTaxes components instead.\n */\nexport function Taxes(props: TaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = (props: TaxesProps) => {\n const { employeeId, className, children, isAdmin = false, dictionary } = props\n const { onEvent, fieldErrors, baseSubmitHandler } = useBase()\n useI18n('Employee.Taxes')\n useComponentDictionary('Employee.Taxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending: isPendingFederalTaxes } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const { data: stateData } = useEmployeeTaxSetupGetStateTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeStateTaxes = stateData.employeeStateTaxesList!\n const { mutateAsync: updateStateTaxes, isPending: isPendingStateTaxes } =\n useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const statesDefaultValues = employeeStateTaxes.reduce((acc: Record<string, unknown>, state) => {\n if (state.state) {\n acc[state.state] = state.questions?.reduce((acc: Record<string, unknown>, question) => {\n const value = question.answers[0]?.value\n const key = snakeCaseToCamelCase(question.key)\n if (key === 'fileNewHireReport') {\n acc[key] = typeof value === 'undefined' ? true : value\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n }\n return acc\n }, {})\n\n const defaultValues: FederalFormInputs & { states: typeof statesDefaultValues } = isRev2020\n ? {\n w4DataType: 'rev_2020_w4',\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n states: statesDefaultValues,\n }\n : {\n w4DataType: 'pre_2020_w4',\n filingStatus: employeeFederalTax.filingStatus ?? '',\n federalWithholdingAllowance: employeeFederalTax.federalWithholdingAllowance ?? 0,\n additionalWithholding: employeeFederalTax.additionalWithholding,\n states: statesDefaultValues,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload & StateFormPayload>({\n resolver: zodResolver(FederalFormSchema.and(StateFormSchema)),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(msgObject => {\n const key = normalizeErrorKeyForForm(msgObject.errorKey)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: msgObject.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload & StateFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { states: statesPayload, ...federalPayload } = payload\n\n const requestBody =\n federalPayload.w4DataType === 'rev_2020_w4'\n ? {\n filingStatus: federalPayload.filingStatus,\n twoJobs: federalPayload.twoJobs === 'true',\n dependentsAmount: federalPayload.dependentsAmount,\n otherIncome: federalPayload.otherIncome,\n deductions: federalPayload.deductions,\n extraWithholding: federalPayload.extraWithholding,\n w4DataType: federalPayload.w4DataType,\n version: employeeFederalTax.version,\n }\n : {\n filingStatus: federalPayload.filingStatus,\n federalWithholdingAllowance: federalPayload.federalWithholdingAllowance,\n additionalWithholding: federalPayload.additionalWithholding,\n w4DataType: federalPayload.w4DataType,\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n\n if (statesPayload && Object.keys(statesPayload).length > 0) {\n const states = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n\n if (stateName && state.questions !== undefined) {\n states.push({\n state: stateName,\n questions: state.questions\n .map(question => {\n if (question.isQuestionForAdminOnly && !isAdmin) {\n return null\n }\n const formValue = statesPayload[stateName]?.[snakeCaseToCamelCase(question.key)]\n return {\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value:\n formValue == null || (typeof formValue === 'number' && isNaN(formValue))\n ? ''\n : (formValue as string | number | boolean),\n },\n ],\n }\n })\n .filter(q => q !== null),\n })\n }\n }\n\n const stateTaxesResponse = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: { states } },\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, stateTaxesResponse)\n }\n\n onEvent(componentEvents.EMPLOYEE_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <TaxesProvider\n value={{\n employeeStateTaxes,\n isAdmin: isAdmin,\n isPending: isPendingFederalTaxes || isPendingStateTaxes,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <FederalHead />\n <FederalForm />\n <StateForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </TaxesProvider>\n </section>\n )\n}\n\nexport const TaxesContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation()\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'EmployeeTaxes',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <Taxes employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin ?? false} />\n}\n"],"names":["DEFAULT_TAX_VALID_FROM","Taxes","props","jsx","BaseComponent","Root","employeeId","className","children","isAdmin","dictionary","onEvent","fieldErrors","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPendingFederalTaxes","useEmployeeTaxSetupUpdateFederalTaxesMutation","stateData","useEmployeeTaxSetupGetStateTaxesSuspense","employeeStateTaxes","updateStateTaxes","isPendingStateTaxes","useEmployeeTaxSetupUpdateStateTaxesMutation","isRev2020","statesDefaultValues","acc","state","question","value","key","snakeCaseToCamelCase","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","StateFormSchema","handleSubmit","_setError","useEffect","msgObject","normalizeErrorKeyForForm","TaxesProvider","FormProvider","Form","data","payload","statesPayload","federalPayload","requestBody","federalTaxesResponse","componentEvents","states","stateName","formValue","q","stateTaxesResponse","jsxs","Fragment","FederalHead","FederalForm","StateForm","Actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgCA,MAAMA,KAAyB;AAYxB,SAASC,GAAMC,GAA4C;AAChE,SACE,gBAAAC,EAACC,IAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,MAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,KAAO,CAACH,MAAsB;AAClC,QAAM,EAAE,YAAAI,GAAY,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,YAAAC,MAAeR,GACnE,EAAE,SAAAS,GAAS,aAAAC,GAAa,mBAAAC,EAAA,IAAsBC,GAAA;AACpD,EAAAC,GAAQ,gBAAgB,GACxBC,GAAuB,kBAAkBN,CAAU;AAEnD,QAAM,EAAE,MAAMO,EAAA,IAAYC,EAA2C;AAAA,IACnE,cAAcZ;AAAA,EAAA,CACf,GACKa,IAAqBF,EAAQ,oBAE7B,EAAE,aAAaG,GAAoB,WAAWC,EAAA,IAClDC,EAAA,GAEI,EAAE,MAAMC,EAAA,IAAcC,EAAyC;AAAA,IACnE,cAAclB;AAAA,EAAA,CACf,GACKmB,IAAqBF,EAAU,wBAC/B,EAAE,aAAaG,GAAkB,WAAWC,EAAA,IAChDC,EAAA,GAEIC,IAAYV,EAAmB,eAAe,eAE9CW,IAAsBL,EAAmB,OAAO,CAACM,GAA8BC,OAC/EA,EAAM,UACRD,EAAIC,EAAM,KAAK,IAAIA,EAAM,WAAW,OAAO,CAACD,GAA8BE,MAAa;AACrF,UAAMC,IAAQD,EAAS,QAAQ,CAAC,GAAG,OAC7BE,IAAMC,EAAqBH,EAAS,GAAG;AAC7C,WAAIE,MAAQ,sBACVJ,EAAII,CAAG,IAAI,OAAOD,IAAU,MAAc,KAAOA,IAEjDH,EAAII,CAAG,IAAID,GAENH;AAAAA,EACT,GAAG,CAAA,CAAE,IAEAA,IACN,CAAA,CAAE,GAECM,IAA4ER,IAC9E;AAAA,IACE,YAAY;AAAA,IACZ,cAAcV,EAAmB,gBAAgB;AAAA,IACjD,SAASA,EAAmB,UAAU,SAAS;AAAA,IAC/C,YAAYA,EAAmB,aAAa,OAAOA,EAAmB,UAAU,IAAI;AAAA,IACpF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,IACJ,aAAaA,EAAmB,cAAc,OAAOA,EAAmB,WAAW,IAAI;AAAA,IACvF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,IACJ,QAAQW;AAAA,EAAA,IAEV;AAAA,IACE,YAAY;AAAA,IACZ,cAAcX,EAAmB,gBAAgB;AAAA,IACjD,6BAA6BA,EAAmB,+BAA+B;AAAA,IAC/E,uBAAuBA,EAAmB;AAAA,IAC1C,QAAQW;AAAA,EAAA,GAGRQ,IAAcC,EAA2E;AAAA,IAC7F,UAAUC,EAAYC,EAAkB,IAAIC,CAAe,CAAC;AAAA,IAC5D,eAAAL;AAAA,EAAA,CACD,GACK,EAAE,cAAAM,GAAc,UAAUC,EAAA,IAAcN;AAE9C,SAAAO,EAAU,MAAM;AACd,IAAIjC,KAAeA,EAAY,SAAS,KACtCA,EAAY,QAAQ,CAAAkC,MAAa;AAC/B,YAAMX,IAAMY,GAAyBD,EAAU,QAAQ;AACvD,MAAAF,EAAUT,GAAgC,EAAE,MAAM,UAAU,SAASW,EAAU,SAAS;AAAA,IAC1F,CAAC;AAAA,EAEL,GAAG,CAAClC,GAAagC,CAAS,CAAC,GA+EzB,gBAAAzC,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAAC6C;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,oBAAAvB;AAAA,QACA,SAAAhB;AAAA,QACA,WAAWY,KAAyBM;AAAA,MAAA;AAAA,MAGtC,UAAA,gBAAAxB,EAAC8C,GAAA,EAAc,GAAGX,GAChB,UAAA,gBAAAnC,EAAC+C,IAAA,EAAK,UAAUP,EAtF+C,OAAMQ,MAAQ;AACnF,cAAMtC,EAAkBsC,GAAM,OAAMC,MAAW;AAC7C,gBAAM,EAAE,QAAQC,GAAe,GAAGC,MAAmBF,GAE/CG,IACJD,EAAe,eAAe,gBAC1B;AAAA,YACE,cAAcA,EAAe;AAAA,YAC7B,SAASA,EAAe,YAAY;AAAA,YACpC,kBAAkBA,EAAe;AAAA,YACjC,aAAaA,EAAe;AAAA,YAC5B,YAAYA,EAAe;AAAA,YAC3B,kBAAkBA,EAAe;AAAA,YACjC,YAAYA,EAAe;AAAA,YAC3B,SAASnC,EAAmB;AAAA,UAAA,IAE9B;AAAA,YACE,cAAcmC,EAAe;AAAA,YAC7B,6BAA6BA,EAAe;AAAA,YAC5C,uBAAuBA,EAAe;AAAA,YACtC,YAAYA,EAAe;AAAA,YAC3B,SAASnC,EAAmB;AAAA,UAAA,GAG9BqC,IAAuB,MAAMpC,EAAmB;AAAA,YACpD,SAAS;AAAA,cACP,cAAcd;AAAA,cACd,aAAAiD;AAAA,YAAA;AAAA,UACF,CACD;AAGD,cAFA5C,EAAQ8C,EAAgB,gCAAgCD,CAAoB,GAExEH,KAAiB,OAAO,KAAKA,CAAa,EAAE,SAAS,GAAG;AAC1D,kBAAMK,IAAS,CAAA;AAEf,uBAAW1B,KAASP,GAAoB;AACtC,oBAAMkC,IAAY3B,EAAM;AAExB,cAAI2B,KAAa3B,EAAM,cAAc,UACnC0B,EAAO,KAAK;AAAA,gBACV,OAAOC;AAAA,gBACP,WAAW3B,EAAM,UACd,IAAI,CAAAC,MAAY;AACf,sBAAIA,EAAS,0BAA0B,CAACxB;AACtC,2BAAO;AAET,wBAAMmD,IAAYP,EAAcM,CAAS,IAAIvB,EAAqBH,EAAS,GAAG,CAAC;AAC/E,yBAAO;AAAA,oBACL,KAAKA,EAAS;AAAA,oBACd,SAAS;AAAA,sBACP;AAAA,wBACE,WAAWA,EAAS,QAAQ,CAAC,GAAG,aAAajC;AAAA,wBAC7C,WAAWiC,EAAS,QAAQ,CAAC,GAAG,aAAa;AAAA,wBAC7C,OACE2B,KAAa,QAAS,OAAOA,KAAc,YAAY,MAAMA,CAAS,IAClE,KACCA;AAAA,sBAAA;AAAA,oBACT;AAAA,kBACF;AAAA,gBAEJ,CAAC,EACA,OAAO,CAAAC,MAAKA,MAAM,IAAI;AAAA,cAAA,CAC1B;AAAA,YAEL;AAEA,kBAAMC,IAAqB,MAAMpC,EAAiB;AAAA,cAChD,SAAS,EAAE,cAAcpB,GAAY,2BAA2B,EAAE,QAAAoD,IAAO;AAAA,YAAE,CAC5E;AACD,YAAA/C,EAAQ8C,EAAgB,8BAA8BK,CAAkB;AAAA,UAC1E;AAEA,UAAAnD,EAAQ8C,EAAgB,mBAAmB;AAAA,QAC7C,CAAC;AAAA,MACH,CAY6C,GAClC,UAAAjD,KAGC,gBAAAuD,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAA7D,EAAC8D,GAAA,EAAY;AAAA,0BACZC,GAAA,EAAY;AAAA,0BACZC,GAAA,EAAU;AAAA,0BACVC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX,GAEJ,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"Taxes.js","sources":["../../../../src/components/Employee/Taxes/Taxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport { useEmployeeTaxSetupGetStateTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes'\nimport type { PutV1EmployeesEmployeeIdFederalTaxesRequestBody } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidfederaltaxes'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { Actions } from './Actions'\nimport {\n FederalForm,\n FederalFormSchema,\n type FederalFormInputs,\n type FederalFormPayload,\n} from './FederalForm'\nimport { FederalHead } from './FederalHead'\nimport { StateForm, StateFormSchema, type StateFormPayload } from './StateForm'\nimport { TaxesProvider } from './useTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { snakeCaseToCamelCase, normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\ninterface TaxesProps extends CommonComponentInterface<'Employee.Taxes'> {\n employeeId: string\n isAdmin?: boolean\n}\n\n/**\n * @deprecated The Taxes component has been deprecated and will be removed in a future release.\n * The component has been split into separate components for state and federal. Use Employee.FederalTaxes\n * and Employee.StateTaxes components instead.\n */\nexport function Taxes(props: TaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = (props: TaxesProps) => {\n const { employeeId, className, children, isAdmin = false, dictionary } = props\n const { onEvent, fieldErrors, baseSubmitHandler } = useBase()\n useI18n('Employee.Taxes')\n useComponentDictionary('Employee.Taxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending: isPendingFederalTaxes } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const { data: stateData } = useEmployeeTaxSetupGetStateTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeStateTaxes = stateData.employeeStateTaxesList!\n const { mutateAsync: updateStateTaxes, isPending: isPendingStateTaxes } =\n useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const statesDefaultValues = employeeStateTaxes.reduce((acc: Record<string, unknown>, state) => {\n if (state.state) {\n acc[state.state] = state.questions?.reduce((acc: Record<string, unknown>, question) => {\n const value = question.answers[0]?.value\n const key = snakeCaseToCamelCase(question.key)\n if (key === 'fileNewHireReport') {\n acc[key] = typeof value === 'undefined' ? true : value\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n }\n return acc\n }, {})\n\n const defaultValues = isRev2020\n ? {\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n states: statesDefaultValues,\n }\n : {\n filingStatus: '',\n twoJobs: 'false',\n deductions: 0,\n dependentsAmount: 0,\n otherIncome: 0,\n extraWithholding: 0,\n states: statesDefaultValues,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload & StateFormPayload>({\n resolver: zodResolver(FederalFormSchema.and(StateFormSchema)),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(msgObject => {\n const key = normalizeErrorKeyForForm(msgObject.errorKey)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: msgObject.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload & StateFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { states: statesPayload, ...federalPayload } = payload\n\n const requestBody: PutV1EmployeesEmployeeIdFederalTaxesRequestBody = {\n filingStatus:\n federalPayload.filingStatus as PutV1EmployeesEmployeeIdFederalTaxesRequestBody['filingStatus'],\n twoJobs: federalPayload.twoJobs === 'true',\n dependentsAmount: Number(federalPayload.dependentsAmount),\n otherIncome: Number(federalPayload.otherIncome),\n deductions: Number(federalPayload.deductions),\n extraWithholding: Number(federalPayload.extraWithholding),\n w4DataType: 'rev_2020_w4',\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n\n if (statesPayload && Object.keys(statesPayload).length > 0) {\n const states = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n\n if (stateName && state.questions !== undefined) {\n states.push({\n state: stateName,\n questions: state.questions\n .map(question => {\n if (question.isQuestionForAdminOnly && !isAdmin) {\n return null\n }\n const formValue = statesPayload[stateName]?.[snakeCaseToCamelCase(question.key)]\n return {\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value:\n formValue == null || (typeof formValue === 'number' && isNaN(formValue))\n ? ''\n : (formValue as string | number | boolean),\n },\n ],\n }\n })\n .filter(q => q !== null),\n })\n }\n }\n\n const stateTaxesResponse = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: { states } },\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, stateTaxesResponse)\n }\n\n onEvent(componentEvents.EMPLOYEE_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <TaxesProvider\n value={{\n employeeStateTaxes,\n isAdmin: isAdmin,\n isPending: isPendingFederalTaxes || isPendingStateTaxes,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <FederalHead />\n <FederalForm />\n <StateForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </TaxesProvider>\n </section>\n )\n}\n\nexport const TaxesContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation()\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'EmployeeTaxes',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <Taxes employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin ?? false} />\n}\n"],"names":["DEFAULT_TAX_VALID_FROM","Taxes","props","jsx","BaseComponent","Root","employeeId","className","children","isAdmin","dictionary","onEvent","fieldErrors","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPendingFederalTaxes","useEmployeeTaxSetupUpdateFederalTaxesMutation","stateData","useEmployeeTaxSetupGetStateTaxesSuspense","employeeStateTaxes","updateStateTaxes","isPendingStateTaxes","useEmployeeTaxSetupUpdateStateTaxesMutation","isRev2020","statesDefaultValues","acc","state","question","value","key","snakeCaseToCamelCase","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","StateFormSchema","handleSubmit","_setError","useEffect","msgObject","normalizeErrorKeyForForm","TaxesProvider","FormProvider","Form","data","payload","statesPayload","federalPayload","requestBody","federalTaxesResponse","componentEvents","states","stateName","formValue","q","stateTaxesResponse","jsxs","Fragment","FederalHead","FederalForm","StateForm","Actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiCA,MAAMA,KAAyB;AAYxB,SAASC,GAAMC,GAA4C;AAChE,SACE,gBAAAC,EAACC,IAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,MAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,KAAO,CAACH,MAAsB;AAClC,QAAM,EAAE,YAAAI,GAAY,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,YAAAC,MAAeR,GACnE,EAAE,SAAAS,GAAS,aAAAC,GAAa,mBAAAC,EAAA,IAAsBC,GAAA;AACpD,EAAAC,GAAQ,gBAAgB,GACxBC,GAAuB,kBAAkBN,CAAU;AAEnD,QAAM,EAAE,MAAMO,EAAA,IAAYC,EAA2C;AAAA,IACnE,cAAcZ;AAAA,EAAA,CACf,GACKa,IAAqBF,EAAQ,oBAE7B,EAAE,aAAaG,GAAoB,WAAWC,EAAA,IAClDC,EAAA,GAEI,EAAE,MAAMC,EAAA,IAAcC,EAAyC;AAAA,IACnE,cAAclB;AAAA,EAAA,CACf,GACKmB,IAAqBF,EAAU,wBAC/B,EAAE,aAAaG,GAAkB,WAAWC,EAAA,IAChDC,EAAA,GAEIC,IAAYV,EAAmB,eAAe,eAE9CW,IAAsBL,EAAmB,OAAO,CAACM,GAA8BC,OAC/EA,EAAM,UACRD,EAAIC,EAAM,KAAK,IAAIA,EAAM,WAAW,OAAO,CAACD,GAA8BE,MAAa;AACrF,UAAMC,IAAQD,EAAS,QAAQ,CAAC,GAAG,OAC7BE,IAAMC,EAAqBH,EAAS,GAAG;AAC7C,WAAIE,MAAQ,sBACVJ,EAAII,CAAG,IAAI,OAAOD,IAAU,MAAc,KAAOA,IAEjDH,EAAII,CAAG,IAAID,GAENH;AAAAA,EACT,GAAG,CAAA,CAAE,IAEAA,IACN,CAAA,CAAE,GAECM,IAAgBR,IAClB;AAAA,IACE,cAAcV,EAAmB,gBAAgB;AAAA,IACjD,SAASA,EAAmB,UAAU,SAAS;AAAA,IAC/C,YAAYA,EAAmB,aAAa,OAAOA,EAAmB,UAAU,IAAI;AAAA,IACpF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,IACJ,aAAaA,EAAmB,cAAc,OAAOA,EAAmB,WAAW,IAAI;AAAA,IACvF,kBAAkBA,EAAmB,mBACjC,OAAOA,EAAmB,gBAAgB,IAC1C;AAAA,IACJ,QAAQW;AAAA,EAAA,IAEV;AAAA,IACE,cAAc;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,QAAQA;AAAA,EAAA,GAGRQ,IAAcC,EAA2E;AAAA,IAC7F,UAAUC,EAAYC,EAAkB,IAAIC,CAAe,CAAC;AAAA,IAC5D,eAAAL;AAAA,EAAA,CACD,GACK,EAAE,cAAAM,GAAc,UAAUC,EAAA,IAAcN;AAE9C,SAAAO,EAAU,MAAM;AACd,IAAIjC,KAAeA,EAAY,SAAS,KACtCA,EAAY,QAAQ,CAAAkC,MAAa;AAC/B,YAAMX,IAAMY,GAAyBD,EAAU,QAAQ;AACvD,MAAAF,EAAUT,GAAgC,EAAE,MAAM,UAAU,SAASW,EAAU,SAAS;AAAA,IAC1F,CAAC;AAAA,EAEL,GAAG,CAAClC,GAAagC,CAAS,CAAC,GAuEzB,gBAAAzC,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAAC6C;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,oBAAAvB;AAAA,QACA,SAAAhB;AAAA,QACA,WAAWY,KAAyBM;AAAA,MAAA;AAAA,MAGtC,UAAA,gBAAAxB,EAAC8C,GAAA,EAAc,GAAGX,GAChB,UAAA,gBAAAnC,EAAC+C,IAAA,EAAK,UAAUP,EA9E+C,OAAMQ,MAAQ;AACnF,cAAMtC,EAAkBsC,GAAM,OAAMC,MAAW;AAC7C,gBAAM,EAAE,QAAQC,GAAe,GAAGC,MAAmBF,GAE/CG,IAA+D;AAAA,YACnE,cACED,EAAe;AAAA,YACjB,SAASA,EAAe,YAAY;AAAA,YACpC,kBAAkB,OAAOA,EAAe,gBAAgB;AAAA,YACxD,aAAa,OAAOA,EAAe,WAAW;AAAA,YAC9C,YAAY,OAAOA,EAAe,UAAU;AAAA,YAC5C,kBAAkB,OAAOA,EAAe,gBAAgB;AAAA,YACxD,YAAY;AAAA,YACZ,SAASnC,EAAmB;AAAA,UAAA,GAGxBqC,IAAuB,MAAMpC,EAAmB;AAAA,YACpD,SAAS;AAAA,cACP,cAAcd;AAAA,cACd,aAAAiD;AAAA,YAAA;AAAA,UACF,CACD;AAGD,cAFA5C,EAAQ8C,EAAgB,gCAAgCD,CAAoB,GAExEH,KAAiB,OAAO,KAAKA,CAAa,EAAE,SAAS,GAAG;AAC1D,kBAAMK,IAAS,CAAA;AAEf,uBAAW1B,KAASP,GAAoB;AACtC,oBAAMkC,IAAY3B,EAAM;AAExB,cAAI2B,KAAa3B,EAAM,cAAc,UACnC0B,EAAO,KAAK;AAAA,gBACV,OAAOC;AAAA,gBACP,WAAW3B,EAAM,UACd,IAAI,CAAAC,MAAY;AACf,sBAAIA,EAAS,0BAA0B,CAACxB;AACtC,2BAAO;AAET,wBAAMmD,IAAYP,EAAcM,CAAS,IAAIvB,EAAqBH,EAAS,GAAG,CAAC;AAC/E,yBAAO;AAAA,oBACL,KAAKA,EAAS;AAAA,oBACd,SAAS;AAAA,sBACP;AAAA,wBACE,WAAWA,EAAS,QAAQ,CAAC,GAAG,aAAajC;AAAA,wBAC7C,WAAWiC,EAAS,QAAQ,CAAC,GAAG,aAAa;AAAA,wBAC7C,OACE2B,KAAa,QAAS,OAAOA,KAAc,YAAY,MAAMA,CAAS,IAClE,KACCA;AAAA,sBAAA;AAAA,oBACT;AAAA,kBACF;AAAA,gBAEJ,CAAC,EACA,OAAO,CAAAC,MAAKA,MAAM,IAAI;AAAA,cAAA,CAC1B;AAAA,YAEL;AAEA,kBAAMC,IAAqB,MAAMpC,EAAiB;AAAA,cAChD,SAAS,EAAE,cAAcpB,GAAY,2BAA2B,EAAE,QAAAoD,IAAO;AAAA,YAAE,CAC5E;AACD,YAAA/C,EAAQ8C,EAAgB,8BAA8BK,CAAkB;AAAA,UAC1E;AAEA,UAAAnD,EAAQ8C,EAAgB,mBAAmB;AAAA,QAC7C,CAAC;AAAA,MACH,CAY6C,GAClC,UAAAjD,KAGC,gBAAAuD,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAA7D,EAAC8D,GAAA,EAAY;AAAA,0BACZC,GAAA,EAAY;AAAA,0BACZC,GAAA,EAAU;AAAA,0BACVC,GAAA,CAAA,CAAQ;AAAA,MAAA,EAAA,CACX,GAEJ,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -26,10 +26,10 @@ function Te(r) {
26
26
  }
27
27
  function re({ dictionary: r, companyId: P, payrollType: a = "bonus" }) {
28
28
  ne("Payroll.OffCycleCreation", r), i("Payroll.OffCycleCreation"), i("Payroll.OffCycleReasonSelection"), i("Payroll.OffCyclePayPeriodDateForm"), i("Payroll.OffCycleDeductionsSetting"), i("Payroll.EmployeeSelection");
29
- const { t: T } = S("Payroll.OffCyclePayPeriodDateForm"), { t: D } = S("Payroll.OffCycleCreation"), { onEvent: x, baseSubmitHandler: W } = te(), { minCheckDate: A, today: F } = $(), { mutateAsync: v, isPending: L } = J(), [u, O] = w({
29
+ const { t: T } = S("Payroll.OffCyclePayPeriodDateForm"), { t: D } = S("Payroll.OffCycleCreation"), { onEvent: x, baseSubmitHandler: W } = te(), { minCheckDate: A, today: F } = $(), { mutateAsync: U, isPending: v } = J(), [u, O] = w({
30
30
  withholdingPayPeriod: K.EveryOtherWeek,
31
31
  withholdingRate: m[a].withholdingType
32
- }), [U, y] = w(!1), M = C(() => {
32
+ }), [L, y] = w(!1), M = C(() => {
33
33
  y(!0);
34
34
  }, []), _ = C((e) => {
35
35
  O(e), y(!1);
@@ -84,7 +84,7 @@ function re({ dictionary: r, companyId: P, payrollType: a = "bonus" }) {
84
84
  const j = async (e) => {
85
85
  const o = e.reason, n = e.checkDate, f = e.isCheckOnly ? n : e.startDate, p = e.isCheckOnly ? n : e.endDate, k = !e.includeAllEmployees && e.selectedEmployeeUuids.length > 0 ? e.selectedEmployeeUuids : void 0;
86
86
  await W(e, async () => {
87
- const c = await v({
87
+ const c = await U({
88
88
  request: {
89
89
  companyId: P,
90
90
  requestBody: {
@@ -100,7 +100,7 @@ function re({ dictionary: r, companyId: P, payrollType: a = "bonus" }) {
100
100
  fixedWithholdingRate: u.withholdingRate === "supplemental"
101
101
  }
102
102
  }
103
- }), d = c.payrollPrepared?.payrollUuid ?? c.payrollPrepared?.uuid;
103
+ }), d = c.payrollUnprocessed?.payrollUuid ?? c.payrollUnprocessed?.uuid;
104
104
  if (!d)
105
105
  throw new Error(D("errors.missingPayrollId"));
106
106
  x(le.OFF_CYCLE_CREATED, { payrollUuid: d });
@@ -111,9 +111,9 @@ function re({ dictionary: r, companyId: P, payrollType: a = "bonus" }) {
111
111
  {
112
112
  employees: I,
113
113
  isLoadingEmployees: B,
114
- isPending: L,
114
+ isPending: v,
115
115
  taxWithholdingConfig: u,
116
- isTaxWithholdingModalOpen: U,
116
+ isTaxWithholdingModalOpen: L,
117
117
  onTaxWithholdingEditClick: M,
118
118
  onTaxWithholdingModalDone: _,
119
119
  onTaxWithholdingModalCancel: N