@gusto/embedded-react-sdk 0.32.0 → 0.34.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 (155) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/components/Common/Fields/MultiSelectComboBoxField/MultiSelectComboBoxField.d.ts +5 -0
  3. package/dist/components/Common/Fields/MultiSelectComboBoxField/MultiSelectComboBoxField.js +34 -0
  4. package/dist/components/Common/Fields/MultiSelectComboBoxField/MultiSelectComboBoxField.js.map +1 -0
  5. package/dist/components/Common/Fields/MultiSelectComboBoxField/index.d.ts +2 -0
  6. package/dist/components/Common/SignatureForm/SignatureForm.d.ts +1 -7
  7. package/dist/components/Common/UI/Badge/Badge.js +39 -8
  8. package/dist/components/Common/UI/Badge/Badge.js.map +1 -1
  9. package/dist/components/Common/UI/Badge/Badge.module.scss.js +8 -4
  10. package/dist/components/Common/UI/Badge/Badge.module.scss.js.map +1 -1
  11. package/dist/components/Common/UI/Badge/BadgeTypes.d.ts +12 -0
  12. package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
  13. package/dist/components/Common/UI/Menu/Menu.js +2 -3
  14. package/dist/components/Common/UI/Menu/Menu.js.map +1 -1
  15. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +2 -0
  16. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +127 -0
  17. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -0
  18. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.module.scss.js +16 -0
  19. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.module.scss.js.map +1 -0
  20. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +17 -0
  21. package/dist/components/Common/UI/MultiSelectComboBox/index.d.ts +3 -0
  22. package/dist/components/Common/index.d.ts +1 -0
  23. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +4 -30
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +2 -26
  25. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -7
  26. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -7
  27. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +7 -13
  28. package/dist/components/Company/Locations/LocationForm/Form.d.ts +7 -20
  29. package/dist/components/Company/PaySchedule/usePaySchedule.d.ts +7 -18
  30. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +40 -46
  31. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  32. package/dist/components/Contractor/Address/useAddress.d.ts +1 -13
  33. package/dist/components/Contractor/ContractorList/useContractorList.js +4 -4
  34. package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
  35. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +5 -15
  36. package/dist/components/Contractor/NewHireReport/NewHireReport.js +28 -28
  37. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  38. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +7 -20
  39. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +5 -6
  40. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +108 -100
  41. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  42. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +4 -1
  43. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +54 -50
  44. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  45. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +19 -67
  46. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +27 -26
  47. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  48. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +76 -44
  49. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  50. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +1 -1
  51. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  52. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +1 -1
  53. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  54. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +3 -1
  55. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +28 -22
  56. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  57. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +3 -1
  58. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +63 -52
  59. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  60. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +54 -120
  61. package/dist/components/Contractor/Profile/useContractorProfile.js +47 -47
  62. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  63. package/dist/components/Employee/Compensation/useCompensation.d.ts +17 -44
  64. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.d.ts +4 -22
  65. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +59 -59
  66. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  67. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +4 -22
  68. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +33 -33
  69. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  70. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +5 -27
  71. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +46 -46
  72. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  73. package/dist/components/Employee/Deductions/useDeductions.d.ts +7 -26
  74. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +5 -29
  75. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +8 -8
  76. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
  77. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +9 -76
  78. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +1 -5
  79. package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +7 -33
  80. package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +5 -14
  81. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.d.ts +5 -6
  82. package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +12 -68
  83. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -14
  84. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  85. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +17 -82
  86. package/dist/components/Employee/Profile/AdminPersonalDetails.js +38 -33
  87. package/dist/components/Employee/Profile/AdminPersonalDetails.js.map +1 -1
  88. package/dist/components/Employee/Profile/HomeAddress.d.ts +11 -66
  89. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +15 -64
  90. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +23 -19
  91. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  92. package/dist/components/Employee/Profile/Profile.js +2 -5
  93. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  94. package/dist/components/Employee/Profile/SelfPersonalDetails.d.ts +8 -37
  95. package/dist/components/Employee/Profile/SelfPersonalDetails.js +22 -19
  96. package/dist/components/Employee/Profile/SelfPersonalDetails.js.map +1 -1
  97. package/dist/components/Employee/StateTaxes/StateForm.d.ts +1 -5
  98. package/dist/components/Employee/Taxes/FederalForm.d.ts +7 -33
  99. package/dist/components/Employee/Taxes/StateForm.d.ts +1 -5
  100. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.d.ts +1 -11
  101. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +1 -1
  102. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  103. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +6 -9
  104. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  105. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +84 -56
  106. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  107. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  108. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +56 -22
  109. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  110. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +5 -0
  111. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts +2 -22
  112. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +22 -18
  113. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
  114. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.test.d.ts +1 -0
  115. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +12 -8
  116. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  117. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +5 -5
  118. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  119. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +2 -12
  120. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +34 -34
  121. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  122. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -35
  123. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  124. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  125. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  126. package/dist/components/Payroll/usePreparedPayrollData.js +26 -26
  127. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  128. package/dist/contexts/ApiProvider/ApiProvider.js +26 -25
  129. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  130. package/dist/contexts/ApiProvider/apiVersionHook.d.ts +2 -0
  131. package/dist/contexts/ApiProvider/apiVersionHook.js +7 -0
  132. package/dist/contexts/ApiProvider/apiVersionHook.js.map +1 -0
  133. package/dist/contexts/ApiProvider/apiVersionHook.test.d.ts +1 -0
  134. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +60 -58
  135. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  136. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  137. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  138. package/dist/contexts/ThemeProvider/ThemeProvider.js +23 -23
  139. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  140. package/dist/helpers/validations.d.ts +2 -2
  141. package/dist/i18n/I18n.js +15 -15
  142. package/dist/i18n/I18n.js.map +1 -1
  143. package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js +42 -40
  144. package/dist/i18n/en/Contractor.Payments.PaymentSummary.json.js.map +1 -1
  145. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +9 -9
  146. package/dist/i18n/en/Payroll.EmployeeSelection.json.js +10 -0
  147. package/dist/i18n/en/Payroll.EmployeeSelection.json.js.map +1 -0
  148. package/dist/i18n/en/Payroll.OffCycleCreation.json.js +10 -8
  149. package/dist/i18n/en/Payroll.OffCycleCreation.json.js.map +1 -1
  150. package/dist/i18n/en/common.json.d.ts +4 -1
  151. package/dist/i18n/en/common.json.js +5 -5
  152. package/dist/style.css +1 -1
  153. package/dist/types/i18next.d.ts +14 -1
  154. package/docs/reference/endpoint-inventory.json +4 -0
  155. package/package.json +13 -12
@@ -1,95 +1,39 @@
1
1
  import { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount';
2
2
  import { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod';
3
3
  import { z } from 'zod';
4
- export declare const CombinedSchema: z.ZodUnion<[z.ZodObject<{
4
+ export declare const CombinedSchema: z.ZodUnion<readonly [z.ZodObject<{
5
5
  name: z.ZodString;
6
6
  routingNumber: z.ZodString;
7
7
  accountNumber: z.ZodString;
8
- accountType: z.ZodEnum<["Checking", "Savings"]>;
8
+ accountType: z.ZodEnum<{
9
+ Checking: "Checking";
10
+ Savings: "Savings";
11
+ }>;
9
12
  hasBankPayload: z.ZodLiteral<true>;
10
- } & {
11
13
  type: z.ZodLiteral<"Direct Deposit">;
12
14
  isSplit: z.ZodLiteral<false>;
13
- }, "strip", z.ZodTypeAny, {
14
- routingNumber: string;
15
- accountNumber: string;
16
- name: string;
17
- accountType: "Checking" | "Savings";
18
- type: "Direct Deposit";
19
- hasBankPayload: true;
20
- isSplit: false;
21
- }, {
22
- routingNumber: string;
23
- accountNumber: string;
24
- name: string;
25
- accountType: "Checking" | "Savings";
26
- type: "Direct Deposit";
27
- hasBankPayload: true;
28
- isSplit: false;
29
- }>, z.ZodObject<{
15
+ }, z.core.$strip>, z.ZodObject<{
30
16
  type: z.ZodLiteral<"Direct Deposit">;
31
17
  isSplit: z.ZodLiteral<false>;
32
18
  hasBankPayload: z.ZodLiteral<false>;
33
- }, "strip", z.ZodTypeAny, {
34
- type: "Direct Deposit";
35
- hasBankPayload: false;
36
- isSplit: false;
37
- }, {
38
- type: "Direct Deposit";
39
- hasBankPayload: false;
40
- isSplit: false;
41
- }>, z.ZodObject<{
19
+ }, z.core.$strip>, z.ZodObject<{
42
20
  type: z.ZodLiteral<"Check">;
43
- }, "strip", z.ZodTypeAny, {
44
- type: "Check";
45
- }, {
46
- type: "Check";
47
- }>, z.ZodDiscriminatedUnion<"splitBy", [z.ZodObject<{
21
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
48
22
  type: z.ZodLiteral<"Direct Deposit">;
49
23
  isSplit: z.ZodLiteral<true>;
50
24
  hasBankPayload: z.ZodLiteral<false>;
51
25
  splitBy: z.ZodLiteral<"Percentage">;
52
- splitAmount: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>;
26
+ splitAmount: z.ZodRecord<z.ZodString, z.ZodNumber>;
53
27
  priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
54
- }, "strip", z.ZodTypeAny, {
55
- priority: Record<string, number>;
56
- type: "Direct Deposit";
57
- hasBankPayload: false;
58
- isSplit: true;
59
- splitBy: "Percentage";
60
- splitAmount: Record<string, number>;
61
- }, {
62
- priority: Record<string, number>;
63
- type: "Direct Deposit";
64
- hasBankPayload: false;
65
- isSplit: true;
66
- splitBy: "Percentage";
67
- splitAmount: Record<string, number>;
68
- }>, z.ZodObject<{
28
+ }, z.core.$strip>, z.ZodObject<{
69
29
  type: z.ZodLiteral<"Direct Deposit">;
70
30
  isSplit: z.ZodLiteral<true>;
71
31
  hasBankPayload: z.ZodLiteral<false>;
72
32
  splitBy: z.ZodLiteral<"Amount">;
73
- priority: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>;
33
+ priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
74
34
  splitAmount: z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodNumber>>;
75
35
  remainder: z.ZodString;
76
- }, "strip", z.ZodTypeAny, {
77
- priority: Record<string, number>;
78
- type: "Direct Deposit";
79
- hasBankPayload: false;
80
- isSplit: true;
81
- splitBy: "Amount";
82
- splitAmount: Record<string, number | null>;
83
- remainder: string;
84
- }, {
85
- priority: Record<string, number>;
86
- type: "Direct Deposit";
87
- hasBankPayload: false;
88
- isSplit: true;
89
- splitBy: "Amount";
90
- splitAmount: Record<string, number | null>;
91
- remainder: string;
92
- }>]>]>;
36
+ }, z.core.$strip>], "splitBy">]>;
93
37
  export type CombinedSchemaInputs = z.input<typeof CombinedSchema>;
94
38
  export type CombinedSchemaOutputs = z.output<typeof CombinedSchema>;
95
39
  type PaymentMethodContextType = {
@@ -1,5 +1,5 @@
1
1
  import { z as t } from "zod";
2
- import { BankAccountSchema as l } from "./BankAccount.js";
2
+ import { BankAccountSchema as a } from "./BankAccount.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
5
  import "react-error-boundary";
@@ -14,9 +14,9 @@ import "../../../contexts/ComponentAdapter/useComponentContext.js";
14
14
  import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
15
15
  import "dompurify";
16
16
  import "../../../contexts/LocaleProvider/useLocale.js";
17
- import { createCompoundContext as a } from "../../Base/createCompoundContext.js";
17
+ import { createCompoundContext as n } from "../../Base/createCompoundContext.js";
18
18
  const S = t.union([
19
- l.extend({
19
+ a.extend({
20
20
  type: t.literal("Direct Deposit"),
21
21
  isSplit: t.literal(!1)
22
22
  }),
@@ -34,12 +34,13 @@ const S = t.union([
34
34
  isSplit: t.literal(!0),
35
35
  hasBankPayload: t.literal(!1),
36
36
  splitBy: t.literal("Percentage"),
37
- splitAmount: t.record(t.string(), t.number().max(100).min(0)).refine(
38
- (e) => Object.values(e).reduce((r, i) => r + i, 0) === 100,
39
- (e) => ({
40
- message: `percentage_split_total_error:${Object.values(e).reduce((i, o) => i + o, 0)}`
41
- })
42
- ),
37
+ splitAmount: t.record(t.string(), t.number().max(100).min(0)).superRefine((i, e) => {
38
+ const r = Object.values(i).reduce((o, l) => o + l, 0);
39
+ r !== 100 && e.addIssue({
40
+ code: t.ZodIssueCode.custom,
41
+ message: `percentage_split_total_error:${r}`
42
+ });
43
+ }),
43
44
  priority: t.record(t.string(), t.number())
44
45
  }),
45
46
  t.object({
@@ -47,18 +48,18 @@ const S = t.union([
47
48
  isSplit: t.literal(!0),
48
49
  hasBankPayload: t.literal(!1),
49
50
  splitBy: t.literal("Amount"),
50
- priority: t.record(t.string(), t.number()).refine((e) => {
51
- const r = Object.values(e);
52
- return r.filter((i, o) => r.indexOf(i) !== o).length === 0;
51
+ priority: t.record(t.string(), t.number()).refine((i) => {
52
+ const e = Object.values(i);
53
+ return e.filter((r, o) => e.indexOf(r) !== o).length === 0;
53
54
  }),
54
55
  splitAmount: t.record(t.string(), t.number().min(0).nullable()),
55
56
  remainder: t.string()
56
57
  })
57
58
  ])
58
- ]), [k, C] = a("PaymentMethodContext");
59
+ ]), [k, A] = n("PaymentMethodContext");
59
60
  export {
60
61
  S as CombinedSchema,
61
- C as PaymentMethodProvider,
62
+ A as PaymentMethodProvider,
62
63
  k as usePaymentMethod
63
64
  };
64
65
  //# sourceMappingURL=usePaymentMethod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaymentMethod.js","sources":["../../../../src/components/Employee/PaymentMethod/usePaymentMethod.ts"],"sourcesContent":["import type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { z } from 'zod'\nimport { BankAccountSchema } from './BankAccount'\nimport { createCompoundContext } from '@/components/Base'\n\nexport const CombinedSchema = z.union([\n BankAccountSchema.extend({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n hasBankPayload: z.literal(false),\n }),\n z.object({\n type: z.literal('Check'),\n }),\n z.discriminatedUnion('splitBy', [\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Percentage'),\n splitAmount: z.record(z.string(), z.number().max(100).min(0)).refine(\n input => Object.values(input).reduce((acc, curr) => acc + curr, 0) === 100,\n input => {\n const total = Object.values(input).reduce((acc, curr) => acc + curr, 0)\n return {\n message: `percentage_split_total_error:${total}`,\n }\n },\n ),\n priority: z.record(z.string(), z.number()),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Amount'),\n priority: z.record(z.string(), z.number()).refine(input => {\n const arr = Object.values(input)\n return arr.filter((item, index) => arr.indexOf(item) !== index).length === 0\n }),\n splitAmount: z.record(z.string(), z.number().min(0).nullable()),\n remainder: z.string(),\n }),\n ]),\n])\n\nexport type CombinedSchemaInputs = z.input<typeof CombinedSchema>\nexport type CombinedSchemaOutputs = z.output<typeof CombinedSchema>\n\ntype PaymentMethodContextType = {\n bankAccounts: EmployeeBankAccount[]\n isPending: boolean\n watchedType?: string\n mode: MODE\n paymentMethod: EmployeePaymentMethod\n handleAdd: () => void\n handleSplit: () => void\n handleCancel: () => void\n handleDelete: (uuid: string) => void\n isAdmin: boolean\n}\n\nexport type MODE = 'ADD' | 'LIST' | 'SPLIT' | 'INITIAL'\n\nconst [usePaymentMethod, PaymentMethodProvider] =\n createCompoundContext<PaymentMethodContextType>('PaymentMethodContext')\nexport { usePaymentMethod, PaymentMethodProvider }\n"],"names":["CombinedSchema","z","BankAccountSchema","input","acc","curr","arr","item","index","usePaymentMethod","PaymentMethodProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AAMO,MAAMA,IAAiBC,EAAE,MAAM;AAAA,EACpCC,EAAkB,OAAO;AAAA,IACvB,MAAMD,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,EAAA,CACzB;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,IACxB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,EAAA,CAChC;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,OAAO;AAAA,EAAA,CACxB;AAAA,EACDA,EAAE,mBAAmB,WAAW;AAAA,IAC9BA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,YAAY;AAAA,MAC/B,aAAaA,EAAE,OAAOA,EAAE,UAAUA,EAAE,OAAA,EAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE;AAAA,QAC5D,CAAAE,MAAS,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,MAAM;AAAA,QACvE,CAAAF,OAES;AAAA,UACL,SAAS,gCAFG,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,CAEtB;AAAA,QAAA;AAAA,MAElD;AAAA,MAEF,UAAUJ,EAAE,OAAOA,EAAE,UAAUA,EAAE,QAAQ;AAAA,IAAA,CAC1C;AAAA,IACDA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,QAAQ;AAAA,MAC3B,UAAUA,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,CAAQ,EAAE,OAAO,CAAAE,MAAS;AACzD,cAAMG,IAAM,OAAO,OAAOH,CAAK;AAC/B,eAAOG,EAAI,OAAO,CAACC,GAAMC,MAAUF,EAAI,QAAQC,CAAI,MAAMC,CAAK,EAAE,WAAW;AAAA,MAC7E,CAAC;AAAA,MACD,aAAaP,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,UAAU;AAAA,MAC9D,WAAWA,EAAE,OAAA;AAAA,IAAO,CACrB;AAAA,EAAA,CACF;AACH,CAAC,GAoBK,CAACQ,GAAkBC,CAAqB,IAC5CC,EAAgD,sBAAsB;"}
1
+ {"version":3,"file":"usePaymentMethod.js","sources":["../../../../src/components/Employee/PaymentMethod/usePaymentMethod.ts"],"sourcesContent":["import type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { z } from 'zod'\nimport { BankAccountSchema } from './BankAccount'\nimport { createCompoundContext } from '@/components/Base'\n\nexport const CombinedSchema = z.union([\n BankAccountSchema.extend({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(false),\n hasBankPayload: z.literal(false),\n }),\n z.object({\n type: z.literal('Check'),\n }),\n z.discriminatedUnion('splitBy', [\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Percentage'),\n splitAmount: z.record(z.string(), z.number().max(100).min(0)).superRefine((input, ctx) => {\n const total = Object.values(input).reduce<number>((acc, curr) => acc + curr, 0)\n if (total !== 100) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `percentage_split_total_error:${total}`,\n })\n }\n }),\n priority: z.record(z.string(), z.number()),\n }),\n z.object({\n type: z.literal('Direct Deposit'),\n isSplit: z.literal(true),\n hasBankPayload: z.literal(false),\n splitBy: z.literal('Amount'),\n priority: z.record(z.string(), z.number()).refine(input => {\n const arr = Object.values(input)\n return arr.filter((item, index) => arr.indexOf(item) !== index).length === 0\n }),\n splitAmount: z.record(z.string(), z.number().min(0).nullable()),\n remainder: z.string(),\n }),\n ]),\n])\n\nexport type CombinedSchemaInputs = z.input<typeof CombinedSchema>\nexport type CombinedSchemaOutputs = z.output<typeof CombinedSchema>\n\ntype PaymentMethodContextType = {\n bankAccounts: EmployeeBankAccount[]\n isPending: boolean\n watchedType?: string\n mode: MODE\n paymentMethod: EmployeePaymentMethod\n handleAdd: () => void\n handleSplit: () => void\n handleCancel: () => void\n handleDelete: (uuid: string) => void\n isAdmin: boolean\n}\n\nexport type MODE = 'ADD' | 'LIST' | 'SPLIT' | 'INITIAL'\n\nconst [usePaymentMethod, PaymentMethodProvider] =\n createCompoundContext<PaymentMethodContextType>('PaymentMethodContext')\nexport { usePaymentMethod, PaymentMethodProvider }\n"],"names":["CombinedSchema","z","BankAccountSchema","input","ctx","total","acc","curr","arr","item","index","usePaymentMethod","PaymentMethodProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;AAMO,MAAMA,IAAiBC,EAAE,MAAM;AAAA,EACpCC,EAAkB,OAAO;AAAA,IACvB,MAAMD,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,EAAA,CACzB;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,IAChC,SAASA,EAAE,QAAQ,EAAK;AAAA,IACxB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,EAAA,CAChC;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,MAAMA,EAAE,QAAQ,OAAO;AAAA,EAAA,CACxB;AAAA,EACDA,EAAE,mBAAmB,WAAW;AAAA,IAC9BA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,YAAY;AAAA,MAC/B,aAAaA,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,EAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,CAACE,GAAOC,MAAQ;AACxF,cAAMC,IAAQ,OAAO,OAAOF,CAAK,EAAE,OAAe,CAACG,GAAKC,MAASD,IAAMC,GAAM,CAAC;AAC9E,QAAIF,MAAU,OACZD,EAAI,SAAS;AAAA,UACX,MAAMH,EAAE,aAAa;AAAA,UACrB,SAAS,gCAAgCI,CAAK;AAAA,QAAA,CAC/C;AAAA,MAEL,CAAC;AAAA,MACD,UAAUJ,EAAE,OAAOA,EAAE,UAAUA,EAAE,QAAQ;AAAA,IAAA,CAC1C;AAAA,IACDA,EAAE,OAAO;AAAA,MACP,MAAMA,EAAE,QAAQ,gBAAgB;AAAA,MAChC,SAASA,EAAE,QAAQ,EAAI;AAAA,MACvB,gBAAgBA,EAAE,QAAQ,EAAK;AAAA,MAC/B,SAASA,EAAE,QAAQ,QAAQ;AAAA,MAC3B,UAAUA,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,CAAQ,EAAE,OAAO,CAAAE,MAAS;AACzD,cAAMK,IAAM,OAAO,OAAOL,CAAK;AAC/B,eAAOK,EAAI,OAAO,CAACC,GAAMC,MAAUF,EAAI,QAAQC,CAAI,MAAMC,CAAK,EAAE,WAAW;AAAA,MAC7E,CAAC;AAAA,MACD,aAAaT,EAAE,OAAOA,EAAE,OAAA,GAAUA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,UAAU;AAAA,MAC9D,WAAWA,EAAE,OAAA;AAAA,IAAO,CACrB;AAAA,EAAA,CACF;AACH,CAAC,GAoBK,CAACU,GAAkBC,CAAqB,IAC5CC,EAAgD,sBAAsB;"}
@@ -1,98 +1,33 @@
1
1
  import { z } from 'zod';
2
2
  export declare const AdminSelfOnboardingPersonalDetailsSchema: z.ZodObject<{
3
- workAddress: z.ZodString;
4
- startDate: z.ZodEffects<z.ZodDate, string | undefined, Date>;
5
- email: z.ZodString;
6
- } & {
3
+ selfOnboarding: z.ZodBoolean;
7
4
  firstName: z.ZodString;
8
5
  middleInitial: z.ZodOptional<z.ZodString>;
9
6
  lastName: z.ZodString;
10
- } & {
11
- selfOnboarding: z.ZodBoolean;
12
- }, "strip", z.ZodTypeAny, {
13
- email: string;
14
- firstName: string;
15
- lastName: string;
16
- selfOnboarding: boolean;
17
- workAddress: string;
18
- startDate?: string | undefined;
19
- middleInitial?: string | undefined;
20
- }, {
21
- email: string;
22
- firstName: string;
23
- lastName: string;
24
- startDate: Date;
25
- selfOnboarding: boolean;
26
- workAddress: string;
27
- middleInitial?: string | undefined;
28
- }>;
29
- export declare const AdminPersonalDetailsSchema: z.ZodDiscriminatedUnion<"enableSsn", [z.ZodObject<{
30
7
  workAddress: z.ZodString;
31
- startDate: z.ZodEffects<z.ZodDate, string | undefined, Date>;
8
+ startDate: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
32
9
  email: z.ZodString;
10
+ }, z.core.$strip>;
11
+ export declare const AdminPersonalDetailsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
12
+ enableSsn: z.ZodLiteral<true>;
13
+ dateOfBirth: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
14
+ ssn: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
15
+ selfOnboarding: z.ZodBoolean;
33
16
  firstName: z.ZodString;
34
17
  middleInitial: z.ZodOptional<z.ZodString>;
35
18
  lastName: z.ZodString;
36
- selfOnboarding: z.ZodBoolean;
37
- ssn: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
38
- dateOfBirth: z.ZodEffects<z.ZodDate, string | undefined, Date>;
39
- } & {
40
- enableSsn: z.ZodLiteral<true>;
41
- }, "strip", z.ZodTypeAny, {
42
- ssn: string;
43
- email: string;
44
- firstName: string;
45
- lastName: string;
46
- selfOnboarding: boolean;
47
- workAddress: string;
48
- enableSsn: true;
49
- startDate?: string | undefined;
50
- middleInitial?: string | undefined;
51
- dateOfBirth?: string | undefined;
52
- }, {
53
- ssn: string;
54
- email: string;
55
- firstName: string;
56
- lastName: string;
57
- startDate: Date;
58
- selfOnboarding: boolean;
59
- workAddress: string;
60
- enableSsn: true;
61
- dateOfBirth: Date;
62
- middleInitial?: string | undefined;
63
- }>, z.ZodObject<{
64
19
  workAddress: z.ZodString;
65
- startDate: z.ZodEffects<z.ZodDate, string | undefined, Date>;
20
+ startDate: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
66
21
  email: z.ZodString;
67
- } & {
22
+ }, z.core.$strip>, z.ZodObject<{
23
+ enableSsn: z.ZodLiteral<false>;
24
+ dateOfBirth: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
25
+ selfOnboarding: z.ZodBoolean;
68
26
  firstName: z.ZodString;
69
27
  middleInitial: z.ZodOptional<z.ZodString>;
70
28
  lastName: z.ZodString;
71
- } & {
72
- selfOnboarding: z.ZodBoolean;
73
- } & {
74
- dateOfBirth: z.ZodEffects<z.ZodDate, string | undefined, Date>;
75
- } & {
76
- enableSsn: z.ZodLiteral<false>;
77
- }, "strip", z.ZodTypeAny, {
78
- email: string;
79
- firstName: string;
80
- lastName: string;
81
- selfOnboarding: boolean;
82
- workAddress: string;
83
- enableSsn: false;
84
- startDate?: string | undefined;
85
- middleInitial?: string | undefined;
86
- dateOfBirth?: string | undefined;
87
- }, {
88
- email: string;
89
- firstName: string;
90
- lastName: string;
91
- startDate: Date;
92
- selfOnboarding: boolean;
93
- workAddress: string;
94
- enableSsn: false;
95
- dateOfBirth: Date;
96
- middleInitial?: string | undefined;
97
- }>]>;
29
+ workAddress: z.ZodString;
30
+ startDate: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
31
+ email: z.ZodString;
32
+ }, z.core.$strip>], "enableSsn">;
98
33
  export declare const AdminPersonalDetails: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,56 +1,61 @@
1
- import { jsxs as l, Fragment as m, jsx as e } from "react/jsx-runtime";
2
- import { useEffect as h } from "react";
1
+ import { jsxs as l, Fragment as m, jsx as n } from "react/jsx-runtime";
2
+ import { useEffect as u } from "react";
3
3
  import { useFormContext as g } from "react-hook-form";
4
4
  import { useTranslation as O } from "react-i18next";
5
- import { z as n } from "zod";
6
- import { SocialSecurityNumberSchema as y, DateOfBirthSchema as c, AdminInputsSchema as D, NameInputsSchema as x, NameInputs as A, AdminInputs as I, SocialSecurityNumberInput as F, DateOfBirthInput as N } from "./PersonalDetailsInputs.js";
5
+ import { z as e } from "zod";
6
+ import { DateOfBirthSchema as c, SocialSecurityNumberSchema as y, NameInputsSchema as D, AdminInputsSchema as A, NameInputs as I, AdminInputs as j, SocialSecurityNumberInput as F, DateOfBirthInput as N } from "./PersonalDetailsInputs.js";
7
7
  import P from "./AdminPersonalDetails.module.scss.js";
8
- import { useProfile as C } from "./useProfile.js";
8
+ import { useProfile as x } from "./useProfile.js";
9
9
  import "../../../shared/constants.js";
10
10
  import "classnames";
11
- import { SwitchField as w } from "../../Common/Fields/SwitchField/SwitchField.js";
11
+ import { SwitchField as C } from "../../Common/Fields/SwitchField/SwitchField.js";
12
12
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
13
- const d = D.merge(
14
- x
15
- ).extend({
16
- selfOnboarding: n.boolean()
17
- }), H = n.discriminatedUnion("enableSsn", [
18
- d.merge(y).merge(c).extend({
19
- enableSsn: n.literal(!0)
13
+ const p = e.object({
14
+ ...A.shape,
15
+ ...D.shape,
16
+ selfOnboarding: e.boolean()
17
+ }), H = e.discriminatedUnion("enableSsn", [
18
+ e.object({
19
+ ...p.shape,
20
+ ...y.shape,
21
+ ...c.shape,
22
+ enableSsn: e.literal(!0)
20
23
  }),
21
- d.merge(c).extend({
22
- enableSsn: n.literal(!1)
24
+ e.object({
25
+ ...p.shape,
26
+ ...c.shape,
27
+ enableSsn: e.literal(!1)
23
28
  })
24
29
  ]), J = () => {
25
30
  const {
26
- companyLocations: f,
31
+ companyLocations: d,
27
32
  employee: i,
28
- isAdmin: p,
29
- isSelfOnboardingEnabled: S,
30
- hasCompletedSelfOnboarding: s
31
- } = C(), { t: o } = O("Employee.Profile"), { watch: b, setValue: t, getFieldState: u } = g(), r = b("selfOnboarding"), { isDirty: a } = u("ssn");
32
- return h(() => {
33
- r ? t("enableSsn", !1) : t("enableSsn", a ? !0 : !i?.hasSsn);
34
- }, [r, i?.hasSsn, a, t]), p ? /* @__PURE__ */ l(m, { children: [
35
- S && !s && /* @__PURE__ */ e("div", { className: P.switchFieldContainer, children: /* @__PURE__ */ e(
36
- w,
33
+ isAdmin: f,
34
+ isSelfOnboardingEnabled: h,
35
+ hasCompletedSelfOnboarding: o
36
+ } = x(), { t: a } = O("Employee.Profile"), { watch: S, setValue: s, getFieldState: b } = g(), t = S("selfOnboarding"), { isDirty: r } = b("ssn");
37
+ return u(() => {
38
+ t ? s("enableSsn", !1) : s("enableSsn", r ? !0 : !i?.hasSsn);
39
+ }, [t, i?.hasSsn, r, s]), f ? /* @__PURE__ */ l(m, { children: [
40
+ h && !o && /* @__PURE__ */ n("div", { className: P.switchFieldContainer, children: /* @__PURE__ */ n(
41
+ C,
37
42
  {
38
43
  name: "selfOnboarding",
39
- description: o("selfOnboardingDescription"),
40
- label: o("selfOnboardingLabel")
44
+ description: a("selfOnboardingDescription"),
45
+ label: a("selfOnboardingLabel")
41
46
  }
42
47
  ) }),
43
- /* @__PURE__ */ e(A, {}),
44
- /* @__PURE__ */ e(I, { companyLocations: f }),
45
- (!r || s) && /* @__PURE__ */ l(m, { children: [
46
- /* @__PURE__ */ e(F, { employee: i }),
47
- /* @__PURE__ */ e(N, {})
48
+ /* @__PURE__ */ n(I, {}),
49
+ /* @__PURE__ */ n(j, { companyLocations: d }),
50
+ (!t || o) && /* @__PURE__ */ l(m, { children: [
51
+ /* @__PURE__ */ n(F, { employee: i }),
52
+ /* @__PURE__ */ n(N, {})
48
53
  ] })
49
54
  ] }) : null;
50
55
  };
51
56
  export {
52
57
  J as AdminPersonalDetails,
53
58
  H as AdminPersonalDetailsSchema,
54
- d as AdminSelfOnboardingPersonalDetailsSchema
59
+ p as AdminSelfOnboardingPersonalDetailsSchema
55
60
  };
56
61
  //# sourceMappingURL=AdminPersonalDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminPersonalDetails.js","sources":["../../../../src/components/Employee/Profile/AdminPersonalDetails.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useFormContext } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport {\n AdminInputs,\n AdminInputsSchema,\n NameInputs,\n NameInputsSchema,\n SocialSecurityNumberInput,\n SocialSecurityNumberSchema,\n DateOfBirthInput,\n DateOfBirthSchema,\n type PersonalDetailsInputs,\n} from './PersonalDetailsInputs'\nimport styles from './AdminPersonalDetails.module.scss'\nimport { useProfile } from './useProfile'\nimport { SwitchField } from '@/components/Common'\n\nexport const AdminSelfOnboardingPersonalDetailsSchema = AdminInputsSchema.merge(\n NameInputsSchema,\n).extend({\n selfOnboarding: z.boolean(),\n})\n\nexport const AdminPersonalDetailsSchema = z.discriminatedUnion('enableSsn', [\n AdminSelfOnboardingPersonalDetailsSchema.merge(SocialSecurityNumberSchema)\n .merge(DateOfBirthSchema)\n .extend({\n enableSsn: z.literal(true),\n }),\n AdminSelfOnboardingPersonalDetailsSchema.merge(DateOfBirthSchema).extend({\n enableSsn: z.literal(false),\n }),\n])\n\nexport const AdminPersonalDetails = () => {\n const {\n companyLocations,\n employee,\n isAdmin,\n isSelfOnboardingEnabled,\n hasCompletedSelfOnboarding,\n } = useProfile()\n const { t } = useTranslation('Employee.Profile')\n const { watch, setValue, getFieldState } = useFormContext<PersonalDetailsInputs>()\n const isSelfOnboardingChecked = watch('selfOnboarding')\n const { isDirty: isSsnDirty } = getFieldState('ssn')\n\n useEffect(() => {\n if (isSelfOnboardingChecked) {\n setValue('enableSsn', false)\n } else {\n setValue('enableSsn', isSsnDirty ? true : !employee?.hasSsn)\n }\n }, [isSelfOnboardingChecked, employee?.hasSsn, isSsnDirty, setValue])\n\n if (!isAdmin) {\n return null\n }\n\n return (\n <>\n {isSelfOnboardingEnabled && !hasCompletedSelfOnboarding && (\n <div className={styles.switchFieldContainer}>\n <SwitchField\n name=\"selfOnboarding\"\n description={t('selfOnboardingDescription')}\n label={t('selfOnboardingLabel')}\n />\n </div>\n )}\n\n <NameInputs />\n <AdminInputs companyLocations={companyLocations} />\n\n {(!isSelfOnboardingChecked || hasCompletedSelfOnboarding) && (\n <>\n <SocialSecurityNumberInput employee={employee} />\n <DateOfBirthInput />\n </>\n )}\n </>\n )\n}\n"],"names":["AdminSelfOnboardingPersonalDetailsSchema","AdminInputsSchema","NameInputsSchema","z","AdminPersonalDetailsSchema","SocialSecurityNumberSchema","DateOfBirthSchema","AdminPersonalDetails","companyLocations","employee","isAdmin","isSelfOnboardingEnabled","hasCompletedSelfOnboarding","useProfile","t","useTranslation","watch","setValue","getFieldState","useFormContext","isSelfOnboardingChecked","isSsnDirty","useEffect","jsxs","Fragment","jsx","styles","SwitchField","NameInputs","AdminInputs","SocialSecurityNumberInput","DateOfBirthInput"],"mappings":";;;;;;;;;;;;AAmBO,MAAMA,IAA2CC,EAAkB;AAAA,EACxEC;AACF,EAAE,OAAO;AAAA,EACP,gBAAgBC,EAAE,QAAA;AACpB,CAAC,GAEYC,IAA6BD,EAAE,mBAAmB,aAAa;AAAA,EAC1EH,EAAyC,MAAMK,CAA0B,EACtE,MAAMC,CAAiB,EACvB,OAAO;AAAA,IACN,WAAWH,EAAE,QAAQ,EAAI;AAAA,EAAA,CAC1B;AAAA,EACHH,EAAyC,MAAMM,CAAiB,EAAE,OAAO;AAAA,IACvE,WAAWH,EAAE,QAAQ,EAAK;AAAA,EAAA,CAC3B;AACH,CAAC,GAEYI,IAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,4BAAAC;AAAA,EAAA,IACEC,EAAA,GACE,EAAE,GAAAC,EAAA,IAAMC,EAAe,kBAAkB,GACzC,EAAE,OAAAC,GAAO,UAAAC,GAAU,eAAAC,EAAA,IAAkBC,EAAA,GACrCC,IAA0BJ,EAAM,gBAAgB,GAChD,EAAE,SAASK,MAAeH,EAAc,KAAK;AAUnD,SARAI,EAAU,MAAM;AACd,IAAIF,IACFH,EAAS,aAAa,EAAK,IAE3BA,EAAS,aAAaI,IAAa,KAAO,CAACZ,GAAU,MAAM;AAAA,EAE/D,GAAG,CAACW,GAAyBX,GAAU,QAAQY,GAAYJ,CAAQ,CAAC,GAE/DP,IAKH,gBAAAa,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAb,KAA2B,CAACC,KAC3B,gBAAAa,EAAC,OAAA,EAAI,WAAWC,EAAO,sBACrB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,aAAab,EAAE,2BAA2B;AAAA,QAC1C,OAAOA,EAAE,qBAAqB;AAAA,MAAA;AAAA,IAAA,GAElC;AAAA,sBAGDc,GAAA,EAAW;AAAA,IACZ,gBAAAH,EAACI,KAAY,kBAAArB,GAAoC;AAAA,KAE/C,CAACY,KAA2BR,MAC5B,gBAAAW,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAACK,KAA0B,UAAArB,GAAoB;AAAA,wBAC9CsB,GAAA,CAAA,CAAiB;AAAA,IAAA,EAAA,CACpB;AAAA,EAAA,GAEJ,IAxBO;AA0BX;"}
1
+ {"version":3,"file":"AdminPersonalDetails.js","sources":["../../../../src/components/Employee/Profile/AdminPersonalDetails.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useFormContext } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport {\n AdminInputs,\n AdminInputsSchema,\n NameInputs,\n NameInputsSchema,\n SocialSecurityNumberInput,\n SocialSecurityNumberSchema,\n DateOfBirthInput,\n DateOfBirthSchema,\n type PersonalDetailsInputs,\n} from './PersonalDetailsInputs'\nimport styles from './AdminPersonalDetails.module.scss'\nimport { useProfile } from './useProfile'\nimport { SwitchField } from '@/components/Common'\n\nexport const AdminSelfOnboardingPersonalDetailsSchema = z.object({\n ...AdminInputsSchema.shape,\n ...NameInputsSchema.shape,\n selfOnboarding: z.boolean(),\n})\n\nexport const AdminPersonalDetailsSchema = z.discriminatedUnion('enableSsn', [\n z.object({\n ...AdminSelfOnboardingPersonalDetailsSchema.shape,\n ...SocialSecurityNumberSchema.shape,\n ...DateOfBirthSchema.shape,\n enableSsn: z.literal(true),\n }),\n z.object({\n ...AdminSelfOnboardingPersonalDetailsSchema.shape,\n ...DateOfBirthSchema.shape,\n enableSsn: z.literal(false),\n }),\n])\n\nexport const AdminPersonalDetails = () => {\n const {\n companyLocations,\n employee,\n isAdmin,\n isSelfOnboardingEnabled,\n hasCompletedSelfOnboarding,\n } = useProfile()\n const { t } = useTranslation('Employee.Profile')\n const { watch, setValue, getFieldState } = useFormContext<PersonalDetailsInputs>()\n const isSelfOnboardingChecked = watch('selfOnboarding')\n const { isDirty: isSsnDirty } = getFieldState('ssn')\n\n useEffect(() => {\n if (isSelfOnboardingChecked) {\n setValue('enableSsn', false)\n } else {\n setValue('enableSsn', isSsnDirty ? true : !employee?.hasSsn)\n }\n }, [isSelfOnboardingChecked, employee?.hasSsn, isSsnDirty, setValue])\n\n if (!isAdmin) {\n return null\n }\n\n return (\n <>\n {isSelfOnboardingEnabled && !hasCompletedSelfOnboarding && (\n <div className={styles.switchFieldContainer}>\n <SwitchField\n name=\"selfOnboarding\"\n description={t('selfOnboardingDescription')}\n label={t('selfOnboardingLabel')}\n />\n </div>\n )}\n\n <NameInputs />\n <AdminInputs companyLocations={companyLocations} />\n\n {(!isSelfOnboardingChecked || hasCompletedSelfOnboarding) && (\n <>\n <SocialSecurityNumberInput employee={employee} />\n <DateOfBirthInput />\n </>\n )}\n </>\n )\n}\n"],"names":["AdminSelfOnboardingPersonalDetailsSchema","z","AdminInputsSchema","NameInputsSchema","AdminPersonalDetailsSchema","SocialSecurityNumberSchema","DateOfBirthSchema","AdminPersonalDetails","companyLocations","employee","isAdmin","isSelfOnboardingEnabled","hasCompletedSelfOnboarding","useProfile","t","useTranslation","watch","setValue","getFieldState","useFormContext","isSelfOnboardingChecked","isSsnDirty","useEffect","jsxs","Fragment","jsx","styles","SwitchField","NameInputs","AdminInputs","SocialSecurityNumberInput","DateOfBirthInput"],"mappings":";;;;;;;;;;;;AAmBO,MAAMA,IAA2CC,EAAE,OAAO;AAAA,EAC/D,GAAGC,EAAkB;AAAA,EACrB,GAAGC,EAAiB;AAAA,EACpB,gBAAgBF,EAAE,QAAA;AACpB,CAAC,GAEYG,IAA6BH,EAAE,mBAAmB,aAAa;AAAA,EAC1EA,EAAE,OAAO;AAAA,IACP,GAAGD,EAAyC;AAAA,IAC5C,GAAGK,EAA2B;AAAA,IAC9B,GAAGC,EAAkB;AAAA,IACrB,WAAWL,EAAE,QAAQ,EAAI;AAAA,EAAA,CAC1B;AAAA,EACDA,EAAE,OAAO;AAAA,IACP,GAAGD,EAAyC;AAAA,IAC5C,GAAGM,EAAkB;AAAA,IACrB,WAAWL,EAAE,QAAQ,EAAK;AAAA,EAAA,CAC3B;AACH,CAAC,GAEYM,IAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,4BAAAC;AAAA,EAAA,IACEC,EAAA,GACE,EAAE,GAAAC,EAAA,IAAMC,EAAe,kBAAkB,GACzC,EAAE,OAAAC,GAAO,UAAAC,GAAU,eAAAC,EAAA,IAAkBC,EAAA,GACrCC,IAA0BJ,EAAM,gBAAgB,GAChD,EAAE,SAASK,MAAeH,EAAc,KAAK;AAUnD,SARAI,EAAU,MAAM;AACd,IAAIF,IACFH,EAAS,aAAa,EAAK,IAE3BA,EAAS,aAAaI,IAAa,KAAO,CAACZ,GAAU,MAAM;AAAA,EAE/D,GAAG,CAACW,GAAyBX,GAAU,QAAQY,GAAYJ,CAAQ,CAAC,GAE/DP,IAKH,gBAAAa,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAb,KAA2B,CAACC,KAC3B,gBAAAa,EAAC,OAAA,EAAI,WAAWC,EAAO,sBACrB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,aAAab,EAAE,2BAA2B;AAAA,QAC1C,OAAOA,EAAE,qBAAqB;AAAA,MAAA;AAAA,IAAA,GAElC;AAAA,sBAGDc,GAAA,EAAW;AAAA,IACZ,gBAAAH,EAACI,KAAY,kBAAArB,GAAoC;AAAA,KAE/C,CAACY,KAA2BR,MAC5B,gBAAAW,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAACK,KAA0B,UAAArB,GAAoB;AAAA,wBAC9CsB,GAAA,CAAA,CAAiB;AAAA,IAAA,EAAA,CACpB;AAAA,EAAA,GAEJ,IAxBO;AA0BX;"}
@@ -1,86 +1,31 @@
1
1
  import { z } from 'zod';
2
- export declare const HomeAddressSchema: z.ZodUnion<[z.ZodObject<{
2
+ export declare const HomeAddressSchema: z.ZodUnion<readonly [z.ZodObject<{
3
3
  street1: z.ZodString;
4
4
  street2: z.ZodOptional<z.ZodString>;
5
5
  city: z.ZodString;
6
6
  state: z.ZodString;
7
- zip: z.ZodEffects<z.ZodString, string, string>;
7
+ zip: z.ZodString;
8
8
  courtesyWithholding: z.ZodBoolean;
9
- } & {
10
- selfOnboarding: z.ZodUnion<[z.ZodLiteral<false>, z.ZodUndefined]>;
11
- }, "strip", z.ZodTypeAny, {
12
- street1: string;
13
- city: string;
14
- state: string;
15
- zip: string;
16
- courtesyWithholding: boolean;
17
- street2?: string | undefined;
18
- selfOnboarding?: false | undefined;
19
- }, {
20
- street1: string;
21
- city: string;
22
- state: string;
23
- zip: string;
24
- courtesyWithholding: boolean;
25
- street2?: string | undefined;
26
- selfOnboarding?: false | undefined;
27
- }>, z.ZodObject<{
9
+ selfOnboarding: z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodUndefined]>;
10
+ }, z.core.$strip>, z.ZodObject<{
28
11
  selfOnboarding: z.ZodLiteral<true>;
29
- }, "strip", z.ZodTypeAny, {
30
- selfOnboarding: true;
31
- }, {
32
- selfOnboarding: true;
33
- }>]>;
34
- export declare const HomeAddressSchemaWithCompletedOnboarding: z.ZodUnion<[z.ZodObject<{
12
+ }, z.core.$strip>]>;
13
+ export declare const HomeAddressSchemaWithCompletedOnboarding: z.ZodUnion<readonly [z.ZodObject<{
35
14
  street1: z.ZodString;
36
15
  street2: z.ZodOptional<z.ZodString>;
37
16
  city: z.ZodString;
38
17
  state: z.ZodString;
39
- zip: z.ZodEffects<z.ZodString, string, string>;
18
+ zip: z.ZodString;
40
19
  courtesyWithholding: z.ZodBoolean;
41
- } & {
42
- selfOnboarding: z.ZodUnion<[z.ZodLiteral<false>, z.ZodUndefined]>;
43
- }, "strip", z.ZodTypeAny, {
44
- street1: string;
45
- city: string;
46
- state: string;
47
- zip: string;
48
- courtesyWithholding: boolean;
49
- street2?: string | undefined;
50
- selfOnboarding?: false | undefined;
51
- }, {
52
- street1: string;
53
- city: string;
54
- state: string;
55
- zip: string;
56
- courtesyWithholding: boolean;
57
- street2?: string | undefined;
58
- selfOnboarding?: false | undefined;
59
- }>, z.ZodObject<{
20
+ selfOnboarding: z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodUndefined]>;
21
+ }, z.core.$strip>, z.ZodObject<{
60
22
  street1: z.ZodString;
61
23
  street2: z.ZodOptional<z.ZodString>;
62
24
  city: z.ZodString;
63
25
  state: z.ZodString;
64
- zip: z.ZodEffects<z.ZodString, string, string>;
26
+ zip: z.ZodString;
65
27
  courtesyWithholding: z.ZodBoolean;
66
- } & {
67
28
  selfOnboarding: z.ZodLiteral<true>;
68
- }, "strip", z.ZodTypeAny, {
69
- street1: string;
70
- city: string;
71
- state: string;
72
- zip: string;
73
- selfOnboarding: true;
74
- courtesyWithholding: boolean;
75
- street2?: string | undefined;
76
- }, {
77
- street1: string;
78
- city: string;
79
- state: string;
80
- zip: string;
81
- selfOnboarding: true;
82
- courtesyWithholding: boolean;
83
- street2?: string | undefined;
84
- }>]>;
29
+ }, z.core.$strip>]>;
85
30
  export type HomeAddressInputs = z.infer<typeof HomeAddressSchema>;
86
31
  export declare const HomeAddress: () => import("react/jsx-runtime").JSX.Element | null;
@@ -5,91 +5,42 @@ export declare const NameInputsSchema: z.ZodObject<{
5
5
  firstName: z.ZodString;
6
6
  middleInitial: z.ZodOptional<z.ZodString>;
7
7
  lastName: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- firstName: string;
10
- lastName: string;
11
- middleInitial?: string | undefined;
12
- }, {
13
- firstName: string;
14
- lastName: string;
15
- middleInitial?: string | undefined;
16
- }>;
8
+ }, z.core.$strip>;
17
9
  export declare function NameInputs(): import("react/jsx-runtime").JSX.Element;
18
10
  export declare const AdminInputsSchema: z.ZodObject<{
19
11
  workAddress: z.ZodString;
20
- startDate: z.ZodEffects<z.ZodDate, string | undefined, Date>;
12
+ startDate: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
21
13
  email: z.ZodString;
22
- }, "strip", z.ZodTypeAny, {
23
- email: string;
24
- workAddress: string;
25
- startDate?: string | undefined;
26
- }, {
27
- email: string;
28
- startDate: Date;
29
- workAddress: string;
30
- }>;
14
+ }, z.core.$strip>;
31
15
  interface AdminInputsProps {
32
16
  companyLocations: Location[];
33
17
  }
34
18
  export declare function AdminInputs({ companyLocations }: AdminInputsProps): import("react/jsx-runtime").JSX.Element;
35
19
  export declare const SocialSecurityNumberSchema: z.ZodObject<{
36
- ssn: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
20
+ ssn: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
37
21
  enableSsn: z.ZodBoolean;
38
- }, "strip", z.ZodTypeAny, {
39
- ssn: string;
40
- enableSsn: boolean;
41
- }, {
42
- ssn: string;
43
- enableSsn: boolean;
44
- }>;
22
+ }, z.core.$strip>;
45
23
  interface SocialSecurityNumberInputProps {
46
24
  employee?: Employee;
47
25
  onChange?: (updatedValue: string) => void;
48
26
  }
49
27
  export declare function SocialSecurityNumberInput({ employee, onChange }: SocialSecurityNumberInputProps): import("react/jsx-runtime").JSX.Element;
50
28
  export declare const DateOfBirthSchema: z.ZodObject<{
51
- dateOfBirth: z.ZodEffects<z.ZodDate, string | undefined, Date>;
52
- }, "strip", z.ZodTypeAny, {
53
- dateOfBirth?: string | undefined;
54
- }, {
55
- dateOfBirth: Date;
56
- }>;
29
+ dateOfBirth: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
30
+ }, z.core.$strip>;
57
31
  export declare function DateOfBirthInput(): import("react/jsx-runtime").JSX.Element;
58
32
  declare const PersonalDetailsTotalSchema: z.ZodObject<{
33
+ selfOnboarding: z.ZodBoolean;
34
+ enableSsn: z.ZodBoolean;
35
+ dateOfBirth: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
36
+ ssn: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
37
+ workAddress: z.ZodString;
38
+ startDate: z.ZodPipe<z.ZodDate, z.ZodTransform<string | undefined, Date>>;
39
+ email: z.ZodString;
59
40
  firstName: z.ZodString;
60
41
  middleInitial: z.ZodOptional<z.ZodString>;
61
42
  lastName: z.ZodString;
62
- workAddress: z.ZodString;
63
- startDate: z.ZodEffects<z.ZodDate, string | undefined, Date>;
64
- email: z.ZodString;
65
- ssn: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
66
- dateOfBirth: z.ZodEffects<z.ZodDate, string | undefined, Date>;
67
- } & {
68
- selfOnboarding: z.ZodBoolean;
69
- enableSsn: z.ZodBoolean;
70
- }, "strip", z.ZodTypeAny, {
71
- ssn: string;
72
- email: string;
73
- firstName: string;
74
- lastName: string;
75
- selfOnboarding: boolean;
76
- workAddress: string;
77
- enableSsn: boolean;
78
- startDate?: string | undefined;
79
- middleInitial?: string | undefined;
80
- dateOfBirth?: string | undefined;
81
- }, {
82
- ssn: string;
83
- email: string;
84
- firstName: string;
85
- lastName: string;
86
- startDate: Date;
87
- selfOnboarding: boolean;
88
- workAddress: string;
89
- enableSsn: boolean;
90
- dateOfBirth: Date;
91
- middleInitial?: string | undefined;
92
- }>;
43
+ }, z.core.$strip>;
93
44
  type NullableDatesMapper<Source> = {
94
45
  [Property in keyof Source]: Source[Property] extends Date ? Source[Property] | null : Source[Property];
95
46
  };