@gusto/embedded-react-sdk 0.10.0 → 0.10.2-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/components/Base/Base.d.ts +3 -2
  3. package/dist/components/Base/Base.js +59 -53
  4. package/dist/components/Base/Base.js.map +1 -1
  5. package/dist/components/Common/InternalError/InternalError.js.map +1 -1
  6. package/dist/components/Common/SignatureForm/SignatureForm.js +6 -4
  7. package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
  8. package/dist/components/Common/SignatureForm/SignatureFormActions.js +7 -6
  9. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +1 -1
  10. package/dist/components/Common/SignatureForm/SignatureFormFields.js +8 -7
  11. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +1 -1
  12. package/dist/components/Common/UI/ComboBox/ComboBox.js +31 -33
  13. package/dist/components/Common/UI/ComboBox/ComboBox.js.map +1 -1
  14. package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +1 -1
  15. package/dist/components/Common/UI/Text/TextTypes.d.ts +1 -1
  16. package/dist/components/Company/AssignSignatory/AssignSignatory.js +13 -11
  17. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +1 -1
  19. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +1 -1
  20. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +1 -0
  21. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +3 -2
  23. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  24. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  25. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +1 -1
  27. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -3
  28. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  29. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +10 -9
  30. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  31. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  32. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  33. package/dist/components/Company/AssignSignatory/TitleSelect.js +8 -7
  34. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  35. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  36. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  37. package/dist/components/Company/BankAccount/BankAccount.d.ts +2 -2
  38. package/dist/components/Company/BankAccount/BankAccount.js +25 -20
  39. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  40. package/dist/components/Company/BankAccount/BankAccountComponents.js +16 -9
  41. package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
  42. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +23 -9
  43. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  44. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +1 -0
  45. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +30 -30
  46. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  47. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +8 -7
  48. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  49. package/dist/components/Company/BankAccount/BankAccountForm/context.d.ts +4 -0
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  52. package/dist/components/Company/BankAccount/BankAccountList/AccountView.js +14 -13
  53. package/dist/components/Company/BankAccount/BankAccountList/AccountView.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +1 -1
  55. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +1 -1
  56. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +5 -4
  57. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  58. package/dist/components/Company/BankAccount/stateMachine.d.ts +1 -1
  59. package/dist/components/Company/BankAccount/stateMachine.js +13 -5
  60. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  61. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +1 -1
  62. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +17 -15
  63. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  64. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  65. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  66. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +5 -7
  67. package/dist/components/Company/DocumentSigner/DocumentSigner.js +24 -24
  68. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  69. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +45 -44
  70. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  71. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +5 -3
  72. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  73. package/dist/components/Company/FederalTaxes/Actions.js +1 -1
  74. package/dist/components/Company/FederalTaxes/FederalTaxes.js +17 -15
  75. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  76. package/dist/components/Company/FederalTaxes/Form.js +3 -2
  77. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  78. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  79. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  80. package/dist/components/Company/Industry/Actions.js +1 -1
  81. package/dist/components/Company/Industry/Context.js +8 -6
  82. package/dist/components/Company/Industry/Context.js.map +1 -1
  83. package/dist/components/Company/Industry/Edit.js +1 -1
  84. package/dist/components/Company/Industry/Industry.js +30 -31
  85. package/dist/components/Company/Industry/Industry.js.map +1 -1
  86. package/dist/components/Company/Locations/LocationForm/Actions.js +1 -1
  87. package/dist/components/Company/Locations/LocationForm/Form.js +5 -4
  88. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  89. package/dist/components/Company/Locations/LocationForm/LocationForm.js +36 -37
  90. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  91. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  92. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  93. package/dist/components/Company/Locations/LocationsList/Actions.js +1 -1
  94. package/dist/components/Company/Locations/LocationsList/List.js +5 -2
  95. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  96. package/dist/components/Company/Locations/LocationsList/LocationsList.js +11 -9
  97. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  98. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  99. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  100. package/dist/components/Company/Locations/stateMachine.js +35 -33
  101. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  102. package/dist/components/Company/OnboardingOverview/Completed.js +6 -5
  103. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  104. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +3 -2
  105. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  106. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +4 -2
  107. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  108. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  109. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  110. package/dist/components/Company/PaySchedule/PaySchedule.js +72 -71
  111. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  112. package/dist/components/Company/PaySchedule/_parts/Actions.js +1 -1
  113. package/dist/components/Company/PaySchedule/_parts/Edit.js +9 -8
  114. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  115. package/dist/components/Company/PaySchedule/_parts/Head.js +3 -2
  116. package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
  117. package/dist/components/Company/PaySchedule/_parts/List.js +6 -5
  118. package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
  119. package/dist/components/Company/PaySchedule/usePaySchedule.js +7 -5
  120. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  121. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +1 -1
  122. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  123. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  124. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +1 -1
  125. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +1 -1
  126. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  127. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  128. package/dist/components/Contractor/Address/Address.js +39 -38
  129. package/dist/components/Contractor/Address/Address.js.map +1 -1
  130. package/dist/components/Contractor/Address/Form.js +11 -18
  131. package/dist/components/Contractor/Address/Form.js.map +1 -1
  132. package/dist/components/Contractor/Address/useAddress.js +7 -5
  133. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  134. package/dist/components/Contractor/List/index.js +11 -10
  135. package/dist/components/Contractor/List/index.js.map +1 -1
  136. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +21 -0
  137. package/dist/components/Contractor/NewHireReport/NewHireReport.js +111 -0
  138. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -0
  139. package/dist/components/Contractor/NewHireReport/types.d.ts +4 -0
  140. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +1 -1
  141. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +61 -52
  142. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  143. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +3 -2
  144. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  145. package/dist/components/Contractor/index.d.ts +1 -0
  146. package/dist/components/Contractor/index.js +8 -6
  147. package/dist/components/Contractor/index.js.map +1 -1
  148. package/dist/components/Employee/Compensation/Actions.js +6 -5
  149. package/dist/components/Employee/Compensation/Actions.js.map +1 -1
  150. package/dist/components/Employee/Compensation/Compensation.js +123 -132
  151. package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
  152. package/dist/components/Employee/Compensation/Edit.js +3 -2
  153. package/dist/components/Employee/Compensation/Edit.js.map +1 -1
  154. package/dist/components/Employee/Compensation/List.js +1 -1
  155. package/dist/components/Employee/Deductions/Actions.js +1 -1
  156. package/dist/components/Employee/Deductions/DeductionForm.js +1 -1
  157. package/dist/components/Employee/Deductions/Deductions.js +74 -79
  158. package/dist/components/Employee/Deductions/Deductions.js.map +1 -1
  159. package/dist/components/Employee/Deductions/DeductionsList.js +1 -1
  160. package/dist/components/Employee/Deductions/IncludeDeductionsForm.js +1 -1
  161. package/dist/components/Employee/Deductions/useDeductions.js +7 -5
  162. package/dist/components/Employee/Deductions/useDeductions.js.map +1 -1
  163. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +1 -1
  164. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +12 -10
  165. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  166. package/dist/components/Employee/DocumentSigner/DocumentList/List.js +3 -2
  167. package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
  168. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  169. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  170. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +38 -42
  171. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  172. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +5 -3
  173. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  174. package/dist/components/Employee/EmployeeList/Actions.js +1 -1
  175. package/dist/components/Employee/EmployeeList/EmployeeList.js +59 -58
  176. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  177. package/dist/components/Employee/EmployeeList/Head.js +3 -2
  178. package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
  179. package/dist/components/Employee/EmployeeList/List.js +15 -14
  180. package/dist/components/Employee/EmployeeList/List.js.map +1 -1
  181. package/dist/components/Employee/EmployeeList/useEmployeeList.js +5 -3
  182. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  183. package/dist/components/Employee/Landing/Landing.js +7 -6
  184. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  185. package/dist/components/Employee/PaymentMethod/Actions.js +1 -1
  186. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +3 -2
  187. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js.map +1 -1
  188. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +1 -1
  189. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +95 -97
  190. package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
  191. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +3 -2
  192. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js.map +1 -1
  193. package/dist/components/Employee/PaymentMethod/Split.js +4 -3
  194. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  195. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +7 -5
  196. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  197. package/dist/components/Employee/Profile/Actions.js +1 -1
  198. package/dist/components/Employee/Profile/AdminPersonalDetails.js +10 -9
  199. package/dist/components/Employee/Profile/AdminPersonalDetails.js.map +1 -1
  200. package/dist/components/Employee/Profile/HomeAddress.js +5 -4
  201. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  202. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +1 -1
  203. package/dist/components/Employee/Profile/Profile.js +85 -89
  204. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  205. package/dist/components/Employee/Profile/useProfile.js +5 -3
  206. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  207. package/dist/components/Employee/Taxes/Actions.js +1 -1
  208. package/dist/components/Employee/Taxes/FederalForm.js +3 -3
  209. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  210. package/dist/components/Employee/Taxes/Taxes.js +59 -60
  211. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  212. package/dist/components/Employee/Taxes/useTaxes.js +5 -3
  213. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  214. package/dist/contexts/ApiProvider/ApiProvider.js +16 -14
  215. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  216. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +5 -0
  217. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +2 -0
  218. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +19 -17
  219. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  220. package/dist/contexts/LoadingIndicatorProvider/LoadingIndicatorProvider.d.ts +7 -0
  221. package/dist/contexts/LoadingIndicatorProvider/LoadingIndicatorProvider.js +10 -0
  222. package/dist/contexts/LoadingIndicatorProvider/LoadingIndicatorProvider.js.map +1 -0
  223. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.d.ts +6 -0
  224. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js +11 -0
  225. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js.map +1 -0
  226. package/dist/i18n/I18n.js +5 -5
  227. package/dist/i18n/I18n.js.map +1 -1
  228. package/dist/i18n/en/Contractor.NewHireReport.json.js +24 -0
  229. package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -0
  230. package/dist/shared/constants.d.ts +6 -0
  231. package/dist/shared/constants.js +15 -12
  232. package/dist/shared/constants.js.map +1 -1
  233. package/dist/style.css +1 -1
  234. package/dist/types/i18next.d.ts +13 -1
  235. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Split.js","sources":["../../../../src/components/Employee/PaymentMethod/Split.tsx"],"sourcesContent":["import type { Control } from 'react-hook-form'\nimport { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { type EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { ErrorMessage } from '@hookform/error-message'\nimport { Fragment } from 'react/jsx-runtime'\nimport DOMPurify from 'dompurify'\nimport { useEffect, useMemo } from 'react'\nimport { usePaymentMethod, type CombinedSchemaInputs } from './usePaymentMethod'\nimport { NumberInputField, RadioGroupField } from '@/components/Common'\nimport { useLocale } from '@/contexts/LocaleProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { SPLIT_BY } from '@/shared/constants'\n\ntype Split = NonNullable<EmployeePaymentMethod['splits']>[number]\n\nexport function Split() {\n const { paymentMethod, bankAccounts, mode } = usePaymentMethod()\n const {\n control,\n setValue,\n resetField,\n watch,\n formState: { errors },\n } = useFormContext<CombinedSchemaInputs>()\n const { t } = useTranslation('Employee.PaymentMethod')\n const splitBy = watch('splitBy')\n const priorities = watch('priority')\n\n const splits = useMemo(() => paymentMethod.splits ?? [], [paymentMethod.splits])\n\n const remainderId = Object.entries(priorities).reduce(\n (maxId, [uuid, priority]) => (!maxId || (priorities[maxId] ?? 0) < priority ? uuid : maxId),\n '',\n )\n\n const { currency } = useLocale()\n\n // Handle splitBy value changes\n useEffect(() => {\n // Only run cleanup if splits exist\n if (!splits.length) return\n\n // Clean up when switching modes\n if (splitBy === SPLIT_BY.amount) {\n // When switching to amount mode, set the last item as remainder (null) and others to 0\n const newAmountValues = splits.reduce<Record<string, number | null>>((acc, curr) => {\n acc[curr.uuid] = curr.uuid === remainderId ? null : 0\n return acc\n }, {})\n setValue('splitAmount', newAmountValues)\n } else {\n // When switching to percentage mode, set the first item to 100% and others to 0\n const newPercentageValues = splits.reduce<Record<string, number>>((acc, curr, index) => {\n acc[curr.uuid] = index === 0 ? 100 : 0\n return acc\n }, {})\n setValue('splitAmount', newPercentageValues)\n }\n }, [splitBy, splits, remainderId, setValue])\n\n const Components = useComponentContext()\n\n if (mode !== 'SPLIT' || bankAccounts.length < 2 || paymentMethod.splits === null) return null\n //Used by form schema to determine variant\n setValue('isSplit', true)\n\n const updateSplitAmount = (uuid: string, value: number | null) => {\n setValue(`splitAmount.${uuid}`, value)\n }\n\n const handleReorder = (newOrder: number[]) => {\n // Calculate new priorities based on new order\n const newPriorities = newOrder.reduce(\n (acc: Record<string, number>, curr: number, currIndex: number) => {\n const split = splits[curr]\n return split ? { ...acc, [split.uuid]: currIndex + 1 } : acc\n },\n {},\n )\n\n // Get the last split in the new order\n const lastSplitIndex = newOrder[newOrder.length - 1]\n if (lastSplitIndex === undefined) return\n\n const lastSplit = splits[lastSplitIndex]\n if (!lastSplit) return\n\n // Update priorities\n setValue('priority', newPriorities)\n\n // Clear the previous remainder if different from the new one\n if (remainderId && remainderId !== lastSplit.uuid) {\n resetField(`splitAmount.${remainderId}`)\n updateSplitAmount(remainderId, 0)\n }\n\n // Set the new last item to null (remainder)\n updateSplitAmount(lastSplit.uuid, null)\n }\n\n const renderFieldsList = () => {\n if (splitBy === SPLIT_BY.amount) {\n return (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={splits.map(split => ({\n label: split.name as string,\n content: (\n <AmountField\n key={`amount-${split.uuid}`}\n split={split}\n onChange={value => {\n updateSplitAmount(split.uuid, value)\n }}\n remainderId={remainderId}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n )\n }\n\n return splits.map(split => (\n <PercentageField\n key={`percentage-${split.uuid}`}\n split={split}\n control={control}\n onChange={value => {\n updateSplitAmount(split.uuid, value)\n }}\n currency={currency}\n />\n ))\n }\n\n return (\n <>\n <ErrorMessage\n errors={errors}\n name=\"splitAmount.root\"\n render={({ message }) => {\n // Handle enhanced error messages with current total\n if (message && message.startsWith('percentage_split_total_error:')) {\n const total = message.split(':')[1] || '0'\n return (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total })}\n />\n )\n }\n // Fallback to original error message\n return <Components.Alert status=\"error\" label={t('validations.percentageError')} />\n }}\n />\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Trans t={t} i18nKey=\"splitDescription\" components={{ p: <Components.Text /> }} />\n <RadioGroupField\n name=\"splitBy\"\n label={t('splitByLabel')}\n options={[\n { value: SPLIT_BY.percentage, label: t('percentageLabel') },\n { value: SPLIT_BY.amount, label: t('amountLabel') },\n ]}\n />\n {paymentMethod.splits && renderFieldsList()}\n </>\n )\n}\n\nfunction AmountField({\n split,\n remainderId,\n onChange,\n}: {\n split: Split\n remainderId: string\n onChange: (value: number | null) => void\n}) {\n const { t } = useTranslation('Employee.PaymentMethod')\n return (\n <NumberInputField\n name={`splitAmount.${split.uuid}`}\n label={t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })}\n format=\"currency\"\n min={0}\n isRequired\n errorMessage={t('validations.amountError')}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n isDisabled={remainderId === split.uuid}\n onChange={onChange}\n />\n )\n}\n\nfunction PercentageField({\n split,\n control,\n onChange,\n currency,\n}: {\n split: Split\n control: Control<CombinedSchemaInputs>\n onChange: (value: number) => void\n currency: string\n}) {\n const { t } = useTranslation('Employee.PaymentMethod')\n return (\n <Fragment key={split.uuid}>\n <NumberInputField\n name={`splitAmount.${split.uuid}`}\n label={t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })}\n format=\"percent\"\n min={0}\n isRequired\n errorMessage={t('validations.amountError')}\n onChange={onChange}\n />\n </Fragment>\n )\n}\n"],"names":["Split","paymentMethod","bankAccounts","mode","usePaymentMethod","control","setValue","resetField","watch","errors","useFormContext","t","useTranslation","splitBy","priorities","splits","useMemo","remainderId","maxId","uuid","priority","currency","useLocale","useEffect","SPLIT_BY","newAmountValues","acc","curr","newPercentageValues","index","Components","useComponentContext","updateSplitAmount","value","handleReorder","newOrder","newPriorities","currIndex","split","lastSplitIndex","lastSplit","renderFieldsList","jsx","ReorderableList","AmountField","PercentageField","jsxs","Fragment","ErrorMessage","message","total","Trans","RadioGroupField","onChange","NumberInputField","DOMPurify"],"mappings":"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"}
1
+ {"version":3,"file":"Split.js","sources":["../../../../src/components/Employee/PaymentMethod/Split.tsx"],"sourcesContent":["import type { Control } from 'react-hook-form'\nimport { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { type EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { ErrorMessage } from '@hookform/error-message'\nimport { Fragment } from 'react/jsx-runtime'\nimport DOMPurify from 'dompurify'\nimport { useEffect, useMemo } from 'react'\nimport { usePaymentMethod, type CombinedSchemaInputs } from './usePaymentMethod'\nimport { NumberInputField, RadioGroupField } from '@/components/Common'\nimport { useLocale } from '@/contexts/LocaleProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { SPLIT_BY } from '@/shared/constants'\n\ntype Split = NonNullable<EmployeePaymentMethod['splits']>[number]\n\nexport function Split() {\n const { paymentMethod, bankAccounts, mode } = usePaymentMethod()\n const {\n control,\n setValue,\n resetField,\n watch,\n formState: { errors },\n } = useFormContext<CombinedSchemaInputs>()\n const { t } = useTranslation('Employee.PaymentMethod')\n const splitBy = watch('splitBy')\n const priorities = watch('priority')\n\n const splits = useMemo(() => paymentMethod.splits ?? [], [paymentMethod.splits])\n\n const remainderId = Object.entries(priorities).reduce(\n (maxId, [uuid, priority]) => (!maxId || (priorities[maxId] ?? 0) < priority ? uuid : maxId),\n '',\n )\n\n const { currency } = useLocale()\n\n // Handle splitBy value changes\n useEffect(() => {\n // Only run cleanup if splits exist\n if (!splits.length) return\n\n // Clean up when switching modes\n if (splitBy === SPLIT_BY.amount) {\n // When switching to amount mode, set the last item as remainder (null) and others to 0\n const newAmountValues = splits.reduce<Record<string, number | null>>((acc, curr) => {\n acc[curr.uuid] = curr.uuid === remainderId ? null : 0\n return acc\n }, {})\n setValue('splitAmount', newAmountValues)\n } else {\n // When switching to percentage mode, set the first item to 100% and others to 0\n const newPercentageValues = splits.reduce<Record<string, number>>((acc, curr, index) => {\n acc[curr.uuid] = index === 0 ? 100 : 0\n return acc\n }, {})\n setValue('splitAmount', newPercentageValues)\n }\n }, [splitBy, splits, remainderId, setValue])\n\n const Components = useComponentContext()\n\n if (mode !== 'SPLIT' || bankAccounts.length < 2 || paymentMethod.splits === null) return null\n //Used by form schema to determine variant\n setValue('isSplit', true)\n\n const updateSplitAmount = (uuid: string, value: number | null) => {\n setValue(`splitAmount.${uuid}`, value)\n }\n\n const handleReorder = (newOrder: number[]) => {\n // Calculate new priorities based on new order\n const newPriorities = newOrder.reduce(\n (acc: Record<string, number>, curr: number, currIndex: number) => {\n const split = splits[curr]\n return split ? { ...acc, [split.uuid]: currIndex + 1 } : acc\n },\n {},\n )\n\n // Get the last split in the new order\n const lastSplitIndex = newOrder[newOrder.length - 1]\n if (lastSplitIndex === undefined) return\n\n const lastSplit = splits[lastSplitIndex]\n if (!lastSplit) return\n\n // Update priorities\n setValue('priority', newPriorities)\n\n // Clear the previous remainder if different from the new one\n if (remainderId && remainderId !== lastSplit.uuid) {\n resetField(`splitAmount.${remainderId}`)\n updateSplitAmount(remainderId, 0)\n }\n\n // Set the new last item to null (remainder)\n updateSplitAmount(lastSplit.uuid, null)\n }\n\n const renderFieldsList = () => {\n if (splitBy === SPLIT_BY.amount) {\n return (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={splits.map(split => ({\n label: split.name as string,\n content: (\n <AmountField\n key={`amount-${split.uuid}`}\n split={split}\n onChange={value => {\n updateSplitAmount(split.uuid, value)\n }}\n remainderId={remainderId}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n )\n }\n\n return splits.map(split => (\n <PercentageField\n key={`percentage-${split.uuid}`}\n split={split}\n control={control}\n onChange={value => {\n updateSplitAmount(split.uuid, value)\n }}\n currency={currency}\n />\n ))\n }\n\n return (\n <>\n <ErrorMessage\n errors={errors}\n name=\"splitAmount.root\"\n render={({ message }) => {\n // Handle enhanced error messages with current total\n if (message && message.startsWith('percentage_split_total_error:')) {\n const total = message.split(':')[1] || '0'\n return (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total })}\n />\n )\n }\n // Fallback to original error message\n return <Components.Alert status=\"error\" label={t('validations.percentageError')} />\n }}\n />\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Trans t={t} i18nKey=\"splitDescription\" components={{ p: <Components.Text /> }} />\n <RadioGroupField\n name=\"splitBy\"\n label={t('splitByLabel')}\n options={[\n { value: SPLIT_BY.percentage, label: t('percentageLabel') },\n { value: SPLIT_BY.amount, label: t('amountLabel') },\n ]}\n />\n {paymentMethod.splits && renderFieldsList()}\n </>\n )\n}\n\nfunction AmountField({\n split,\n remainderId,\n onChange,\n}: {\n split: Split\n remainderId: string\n onChange: (value: number | null) => void\n}) {\n const { t } = useTranslation('Employee.PaymentMethod')\n return (\n <NumberInputField\n name={`splitAmount.${split.uuid}`}\n label={t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })}\n format=\"currency\"\n min={0}\n isRequired\n errorMessage={t('validations.amountError')}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n isDisabled={remainderId === split.uuid}\n onChange={onChange}\n />\n )\n}\n\nfunction PercentageField({\n split,\n control,\n onChange,\n currency,\n}: {\n split: Split\n control: Control<CombinedSchemaInputs>\n onChange: (value: number) => void\n currency: string\n}) {\n const { t } = useTranslation('Employee.PaymentMethod')\n return (\n <Fragment key={split.uuid}>\n <NumberInputField\n name={`splitAmount.${split.uuid}`}\n label={t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })}\n format=\"percent\"\n min={0}\n isRequired\n errorMessage={t('validations.amountError')}\n onChange={onChange}\n />\n </Fragment>\n )\n}\n"],"names":["Split","paymentMethod","bankAccounts","mode","usePaymentMethod","control","setValue","resetField","watch","errors","useFormContext","t","useTranslation","splitBy","priorities","splits","useMemo","remainderId","maxId","uuid","priority","currency","useLocale","useEffect","SPLIT_BY","newAmountValues","acc","curr","newPercentageValues","index","Components","useComponentContext","updateSplitAmount","value","handleReorder","newOrder","newPriorities","currIndex","split","lastSplitIndex","lastSplit","renderFieldsList","jsx","ReorderableList","AmountField","PercentageField","jsxs","Fragment","ErrorMessage","message","total","Trans","RadioGroupField","onChange","NumberInputField","DOMPurify"],"mappings":"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"}
@@ -7,12 +7,14 @@ import "react-i18next";
7
7
  import "@gusto/embedded-api/models/errors/apierror";
8
8
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
9
9
  import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
10
+ import "@tanstack/react-query";
10
11
  import "../../Base/useBase.js";
11
12
  import "../../../shared/constants.js";
13
+ import "classnames";
12
14
  import "dompurify";
13
15
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
14
16
  import { createCompoundContext as a } from "../../Base/createCompoundContext.js";
15
- const j = t.union([
17
+ const x = t.union([
16
18
  l.extend({
17
19
  type: t.literal("Direct Deposit"),
18
20
  isSplit: t.literal(!1)
@@ -52,10 +54,10 @@ const j = t.union([
52
54
  remainder: t.string()
53
55
  })
54
56
  ])
55
- ]), [B, x] = a("PaymentMethodContext");
57
+ ]), [S, k] = a("PaymentMethodContext");
56
58
  export {
57
- j as CombinedSchema,
58
- x as PaymentMethodProvider,
59
- B as usePaymentMethod
59
+ x as CombinedSchema,
60
+ k as PaymentMethodProvider,
61
+ S as usePaymentMethod
60
62
  };
61
63
  //# 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}\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":";;;;;;;;;;;;;;AAMa,MAAAA,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,OAAU,GAAAA,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE;AAAA,QAC5D,CAASE,MAAA,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,MAAM;AAAA,QACvE,CAASF,OAEA;AAAA,UACL,SAAS,gCAFG,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,CAEtB;AAAA,QAChD;AAAA,MAEJ;AAAA,MACA,UAAUJ,EAAE,OAAOA,EAAE,OAAU,GAAAA,EAAE,OAAQ,CAAA;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,OAAQ,CAAA,EAAE,OAAO,CAASE,MAAA;AACnD,cAAAG,IAAM,OAAO,OAAOH,CAAK;AACxB,eAAAG,EAAI,OAAO,CAACC,GAAMC,MAAUF,EAAI,QAAQC,CAAI,MAAMC,CAAK,EAAE,WAAW;AAAA,MAAA,CAC5E;AAAA,MACD,aAAaP,EAAE,OAAOA,EAAE,OAAO,GAAGA,EAAE,OAAS,EAAA,IAAI,CAAC,EAAE,UAAU;AAAA,MAC9D,WAAWA,EAAE,OAAO;AAAA,IACrB,CAAA;AAAA,EACF,CAAA;AACH,CAAC,GAmBK,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)).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}\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":";;;;;;;;;;;;;;;;AAMa,MAAAA,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,OAAU,GAAAA,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE;AAAA,QAC5D,CAASE,MAAA,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,MAAM;AAAA,QACvE,CAASF,OAEA;AAAA,UACL,SAAS,gCAFG,OAAO,OAAOA,CAAK,EAAE,OAAO,CAACC,GAAKC,MAASD,IAAMC,GAAM,CAAC,CAEtB;AAAA,QAChD;AAAA,MAEJ;AAAA,MACA,UAAUJ,EAAE,OAAOA,EAAE,OAAU,GAAAA,EAAE,OAAQ,CAAA;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,OAAQ,CAAA,EAAE,OAAO,CAASE,MAAA;AACnD,cAAAG,IAAM,OAAO,OAAOH,CAAK;AACxB,eAAAG,EAAI,OAAO,CAACC,GAAMC,MAAUF,EAAI,QAAQC,CAAI,MAAMC,CAAK,EAAE,WAAW;AAAA,MAAA,CAC5E;AAAA,MACD,aAAaP,EAAE,OAAOA,EAAE,OAAO,GAAGA,EAAE,OAAS,EAAA,IAAI,CAAC,EAAE,UAAU;AAAA,MAC9D,WAAWA,EAAE,OAAO;AAAA,IACrB,CAAA;AAAA,EACF,CAAA;AACH,CAAC,GAmBK,CAACQ,GAAkBC,CAAqB,IAC5CC,EAAgD,sBAAsB;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { useTranslation as r } from "react-i18next";
3
3
  import { useProfile as e } from "./useProfile.js";
4
- import "../../../shared/constants.js";
4
+ import "classnames";
5
5
  import { ActionsLayout as m } from "../../Common/ActionsLayout/ActionsLayout.js";
6
6
  import { useComponentContext as s } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
7
  const d = () => {
@@ -3,22 +3,23 @@ import { useEffect as g } from "react";
3
3
  import { useFormContext as h } from "react-hook-form";
4
4
  import { useTranslation as O } from "react-i18next";
5
5
  import { z as t } from "zod";
6
- import { AdminInputsSchema as D, SocialSecurityNumberSchema as I, DateOfBirthSchema as l, NameInputsSchema as A, NameInputs as N, AdminInputs as E, SocialSecurityNumberInput as x, DateOfBirthInput as y } from "./PersonalDetailsInputs.js";
6
+ import { AdminInputsSchema as D, SocialSecurityNumberSchema as I, DateOfBirthSchema as m, NameInputsSchema as A, NameInputs as N, AdminInputs as E, SocialSecurityNumberInput as x, DateOfBirthInput as y } from "./PersonalDetailsInputs.js";
7
7
  import { useProfile as P } from "./useProfile.js";
8
- import { EmployeeOnboardingStatus as m } from "../../../shared/constants.js";
8
+ import { EmployeeOnboardingStatus as l } from "../../../shared/constants.js";
9
+ import "classnames";
9
10
  import { CheckboxField as F } from "../../Common/Fields/CheckboxField/CheckboxField.js";
10
11
  const d = D.merge(
11
12
  A
12
13
  ).extend({
13
14
  selfOnboarding: t.boolean()
14
- }), M = t.discriminatedUnion("enableSsn", [
15
- d.merge(I).merge(l).extend({
15
+ }), V = t.discriminatedUnion("enableSsn", [
16
+ d.merge(I).merge(m).extend({
16
17
  enableSsn: t.literal(!0)
17
18
  }),
18
- d.merge(l).extend({
19
+ d.merge(m).extend({
19
20
  enableSsn: t.literal(!1)
20
21
  })
21
- ]), V = () => {
22
+ ]), W = () => {
22
23
  const { companyLocations: c, employee: e, isAdmin: f, isSelfOnboardingEnabled: S } = P(), { t: b } = O("Employee.Profile"), { watch: u, setValue: o, getFieldState: p } = h(), r = u("selfOnboarding"), { isDirty: i } = p("ssn");
23
24
  return g(() => {
24
25
  r ? o("enableSsn", !1) : o("enableSsn", i ? !0 : !e?.hasSsn);
@@ -30,7 +31,7 @@ const d = D.merge(
30
31
  {
31
32
  name: "selfOnboarding",
32
33
  label: b("selfOnboardingLabel"),
33
- isDisabled: e?.onboarded || e?.onboardingStatus === m.ONBOARDING_COMPLETED || e?.onboardingStatus === m.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
34
+ isDisabled: e?.onboarded || e?.onboardingStatus === l.ONBOARDING_COMPLETED || e?.onboardingStatus === l.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
34
35
  }
35
36
  ),
36
37
  !r && /* @__PURE__ */ a(s, { children: [
@@ -40,8 +41,8 @@ const d = D.merge(
40
41
  ] }) : null;
41
42
  };
42
43
  export {
43
- V as AdminPersonalDetails,
44
- M as AdminPersonalDetailsSchema,
44
+ W as AdminPersonalDetails,
45
+ V as AdminPersonalDetailsSchema,
45
46
  d as AdminSelfOnboardingPersonalDetailsSchema
46
47
  };
47
48
  //# 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 { useProfile } from './useProfile'\nimport { EmployeeOnboardingStatus } from '@/shared/constants'\nimport { CheckboxField } 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 { companyLocations, employee, isAdmin, isSelfOnboardingEnabled } = useProfile()\n const { t } = useTranslation('Employee.Profile')\n const { watch, setValue, getFieldState } = useFormContext<PersonalDetailsInputs>()\n\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 <NameInputs />\n <AdminInputs companyLocations={companyLocations} />\n {isSelfOnboardingEnabled && (\n <CheckboxField\n name=\"selfOnboarding\"\n label={t('selfOnboardingLabel')}\n isDisabled={\n employee?.onboarded ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n employee?.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW\n }\n />\n )}\n\n {!isSelfOnboardingChecked && (\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","useProfile","t","useTranslation","watch","setValue","getFieldState","useFormContext","isSelfOnboardingChecked","isSsnDirty","useEffect","jsxs","Fragment","jsx","NameInputs","AdminInputs","CheckboxField","EmployeeOnboardingStatus","SocialSecurityNumberInput","DateOfBirthInput"],"mappings":";;;;;;;;;AAmBO,MAAMA,IAA2CC,EAAkB;AAAA,EACxEC;AACF,EAAE,OAAO;AAAA,EACP,gBAAgBC,EAAE,QAAQ;AAC5B,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,EAC3B,CAAA;AACH,CAAC,GAEYI,IAAuB,MAAM;AACxC,QAAM,EAAE,kBAAAC,GAAkB,UAAAC,GAAU,SAAAC,GAAS,yBAAAC,EAAA,IAA4BC,EAAW,GAC9E,EAAE,GAAAC,EAAA,IAAMC,EAAe,kBAAkB,GACzC,EAAE,OAAAC,GAAO,UAAAC,GAAU,eAAAC,EAAA,IAAkBC,EAAsC,GAE3EC,IAA0BJ,EAAM,gBAAgB,GAChD,EAAE,SAASK,MAAeH,EAAc,KAAK;AAUnD,SARAI,EAAU,MAAM;AACd,IAAIF,IACFH,EAAS,aAAa,EAAK,IAE3BA,EAAS,aAAaI,IAAa,KAAO,CAACX,GAAU,MAAM;AAAA,EAC7D,GACC,CAACU,GAAyBV,GAAU,QAAQW,GAAYJ,CAAQ,CAAC,GAE/DN,IAMD,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAW,EAAA;AAAA,IACZ,gBAAAD,EAACE,KAAY,kBAAAlB,GAAoC;AAAA,IAChDG,KACC,gBAAAa;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOd,EAAE,qBAAqB;AAAA,QAC9B,YACEJ,GAAU,aACVA,GAAU,qBAAqBmB,EAAyB,wBACxDnB,GAAU,qBACRmB,EAAyB;AAAA,MAAA;AAAA,IAE/B;AAAA,IAGD,CAACT,KAEE,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACK,KAA0B,UAAApB,GAAoB;AAAA,wBAC9CqB,GAAiB,CAAA,CAAA;AAAA,IAAA,EACpB,CAAA;AAAA,EAAA,GAEJ,IA1BO;AA4BX;"}
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 { useProfile } from './useProfile'\nimport { EmployeeOnboardingStatus } from '@/shared/constants'\nimport { CheckboxField } 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 { companyLocations, employee, isAdmin, isSelfOnboardingEnabled } = useProfile()\n const { t } = useTranslation('Employee.Profile')\n const { watch, setValue, getFieldState } = useFormContext<PersonalDetailsInputs>()\n\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 <NameInputs />\n <AdminInputs companyLocations={companyLocations} />\n {isSelfOnboardingEnabled && (\n <CheckboxField\n name=\"selfOnboarding\"\n label={t('selfOnboardingLabel')}\n isDisabled={\n employee?.onboarded ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n employee?.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW\n }\n />\n )}\n\n {!isSelfOnboardingChecked && (\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","useProfile","t","useTranslation","watch","setValue","getFieldState","useFormContext","isSelfOnboardingChecked","isSsnDirty","useEffect","jsxs","Fragment","jsx","NameInputs","AdminInputs","CheckboxField","EmployeeOnboardingStatus","SocialSecurityNumberInput","DateOfBirthInput"],"mappings":";;;;;;;;;;AAmBO,MAAMA,IAA2CC,EAAkB;AAAA,EACxEC;AACF,EAAE,OAAO;AAAA,EACP,gBAAgBC,EAAE,QAAQ;AAC5B,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,EAC3B,CAAA;AACH,CAAC,GAEYI,IAAuB,MAAM;AACxC,QAAM,EAAE,kBAAAC,GAAkB,UAAAC,GAAU,SAAAC,GAAS,yBAAAC,EAAA,IAA4BC,EAAW,GAC9E,EAAE,GAAAC,EAAA,IAAMC,EAAe,kBAAkB,GACzC,EAAE,OAAAC,GAAO,UAAAC,GAAU,eAAAC,EAAA,IAAkBC,EAAsC,GAE3EC,IAA0BJ,EAAM,gBAAgB,GAChD,EAAE,SAASK,MAAeH,EAAc,KAAK;AAUnD,SARAI,EAAU,MAAM;AACd,IAAIF,IACFH,EAAS,aAAa,EAAK,IAE3BA,EAAS,aAAaI,IAAa,KAAO,CAACX,GAAU,MAAM;AAAA,EAC7D,GACC,CAACU,GAAyBV,GAAU,QAAQW,GAAYJ,CAAQ,CAAC,GAE/DN,IAMD,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAW,EAAA;AAAA,IACZ,gBAAAD,EAACE,KAAY,kBAAAlB,GAAoC;AAAA,IAChDG,KACC,gBAAAa;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOd,EAAE,qBAAqB;AAAA,QAC9B,YACEJ,GAAU,aACVA,GAAU,qBAAqBmB,EAAyB,wBACxDnB,GAAU,qBACRmB,EAAyB;AAAA,MAAA;AAAA,IAE/B;AAAA,IAGD,CAACT,KAEE,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACK,KAA0B,UAAApB,GAAoB;AAAA,wBAC9CqB,GAAiB,CAAA,CAAA;AAAA,IAAA,EACpB,CAAA;AAAA,EAAA,GAEJ,IA1BO;AA4BX;"}
@@ -5,11 +5,12 @@ import { z as t } from "zod";
5
5
  import { useProfile as g } from "./useProfile.js";
6
6
  import { STATES_ABBR as f } from "../../../shared/constants.js";
7
7
  import { Grid as b } from "../../Common/Grid/Grid.js";
8
+ import "classnames";
8
9
  import { useComponentContext as y } from "../../../contexts/ComponentAdapter/useComponentContext.js";
9
10
  import { TextInputField as n } from "../../Common/Fields/TextInputField/TextInputField.js";
10
11
  import { SelectField as T } from "../../Common/Fields/SelectField/SelectField.js";
11
12
  import { CheckboxField as x } from "../../Common/Fields/CheckboxField/CheckboxField.js";
12
- const j = t.union([
13
+ const q = t.union([
13
14
  // Case 1: selfOnboarding is false or undefined
14
15
  t.object({
15
16
  street1: t.string().min(1),
@@ -24,7 +25,7 @@ const j = t.union([
24
25
  t.object({
25
26
  selfOnboarding: t.literal(!0)
26
27
  })
27
- ]), q = () => {
28
+ ]), O = () => {
28
29
  const { t: e } = u("Employee.HomeAddress"), i = y(), { isSelfOnboardingIntended: d, isAdmin: m } = g(), { watch: c } = p(), h = c("courtesyWithholding");
29
30
  return m && d ? null : /* @__PURE__ */ o(l, { children: [
30
31
  /* @__PURE__ */ o("div", { children: [
@@ -100,7 +101,7 @@ const j = t.union([
100
101
  ] });
101
102
  };
102
103
  export {
103
- q as HomeAddress,
104
- j as HomeAddressSchema
104
+ O as HomeAddress,
105
+ q as HomeAddressSchema
105
106
  };
106
107
  //# sourceMappingURL=HomeAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HomeAddress.js","sources":["../../../../src/components/Employee/Profile/HomeAddress.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { useProfile } from './useProfile'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { CheckboxField, Grid, SelectField, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const HomeAddressSchema = z.union([\n // Case 1: selfOnboarding is false or undefined\n z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().refine(zip => /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/.test(zip)),\n courtesyWithholding: z.boolean(),\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true\n z.object({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport type HomeAddressInputs = z.infer<typeof HomeAddressSchema>\n\nexport const HomeAddress = () => {\n const { t } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const { isSelfOnboardingIntended, isAdmin } = useProfile()\n\n const { watch } = useFormContext<HomeAddressInputs>()\n const watchedCourtesyWithholding = watch('courtesyWithholding')\n\n if (isAdmin && isSelfOnboardingIntended) {\n return null\n }\n\n return (\n <>\n <div>\n <Components.Heading as=\"h2\">{t('formTitle')}</Components.Heading>\n <Components.Text>{t('desc')}</Components.Text>\n </div>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: ['1fr', '1fr'],\n }}\n gap={20}\n >\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n isRequired\n label={t('city')}\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n isRequired\n label={t('zip')}\n errorMessage={t('validations.zip')}\n />\n </Grid>\n <CheckboxField\n name=\"courtesyWithholding\"\n label={t('courtesyWithholdingLabel')}\n description={\n <>\n {t('courtesyWhithholdingDescription')}\n <Trans t={t} i18nKey=\"learnMoreCta\" components={{ learnMore: <Components.Link /> }} />\n </>\n }\n />\n {watchedCourtesyWithholding && (\n <Components.Alert label={t('withholdingTitle')} status=\"warning\">\n <Trans t={t} i18nKey=\"withholdingNote\" />\n </Components.Alert>\n )}\n </>\n )\n}\n"],"names":["HomeAddressSchema","z","zip","HomeAddress","t","useTranslation","Components","useComponentContext","isSelfOnboardingIntended","isAdmin","useProfile","watch","useFormContext","watchedCourtesyWithholding","jsxs","Fragment","jsx","Grid","TextInputField","SelectField","STATES_ABBR","stateAbbr","CheckboxField","Trans"],"mappings":"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"}
1
+ {"version":3,"file":"HomeAddress.js","sources":["../../../../src/components/Employee/Profile/HomeAddress.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { useProfile } from './useProfile'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { CheckboxField, Grid, SelectField, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const HomeAddressSchema = z.union([\n // Case 1: selfOnboarding is false or undefined\n z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().refine(zip => /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/.test(zip)),\n courtesyWithholding: z.boolean(),\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true\n z.object({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport type HomeAddressInputs = z.infer<typeof HomeAddressSchema>\n\nexport const HomeAddress = () => {\n const { t } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const { isSelfOnboardingIntended, isAdmin } = useProfile()\n\n const { watch } = useFormContext<HomeAddressInputs>()\n const watchedCourtesyWithholding = watch('courtesyWithholding')\n\n if (isAdmin && isSelfOnboardingIntended) {\n return null\n }\n\n return (\n <>\n <div>\n <Components.Heading as=\"h2\">{t('formTitle')}</Components.Heading>\n <Components.Text>{t('desc')}</Components.Text>\n </div>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: ['1fr', '1fr'],\n }}\n gap={20}\n >\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n isRequired\n label={t('city')}\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n isRequired\n label={t('zip')}\n errorMessage={t('validations.zip')}\n />\n </Grid>\n <CheckboxField\n name=\"courtesyWithholding\"\n label={t('courtesyWithholdingLabel')}\n description={\n <>\n {t('courtesyWhithholdingDescription')}\n <Trans t={t} i18nKey=\"learnMoreCta\" components={{ learnMore: <Components.Link /> }} />\n </>\n }\n />\n {watchedCourtesyWithholding && (\n <Components.Alert label={t('withholdingTitle')} status=\"warning\">\n <Trans t={t} i18nKey=\"withholdingNote\" />\n </Components.Alert>\n )}\n </>\n )\n}\n"],"names":["HomeAddressSchema","z","zip","HomeAddress","t","useTranslation","Components","useComponentContext","isSelfOnboardingIntended","isAdmin","useProfile","watch","useFormContext","watchedCourtesyWithholding","jsxs","Fragment","jsx","Grid","TextInputField","SelectField","STATES_ABBR","stateAbbr","CheckboxField","Trans"],"mappings":";;;;;;;;;;;;AAQa,MAAAA,IAAoBC,EAAE,MAAM;AAAA;AAAA,EAEvCA,EAAE,OAAO;AAAA,IACP,SAASA,EAAE,SAAS,IAAI,CAAC;AAAA,IACzB,SAASA,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,MAAMA,EAAE,SAAS,IAAI,CAAC;AAAA,IACtB,OAAOA,EAAE,SAAS,IAAI,CAAC;AAAA,IACvB,KAAKA,EAAE,OAAO,EAAE,OAAO,CAAOC,MAAA,4BAA4B,KAAKA,CAAG,CAAC;AAAA,IACnE,qBAAqBD,EAAE,QAAQ;AAAA,IAC/B,gBAAgBA,EAAE,MAAM,CAACA,EAAE,QAAQ,EAAK,GAAGA,EAAE,WAAW,CAAC;AAAA,EAAA,CAC1D;AAAA;AAAA,EAEDA,EAAE,OAAO;AAAA,IACP,gBAAgBA,EAAE,QAAQ,EAAI;AAAA,EAC/B,CAAA;AACH,CAAC,GAIYE,IAAc,MAAM;AAC/B,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,sBAAsB,GAC7CC,IAAaC,EAAoB,GACjC,EAAE,0BAAAC,GAA0B,SAAAC,EAAQ,IAAIC,EAAW,GAEnD,EAAE,OAAAC,EAAM,IAAIC,EAAkC,GAC9CC,IAA6BF,EAAM,qBAAqB;AAE9D,SAAIF,KAAWD,IACN,OAKL,gBAAAM,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAAC,OACC,EAAA,UAAA;AAAA,MAAA,gBAAAE,EAACV,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,WAAW,GAAE;AAAA,wBAC3CE,EAAW,MAAX,EAAiB,UAAAF,EAAE,MAAM,EAAE,CAAA;AAAA,IAAA,GAC9B;AAAA,IACA,gBAAAU;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,qBAAqB;AAAA,UACnB,MAAM;AAAA,UACN,OAAO,CAAC,OAAO,KAAK;AAAA,QACtB;AAAA,QACA,KAAK;AAAA,QAEL,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAOd,EAAE,SAAS;AAAA,cAClB,YAAU;AAAA,cACV,cAAcA,EAAE,qBAAqB;AAAA,YAAA;AAAA,UACvC;AAAA,4BACCc,GAAe,EAAA,MAAK,WAAU,OAAOd,EAAE,SAAS,GAAG;AAAA,UACpD,gBAAAY;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,YAAU;AAAA,cACV,OAAOd,EAAE,MAAM;AAAA,cACf,cAAcA,EAAE,kBAAkB;AAAA,YAAA;AAAA,UACpC;AAAA,UACA,gBAAAY;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAASC,EAAY,IAAI,CAACC,OAA6C;AAAA,gBACrE,OAAOjB,EAAE,cAAciB,CAAS,IAAI,EAAE,IAAI,UAAU;AAAA,gBACpD,OAAOA;AAAA,cAAA,EACP;AAAA,cACF,OAAOjB,EAAE,OAAO;AAAA,cAChB,aAAaA,EAAE,kBAAkB;AAAA,cACjC,cAAcA,EAAE,mBAAmB;AAAA,cACnC,YAAU;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAY;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,YAAU;AAAA,cACV,OAAOd,EAAE,KAAK;AAAA,cACd,cAAcA,EAAE,iBAAiB;AAAA,YAAA;AAAA,UAAA;AAAA,QACnC;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAY;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOlB,EAAE,0BAA0B;AAAA,QACnC,aAEK,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAAX,EAAE,iCAAiC;AAAA,UACnC,gBAAAY,EAAAO,GAAA,EAAM,GAAAnB,GAAM,SAAQ,gBAAe,YAAY,EAAE,WAAY,gBAAAY,EAAAV,EAAW,MAAX,CAAA,CAAgB,IAAM,CAAA;AAAA,QAAA,EACtF,CAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACCO,KACE,gBAAAG,EAAAV,EAAW,OAAX,EAAiB,OAAOF,EAAE,kBAAkB,GAAG,QAAO,WACrD,UAAC,gBAAAY,EAAAO,GAAA,EAAM,GAAAnB,GAAM,SAAQ,mBAAkB,EACzC,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -2,8 +2,8 @@ import { jsxs as l, Fragment as d, jsx as a } from "react/jsx-runtime";
2
2
  import { z as r } from "zod";
3
3
  import { useFormContext as c } from "react-hook-form";
4
4
  import { useTranslation as i } from "react-i18next";
5
- import "../../../shared/constants.js";
6
5
  import { Grid as b } from "../../Common/Grid/Grid.js";
6
+ import "classnames";
7
7
  import { removeNonDigits as S, addressInline as g } from "../../../helpers/formattedStrings.js";
8
8
  import { usePlaceholderSSN as h, normalizeSSN as N } from "../../../helpers/ssn.js";
9
9
  import { SSN_REGEX as D, nameValidation as m } from "../../../helpers/validations.js";
@@ -1,54 +1,52 @@
1
- import { jsx as t, jsxs as Ee, Fragment as he } from "react/jsx-runtime";
2
- import { zodResolver as De } from "@hookform/resolvers/zod";
3
- import { useState as Se, useRef as Oe, useEffect as Pe } from "react";
4
- import { useForm as ge, useWatch as be, FormProvider as Ne } from "react-hook-form";
5
- import { useLocationsGetSuspense as Ie } from "@gusto/embedded-api/react-query/locationsGet";
6
- import { useEmployeesCreateMutation as _e } from "@gusto/embedded-api/react-query/employeesCreate";
7
- import { useEmployeesGetSuspense as we } from "@gusto/embedded-api/react-query/employeesGet";
8
- import { useEmployeeAddressesGetSuspense as ke } from "@gusto/embedded-api/react-query/employeeAddressesGet";
9
- import { useEmployeeAddressesCreateMutation as Me } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
10
- import { useEmployeeAddressesUpdateMutation as Be } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
11
- import { useEmployeeAddressesUpdateWorkAddressMutation as Re } from "@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress";
12
- import { useEmployeesUpdateMutation as Le } from "@gusto/embedded-api/react-query/employeesUpdate";
13
- import { useEmployeeAddressesGetWorkAddressesSuspense as ve } from "@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses";
14
- import { useEmployeeAddressesCreateWorkAddressMutation as Ce } from "@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress";
1
+ import { jsx as t, jsxs as fe, Fragment as Ee } from "react/jsx-runtime";
2
+ import { zodResolver as he } from "@hookform/resolvers/zod";
3
+ import { useState as De, useRef as Oe, useEffect as Se } from "react";
4
+ import { useForm as Pe, useWatch as ge, FormProvider as be } from "react-hook-form";
5
+ import { useLocationsGetSuspense as Ne } from "@gusto/embedded-api/react-query/locationsGet";
6
+ import { useEmployeesCreateMutation as Ie } from "@gusto/embedded-api/react-query/employeesCreate";
7
+ import { useEmployeesGetSuspense as _e } from "@gusto/embedded-api/react-query/employeesGet";
8
+ import { useEmployeeAddressesGetSuspense as we } from "@gusto/embedded-api/react-query/employeeAddressesGet";
9
+ import { useEmployeeAddressesCreateMutation as ke } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
10
+ import { useEmployeeAddressesUpdateMutation as Me } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
11
+ import { useEmployeeAddressesUpdateWorkAddressMutation as Be } from "@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress";
12
+ import { useEmployeesUpdateMutation as Re } from "@gusto/embedded-api/react-query/employeesUpdate";
13
+ import { useEmployeeAddressesGetWorkAddressesSuspense as Le } from "@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses";
14
+ import { useEmployeeAddressesCreateWorkAddressMutation as ve } from "@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress";
15
15
  import { RFCDate as R } from "@gusto/embedded-api/types/rfcdate";
16
16
  import { useEmployeesUpdateOnboardingStatusMutation as We } from "@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus";
17
- import { invalidateEmployeesList as Ue } from "@gusto/embedded-api/react-query/employeesList";
18
- import { useQueryClient as qe } from "@tanstack/react-query";
19
- import { AdminPersonalDetailsSchema as L, AdminSelfOnboardingPersonalDetailsSchema as Te, AdminPersonalDetails as C } from "./AdminPersonalDetails.js";
20
- import { SelfPersonalDetailsSchema as He, SelfPersonalDetails as W } from "./SelfPersonalDetails.js";
17
+ import { AdminPersonalDetailsSchema as L, AdminSelfOnboardingPersonalDetailsSchema as Ce, AdminPersonalDetails as W } from "./AdminPersonalDetails.js";
18
+ import { SelfPersonalDetailsSchema as Ue, SelfPersonalDetails as C } from "./SelfPersonalDetails.js";
21
19
  import { Head as U } from "./Head.js";
22
20
  import { Actions as q } from "./Actions.js";
23
- import { HomeAddressSchema as Ge, HomeAddress as T } from "./HomeAddress.js";
21
+ import { HomeAddressSchema as qe, HomeAddress as T } from "./HomeAddress.js";
24
22
  import { WorkAddress as H } from "./WorkAddress.js";
25
- import { ProfileProvider as Fe } from "./useProfile.js";
26
- import { getEmployeeAddressForProfile as Ve } from "./getEmployeeAddressForProfile.js";
27
- import { Form as Ye } from "../../Common/Form/Form.js";
28
- import { BaseComponent as xe } from "../../Base/Base.js";
29
- import { useBase as ze } from "../../Base/useBase.js";
30
- import { useI18n as v, useComponentDictionary as je } from "../../../i18n/I18n.js";
31
- import { EmployeeOnboardingStatus as l, EmployeeSelfOnboardingStatuses as Ke, componentEvents as d } from "../../../shared/constants.js";
32
- import { useFlow as Qe } from "../../Flow/useFlow.js";
33
- import { ensureRequired as Je } from "../../../helpers/ensureRequired.js";
34
- function m(r) {
35
- return /* @__PURE__ */ t(xe, { ...r, children: r.employeeId ? /* @__PURE__ */ t(Xe, { ...r, employeeId: r.employeeId, children: r.children }) : /* @__PURE__ */ t(G, { ...r, children: r.children }) });
23
+ import { ProfileProvider as Te } from "./useProfile.js";
24
+ import { getEmployeeAddressForProfile as He } from "./getEmployeeAddressForProfile.js";
25
+ import { Form as Ge } from "../../Common/Form/Form.js";
26
+ import { BaseComponent as Fe } from "../../Base/Base.js";
27
+ import { useBase as Ve } from "../../Base/useBase.js";
28
+ import { useI18n as v, useComponentDictionary as Ye } from "../../../i18n/I18n.js";
29
+ import { EmployeeOnboardingStatus as l, EmployeeSelfOnboardingStatuses as xe, componentEvents as d } from "../../../shared/constants.js";
30
+ import { useFlow as ze } from "../../Flow/useFlow.js";
31
+ import { ensureRequired as je } from "../../../helpers/ensureRequired.js";
32
+ function i(r) {
33
+ return /* @__PURE__ */ t(Fe, { ...r, children: r.employeeId ? /* @__PURE__ */ t(Ke, { ...r, employeeId: r.employeeId, children: r.children }) : /* @__PURE__ */ t(G, { ...r, children: r.children }) });
36
34
  }
37
- function Xe({ employeeId: r, ...a }) {
35
+ function Ke({ employeeId: r, ...a }) {
38
36
  const {
39
37
  data: { employee: u }
40
- } = we({ employeeId: r }), {
38
+ } = _e({ employeeId: r }), {
41
39
  data: { employeeAddressList: c }
42
- } = ke({ employeeId: r }), {
43
- data: { employeeWorkAddressesList: i }
44
- } = ve({ employeeId: r });
40
+ } = we({ employeeId: r }), {
41
+ data: { employeeWorkAddressesList: m }
42
+ } = Le({ employeeId: r });
45
43
  return /* @__PURE__ */ t(
46
44
  G,
47
45
  {
48
46
  ...a,
49
47
  employee: u,
50
48
  homeAddresses: c,
51
- workAddresses: i
49
+ workAddresses: m
52
50
  }
53
51
  );
54
52
  }
@@ -58,25 +56,23 @@ const G = ({
58
56
  dictionary: u,
59
57
  ...c
60
58
  }) => {
61
- v("Employee.Profile"), v("Employee.HomeAddress"), je("Employee.Profile", u);
59
+ v("Employee.Profile"), v("Employee.HomeAddress"), Ye("Employee.Profile", u);
62
60
  const {
63
- companyId: i,
61
+ companyId: m,
64
62
  employee: D,
65
63
  homeAddresses: F,
66
64
  workAddresses: g,
67
65
  children: b,
68
66
  className: V = "",
69
67
  defaultValues: s
70
- } = c, { onEvent: n, baseSubmitHandler: Y } = ze(), x = qe(), [z, N] = Se(L), { data: j } = Ie({ companyId: i }), K = j.locationList, { mutateAsync: Q, isPending: J } = _e(), { mutateAsync: X, isPending: Z } = Le(), { mutateAsync: $, isPending: ee } = Ce(), { mutateAsync: re, isPending: te } = Re(), { mutateAsync: oe, isPending: se } = Me(), { mutateAsync: ne, isPending: de } = Be(), {
71
- mutateAsync: ie,
72
- isPending: me
73
- } = We({
74
- onSettled: () => Ue(x, [i])
75
- }), I = { employee: D, workAddresses: g }, ae = Ve(F), le = I.workAddresses?.find((P) => P.active), e = Oe({
68
+ } = c, { onEvent: n, baseSubmitHandler: Y } = Ve(), [x, N] = De(L), { data: z } = Ne({ companyId: m }), j = z.locationList, { mutateAsync: K, isPending: J } = Ie(), { mutateAsync: Q, isPending: X } = Re(), { mutateAsync: Z, isPending: $ } = ve(), { mutateAsync: ee, isPending: re } = Be(), { mutateAsync: te, isPending: oe } = ke(), { mutateAsync: se, isPending: ne } = Me(), {
69
+ mutateAsync: de,
70
+ isPending: ie
71
+ } = We(), I = { employee: D, workAddresses: g }, ae = He(F), me = I.workAddresses?.find((P) => P.active), e = Oe({
76
72
  employee: I.employee,
77
73
  homeAddress: ae,
78
- workAddress: le
79
- }), S = {
74
+ workAddress: me
75
+ }), O = {
80
76
  firstName: e.current.employee?.firstName ?? s?.employee?.firstName ?? "",
81
77
  middleInitial: e.current.employee?.middleInitial ?? s?.employee?.middleInitial ?? "",
82
78
  lastName: e.current.employee?.lastName ?? s?.employee?.lastName ?? "",
@@ -91,33 +87,33 @@ const G = ({
91
87
  zip: e.current.homeAddress?.zip ?? s?.homeAddress?.zip ?? "",
92
88
  state: e.current.homeAddress?.state ?? s?.homeAddress?.state ?? "",
93
89
  courtesyWithholding: e.current.homeAddress?.courtesyWithholding ?? !1
94
- }, ue = e.current.employee?.onboarded || e.current.employee?.onboardingStatus === l.ONBOARDING_COMPLETED || e.current.employee?.onboardingStatus !== void 0 && e.current.employee.onboardingStatus !== l.ADMIN_ONBOARDING_INCOMPLETE ? { ...S, enableSsn: !1, selfOnboarding: !0 } : {
95
- ...S,
90
+ }, le = e.current.employee?.onboarded || e.current.employee?.onboardingStatus === l.ONBOARDING_COMPLETED || e.current.employee?.onboardingStatus !== void 0 && e.current.employee.onboardingStatus !== l.ADMIN_ONBOARDING_INCOMPLETE ? { ...O, enableSsn: !1, selfOnboarding: !0 } : {
91
+ ...O,
96
92
  selfOnboarding: a && e.current.employee?.onboardingStatus ? (
97
93
  // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses
98
- Ke.has(e.current.employee.onboarding_status)
94
+ xe.has(e.current.employee.onboarding_status)
99
95
  ) : !1,
100
96
  enableSsn: !e.current.employee?.hasSsn,
101
97
  ssn: ""
102
- }, ce = {
103
- ...S,
98
+ }, ue = {
99
+ ...O,
104
100
  enableSsn: !e.current.employee?.hasSsn,
105
101
  ssn: ""
106
- }, O = ge({
107
- resolver: De(
108
- (r ? z : He).and(Ge)
102
+ }, S = Pe({
103
+ resolver: he(
104
+ (r ? x : Ue).and(qe)
109
105
  ),
110
- defaultValues: r ? ue : ce
111
- }), { handleSubmit: pe } = O, A = be({ control: O.control, name: "selfOnboarding" });
112
- Pe(() => {
113
- r && N(A ? Te : L);
106
+ defaultValues: r ? le : ue
107
+ }), { handleSubmit: ce } = S, A = ge({ control: S.control, name: "selfOnboarding" });
108
+ Se(() => {
109
+ r && N(A ? Ce : L);
114
110
  }, [A, r]);
115
- const ye = async (P) => {
111
+ const pe = async (P) => {
116
112
  await Y(P, async (f) => {
117
- const { workAddress: _, startDate: fe, selfOnboarding: E, ...h } = f;
113
+ const { workAddress: _, startDate: Ae, selfOnboarding: E, ...h } = f;
118
114
  if (e.current.employee) {
119
115
  if (E && e.current.employee.onboardingStatus === l.ADMIN_ONBOARDING_INCOMPLETE || !E && e.current.employee.onboardingStatus === l.SELF_ONBOARDING_PENDING_INVITE) {
120
- const { employeeOnboardingStatus: p } = await ie({
116
+ const { employeeOnboardingStatus: p } = await de({
121
117
  request: {
122
118
  employeeId: e.current.employee.uuid,
123
119
  requestBody: {
@@ -130,7 +126,7 @@ const G = ({
130
126
  onboardingStatus: p.onboardingStatus
131
127
  }, n(d.EMPLOYEE_ONBOARDING_STATUS_UPDATED, p);
132
128
  }
133
- const { employee: o } = await X({
129
+ const { employee: o } = await Q({
134
130
  request: {
135
131
  employeeId: e.current.employee.uuid,
136
132
  requestBody: { ...h, version: e.current.employee.version }
@@ -138,9 +134,9 @@ const G = ({
138
134
  });
139
135
  e.current = { ...e.current, employee: o }, n(d.EMPLOYEE_UPDATED, o);
140
136
  } else {
141
- const { employee: o } = await Q({
137
+ const { employee: o } = await K({
142
138
  request: {
143
- companyId: i,
139
+ companyId: m,
144
140
  requestBody: {
145
141
  ...h,
146
142
  selfOnboarding: E,
@@ -155,7 +151,7 @@ const G = ({
155
151
  if ((!A || !r) && !f.selfOnboarding) {
156
152
  const { street1: o, street2: p, city: w, state: k, zip: M, courtesyWithholding: B } = f;
157
153
  if (e.current.homeAddress) {
158
- const { employeeAddress: y } = await ne({
154
+ const { employeeAddress: y } = await se({
159
155
  request: {
160
156
  homeAddressUuid: e.current.homeAddress.uuid,
161
157
  requestBody: {
@@ -171,7 +167,7 @@ const G = ({
171
167
  });
172
168
  e.current = { ...e.current, homeAddress: y }, n(d.EMPLOYEE_HOME_ADDRESS_UPDATED, y);
173
169
  } else {
174
- const { employeeAddress: y } = await oe({
170
+ const { employeeAddress: y } = await te({
175
171
  request: {
176
172
  employeeId: e.current.employee.uuid,
177
173
  requestBody: {
@@ -189,7 +185,7 @@ const G = ({
189
185
  }
190
186
  if (r)
191
187
  if (e.current.workAddress) {
192
- const { employeeWorkAddress: o } = await re({
188
+ const { employeeWorkAddress: o } = await ee({
193
189
  request: {
194
190
  workAddressUuid: e.current.workAddress.uuid,
195
191
  requestBody: {
@@ -200,7 +196,7 @@ const G = ({
200
196
  });
201
197
  e.current = { ...e.current, workAddress: o }, n(d.EMPLOYEE_WORK_ADDRESS_UPDATED, o);
202
198
  } else {
203
- const { employeeWorkAddress: o } = await $({
199
+ const { employeeWorkAddress: o } = await Z({
204
200
  request: {
205
201
  employeeId: e.current.employee?.uuid,
206
202
  requestBody: {
@@ -213,29 +209,29 @@ const G = ({
213
209
  }
214
210
  n(d.EMPLOYEE_PROFILE_DONE, {
215
211
  ...e.current.employee,
216
- startDate: fe
212
+ startDate: Ae
217
213
  });
218
214
  });
219
- }, Ae = () => {
215
+ }, ye = () => {
220
216
  n(d.CANCEL);
221
217
  };
222
218
  return /* @__PURE__ */ t("section", { className: V, children: /* @__PURE__ */ t(
223
- Fe,
219
+ Te,
224
220
  {
225
221
  value: {
226
- companyLocations: K,
222
+ companyLocations: j,
227
223
  workAddresses: g,
228
224
  employee: e.current.employee ?? void 0,
229
225
  isSelfOnboardingIntended: A,
230
- handleCancel: Ae,
226
+ handleCancel: ye,
231
227
  isAdmin: r,
232
228
  isSelfOnboardingEnabled: a,
233
- isPending: Z || te || se || de || J || ee || me
229
+ isPending: X || re || oe || ne || J || $ || ie
234
230
  },
235
- children: /* @__PURE__ */ t(Ne, { ...O, children: /* @__PURE__ */ t(Ye, { onSubmit: pe(ye), children: b || /* @__PURE__ */ Ee(he, { children: [
231
+ children: /* @__PURE__ */ t(be, { ...S, children: /* @__PURE__ */ t(Ge, { onSubmit: ce(pe), children: b || /* @__PURE__ */ fe(Ee, { children: [
236
232
  /* @__PURE__ */ t(U, {}),
237
- /* @__PURE__ */ t(C, {}),
238
233
  /* @__PURE__ */ t(W, {}),
234
+ /* @__PURE__ */ t(C, {}),
239
235
  /* @__PURE__ */ t(T, {}),
240
236
  /* @__PURE__ */ t(H, {}),
241
237
  /* @__PURE__ */ t(q, {})
@@ -243,28 +239,28 @@ const G = ({
243
239
  }
244
240
  ) });
245
241
  };
246
- m.Head = U;
247
- m.Actions = q;
248
- m.AdminPersonalDetails = C;
249
- m.SelfPersonalDetails = W;
250
- m.HomeAddress = T;
251
- m.WorkAddress = H;
252
- const Br = () => {
253
- const { companyId: r, employeeId: a, onEvent: u, isAdmin: c, defaultValues: i, isSelfOnboardingEnabled: D } = Qe();
242
+ i.Head = U;
243
+ i.Actions = q;
244
+ i.AdminPersonalDetails = W;
245
+ i.SelfPersonalDetails = C;
246
+ i.HomeAddress = T;
247
+ i.WorkAddress = H;
248
+ const Ir = () => {
249
+ const { companyId: r, employeeId: a, onEvent: u, isAdmin: c, defaultValues: m, isSelfOnboardingEnabled: D } = ze();
254
250
  return /* @__PURE__ */ t(
255
- m,
251
+ i,
256
252
  {
257
- companyId: Je(r),
253
+ companyId: je(r),
258
254
  employeeId: a,
259
255
  onEvent: u,
260
256
  isAdmin: c,
261
- defaultValues: i?.profile,
257
+ defaultValues: m?.profile,
262
258
  isSelfOnboardingEnabled: D
263
259
  }
264
260
  );
265
261
  };
266
262
  export {
267
- m as Profile,
268
- Br as ProfileContextual
263
+ i as Profile,
264
+ Ir as ProfileContextual
269
265
  };
270
266
  //# sourceMappingURL=Profile.js.map