@gusto/embedded-react-sdk 0.40.0 → 0.42.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 (309) hide show
  1. package/CHANGELOG.md +77 -42
  2. package/dist/assets/icons/house.svg.js +10 -0
  3. package/dist/assets/icons/house.svg.js.map +1 -0
  4. package/dist/components/Common/EmptyData/EmptyData.d.ts +3 -0
  5. package/dist/components/Common/EmptyData/EmptyData.js +11 -11
  6. package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
  7. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +8 -6
  8. package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
  9. package/dist/components/Common/Form/Form.d.ts +1 -1
  10. package/dist/components/Common/Form/Form.js +15 -5
  11. package/dist/components/Common/Form/Form.js.map +1 -1
  12. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
  13. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  14. package/dist/components/Common/UI/TextInput/TextInput.js +37 -35
  15. package/dist/components/Common/UI/TextInput/TextInput.js.map +1 -1
  16. package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -1
  17. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  18. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -1
  19. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +78 -61
  20. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  21. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/index.d.ts +1 -1
  22. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +7 -6
  23. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +54 -54
  24. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
  25. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +11 -15
  26. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  27. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -1
  28. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  29. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +37 -35
  30. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  31. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +6 -1
  32. package/dist/components/Company/PaySchedule/PaySchedule.js +31 -148
  33. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  34. package/dist/components/Company/PaySchedule/PayScheduleComponents.d.ts +10 -0
  35. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +26 -0
  36. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -0
  37. package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +8 -0
  38. package/dist/components/Company/PaySchedule/PayScheduleForm.js +186 -0
  39. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -0
  40. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +12 -0
  41. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js.map +1 -0
  42. package/dist/components/Company/PaySchedule/PayScheduleList.d.ts +8 -0
  43. package/dist/components/Company/PaySchedule/PayScheduleList.js +102 -0
  44. package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -0
  45. package/dist/components/Company/PaySchedule/{_parts/List.module.scss.js → PayScheduleList.module.scss.js} +1 -1
  46. package/dist/components/Company/PaySchedule/PayScheduleList.module.scss.js.map +1 -0
  47. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +6 -0
  48. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +49 -0
  49. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -0
  50. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +11 -1
  51. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  52. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +13 -16
  53. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  54. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +61 -63
  55. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  56. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +11 -11
  57. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  58. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +88 -111
  59. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  60. package/dist/components/Employee/Compensation/Edit.js +8 -8
  61. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +2 -0
  62. package/dist/components/Employee/Dashboard/DashboardComponents.js +18 -6
  63. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  64. package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +2 -0
  65. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +55 -4
  66. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  67. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +0 -33
  68. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +130 -214
  69. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  70. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +79 -56
  71. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  72. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.d.ts +2 -3
  73. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.js.map +1 -1
  74. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/index.d.ts +2 -2
  75. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +0 -1
  76. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js +33 -49
  77. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  78. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +12 -3
  79. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  80. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -0
  81. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -0
  82. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -0
  83. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -0
  84. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -0
  85. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +6 -0
  86. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +48 -0
  87. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -0
  88. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +18 -0
  89. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +476 -0
  90. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -0
  91. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +8 -0
  92. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js +36 -0
  93. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -0
  94. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.test.d.ts +1 -0
  95. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +45 -0
  96. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +112 -0
  97. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -0
  98. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +1 -1
  99. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  100. package/dist/components/Employee/PaymentMethod/Split.js +22 -21
  101. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  102. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +1 -1
  103. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  104. package/dist/components/Employee/Profile/AdminProfile.js +144 -146
  105. package/dist/components/Employee/Profile/AdminProfile.js.map +1 -1
  106. package/dist/components/Employee/Profile/EmployeeProfile.js +34 -30
  107. package/dist/components/Employee/Profile/EmployeeProfile.js.map +1 -1
  108. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +37 -36
  109. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  110. package/dist/components/Employee/Profile/shared/useHomeAddressForm/index.d.ts +2 -0
  111. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +3 -0
  112. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +24 -0
  113. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -0
  114. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +9 -3
  115. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +97 -97
  116. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  117. package/dist/components/Employee/Profile/shared/useWorkAddressForm/index.d.ts +2 -0
  118. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +3 -0
  119. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +24 -0
  120. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -0
  121. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +10 -4
  122. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +95 -84
  123. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  124. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +11 -9
  125. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  126. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +71 -89
  127. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  128. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +6 -0
  129. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +48 -0
  130. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -0
  131. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +16 -0
  132. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +367 -0
  133. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -0
  134. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +4 -0
  135. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js +35 -0
  136. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -0
  137. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +45 -0
  138. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +143 -0
  139. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -0
  140. package/dist/components/Employee/exports/employeeManagement.d.ts +3 -1
  141. package/dist/components/Employee/exports/employeeManagement.js +12 -10
  142. package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
  143. package/dist/components/Employee/exports/employeeOnboarding.d.ts +1 -1
  144. package/dist/components/Employee/exports/employeeOnboarding.js +1 -1
  145. package/dist/components/Employee/index.d.ts +5 -1
  146. package/dist/components/Employee/index.js +37 -33
  147. package/dist/components/Employee/index.js.map +1 -1
  148. package/dist/components/Flow/Flow.js +23 -50
  149. package/dist/components/Flow/Flow.js.map +1 -1
  150. package/dist/components/Flow/FlowHeader.d.ts +16 -0
  151. package/dist/components/Flow/FlowHeader.js +89 -0
  152. package/dist/components/Flow/FlowHeader.js.map +1 -0
  153. package/dist/components/Flow/useFlow.d.ts +33 -6
  154. package/dist/components/Flow/useFlow.js.map +1 -1
  155. package/dist/components/Payroll/Dismissal/DismissalFlow.js +20 -18
  156. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  157. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +10 -10
  158. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  159. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +17 -19
  160. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
  161. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +13 -11
  162. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  163. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +9 -9
  164. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  165. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +25 -29
  166. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  167. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +43 -42
  168. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  169. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -42
  170. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  171. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +18 -17
  172. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  173. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +69 -78
  174. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  175. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +13 -12
  176. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  177. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +51 -82
  178. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  179. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +45 -43
  180. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  181. package/dist/components/Payroll/Transition/TransitionFlow.js +17 -15
  182. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  183. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -24
  184. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  185. package/dist/components/Payroll/Transition/transitionStateMachine.js +25 -29
  186. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  187. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +1 -0
  188. package/dist/helpers/breadcrumbHelpers.d.ts +35 -22
  189. package/dist/helpers/breadcrumbHelpers.js +45 -35
  190. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  191. package/dist/helpers/dateFormatting.d.ts +12 -0
  192. package/dist/helpers/dateFormatting.js +72 -65
  193. package/dist/helpers/dateFormatting.js.map +1 -1
  194. package/dist/helpers/formattedStrings.d.ts +2 -0
  195. package/dist/helpers/formattedStrings.js +30 -27
  196. package/dist/helpers/formattedStrings.js.map +1 -1
  197. package/dist/i18n/I18n.js +130 -35
  198. package/dist/i18n/I18n.js.map +1 -1
  199. package/dist/i18n/en/Company.PaySchedule.json.js +15 -13
  200. package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
  201. package/dist/i18n/en/Employee.HomeAddress.Management.json.js +60 -0
  202. package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -0
  203. package/dist/i18n/en/Employee.HomeAddress.json.js +22 -20
  204. package/dist/i18n/en/Employee.HomeAddress.json.js.map +1 -1
  205. package/dist/i18n/en/Employee.I9SignatureForm.json.js +79 -75
  206. package/dist/i18n/en/Employee.I9SignatureForm.json.js.map +1 -1
  207. package/dist/i18n/en/Employee.PaymentMethod.json.js +13 -13
  208. package/dist/i18n/en/Employee.WorkAddress.Management.json.js +62 -0
  209. package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -0
  210. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js +14 -10
  211. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js.map +1 -1
  212. package/dist/i18n/en/common.json.d.ts +1 -0
  213. package/dist/i18n/en/common.json.js +28 -26
  214. package/dist/i18n/en/common.json.js.map +1 -1
  215. package/dist/index.d.ts +6 -6
  216. package/dist/index.js +72 -68
  217. package/dist/index.js.map +1 -1
  218. package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +4 -2
  219. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +19 -13
  220. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  221. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
  222. package/dist/partner-hook-utils/form/fields/SelectHookField.js +21 -17
  223. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  224. package/dist/shared/constants.d.ts +4 -0
  225. package/dist/shared/constants.js +14 -12
  226. package/dist/shared/constants.js.map +1 -1
  227. package/dist/style.css +1 -1
  228. package/dist/types/i18next.d.ts +98 -1
  229. package/docs/reference/endpoint-inventory.json +88 -43
  230. package/package.json +10 -10
  231. package/dist/_virtual/dynamic-import-helper.js +0 -17
  232. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  233. package/dist/components/Common/SignatureForm/SignatureForm.d.ts +0 -14
  234. package/dist/components/Common/SignatureForm/SignatureForm.js +0 -26
  235. package/dist/components/Common/SignatureForm/SignatureForm.js.map +0 -1
  236. package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js +0 -10
  237. package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js.map +0 -1
  238. package/dist/components/Common/SignatureForm/SignatureFormActions.d.ts +0 -8
  239. package/dist/components/Common/SignatureForm/SignatureFormActions.js +0 -19
  240. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +0 -1
  241. package/dist/components/Common/SignatureForm/SignatureFormFields.d.ts +0 -9
  242. package/dist/components/Common/SignatureForm/SignatureFormFields.js +0 -36
  243. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +0 -1
  244. package/dist/components/Common/SignatureForm/index.d.ts +0 -5
  245. package/dist/components/Company/DocumentSigner/SignatureForm/Actions.d.ts +0 -1
  246. package/dist/components/Company/DocumentSigner/SignatureForm/Actions.js +0 -20
  247. package/dist/components/Company/DocumentSigner/SignatureForm/Actions.js.map +0 -1
  248. package/dist/components/Company/DocumentSigner/SignatureForm/Form.d.ts +0 -1
  249. package/dist/components/Company/DocumentSigner/SignatureForm/Form.js +0 -20
  250. package/dist/components/Company/DocumentSigner/SignatureForm/Form.js.map +0 -1
  251. package/dist/components/Company/DocumentSigner/SignatureForm/Head.d.ts +0 -1
  252. package/dist/components/Company/DocumentSigner/SignatureForm/Head.js +0 -35
  253. package/dist/components/Company/DocumentSigner/SignatureForm/Head.js.map +0 -1
  254. package/dist/components/Company/DocumentSigner/SignatureForm/Preview.d.ts +0 -1
  255. package/dist/components/Company/DocumentSigner/SignatureForm/Preview.js +0 -20
  256. package/dist/components/Company/DocumentSigner/SignatureForm/Preview.js.map +0 -1
  257. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.d.ts +0 -9
  258. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +0 -22
  259. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +0 -1
  260. package/dist/components/Company/PaySchedule/_parts/Actions.d.ts +0 -1
  261. package/dist/components/Company/PaySchedule/_parts/Actions.js +0 -62
  262. package/dist/components/Company/PaySchedule/_parts/Actions.js.map +0 -1
  263. package/dist/components/Company/PaySchedule/_parts/Edit.d.ts +0 -1
  264. package/dist/components/Company/PaySchedule/_parts/Edit.js +0 -134
  265. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +0 -1
  266. package/dist/components/Company/PaySchedule/_parts/Edit.module.scss.js +0 -14
  267. package/dist/components/Company/PaySchedule/_parts/Edit.module.scss.js.map +0 -1
  268. package/dist/components/Company/PaySchedule/_parts/Head.d.ts +0 -1
  269. package/dist/components/Company/PaySchedule/_parts/Head.js +0 -47
  270. package/dist/components/Company/PaySchedule/_parts/Head.js.map +0 -1
  271. package/dist/components/Company/PaySchedule/_parts/List.d.ts +0 -1
  272. package/dist/components/Company/PaySchedule/_parts/List.js +0 -57
  273. package/dist/components/Company/PaySchedule/_parts/List.js.map +0 -1
  274. package/dist/components/Company/PaySchedule/_parts/List.module.scss.js.map +0 -1
  275. package/dist/components/Company/PaySchedule/_parts/index.d.ts +0 -5
  276. package/dist/components/Company/PaySchedule/usePaySchedule.d.ts +0 -39
  277. package/dist/components/Company/PaySchedule/usePaySchedule.js +0 -30
  278. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +0 -1
  279. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.d.ts +0 -1
  280. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js +0 -20
  281. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js.map +0 -1
  282. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.d.ts +0 -1
  283. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js +0 -20
  284. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js.map +0 -1
  285. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.d.ts +0 -1
  286. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js +0 -35
  287. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js.map +0 -1
  288. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.d.ts +0 -1
  289. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js +0 -20
  290. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js.map +0 -1
  291. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.d.ts +0 -9
  292. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +0 -20
  293. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +0 -1
  294. package/dist/components/Employee/employee-list/management/ManagementEmployeeList.js.map +0 -1
  295. package/dist/components/Employee/employee-list/management/ManagementEmployeeListView.js.map +0 -1
  296. package/dist/components/Employee/employee-list/onboarding/EmployeeList.js.map +0 -1
  297. package/dist/components/Employee/employee-list/onboarding/EmployeeListView.js.map +0 -1
  298. package/dist/components/Employee/employee-list/shared/useEmployeeList.js.map +0 -1
  299. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.d.ts +0 -0
  300. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.js +0 -0
  301. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.d.ts +0 -0
  302. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.js +0 -0
  303. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.d.ts +0 -0
  304. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.js +0 -0
  305. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.d.ts +0 -0
  306. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.js +0 -0
  307. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/index.d.ts +0 -0
  308. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.d.ts +0 -0
  309. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: TerminateEmployeeContextual,\n currentBreadcrumbId: 'form',\n progressBarType: 'breadcrumbs',\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: TerminationSummaryContextual,\n currentBreadcrumbId: 'summary',\n progressBarType: 'breadcrumbs',\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...ctx,\n component: DismissalFlowContextual,\n currentBreadcrumbId: 'dismissal',\n progressBarType: null,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n currentBreadcrumbId: 'form',\n progressBarType: 'breadcrumbs',\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n currentBreadcrumbId: 'summary',\n progressBarType: 'breadcrumbs',\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n currentBreadcrumbId: 'summary',\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminationSummaryContextual,\n alerts: undefined,\n currentBreadcrumbId: 'summary',\n }\n },\n ),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n alerts: undefined,\n currentBreadcrumbId: 'form',\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n currentBreadcrumbId: 'form',\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n progressBarType: null,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...ctx,\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n progressBarType: null,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce(\n (ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...ctx,\n component: PayrollLandingContextual,\n payrollOption: undefined,\n progressBarType: null,\n }),\n ),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":"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"}
1
+ {"version":3,"file":"terminationStateMachine.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/terminationStateMachine.ts"],"sourcesContent":["import { transition, reduce, state, guard } from 'robot3'\nimport type { PayrollOption } from '../types'\nimport type {\n TerminationFlowContextInterface,\n TerminationFlowAlert,\n} from './TerminationFlowComponents'\nimport {\n TerminateEmployeeContextual,\n TerminationSummaryContextual,\n DismissalFlowContextual,\n PayrollLandingContextual,\n} from './TerminationFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_TERMINATION_DONE]: {\n employeeId: string\n effectiveDate: string\n payrollOption: PayrollOption\n payrollUuid?: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY]: {\n employeeId: string\n effectiveDate: string\n payrollOption?: PayrollOption\n }\n [componentEvents.EMPLOYEE_TERMINATION_EDIT]: {\n employeeId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_CANCELLED]: {\n employeeId: string\n alert?: TerminationFlowAlert\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL]: {\n employeeId: string\n companyId: string\n }\n [componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL]: {\n employeeId: string\n companyId: string\n payrollUuid?: string\n }\n}\n\nexport const terminationBreadcrumbNodes: BreadcrumbNodes = {\n form: {\n parent: null,\n item: {\n id: 'form',\n label: 'breadcrumbs.form',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n })) as (context: unknown) => unknown,\n },\n },\n summary: {\n parent: 'form',\n item: {\n id: 'summary',\n label: 'breadcrumbs.summary',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n })) as (context: unknown) => unknown,\n },\n },\n dismissal: {\n parent: 'summary',\n item: {\n id: 'dismissal',\n label: 'breadcrumbs.dismissal',\n namespace: 'Employee.Terminations.TerminationFlow',\n onNavigate: ((ctx: TerminationFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toFormReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n }\n}\n\nfunction toSummaryReducer(ctx: TerminationFlowContextInterface): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n }\n}\n\nconst formBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'form',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'form',\n ),\n reduce(toFormReducer),\n)\n\nconst summaryBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'summary',\n guard(\n (_ctx: TerminationFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'summary',\n ),\n reduce(toSummaryReducer),\n)\n\nexport const terminationMachine = {\n form: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_DONE,\n 'summary',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_TERMINATION_DONE>,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n payrollOption: ev.payload.payrollOption,\n payrollUuid: ev.payload.payrollUuid,\n alerts: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY,\n 'summary',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'summary' }),\n component: TerminationSummaryContextual,\n alerts: undefined,\n }\n }),\n ),\n ),\n summary: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_TERMINATION_EDIT,\n 'form',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: undefined,\n }\n }),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_CANCELLED,\n 'form',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_CANCELLED\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'form' }),\n component: TerminateEmployeeContextual,\n alerts: ev.payload.alert ? [ev.payload.alert] : undefined,\n payrollOption: undefined,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL,\n 'dismissalPayroll',\n reduce(\n (\n ctx: TerminationFlowContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof componentEvents.EMPLOYEE_TERMINATION_RUN_PAYROLL\n >,\n ): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: ev.payload.payrollUuid ?? ctx.payrollUuid,\n }\n },\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,\n 'dismissalPayroll',\n reduce((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: DismissalFlowContextual,\n payrollUuid: undefined,\n }\n }),\n ),\n formBreadcrumbTransition,\n ),\n dismissalPayroll: state<MachineTransition>(\n transition(\n componentEvents.PAYROLL_EXIT_FLOW,\n 'payrollLanding',\n reduce(\n (ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\n }),\n ),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","patchBreadcrumbsHeader","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state","PayrollLandingContextual"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BaseComponentInterface, CommonComponentInterface } from '../../../Base/Base';
2
+ export interface WorkAddressProps extends CommonComponentInterface<'Employee.WorkAddress.Management'> {
3
+ employeeId: string;
4
+ onEvent: BaseComponentInterface['onEvent'];
5
+ }
6
+ export declare function WorkAddress({ FallbackComponent, ...props }: WorkAddressProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { WorkAddressView as m } from "./WorkAddressView.js";
3
+ import { useWorkAddressManagement as A, isUseWorkAddressManagementSuccess as g } from "./useWorkAddressManagement.js";
4
+ import { BaseBoundaries as p, BaseLayout as n } from "../../../Base/Base.js";
5
+ import { useI18n as W, useComponentDictionary as c } from "../../../../i18n/I18n.js";
6
+ import { componentEvents as t } from "../../../../shared/constants.js";
7
+ function k({ employeeId: o, dictionary: d, onEvent: s }) {
8
+ W(["Employee.WorkAddress.Management"]), c("Employee.WorkAddress.Management", d);
9
+ const e = A({ employeeId: o, onEvent: s });
10
+ if (e.isLoading)
11
+ return /* @__PURE__ */ r(n, { isLoading: !0, error: e.errorHandling.errors });
12
+ if (!g(e))
13
+ return /* @__PURE__ */ r(n, { error: e.errorHandling.errors });
14
+ const i = (a) => {
15
+ a.mode === "create" ? s(t.EMPLOYEE_WORK_ADDRESS_CREATED, a.data) : s(t.EMPLOYEE_WORK_ADDRESS_UPDATED, a.data);
16
+ };
17
+ return /* @__PURE__ */ r(n, { error: e.errorHandling.errors, children: /* @__PURE__ */ r(
18
+ m,
19
+ {
20
+ editWorkAddressForm: e.data.editWorkAddressForm,
21
+ changeWorkAddressForm: e.data.changeWorkAddressForm,
22
+ workAddresses: e.data.employeeWorkAddresses,
23
+ editTargetUuid: e.data.editTargetUuid,
24
+ onEditTargetUuidChange: e.actions.setEditTargetUuid,
25
+ employeeDisplayName: e.data.employeeDisplayName,
26
+ onConfirmDelete: e.actions.confirmDeleteWorkAddress,
27
+ onWorkAddressSaved: i,
28
+ isDeletePending: e.status.isDeletePending
29
+ }
30
+ ) });
31
+ }
32
+ function M({
33
+ FallbackComponent: o,
34
+ ...d
35
+ }) {
36
+ return /* @__PURE__ */ r(
37
+ p,
38
+ {
39
+ componentName: "Employee.WorkAddress.Management",
40
+ FallbackComponent: o,
41
+ children: /* @__PURE__ */ r(k, { ...d })
42
+ }
43
+ );
44
+ }
45
+ export {
46
+ M as WorkAddress
47
+ };
48
+ //# sourceMappingURL=WorkAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddress.tsx"],"sourcesContent":["import type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { WorkAddressView } from './WorkAddressView'\nimport {\n isUseWorkAddressManagementSuccess,\n useWorkAddressManagement,\n} from './useWorkAddressManagement'\nimport {\n BaseBoundaries,\n BaseLayout,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { componentEvents } from '@/shared/constants'\n\nexport interface WorkAddressProps extends CommonComponentInterface<'Employee.WorkAddress.Management'> {\n employeeId: string\n onEvent: BaseComponentInterface['onEvent']\n}\n\nfunction WorkAddressRoot({ employeeId, dictionary, onEvent }: WorkAddressProps) {\n useI18n(['Employee.WorkAddress.Management'])\n useComponentDictionary('Employee.WorkAddress.Management', dictionary)\n\n const management = useWorkAddressManagement({ employeeId, onEvent })\n\n if (management.isLoading) {\n return <BaseLayout isLoading error={management.errorHandling.errors} />\n }\n\n if (!isUseWorkAddressManagementSuccess(management)) {\n return <BaseLayout error={management.errorHandling.errors} />\n }\n\n const handleWorkAddressSaved = (result: HookSubmitResult<EmployeeWorkAddress>) => {\n if (result.mode === 'create') {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, result.data)\n } else {\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, result.data)\n }\n }\n\n return (\n <BaseLayout error={management.errorHandling.errors}>\n <WorkAddressView\n editWorkAddressForm={management.data.editWorkAddressForm}\n changeWorkAddressForm={management.data.changeWorkAddressForm}\n workAddresses={management.data.employeeWorkAddresses}\n editTargetUuid={management.data.editTargetUuid}\n onEditTargetUuidChange={management.actions.setEditTargetUuid}\n employeeDisplayName={management.data.employeeDisplayName}\n onConfirmDelete={management.actions.confirmDeleteWorkAddress}\n onWorkAddressSaved={handleWorkAddressSaved}\n isDeletePending={management.status.isDeletePending}\n />\n </BaseLayout>\n )\n}\n\nexport function WorkAddress({\n FallbackComponent,\n ...props\n}: WorkAddressProps & BaseComponentInterface) {\n return (\n <BaseBoundaries\n componentName=\"Employee.WorkAddress.Management\"\n FallbackComponent={FallbackComponent}\n >\n <WorkAddressRoot {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["WorkAddressRoot","employeeId","dictionary","onEvent","useI18n","useComponentDictionary","management","useWorkAddressManagement","BaseLayout","isUseWorkAddressManagementSuccess","jsx","handleWorkAddressSaved","result","componentEvents","WorkAddressView","WorkAddress","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAqBA,SAASA,EAAgB,EAAE,YAAAC,GAAY,YAAAC,GAAY,SAAAC,KAA6B;AAC9E,EAAAC,EAAQ,CAAC,iCAAiC,CAAC,GAC3CC,EAAuB,mCAAmCH,CAAU;AAEpE,QAAMI,IAAaC,EAAyB,EAAE,YAAAN,GAAY,SAAAE,GAAS;AAEnE,MAAIG,EAAW;AACb,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAW,cAAc,QAAQ;AAGvE,MAAI,CAACG,EAAkCH,CAAU;AAC/C,WAAO,gBAAAI,EAACF,GAAA,EAAW,OAAOF,EAAW,cAAc,QAAQ;AAG7D,QAAMK,IAAyB,CAACC,MAAkD;AAChF,IAAIA,EAAO,SAAS,WAClBT,EAAQU,EAAgB,+BAA+BD,EAAO,IAAI,IAElET,EAAQU,EAAgB,+BAA+BD,EAAO,IAAI;AAAA,EAEtE;AAEA,SACE,gBAAAF,EAACF,GAAA,EAAW,OAAOF,EAAW,cAAc,QAC1C,UAAA,gBAAAI;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,qBAAqBR,EAAW,KAAK;AAAA,MACrC,uBAAuBA,EAAW,KAAK;AAAA,MACvC,eAAeA,EAAW,KAAK;AAAA,MAC/B,gBAAgBA,EAAW,KAAK;AAAA,MAChC,wBAAwBA,EAAW,QAAQ;AAAA,MAC3C,qBAAqBA,EAAW,KAAK;AAAA,MACrC,iBAAiBA,EAAW,QAAQ;AAAA,MACpC,oBAAoBK;AAAA,MACpB,iBAAiBL,EAAW,OAAO;AAAA,IAAA;AAAA,EAAA,GAEvC;AAEJ;AAEO,SAASS,EAAY;AAAA,EAC1B,mBAAAC;AAAA,EACA,GAAGC;AACL,GAA8C;AAC5C,SACE,gBAAAP;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAF;AAAA,MAEA,UAAA,gBAAAN,EAACV,GAAA,EAAiB,GAAGiB,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGlC;"}
@@ -0,0 +1,16 @@
1
+ import { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress';
2
+ import { UseWorkAddressFormReady } from '../../Profile/shared/useWorkAddressForm';
3
+ import { HookSubmitResult } from '../../../../partner-hook-utils/types';
4
+ export interface WorkAddressViewProps {
5
+ editWorkAddressForm: UseWorkAddressFormReady;
6
+ changeWorkAddressForm: UseWorkAddressFormReady;
7
+ /** Full list for history table, pending-future alert, and delete-confirmation lookup. */
8
+ workAddresses: EmployeeWorkAddress[] | undefined;
9
+ editTargetUuid: string | undefined;
10
+ onEditTargetUuidChange: (uuid: string | undefined) => void;
11
+ employeeDisplayName: string;
12
+ onConfirmDelete: (workAddressUuid: string) => Promise<boolean>;
13
+ onWorkAddressSaved: (result: HookSubmitResult<EmployeeWorkAddress>) => void;
14
+ isDeletePending?: boolean;
15
+ }
16
+ export declare function WorkAddressView({ editWorkAddressForm, changeWorkAddressForm, workAddresses, editTargetUuid, onEditTargetUuidChange, employeeDisplayName, onConfirmDelete, onWorkAddressSaved, isDeletePending, }: WorkAddressViewProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,367 @@
1
+ import { jsxs as r, jsx as e, Fragment as K } from "react/jsx-runtime";
2
+ import { useState as A, useRef as me, useLayoutEffect as fe, useMemo as D } from "react";
3
+ import { useTranslation as pe, Trans as he } from "react-i18next";
4
+ import { getPendingFutureWorkAddress as ge, formatPendingWorkAddressLine as Q } from "./getPendingFutureWorkAddress.js";
5
+ import De from "../../../../assets/icons/list.svg.js";
6
+ import ve from "../../../../assets/icons/pencil.svg.js";
7
+ import ye from "../../../../assets/icons/trashcan.svg.js";
8
+ import { Flex as c, FlexItem as xe } from "../../../Common/Flex/Flex.js";
9
+ import { Grid as Y } from "../../../Common/Grid/Grid.js";
10
+ import { EmptyData as Ce } from "../../../Common/EmptyData/EmptyData.js";
11
+ import { LocationField as z, EffectiveDateField as G } from "../../Profile/shared/useWorkAddressForm/fields.js";
12
+ import { WorkAddressErrorCodes as Z } from "../../Profile/shared/useWorkAddressForm/workAddressSchema.js";
13
+ import { SDKFormProvider as J } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
14
+ import { useComponentContext as Me } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
15
+ import { formatDateLongWithYear as S, normalizeToDate as be, addDays as Te } from "../../../../helpers/dateFormatting.js";
16
+ import { getStreet as R, getCityStateZip as B } from "../../../../helpers/formattedStrings.js";
17
+ import { HamburgerMenu as Le } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
18
+ import { useDataView as Se } from "../../../Common/DataView/useDataView.js";
19
+ import { DataView as Pe } from "../../../Common/DataView/DataView.js";
20
+ function _(s, u) {
21
+ if (!(!s.locationUuid || !u?.length))
22
+ return u.find((o) => o.uuid === s.locationUuid);
23
+ }
24
+ function X(s, u) {
25
+ const o = _(s, u);
26
+ if (o) {
27
+ const y = R(o).trim(), P = B(o).trim();
28
+ return { primary: y, secondary: P };
29
+ }
30
+ const H = R(s).trim(), f = B(s).trim();
31
+ return { primary: H, secondary: f };
32
+ }
33
+ function ze({
34
+ editWorkAddressForm: s,
35
+ changeWorkAddressForm: u,
36
+ workAddresses: o,
37
+ editTargetUuid: H,
38
+ onEditTargetUuidChange: f,
39
+ employeeDisplayName: y,
40
+ onConfirmDelete: P,
41
+ onWorkAddressSaved: I,
42
+ isDeletePending: N = !1
43
+ }) {
44
+ const { t } = pe("Employee.WorkAddress.Management"), i = Me(), [l, x] = A(null), [m, C] = A(null), k = me(null), [M, V] = A(void 0);
45
+ fe(() => {
46
+ if (!l) {
47
+ V(void 0);
48
+ return;
49
+ }
50
+ const n = () => {
51
+ V(k.current ?? void 0);
52
+ };
53
+ if (n(), k.current == null) {
54
+ const a = requestAnimationFrame(n);
55
+ return () => {
56
+ cancelAnimationFrame(a);
57
+ };
58
+ }
59
+ }, [l]);
60
+ const {
61
+ data: { workAddress: d, companyLocations: p },
62
+ status: j,
63
+ form: { Fields: ee }
64
+ } = s, b = ee.EffectiveDate != null, { status: O } = u, U = {
65
+ [Z.REQUIRED]: t("form.locationRequired")
66
+ }, W = {
67
+ [Z.REQUIRED]: t("form.startDateRequired")
68
+ }, T = D(
69
+ () => ge(o),
70
+ [o]
71
+ ), $ = D(() => {
72
+ if (!(!m || !o))
73
+ return o.find((n) => n.uuid === m);
74
+ }, [m, o]), te = D(() => {
75
+ const n = y.trim();
76
+ return n ? `${n}'s` : t("changePendingPossessiveFallback");
77
+ }, [y, t]), v = D(() => [...o ?? []].sort((n, a) => {
78
+ const h = n.effectiveDate ?? "", g = a.effectiveDate ?? "";
79
+ return !h && !g ? 0 : h ? g ? h.localeCompare(g) : -1 : 1;
80
+ }), [o]), q = D(
81
+ () => v.filter((n) => n.active !== !0),
82
+ [v]
83
+ ), ie = D(() => [...q].reverse(), [q]), ne = (n) => {
84
+ const a = v.findIndex((ue) => ue.uuid === n.uuid);
85
+ if (a === -1 || a >= v.length - 1) return "—";
86
+ const h = v[a + 1]?.effectiveDate;
87
+ if (!h) return "—";
88
+ const g = be(h);
89
+ if (!g) return "—";
90
+ const F = Te(g, -1), se = F.getFullYear(), ce = String(F.getMonth() + 1).padStart(2, "0"), de = String(F.getDate()).padStart(2, "0");
91
+ return S(`${se}-${ce}-${de}`);
92
+ }, re = Se({
93
+ data: ie,
94
+ columns: [
95
+ {
96
+ title: t("columns.location"),
97
+ render: (n) => {
98
+ const a = X(n, p);
99
+ return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 0, children: [
100
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: a.primary }),
101
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: a.secondary })
102
+ ] });
103
+ }
104
+ },
105
+ {
106
+ title: t("columns.startDate"),
107
+ render: (n) => n.effectiveDate ? S(n.effectiveDate) : "—"
108
+ },
109
+ {
110
+ title: t("columns.endDate"),
111
+ render: (n) => ne(n)
112
+ }
113
+ ],
114
+ itemMenu: (n) => /* @__PURE__ */ e(
115
+ Le,
116
+ {
117
+ triggerLabel: t("rowMenuAriaLabel"),
118
+ items: [
119
+ {
120
+ label: t("rowEdit"),
121
+ onClick: () => {
122
+ f(n.uuid), x("edit");
123
+ },
124
+ icon: /* @__PURE__ */ e(ve, { "aria-hidden": !0 })
125
+ },
126
+ {
127
+ label: t("rowDelete"),
128
+ onClick: () => {
129
+ n.active !== !0 && C(n.uuid);
130
+ },
131
+ icon: /* @__PURE__ */ e(ye, { "aria-hidden": !0 })
132
+ }
133
+ ]
134
+ }
135
+ ),
136
+ emptyState: () => /* @__PURE__ */ e("div", { "data-testid": "work-address-history-empty", children: /* @__PURE__ */ e(
137
+ Ce,
138
+ {
139
+ icon: /* @__PURE__ */ e(De, { "aria-hidden": !0 }),
140
+ title: t("historyEmptyTitle"),
141
+ description: t("historyEmptyDescription")
142
+ }
143
+ ) })
144
+ }), L = () => {
145
+ x(null), f(void 0);
146
+ }, oe = async () => {
147
+ if (!m)
148
+ return;
149
+ await P(m) && C(null);
150
+ }, ae = async () => {
151
+ if (!l)
152
+ return;
153
+ if (l === "edit") {
154
+ const a = await s.actions.onSubmit(
155
+ void 0,
156
+ b ? void 0 : { effectiveDate: d?.effectiveDate }
157
+ );
158
+ a && (I(a), L());
159
+ return;
160
+ }
161
+ const n = await u.actions.onSubmit();
162
+ n && (I(n), L());
163
+ }, le = l === "edit" ? j.isPending : O.isPending, w = d ? X(d, p) : null, E = d && p ? _(d, p) : void 0;
164
+ return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 24, children: [
165
+ /* @__PURE__ */ r(c, { flexDirection: "column", gap: 8, alignItems: "flex-start", children: [
166
+ /* @__PURE__ */ e(i.Heading, { as: "h1", children: t("title") }),
167
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("description") })
168
+ ] }),
169
+ /* @__PURE__ */ e(
170
+ i.Box,
171
+ {
172
+ header: /* @__PURE__ */ e(
173
+ i.BoxHeader,
174
+ {
175
+ title: t("currentSectionTitle"),
176
+ action: d ? /* @__PURE__ */ e(
177
+ i.Button,
178
+ {
179
+ variant: "secondary",
180
+ onClick: () => {
181
+ f(void 0), x("edit");
182
+ },
183
+ isLoading: j.isPending,
184
+ children: t("editCta")
185
+ }
186
+ ) : void 0
187
+ }
188
+ ),
189
+ footer: /* @__PURE__ */ e(
190
+ i.Button,
191
+ {
192
+ variant: "secondary",
193
+ onClick: () => {
194
+ f(void 0), x("create");
195
+ },
196
+ isLoading: O.isPending,
197
+ children: t("changeCta")
198
+ }
199
+ ),
200
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
201
+ d && w ? /* @__PURE__ */ r(c, { flexDirection: "column", gap: 4, children: [
202
+ /* @__PURE__ */ e(xe, { children: E ? /* @__PURE__ */ r(K, { children: [
203
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: R(E).trim() }),
204
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: B(E) })
205
+ ] }) : /* @__PURE__ */ r(K, { children: [
206
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: w.primary }),
207
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: w.secondary })
208
+ ] }) }),
209
+ d.effectiveDate ? /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("currentSince", {
210
+ date: S(d.effectiveDate)
211
+ }) }) : null
212
+ ] }) : /* @__PURE__ */ e(i.Text, { children: t("currentEmpty") }),
213
+ T ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("changePendingTitle"), children: /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("changePendingDescription", {
214
+ possessiveLabel: te,
215
+ newAddress: Q(T, p),
216
+ effectiveDate: T.effectiveDate ? S(T.effectiveDate) : "—"
217
+ }) }) }) : null
218
+ ] })
219
+ }
220
+ ),
221
+ /* @__PURE__ */ r(c, { flexDirection: "column", gap: 12, children: [
222
+ /* @__PURE__ */ e(i.Heading, { as: "h2", children: t("historySectionTitle") }),
223
+ /* @__PURE__ */ e(Pe, { label: t("historySectionTitle"), ...re })
224
+ ] }),
225
+ /* @__PURE__ */ e(
226
+ i.Modal,
227
+ {
228
+ isOpen: l !== null,
229
+ onClose: L,
230
+ shouldCloseOnBackdropClick: !1,
231
+ containerRef: k,
232
+ footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
233
+ /* @__PURE__ */ e(i.Button, { variant: "secondary", onClick: L, children: t("cancelCta") }),
234
+ /* @__PURE__ */ e(
235
+ i.Button,
236
+ {
237
+ variant: "primary",
238
+ onClick: () => {
239
+ ae();
240
+ },
241
+ isLoading: le,
242
+ children: t("submitCta")
243
+ }
244
+ )
245
+ ] }),
246
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
247
+ /* @__PURE__ */ e(i.Heading, { as: "h2", children: t(l === "edit" ? "editModalTitle" : "changeModalTitle") }),
248
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t(l === "edit" ? "editModalDescription" : "changeModalDescription") }),
249
+ l === "edit" && b ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("editPastAddressAlertTitle") }) : null,
250
+ l === "edit" ? /* @__PURE__ */ e(J, { formHookResult: s, children: /* @__PURE__ */ r(
251
+ Y,
252
+ {
253
+ gridTemplateColumns: {
254
+ base: "1fr",
255
+ small: "1fr"
256
+ },
257
+ gap: 20,
258
+ children: [
259
+ /* @__PURE__ */ e(
260
+ z,
261
+ {
262
+ label: t(b ? "form.editInactiveLocationLabel" : "form.editLocationLabel"),
263
+ description: t("form.editLocationDescription"),
264
+ validationMessages: U,
265
+ portalContainer: M
266
+ }
267
+ ),
268
+ b ? /* @__PURE__ */ e(
269
+ G,
270
+ {
271
+ label: t("form.startDateLabel"),
272
+ description: t("form.editInactiveStartDateDescription"),
273
+ validationMessages: W,
274
+ portalContainer: M
275
+ }
276
+ ) : null
277
+ ]
278
+ }
279
+ ) }) : null,
280
+ l === "create" ? /* @__PURE__ */ e(J, { formHookResult: u, children: /* @__PURE__ */ r(
281
+ Y,
282
+ {
283
+ gridTemplateColumns: {
284
+ base: "1fr",
285
+ small: "1fr"
286
+ },
287
+ gap: 20,
288
+ children: [
289
+ /* @__PURE__ */ e(
290
+ z,
291
+ {
292
+ label: t("form.newWorkAddressLabel"),
293
+ description: t("form.newWorkAddressDescription"),
294
+ validationMessages: U,
295
+ portalContainer: M
296
+ }
297
+ ),
298
+ /* @__PURE__ */ e(
299
+ G,
300
+ {
301
+ label: t("form.startDateLabel"),
302
+ description: t("form.startDateDescription"),
303
+ validationMessages: W,
304
+ portalContainer: M
305
+ }
306
+ )
307
+ ]
308
+ }
309
+ ) }) : null
310
+ ] })
311
+ }
312
+ ),
313
+ /* @__PURE__ */ e(
314
+ i.Modal,
315
+ {
316
+ isOpen: m !== null,
317
+ onClose: () => {
318
+ C(null);
319
+ },
320
+ shouldCloseOnBackdropClick: !1,
321
+ footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
322
+ /* @__PURE__ */ e(
323
+ i.Button,
324
+ {
325
+ variant: "secondary",
326
+ onClick: () => {
327
+ C(null);
328
+ },
329
+ children: t("cancelCta")
330
+ }
331
+ ),
332
+ /* @__PURE__ */ e(
333
+ i.Button,
334
+ {
335
+ variant: "error",
336
+ onClick: () => {
337
+ oe();
338
+ },
339
+ isLoading: N && m !== null,
340
+ children: t("deleteModalConfirmCta")
341
+ }
342
+ )
343
+ ] }),
344
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
345
+ /* @__PURE__ */ e(i.Heading, { as: "h2", children: t("deleteModalTitle") }),
346
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: $ ? /* @__PURE__ */ e(
347
+ he,
348
+ {
349
+ t,
350
+ i18nKey: "deleteModalDescription",
351
+ values: {
352
+ address: Q($, p)
353
+ },
354
+ components: {
355
+ strong: /* @__PURE__ */ e(i.Text, { weight: "medium", as: "span" })
356
+ }
357
+ }
358
+ ) : null })
359
+ ] })
360
+ }
361
+ )
362
+ ] });
363
+ }
364
+ export {
365
+ ze as WorkAddressView
366
+ };
367
+ //# sourceMappingURL=WorkAddressView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkAddressView.js","sources":["../../../../../src/components/Employee/WorkAddress/management/WorkAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport {\n formatPendingWorkAddressLine,\n getPendingFutureWorkAddress,\n} from './getPendingFutureWorkAddress'\nimport ListIcon from '@/assets/icons/list.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { DataView, EmptyData, Grid, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport {\n LocationField,\n EffectiveDateField,\n} from '@/components/Employee/Profile/shared/useWorkAddressForm/fields'\nimport { WorkAddressErrorCodes } from '@/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema'\nimport type { UseWorkAddressFormReady } from '@/components/Employee/Profile/shared/useWorkAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { getCityStateZip, getStreet } from '@/helpers/formattedStrings'\n\nexport interface WorkAddressViewProps {\n editWorkAddressForm: UseWorkAddressFormReady\n changeWorkAddressForm: UseWorkAddressFormReady\n /** Full list for history table, pending-future alert, and delete-confirmation lookup. */\n workAddresses: EmployeeWorkAddress[] | undefined\n editTargetUuid: string | undefined\n onEditTargetUuidChange: (uuid: string | undefined) => void\n employeeDisplayName: string\n onConfirmDelete: (workAddressUuid: string) => Promise<boolean>\n onWorkAddressSaved: (result: HookSubmitResult<EmployeeWorkAddress>) => void\n isDeletePending?: boolean\n}\n\nfunction resolveLocation(\n row: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): Location | undefined {\n if (!row.locationUuid || !companyLocations?.length) {\n return undefined\n }\n return companyLocations.find(loc => loc.uuid === row.locationUuid)\n}\n\nfunction formatWorkAddressLines(\n row: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): { primary: string; secondary: string } {\n const location = resolveLocation(row, companyLocations)\n if (location) {\n const street = getStreet(location).trim()\n const locality = getCityStateZip(location).trim()\n return { primary: street, secondary: locality }\n }\n const street = getStreet(row).trim()\n const locality = getCityStateZip(row).trim()\n return { primary: street, secondary: locality }\n}\n\nexport function WorkAddressView({\n editWorkAddressForm,\n changeWorkAddressForm,\n workAddresses,\n editTargetUuid,\n onEditTargetUuidChange,\n employeeDisplayName,\n onConfirmDelete,\n onWorkAddressSaved,\n isDeletePending = false,\n}: WorkAddressViewProps) {\n const { t } = useTranslation('Employee.WorkAddress.Management')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n data: { workAddress, companyLocations },\n status: editStatus,\n form: { Fields: editFormFields },\n } = editWorkAddressForm\n\n const editShowsEffectiveDateField = editFormFields.EffectiveDate != null\n\n const { status: createStatus } = changeWorkAddressForm\n\n const locationValidation = {\n [WorkAddressErrorCodes.REQUIRED]: t('form.locationRequired'),\n }\n\n const startDateValidation = {\n [WorkAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureWorkAddress(workAddresses),\n [workAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !workAddresses) {\n return undefined\n }\n return workAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, workAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = useMemo(() => {\n return [...(workAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate ?? ''\n const bDate = b.effectiveDate ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n }, [workAddresses])\n\n const historyAddresses = useMemo(\n () => chronologicalAsc.filter(address => address.active !== true),\n [chronologicalAsc],\n )\n\n const sortedHistory = useMemo(() => [...historyAddresses].reverse(), [historyAddresses])\n\n const historyEndDate = (row: EmployeeWorkAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart)\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.location'),\n render: (row: EmployeeWorkAddress) => {\n const lines = formatWorkAddressLines(row, companyLocations)\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{lines.primary}</Components.Text>\n <Components.Text variant=\"supporting\">{lines.secondary}</Components.Text>\n </Flex>\n )\n },\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeWorkAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeWorkAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeWorkAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditTargetUuidChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"work-address-history-empty\">\n <EmptyData\n icon={<ListIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditTargetUuidChange(undefined)\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const handleSave = async () => {\n if (!addressModal) {\n return\n }\n\n if (addressModal === 'edit') {\n const result = await editWorkAddressForm.actions.onSubmit(\n undefined,\n editShowsEffectiveDateField ? undefined : { effectiveDate: workAddress?.effectiveDate },\n )\n if (result) {\n onWorkAddressSaved(result)\n closeAddressModal()\n }\n return\n }\n\n const result = await changeWorkAddressForm.actions.onSubmit()\n if (result) {\n onWorkAddressSaved(result)\n closeAddressModal()\n }\n }\n\n const modalPending = addressModal === 'edit' ? editStatus.isPending : createStatus.isPending\n\n const currentLines = workAddress ? formatWorkAddressLines(workAddress, companyLocations) : null\n const currentLocation =\n workAddress && companyLocations ? resolveLocation(workAddress, companyLocations) : undefined\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={8} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\">{t('title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n workAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditTargetUuidChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditTargetUuidChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {workAddress && currentLines ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n {currentLocation ? (\n <>\n <Components.Text weight=\"medium\">\n {getStreet(currentLocation).trim()}\n </Components.Text>\n <Components.Text weight=\"medium\">\n {getCityStateZip(currentLocation)}\n </Components.Text>\n </>\n ) : (\n <>\n <Components.Text weight=\"medium\">{currentLines.primary}</Components.Text>\n <Components.Text weight=\"medium\">{currentLines.secondary}</Components.Text>\n </>\n )}\n </FlexItem>\n {workAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(workAddress.effectiveDate),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{t('currentEmpty')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingWorkAddressLine(pendingFutureAddress, companyLocations),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate)\n : '—',\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\">{t('historySectionTitle')}</Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button variant=\"secondary\" onClick={closeAddressModal}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('changeModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('changeModalDescription')}\n </Components.Text>\n {addressModal === 'edit' && editShowsEffectiveDateField ? (\n <Components.Alert status=\"warning\" label={t('editPastAddressAlertTitle')} />\n ) : null}\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editWorkAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <LocationField\n label={\n editShowsEffectiveDateField\n ? t('form.editInactiveLocationLabel')\n : t('form.editLocationLabel')\n }\n description={t('form.editLocationDescription')}\n validationMessages={locationValidation}\n portalContainer={addressModalPortal}\n />\n {editShowsEffectiveDateField ? (\n <EffectiveDateField\n label={t('form.startDateLabel')}\n description={t('form.editInactiveStartDateDescription')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={changeWorkAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n <LocationField\n label={t('form.newWorkAddressLabel')}\n description={t('form.newWorkAddressDescription')}\n validationMessages={locationValidation}\n portalContainer={addressModalPortal}\n />\n <EffectiveDateField\n label={t('form.startDateLabel')}\n description={t('form.startDateDescription')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending && deleteConfirmUuid !== null}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingWorkAddressLine(addressForDeleteModal, companyLocations),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["resolveLocation","row","companyLocations","loc","formatWorkAddressLines","location","street","getStreet","locality","getCityStateZip","WorkAddressView","editWorkAddressForm","changeWorkAddressForm","workAddresses","editTargetUuid","onEditTargetUuidChange","employeeDisplayName","onConfirmDelete","onWorkAddressSaved","isDeletePending","useTranslation","Components","useComponentContext","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","workAddress","editStatus","editFormFields","editShowsEffectiveDateField","createStatus","locationValidation","WorkAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureWorkAddress","addressForDeleteModal","a","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","historyAddresses","address","sortedHistory","historyEndDate","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","lines","jsxs","Flex","jsx","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","ListIcon","closeAddressModal","handleDeleteModalConfirm","handleSave","result","modalPending","currentLines","currentLocation","FlexItem","Fragment","formatPendingWorkAddressLine","DataView","SDKFormProvider","Grid","LocationField","EffectiveDateField","Trans"],"mappings":";;;;;;;;;;;;;;;;;;;AAsCA,SAASA,EACPC,GACAC,GACsB;AACtB,MAAI,GAACD,EAAI,gBAAgB,CAACC,GAAkB;AAG5C,WAAOA,EAAiB,KAAK,CAAAC,MAAOA,EAAI,SAASF,EAAI,YAAY;AACnE;AAEA,SAASG,EACPH,GACAC,GACwC;AACxC,QAAMG,IAAWL,EAAgBC,GAAKC,CAAgB;AACtD,MAAIG,GAAU;AACZ,UAAMC,IAASC,EAAUF,CAAQ,EAAE,KAAA,GAC7BG,IAAWC,EAAgBJ,CAAQ,EAAE,KAAA;AAC3C,WAAO,EAAE,SAASC,GAAQ,WAAWE,EAAAA;AAAAA,EACvC;AACA,QAAMF,IAASC,EAAUN,CAAG,EAAE,KAAA,GACxBO,IAAWC,EAAgBR,CAAG,EAAE,KAAA;AACtC,SAAO,EAAE,SAASK,GAAQ,WAAWE,EAAA;AACvC;AAEO,SAASE,GAAgB;AAAA,EAC9B,qBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,iBAAAC,IAAkB;AACpB,GAAyB;AACvB,QAAM,EAAE,EAAA,IAAMC,GAAe,iCAAiC,GACxDC,IAAaC,GAAA,GACb,CAACC,GAAcC,CAAe,IAAIC,EAAmC,IAAI,GACzE,CAACC,GAAmBC,CAAoB,IAAIF,EAAwB,IAAI,GACxEG,IAA2BC,GAAuB,IAAI,GACtD,CAACC,GAAoBC,CAAqB,IAAIN,EAAkC,MAAS;AAE/F,EAAAO,GAAgB,MAAM;AACpB,QAAI,CAACT,GAAc;AACjB,MAAAQ,EAAsB,MAAS;AAC/B;AAAA,IACF;AACA,UAAME,IAAa,MAAM;AACvB,MAAAF,EAAsBH,EAAyB,WAAW,MAAS;AAAA,IACrE;AAEA,QADAK,EAAA,GACIL,EAAyB,WAAW,MAAM;AAC5C,YAAMM,IAAK,sBAAsBD,CAAU;AAC3C,aAAO,MAAM;AACX,6BAAqBC,CAAE;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAACX,CAAY,CAAC;AAEjB,QAAM;AAAA,IACJ,MAAM,EAAE,aAAAY,GAAa,kBAAAjC,EAAA;AAAA,IACrB,QAAQkC;AAAA,IACR,MAAM,EAAE,QAAQC,GAAA;AAAA,EAAe,IAC7B1B,GAEE2B,IAA8BD,GAAe,iBAAiB,MAE9D,EAAE,QAAQE,EAAA,IAAiB3B,GAE3B4B,IAAqB;AAAA,IACzB,CAACC,EAAsB,QAAQ,GAAG,EAAE,uBAAuB;AAAA,EAAA,GAGvDC,IAAsB;AAAA,IAC1B,CAACD,EAAsB,QAAQ,GAAG,EAAE,wBAAwB;AAAA,EAAA,GAGxDE,IAAuBC;AAAA,IAC3B,MAAMC,GAA4BhC,CAAa;AAAA,IAC/C,CAACA,CAAa;AAAA,EAAA,GAGViC,IAAwBF,EAAQ,MAAM;AAC1C,QAAI,GAAClB,KAAqB,CAACb;AAG3B,aAAOA,EAAc,KAAK,CAAAkC,MAAKA,EAAE,SAASrB,CAAiB;AAAA,EAC7D,GAAG,CAACA,GAAmBb,CAAa,CAAC,GAE/BmC,KAA+BJ,EAAQ,MAAM;AACjD,UAAMK,IAAUjC,EAAoB,KAAA;AACpC,WAAOiC,IAAU,GAAGA,CAAO,OAAO,EAAE,iCAAiC;AAAA,EACvE,GAAG,CAACjC,GAAqB,CAAC,CAAC,GAErBkC,IAAmBN,EAAQ,MACxB,CAAC,GAAI/B,KAAiB,CAAA,CAAG,EAAE,KAAK,CAACkC,GAAGI,MAAM;AAC/C,UAAMC,IAAQL,EAAE,iBAAiB,IAC3BM,IAAQF,EAAE,iBAAiB;AACjC,WAAI,CAACC,KAAS,CAACC,IAAc,IACxBD,IACAC,IACED,EAAM,cAAcC,CAAK,IADb,KADA;AAAA,EAGrB,CAAC,GACA,CAACxC,CAAa,CAAC,GAEZyC,IAAmBV;AAAA,IACvB,MAAMM,EAAiB,OAAO,CAAAK,MAAWA,EAAQ,WAAW,EAAI;AAAA,IAChE,CAACL,CAAgB;AAAA,EAAA,GAGbM,KAAgBZ,EAAQ,MAAM,CAAC,GAAGU,CAAgB,EAAE,QAAA,GAAW,CAACA,CAAgB,CAAC,GAEjFG,KAAiB,CAACxD,MAA6B;AACnD,UAAMyD,IAAMR,EAAiB,UAAU,QAAKH,GAAE,SAAS9C,EAAI,IAAI;AAC/D,QAAIyD,MAAQ,MAAMA,KAAOR,EAAiB,SAAS,EAAG,QAAO;AAC7D,UAAMS,IAAYT,EAAiBQ,IAAM,CAAC,GAAG;AAC7C,QAAI,CAACC,EAAW,QAAO;AACvB,UAAMC,IAAWC,GAAgBF,CAAS;AAC1C,QAAI,CAACC,EAAU,QAAO;AACtB,UAAME,IAAUC,GAAQH,GAAU,EAAE,GAC9BI,KAAIF,EAAQ,YAAA,GACZG,KAAI,OAAOH,EAAQ,SAAA,IAAa,CAAC,EAAE,SAAS,GAAG,GAAG,GAClDI,KAAI,OAAOJ,EAAQ,QAAA,CAAS,EAAE,SAAS,GAAG,GAAG;AACnD,WAAOK,EAAuB,GAAGH,EAAC,IAAIC,EAAC,IAAIC,EAAC,EAAE;AAAA,EAChD,GAEME,KAAkBC,GAAY;AAAA,IAClC,MAAMb;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,OAAO,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CAACvD,MAA6B;AACpC,gBAAMqE,IAAQlE,EAAuBH,GAAKC,CAAgB;AAC1D,iBACE,gBAAAqE,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,YAAA,gBAAAC,EAACpD,EAAW,MAAX,EAAgB,QAAO,UAAU,YAAM,SAAQ;AAAA,8BAC/CA,EAAW,MAAX,EAAgB,SAAQ,cAAc,YAAM,UAAA,CAAU;AAAA,UAAA,GACzD;AAAA,QAEJ;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,OAAO,EAAE,mBAAmB;AAAA,QAC5B,QAAQ,CAACpB,MACPA,EAAI,gBAAgBkE,EAAuBlE,EAAI,aAAa,IAAI;AAAA,MAAA;AAAA,MAEpE;AAAA,QACE,OAAO,EAAE,iBAAiB;AAAA,QAC1B,QAAQ,CAACA,MAA6BwD,GAAexD,CAAG;AAAA,MAAA;AAAA,IAC1D;AAAA,IAEF,UAAU,CAACA,MACT,gBAAAwE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAc,EAAE,kBAAkB;AAAA,QAClC,OAAO;AAAA,UACL;AAAA,YACE,OAAO,EAAE,SAAS;AAAA,YAClB,SAAS,MAAM;AACb,cAAA3D,EAAuBd,EAAI,IAAI,GAC/BuB,EAAgB,MAAM;AAAA,YACxB;AAAA,YACA,MAAM,gBAAAiD,EAACE,IAAA,EAAU,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,UAE/B;AAAA,YACE,OAAO,EAAE,WAAW;AAAA,YACpB,SAAS,MAAM;AACb,cAAI1E,EAAI,WAAW,MAGnB0B,EAAqB1B,EAAI,IAAI;AAAA,YAC/B;AAAA,YACA,MAAM,gBAAAwE,EAACG,IAAA,EAAY,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QACjC;AAAA,MACF;AAAA,IAAA;AAAA,IAGJ,YAAY,MACV,gBAAAH,EAAC,OAAA,EAAI,eAAY,8BACf,UAAA,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,MAAM,gBAAAJ,EAACK,IAAA,EAAS,eAAW,GAAA,CAAC;AAAA,QAC5B,OAAO,EAAE,mBAAmB;AAAA,QAC5B,aAAa,EAAE,yBAAyB;AAAA,MAAA;AAAA,IAAA,EAC1C,CACF;AAAA,EAAA,CAEH,GAEKC,IAAoB,MAAM;AAC9B,IAAAvD,EAAgB,IAAI,GACpBT,EAAuB,MAAS;AAAA,EAClC,GAEMiE,KAA2B,YAAY;AAC3C,QAAI,CAACtD;AACH;AAGF,IADgB,MAAMT,EAAgBS,CAAiB,KAErDC,EAAqB,IAAI;AAAA,EAE7B,GAEMsD,KAAa,YAAY;AAC7B,QAAI,CAAC1D;AACH;AAGF,QAAIA,MAAiB,QAAQ;AAC3B,YAAM2D,IAAS,MAAMvE,EAAoB,QAAQ;AAAA,QAC/C;AAAA,QACA2B,IAA8B,SAAY,EAAE,eAAeH,GAAa,cAAA;AAAA,MAAc;AAExF,MAAI+C,MACFhE,EAAmBgE,CAAM,GACzBH,EAAA;AAEF;AAAA,IACF;AAEA,UAAMG,IAAS,MAAMtE,EAAsB,QAAQ,SAAA;AACnD,IAAIsE,MACFhE,EAAmBgE,CAAM,GACzBH,EAAA;AAAA,EAEJ,GAEMI,KAAe5D,MAAiB,SAASa,EAAW,YAAYG,EAAa,WAE7E6C,IAAejD,IAAc/B,EAAuB+B,GAAajC,CAAgB,IAAI,MACrFmF,IACJlD,KAAejC,IAAmBF,EAAgBmC,GAAajC,CAAgB,IAAI;AAErF,SACE,gBAAAqE,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAD,EAACC,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,cAC9C,UAAA;AAAA,MAAA,gBAAAC,EAACpD,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,MACxC,gBAAAoD,EAACpD,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAA,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GAC1D;AAAA,IAEA,gBAAAoD;AAAA,MAACpD,EAAW;AAAA,MAAX;AAAA,QACC,QACE,gBAAAoD;AAAA,UAACpD,EAAW;AAAA,UAAX;AAAA,YACC,OAAO,EAAE,qBAAqB;AAAA,YAC9B,QACEc,IACE,gBAAAsC;AAAA,cAACpD,EAAW;AAAA,cAAX;AAAA,gBACC,SAAQ;AAAA,gBACR,SAAS,MAAM;AACb,kBAAAN,EAAuB,MAAS,GAChCS,EAAgB,MAAM;AAAA,gBACxB;AAAA,gBACA,WAAWY,EAAW;AAAA,gBAErB,YAAE,SAAS;AAAA,cAAA;AAAA,YAAA,IAEZ;AAAA,UAAA;AAAA,QAAA;AAAA,QAIV,QACE,gBAAAqC;AAAA,UAACpD,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAAN,EAAuB,MAAS,GAChCS,EAAgB,QAAQ;AAAA,YAC1B;AAAA,YACA,WAAWe,EAAa;AAAA,YAEvB,YAAE,WAAW;AAAA,UAAA;AAAA,QAAA;AAAA,QAIlB,UAAA,gBAAAgC,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,UAAArC,KAAeiD,IACd,gBAAAb,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,YAAA,gBAAAC,EAACa,IAAA,EACE,cACC,gBAAAf,EAAAgB,GAAA,EACE,UAAA;AAAA,cAAA,gBAAAd,EAACpD,EAAW,MAAX,EAAgB,QAAO,UACrB,UAAAd,EAAU8E,CAAe,EAAE,KAAA,EAAK,CACnC;AAAA,cACA,gBAAAZ,EAACpD,EAAW,MAAX,EAAgB,QAAO,UACrB,UAAAZ,EAAgB4E,CAAe,EAAA,CAClC;AAAA,YAAA,EAAA,CACF,IAEA,gBAAAd,EAAAgB,GAAA,EACE,UAAA;AAAA,cAAA,gBAAAd,EAACpD,EAAW,MAAX,EAAgB,QAAO,UAAU,YAAa,SAAQ;AAAA,gCACtDA,EAAW,MAAX,EAAgB,QAAO,UAAU,YAAa,UAAA,CAAU;AAAA,YAAA,EAAA,CAC3D,EAAA,CAEJ;AAAA,YACCc,EAAY,gBACX,gBAAAsC,EAACpD,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA,EAAE,gBAAgB;AAAA,cACjB,MAAM8C,EAAuBhC,EAAY,aAAa;AAAA,YAAA,CACvD,GACH,IACE;AAAA,UAAA,GACN,IAEA,gBAAAsC,EAACpD,EAAW,MAAX,EAAiB,UAAA,EAAE,cAAc,GAAE;AAAA,UAErCsB,IACC,gBAAA8B,EAACpD,EAAW,OAAX,EAAiB,QAAO,WAAU,OAAO,EAAE,oBAAoB,GAC9D,4BAACA,EAAW,MAAX,EAAgB,SAAQ,cACtB,YAAE,4BAA4B;AAAA,YAC7B,iBAAiB2B;AAAA,YACjB,YAAYwC,EAA6B7C,GAAsBzC,CAAgB;AAAA,YAC/E,eAAeyC,EAAqB,gBAChCwB,EAAuBxB,EAAqB,aAAa,IACzD;AAAA,UAAA,CACL,EAAA,CACH,EAAA,CACF,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAA4B,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,MAAA,gBAAAC,EAACpD,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,qBAAqB,GAAE;AAAA,wBACrDoE,IAAA,EAAS,OAAO,EAAE,qBAAqB,GAAI,GAAGrB,GAAA,CAAiB;AAAA,IAAA,GAClE;AAAA,IAEA,gBAAAK;AAAA,MAACpD,EAAW;AAAA,MAAX;AAAA,QACC,QAAQE,MAAiB;AAAA,QACzB,SAASwD;AAAA,QACT,4BAA4B;AAAA,QAC5B,cAAcnD;AAAA,QACd,0BACG4C,GAAA,EAAK,eAAc,OAAM,KAAK,IAAI,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAAC,EAACpD,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAAS0D,GAC7C,UAAA,EAAE,WAAW,EAAA,CAChB;AAAA,UACA,gBAAAN;AAAA,YAACpD,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAK4D,GAAA;AAAA,cACP;AAAA,cACA,WAAWE;AAAA,cAEV,YAAE,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAChB,GACF;AAAA,QAGF,UAAA,gBAAAZ,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,UAAA,gBAAAC,EAACpD,EAAW,SAAX,EAAmB,IAAG,MACpB,UAA0B,EAA1BE,MAAiB,SAAW,mBAAsB,kBAAN,EAAwB,CACvE;AAAA,UACA,gBAAAkD,EAACpD,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAA0B,EAA1BE,MAAiB,SAAW,yBAA4B,wBAAN,EAA8B,CACnF;AAAA,UACCA,MAAiB,UAAUe,IAC1B,gBAAAmC,EAACpD,EAAW,OAAX,EAAiB,QAAO,WAAU,OAAO,EAAE,2BAA2B,GAAG,IACxE;AAAA,UACHE,MAAiB,SAChB,gBAAAkD,EAACiB,GAAA,EAAgB,gBAAgB/E,GAC/B,UAAA,gBAAA4D;AAAA,YAACoB;AAAA,YAAA;AAAA,cACC,qBAAqB;AAAA,gBACnB,MAAM;AAAA,gBACN,OAAO;AAAA,cAAA;AAAA,cAET,KAAK;AAAA,cAEL,UAAA;AAAA,gBAAA,gBAAAlB;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBACC,OAEM,EADJtD,IACM,mCACA,wBADgC;AAAA,oBAGxC,aAAa,EAAE,8BAA8B;AAAA,oBAC7C,oBAAoBE;AAAA,oBACpB,iBAAiBV;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAElBQ,IACC,gBAAAmC;AAAA,kBAACoB;AAAA,kBAAA;AAAA,oBACC,OAAO,EAAE,qBAAqB;AAAA,oBAC9B,aAAa,EAAE,uCAAuC;AAAA,oBACtD,oBAAoBnD;AAAA,oBACpB,iBAAiBZ;AAAA,kBAAA;AAAA,gBAAA,IAEjB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAER,IACE;AAAA,UACHP,MAAiB,WAChB,gBAAAkD,EAACiB,GAAA,EAAgB,gBAAgB9E,GAC/B,UAAA,gBAAA2D;AAAA,YAACoB;AAAA,YAAA;AAAA,cACC,qBAAqB;AAAA,gBACnB,MAAM;AAAA,gBACN,OAAO;AAAA,cAAA;AAAA,cAET,KAAK;AAAA,cAEL,UAAA;AAAA,gBAAA,gBAAAlB;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBACC,OAAO,EAAE,0BAA0B;AAAA,oBACnC,aAAa,EAAE,gCAAgC;AAAA,oBAC/C,oBAAoBpD;AAAA,oBACpB,iBAAiBV;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEnB,gBAAA2C;AAAA,kBAACoB;AAAA,kBAAA;AAAA,oBACC,OAAO,EAAE,qBAAqB;AAAA,oBAC9B,aAAa,EAAE,2BAA2B;AAAA,oBAC1C,oBAAoBnD;AAAA,oBACpB,iBAAiBZ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACnB;AAAA,YAAA;AAAA,UAAA,GAEJ,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAA2C;AAAA,MAACpD,EAAW;AAAA,MAAX;AAAA,QACC,QAAQK,MAAsB;AAAA,QAC9B,SAAS,MAAM;AACb,UAAAC,EAAqB,IAAI;AAAA,QAC3B;AAAA,QACA,4BAA4B;AAAA,QAC5B,0BACG6C,GAAA,EAAK,eAAc,OAAM,KAAK,IAAI,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACpD,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAAM,EAAqB,IAAI;AAAA,cAC3B;AAAA,cAEC,YAAE,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,UAEhB,gBAAA8C;AAAA,YAACpD,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MAAM;AACb,gBAAK2D,GAAA;AAAA,cACP;AAAA,cACA,WAAW7D,KAAmBO,MAAsB;AAAA,cAEnD,YAAE,uBAAuB;AAAA,YAAA;AAAA,UAAA;AAAA,QAC5B,GACF;AAAA,QAGF,UAAA,gBAAA6C,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,UAAA,gBAAAC,EAACpD,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,kBAAkB,GAAE;AAAA,4BAClDA,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAAyB,IACC,gBAAA2B;AAAA,YAACqB;AAAA,YAAA;AAAA,cACC;AAAA,cACA,SAAQ;AAAA,cACR,QAAQ;AAAA,gBACN,SAASN,EAA6B1C,GAAuB5C,CAAgB;AAAA,cAAA;AAAA,cAE/E,YAAY;AAAA,gBACV,0BAASmB,EAAW,MAAX,EAAgB,QAAO,UAAS,IAAG,OAAA,CAAO;AAAA,cAAA;AAAA,YACrD;AAAA,UAAA,IAEA,KAAA,CACN;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -0,0 +1,4 @@
1
+ import { Location } from '@gusto/embedded-api/models/components/location';
2
+ import { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress';
3
+ export declare function getPendingFutureWorkAddress(addresses: EmployeeWorkAddress[] | undefined, now?: Date): EmployeeWorkAddress | undefined;
4
+ export declare function formatPendingWorkAddressLine(address: EmployeeWorkAddress, companyLocations: Location[] | undefined): string;
@@ -0,0 +1,35 @@
1
+ import { normalizeToDate as a } from "../../../../helpers/dateFormatting.js";
2
+ import { addressInline as u } from "../../../../helpers/formattedStrings.js";
3
+ const l = (t) => new Date(t.getFullYear(), t.getMonth(), t.getDate());
4
+ function D(t, r = /* @__PURE__ */ new Date()) {
5
+ if (!t?.length)
6
+ return;
7
+ const f = l(r), i = t.filter((n) => {
8
+ if (n.active === !0)
9
+ return !1;
10
+ const e = n.effectiveDate;
11
+ if (!e)
12
+ return !1;
13
+ const o = a(e);
14
+ return o ? l(o) > f : !1;
15
+ });
16
+ if (i.length !== 0)
17
+ return i.sort((n, e) => {
18
+ const o = n.effectiveDate ?? "", c = e.effectiveDate ?? "";
19
+ return o.localeCompare(c);
20
+ }), i[0];
21
+ }
22
+ function m(t, r) {
23
+ if (t.locationUuid && r?.length) {
24
+ const e = r.find((o) => o.uuid === t.locationUuid);
25
+ if (e)
26
+ return u(e);
27
+ }
28
+ const f = [t.street1, t.street2].filter(Boolean).join(", "), i = [t.city, [t.state, t.zip].filter(Boolean).join(" ")].filter(Boolean).join(", "), n = t.country.trim();
29
+ return [f, i, n].filter(Boolean).join(", ");
30
+ }
31
+ export {
32
+ m as formatPendingWorkAddressLine,
33
+ D as getPendingFutureWorkAddress
34
+ };
35
+ //# sourceMappingURL=getPendingFutureWorkAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPendingFutureWorkAddress.js","sources":["../../../../../src/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.ts"],"sourcesContent":["import type { Location } from '@gusto/embedded-api/models/components/location'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\nimport { addressInline } from '@/helpers/formattedStrings'\n\nconst startOfLocalDay = (d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate())\n\nexport function getPendingFutureWorkAddress(\n addresses: EmployeeWorkAddress[] | undefined,\n now: Date = new Date(),\n): EmployeeWorkAddress | undefined {\n if (!addresses?.length) {\n return undefined\n }\n\n const todayStart = startOfLocalDay(now)\n\n const pending = addresses.filter(address => {\n if (address.active === true) {\n return false\n }\n const raw = address.effectiveDate\n if (!raw) {\n return false\n }\n const parsed = normalizeToDate(raw)\n if (!parsed) {\n return false\n }\n return startOfLocalDay(parsed) > todayStart\n })\n\n if (pending.length === 0) {\n return undefined\n }\n\n pending.sort((a, b) => {\n const as = a.effectiveDate ?? ''\n const bs = b.effectiveDate ?? ''\n return as.localeCompare(bs)\n })\n\n return pending[0]\n}\n\nexport function formatPendingWorkAddressLine(\n address: EmployeeWorkAddress,\n companyLocations: Location[] | undefined,\n): string {\n if (address.locationUuid && companyLocations?.length) {\n const location = companyLocations.find(loc => loc.uuid === address.locationUuid)\n if (location) {\n return addressInline(location)\n }\n }\n const streetLine = [address.street1, address.street2].filter(Boolean).join(', ')\n const cityStateZip = [address.city, [address.state, address.zip].filter(Boolean).join(' ')]\n .filter(Boolean)\n .join(', ')\n const country = address.country.trim()\n return [streetLine, cityStateZip, country].filter(Boolean).join(', ')\n}\n"],"names":["startOfLocalDay","d","getPendingFutureWorkAddress","addresses","now","todayStart","pending","address","raw","parsed","normalizeToDate","a","b","as","bs","formatPendingWorkAddressLine","companyLocations","location","loc","addressInline","streetLine","cityStateZip","country"],"mappings":";;AAKA,MAAMA,IAAkB,CAACC,MAAY,IAAI,KAAKA,EAAE,eAAeA,EAAE,SAAA,GAAYA,EAAE,SAAS;AAEjF,SAASC,EACdC,GACAC,IAAY,oBAAI,QACiB;AACjC,MAAI,CAACD,GAAW;AACd;AAGF,QAAME,IAAaL,EAAgBI,CAAG,GAEhCE,IAAUH,EAAU,OAAO,CAAAI,MAAW;AAC1C,QAAIA,EAAQ,WAAW;AACrB,aAAO;AAET,UAAMC,IAAMD,EAAQ;AACpB,QAAI,CAACC;AACH,aAAO;AAET,UAAMC,IAASC,EAAgBF,CAAG;AAClC,WAAKC,IAGET,EAAgBS,CAAM,IAAIJ,IAFxB;AAAA,EAGX,CAAC;AAED,MAAIC,EAAQ,WAAW;AAIvB,WAAAA,EAAQ,KAAK,CAACK,GAAGC,MAAM;AACrB,YAAMC,IAAKF,EAAE,iBAAiB,IACxBG,IAAKF,EAAE,iBAAiB;AAC9B,aAAOC,EAAG,cAAcC,CAAE;AAAA,IAC5B,CAAC,GAEMR,EAAQ,CAAC;AAClB;AAEO,SAASS,EACdR,GACAS,GACQ;AACR,MAAIT,EAAQ,gBAAgBS,GAAkB,QAAQ;AACpD,UAAMC,IAAWD,EAAiB,KAAK,OAAOE,EAAI,SAASX,EAAQ,YAAY;AAC/E,QAAIU;AACF,aAAOE,EAAcF,CAAQ;AAAA,EAEjC;AACA,QAAMG,IAAa,CAACb,EAAQ,SAASA,EAAQ,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GACzEc,IAAe,CAACd,EAAQ,MAAM,CAACA,EAAQ,OAAOA,EAAQ,GAAG,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC,EACvF,OAAO,OAAO,EACd,KAAK,IAAI,GACNe,IAAUf,EAAQ,QAAQ,KAAA;AAChC,SAAO,CAACa,GAAYC,GAAcC,CAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AACtE;"}