@gusto/embedded-react-sdk 0.46.0 → 0.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -1
  3. package/dist/components/Common/DataView/DataCards/DataCards.js +14 -13
  4. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  5. package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +51 -50
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/DataView/DataView.d.ts +1 -0
  9. package/dist/components/Common/DataView/DataView.js.map +1 -1
  10. package/dist/components/Common/DataView/useDataView.d.ts +8 -1
  11. package/dist/components/Common/DataView/useDataView.js +20 -17
  12. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  13. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.d.ts +9 -0
  14. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js +76 -0
  15. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js.map +1 -0
  16. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js +8 -0
  17. package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js.map +1 -0
  18. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +57 -202
  19. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
  20. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
  21. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +81 -0
  22. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -0
  23. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js +8 -0
  24. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js.map +1 -0
  25. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +18 -0
  26. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +171 -0
  27. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -0
  28. package/dist/components/Employee/Compensation/management/index.d.ts +3 -0
  29. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +6 -1
  30. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +67 -209
  31. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  32. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +18 -0
  33. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +169 -0
  34. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -0
  35. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +16 -0
  36. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +36 -30
  37. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
  38. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +1 -1
  39. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  40. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +213 -191
  41. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  42. package/dist/components/Employee/Dashboard/Dashboard.js +65 -53
  43. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  44. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +3 -3
  45. package/dist/components/Employee/Dashboard/DashboardComponents.js +138 -101
  46. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  47. package/dist/components/Employee/Dashboard/JobAndPayView.js +340 -320
  48. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  49. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +5 -3
  50. package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -1
  51. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +147 -148
  52. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  53. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +6 -0
  54. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +13 -12
  55. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
  56. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +2 -2
  57. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +34 -35
  58. package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
  59. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +37 -40
  60. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  61. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +1 -2
  62. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +64 -71
  63. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  64. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +2 -0
  65. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +25 -0
  66. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -0
  67. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +13 -0
  68. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +37 -0
  69. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -0
  70. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +6 -0
  71. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +69 -0
  72. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -0
  73. package/dist/components/Employee/EmployeeListFlow/index.d.ts +3 -0
  74. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +15 -12
  75. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  76. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -1
  77. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +86 -83
  78. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  79. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +14 -11
  80. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  81. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -1
  82. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +92 -89
  83. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  84. package/dist/components/Employee/exports/employeeManagement.d.ts +2 -0
  85. package/dist/components/Employee/exports/employeeManagement.js +18 -16
  86. package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
  87. package/dist/components/Employee/index.d.ts +2 -0
  88. package/dist/components/Employee/index.js +32 -30
  89. package/dist/components/Employee/index.js.map +1 -1
  90. package/dist/components/Flow/FlowHeader.js +34 -31
  91. package/dist/components/Flow/FlowHeader.js.map +1 -1
  92. package/dist/components/Flow/useFlow.d.ts +12 -0
  93. package/dist/components/Flow/useFlow.js.map +1 -1
  94. package/dist/components/TimeOff/PolicyList/PolicyList.js +92 -69
  95. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  96. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +23 -23
  97. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  98. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  99. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  100. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +73 -56
  101. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  102. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +58 -58
  103. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  104. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  105. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +91 -87
  106. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  107. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  108. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +91 -124
  109. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  110. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  111. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +72 -87
  112. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  113. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -6
  114. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +160 -220
  115. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  116. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +7 -3
  117. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +77 -54
  118. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  119. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.test.d.ts +1 -0
  120. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +12 -11
  121. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
  122. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +177 -147
  123. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  124. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -1
  125. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +38 -36
  126. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  127. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
  128. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +10 -10
  129. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +17 -15
  130. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -1
  131. package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +9 -9
  132. package/dist/i18n/en/Employee.Compensation.json.js +64 -56
  133. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  134. package/dist/i18n/en/Employee.Dashboard.json.js +26 -24
  135. package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
  136. package/dist/i18n/en/Employee.HomeAddress.Management.json.js +12 -10
  137. package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -1
  138. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +32 -30
  139. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  140. package/dist/i18n/en/Employee.WorkAddress.Management.json.js +16 -14
  141. package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -1
  142. package/dist/i18n/en/common.json.d.ts +14 -0
  143. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -32
  144. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  145. package/dist/partner-hook-utils/types.d.ts +4 -0
  146. package/dist/shared/constants.d.ts +2 -0
  147. package/dist/shared/constants.js +13 -12
  148. package/dist/shared/constants.js.map +1 -1
  149. package/dist/style.css +1 -1
  150. package/dist/types/i18next.d.ts +26 -12
  151. package/docs/reference/endpoint-inventory.json +24 -8
  152. package/package.json +1 -1
@@ -1 +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;"}
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 onBack={() => {\n onEvent(componentEvents.CANCEL)\n }}\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,QAAQ,MAAM;AACZ,QAAAR,EAAQU,EAAgB,MAAM;AAAA,MAChC;AAAA,MACA,iBAAiBP,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;"}
@@ -11,6 +11,7 @@ export interface WorkAddressViewProps {
11
11
  employeeDisplayName: string;
12
12
  onConfirmDelete: (workAddressUuid: string) => Promise<boolean>;
13
13
  onWorkAddressSaved: (result: HookSubmitResult<EmployeeWorkAddress>) => void;
14
+ onBack: () => void;
14
15
  isDeletePending?: boolean;
15
16
  }
16
- export declare function WorkAddressView({ editWorkAddressForm, changeWorkAddressForm, workAddresses, editTargetUuid, onEditTargetUuidChange, employeeDisplayName, onConfirmDelete, onWorkAddressSaved, isDeletePending, }: WorkAddressViewProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function WorkAddressView({ editWorkAddressForm, changeWorkAddressForm, workAddresses, editTargetUuid, onEditTargetUuidChange, employeeDisplayName, onConfirmDelete, onWorkAddressSaved, onBack, isDeletePending, }: WorkAddressViewProps): import("react/jsx-runtime").JSX.Element;
@@ -1,22 +1,23 @@
1
1
  import { jsxs as r, jsx as e, Fragment as K } from "react/jsx-runtime";
2
- import { useState as F, 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";
2
+ import { useState as F, useRef as fe, useLayoutEffect as pe, useMemo as v } from "react";
3
+ import { useTranslation as he, Trans as ge } from "react-i18next";
4
+ import { getPendingFutureWorkAddress as ve, formatPendingWorkAddressLine as Q } from "./getPendingFutureWorkAddress.js";
5
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 d, FlexItem as xe } from "../../../Common/Flex/Flex.js";
6
+ import ye from "../../../../assets/icons/pencil.svg.js";
7
+ import xe from "../../../../assets/icons/trashcan.svg.js";
8
+ import { Flex as c, FlexItem as Ce } from "../../../Common/Flex/Flex.js";
9
9
  import { Grid as Y } from "../../../Common/Grid/Grid.js";
10
- import { EmptyData as Ce } from "../../../Common/EmptyData/EmptyData.js";
10
+ import { EmptyData as be } from "../../../Common/EmptyData/EmptyData.js";
11
+ import { ActionsLayout as Me } from "../../../Common/ActionsLayout/ActionsLayout.js";
11
12
  import { LocationField as z, EffectiveDateField as G } from "../../Profile/shared/useWorkAddressForm/fields.js";
12
13
  import { WorkAddressErrorCodes as Z } from "../../Profile/shared/useWorkAddressForm/workAddressSchema.js";
13
14
  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";
15
+ import { useComponentContext as Le } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
16
+ import { formatDateLongWithYear as S, normalizeToDate as Te, addDays as Se } from "../../../../helpers/dateFormatting.js";
17
+ import { getStreet as B, getCityStateZip as R } from "../../../../helpers/formattedStrings.js";
18
+ import { HamburgerMenu as Pe } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
19
+ import { useDataView as ke } from "../../../Common/DataView/useDataView.js";
20
+ import { DataView as Ae } from "../../../Common/DataView/DataView.js";
20
21
  function _(s, u) {
21
22
  if (!(!s.locationUuid || !u?.length))
22
23
  return u.find((o) => o.uuid === s.locationUuid);
@@ -24,13 +25,13 @@ function _(s, u) {
24
25
  function X(s, u) {
25
26
  const o = _(s, u);
26
27
  if (o) {
27
- const y = R(o).trim(), P = B(o).trim();
28
+ const y = B(o).trim(), P = R(o).trim();
28
29
  return { primary: y, secondary: P };
29
30
  }
30
- const H = R(s).trim(), f = B(s).trim();
31
+ const H = B(s).trim(), f = R(s).trim();
31
32
  return { primary: H, secondary: f };
32
33
  }
33
- function ze({
34
+ function Je({
34
35
  editWorkAddressForm: s,
35
36
  changeWorkAddressForm: u,
36
37
  workAddresses: o,
@@ -39,10 +40,11 @@ function ze({
39
40
  employeeDisplayName: y,
40
41
  onConfirmDelete: P,
41
42
  onWorkAddressSaved: I,
42
- isDeletePending: N = !1
43
+ onBack: N,
44
+ isDeletePending: ee = !1
43
45
  }) {
44
- const { t } = pe("Employee.WorkAddress.Management"), i = Me(), [l, x] = F(null), [m, C] = F(null), k = me(null), [M, V] = F(void 0);
45
- fe(() => {
46
+ const { t } = he("Employee.WorkAddress.Management"), i = Le(), [l, x] = F(null), [m, C] = F(null), k = fe(null), [b, V] = F(void 0);
47
+ pe(() => {
46
48
  if (!l) {
47
49
  V(void 0);
48
50
  return;
@@ -58,45 +60,45 @@ function ze({
58
60
  }
59
61
  }, [l]);
60
62
  const {
61
- data: { workAddress: c, companyLocations: p },
63
+ data: { workAddress: d, companyLocations: p },
62
64
  status: j,
63
- form: { Fields: ee }
64
- } = s, b = ee.EffectiveDate != null, { status: O } = u, U = {
65
+ form: { Fields: te }
66
+ } = s, M = te.EffectiveDate != null, { status: O } = u, U = {
65
67
  [Z.REQUIRED]: t("form.locationRequired")
66
68
  }, W = {
67
69
  [Z.REQUIRED]: t("form.startDateRequired")
68
- }, T = D(
69
- () => ge(o),
70
+ }, L = v(
71
+ () => ve(o),
70
72
  [o]
71
- ), $ = D(() => {
73
+ ), $ = v(() => {
72
74
  if (!(!m || !o))
73
75
  return o.find((n) => n.uuid === m);
74
- }, [m, o]), te = D(() => {
76
+ }, [m, o]), ie = v(() => {
75
77
  const n = y.trim();
76
78
  return n ? `${n}'s` : t("changePendingPossessiveFallback");
77
- }, [y, t]), v = D(() => [...o ?? []].sort((n, a) => {
79
+ }, [y, t]), D = v(() => [...o ?? []].sort((n, a) => {
78
80
  const h = n.effectiveDate ?? "", g = a.effectiveDate ?? "";
79
81
  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;
82
+ }), [o]), q = v(
83
+ () => D.filter((n) => n.active !== !0),
84
+ [D]
85
+ ), ne = v(() => [...q].reverse(), [q]), re = (n) => {
86
+ const a = D.findIndex((me) => me.uuid === n.uuid);
87
+ if (a === -1 || a >= D.length - 1) return "—";
88
+ const h = D[a + 1]?.effectiveDate;
87
89
  if (!h) return "—";
88
- const g = be(h);
90
+ const g = Te(h);
89
91
  if (!g) return "—";
90
- const E = Te(g, -1), se = E.getFullYear(), de = String(E.getMonth() + 1).padStart(2, "0"), ce = String(E.getDate()).padStart(2, "0");
91
- return S(`${se}-${de}-${ce}`);
92
- }, re = Se({
93
- data: ie,
92
+ const E = Se(g, -1), ce = E.getFullYear(), de = String(E.getMonth() + 1).padStart(2, "0"), ue = String(E.getDate()).padStart(2, "0");
93
+ return S(`${ce}-${de}-${ue}`);
94
+ }, oe = ke({
95
+ data: ne,
94
96
  columns: [
95
97
  {
96
98
  title: t("columns.location"),
97
99
  render: (n) => {
98
100
  const a = X(n, p);
99
- return /* @__PURE__ */ r(d, { flexDirection: "column", gap: 0, children: [
101
+ return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 0, children: [
100
102
  /* @__PURE__ */ e(i.Text, { weight: "medium", children: a.primary }),
101
103
  /* @__PURE__ */ e(i.Text, { variant: "supporting", children: a.secondary })
102
104
  ] });
@@ -108,11 +110,11 @@ function ze({
108
110
  },
109
111
  {
110
112
  title: t("columns.endDate"),
111
- render: (n) => ne(n)
113
+ render: (n) => re(n)
112
114
  }
113
115
  ],
114
116
  itemMenu: (n) => /* @__PURE__ */ e(
115
- Le,
117
+ Pe,
116
118
  {
117
119
  triggerLabel: t("rowMenuAriaLabel"),
118
120
  items: [
@@ -121,48 +123,48 @@ function ze({
121
123
  onClick: () => {
122
124
  f(n.uuid), x("edit");
123
125
  },
124
- icon: /* @__PURE__ */ e(ve, { "aria-hidden": !0 })
126
+ icon: /* @__PURE__ */ e(ye, { "aria-hidden": !0 })
125
127
  },
126
128
  {
127
129
  label: t("rowDelete"),
128
130
  onClick: () => {
129
131
  n.active !== !0 && C(n.uuid);
130
132
  },
131
- icon: /* @__PURE__ */ e(ye, { "aria-hidden": !0 })
133
+ icon: /* @__PURE__ */ e(xe, { "aria-hidden": !0 })
132
134
  }
133
135
  ]
134
136
  }
135
137
  ),
136
138
  emptyState: () => /* @__PURE__ */ e("div", { "data-testid": "work-address-history-empty", children: /* @__PURE__ */ e(
137
- Ce,
139
+ be,
138
140
  {
139
141
  icon: /* @__PURE__ */ e(De, { "aria-hidden": !0 }),
140
142
  title: t("historyEmptyTitle"),
141
143
  description: t("historyEmptyDescription")
142
144
  }
143
145
  ) })
144
- }), L = () => {
146
+ }), T = () => {
145
147
  x(null), f(void 0);
146
- }, oe = async () => {
148
+ }, ae = async () => {
147
149
  if (!m)
148
150
  return;
149
151
  await P(m) && C(null);
150
- }, ae = async () => {
152
+ }, le = async () => {
151
153
  if (!l)
152
154
  return;
153
155
  if (l === "edit") {
154
156
  const a = await s.actions.onSubmit(
155
157
  void 0,
156
- b ? void 0 : { effectiveDate: c?.effectiveDate }
158
+ M ? void 0 : { effectiveDate: d?.effectiveDate }
157
159
  );
158
- a && (I(a), L());
160
+ a && (I(a), T());
159
161
  return;
160
162
  }
161
163
  const n = await u.actions.onSubmit();
162
- n && (I(n), L());
163
- }, le = l === "edit" ? j.isPending : O.isPending, w = c ? X(c, p) : null, A = c && p ? _(c, p) : void 0;
164
- return /* @__PURE__ */ r(d, { flexDirection: "column", gap: 24, children: [
165
- /* @__PURE__ */ r(d, { flexDirection: "column", gap: 4, alignItems: "flex-start", children: [
164
+ n && (I(n), T());
165
+ }, se = l === "edit" ? j.isPending : O.isPending, A = d ? X(d, p) : null, w = d && p ? _(d, p) : void 0;
166
+ return /* @__PURE__ */ r(c, { flexDirection: "column", gap: 24, children: [
167
+ /* @__PURE__ */ r(c, { flexDirection: "column", gap: 4, alignItems: "flex-start", children: [
166
168
  /* @__PURE__ */ e(i.Heading, { as: "h1", styledAs: "h2", children: t("title") }),
167
169
  /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("description") })
168
170
  ] }),
@@ -173,7 +175,7 @@ function ze({
173
175
  i.BoxHeader,
174
176
  {
175
177
  title: t("currentSectionTitle"),
176
- action: c ? /* @__PURE__ */ e(
178
+ action: d ? /* @__PURE__ */ e(
177
179
  i.Button,
178
180
  {
179
181
  variant: "secondary",
@@ -197,56 +199,57 @@ function ze({
197
199
  children: t("changeCta")
198
200
  }
199
201
  ),
200
- children: /* @__PURE__ */ r(d, { flexDirection: "column", gap: 16, children: [
201
- c && w ? /* @__PURE__ */ r(d, { flexDirection: "column", gap: 4, children: [
202
- /* @__PURE__ */ e(xe, { children: A ? /* @__PURE__ */ r(K, { children: [
203
- /* @__PURE__ */ e(i.Text, { weight: "medium", children: R(A).trim() }),
204
- /* @__PURE__ */ e(i.Text, { weight: "medium", children: B(A) })
202
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
203
+ d && A ? /* @__PURE__ */ r(c, { flexDirection: "column", gap: 4, children: [
204
+ /* @__PURE__ */ e(Ce, { children: w ? /* @__PURE__ */ r(K, { children: [
205
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: B(w).trim() }),
206
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: R(w) })
205
207
  ] }) : /* @__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
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: A.primary }),
209
+ /* @__PURE__ */ e(i.Text, { weight: "medium", children: A.secondary })
208
210
  ] }) }),
209
- c.effectiveDate ? /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("currentSince", {
210
- date: S(c.effectiveDate)
211
+ d.effectiveDate ? /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("currentSince", {
212
+ date: S(d.effectiveDate)
211
213
  }) }) : null
212
214
  ] }) : /* @__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) : "—"
215
+ L ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("changePendingTitle"), children: /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("changePendingDescription", {
216
+ possessiveLabel: ie,
217
+ newAddress: Q(L, p),
218
+ effectiveDate: L.effectiveDate ? S(L.effectiveDate) : "—"
217
219
  }) }) }) : null
218
220
  ] })
219
221
  }
220
222
  ),
221
- /* @__PURE__ */ r(d, { flexDirection: "column", gap: 12, children: [
223
+ /* @__PURE__ */ r(c, { flexDirection: "column", gap: 12, children: [
222
224
  /* @__PURE__ */ e(i.Heading, { as: "h2", styledAs: "h4", children: t("historySectionTitle") }),
223
- /* @__PURE__ */ e(Pe, { label: t("historySectionTitle"), ...re })
225
+ /* @__PURE__ */ e(Ae, { label: t("historySectionTitle"), ...oe })
224
226
  ] }),
227
+ /* @__PURE__ */ e(Me, { children: /* @__PURE__ */ e(i.Button, { variant: "secondary", onClick: N, children: t("backCta") }) }),
225
228
  /* @__PURE__ */ e(
226
229
  i.Modal,
227
230
  {
228
231
  isOpen: l !== null,
229
- onClose: L,
232
+ onClose: T,
230
233
  shouldCloseOnBackdropClick: !1,
231
234
  containerRef: k,
232
- footer: /* @__PURE__ */ r(d, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
233
- /* @__PURE__ */ e(i.Button, { variant: "secondary", onClick: L, children: t("cancelCta") }),
235
+ footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
236
+ /* @__PURE__ */ e(i.Button, { variant: "secondary", onClick: T, children: t("cancelCta") }),
234
237
  /* @__PURE__ */ e(
235
238
  i.Button,
236
239
  {
237
240
  variant: "primary",
238
241
  onClick: () => {
239
- ae();
242
+ le();
240
243
  },
241
- isLoading: le,
244
+ isLoading: se,
242
245
  children: t("submitCta")
243
246
  }
244
247
  )
245
248
  ] }),
246
- children: /* @__PURE__ */ r(d, { flexDirection: "column", gap: 16, children: [
249
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
247
250
  /* @__PURE__ */ e(i.Heading, { as: "h2", children: t(l === "edit" ? "editModalTitle" : "changeModalTitle") }),
248
251
  /* @__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,
252
+ l === "edit" && M ? /* @__PURE__ */ e(i.Alert, { status: "warning", label: t("editPastAddressAlertTitle") }) : null,
250
253
  l === "edit" ? /* @__PURE__ */ e(J, { formHookResult: s, children: /* @__PURE__ */ r(
251
254
  Y,
252
255
  {
@@ -259,19 +262,19 @@ function ze({
259
262
  /* @__PURE__ */ e(
260
263
  z,
261
264
  {
262
- label: t(b ? "form.editInactiveLocationLabel" : "form.editLocationLabel"),
265
+ label: t(M ? "form.editInactiveLocationLabel" : "form.editLocationLabel"),
263
266
  description: t("form.editLocationDescription"),
264
267
  validationMessages: U,
265
- portalContainer: M
268
+ portalContainer: b
266
269
  }
267
270
  ),
268
- b ? /* @__PURE__ */ e(
271
+ M ? /* @__PURE__ */ e(
269
272
  G,
270
273
  {
271
274
  label: t("form.startDateLabel"),
272
275
  description: t("form.editInactiveStartDateDescription"),
273
276
  validationMessages: W,
274
- portalContainer: M
277
+ portalContainer: b
275
278
  }
276
279
  ) : null
277
280
  ]
@@ -292,7 +295,7 @@ function ze({
292
295
  label: t("form.newWorkAddressLabel"),
293
296
  description: t("form.newWorkAddressDescription"),
294
297
  validationMessages: U,
295
- portalContainer: M
298
+ portalContainer: b
296
299
  }
297
300
  ),
298
301
  /* @__PURE__ */ e(
@@ -301,7 +304,7 @@ function ze({
301
304
  label: t("form.startDateLabel"),
302
305
  description: t("form.startDateDescription"),
303
306
  validationMessages: W,
304
- portalContainer: M
307
+ portalContainer: b
305
308
  }
306
309
  )
307
310
  ]
@@ -318,7 +321,7 @@ function ze({
318
321
  C(null);
319
322
  },
320
323
  shouldCloseOnBackdropClick: !1,
321
- footer: /* @__PURE__ */ r(d, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
324
+ footer: /* @__PURE__ */ r(c, { flexDirection: "row", gap: 12, justifyContent: "flex-end", children: [
322
325
  /* @__PURE__ */ e(
323
326
  i.Button,
324
327
  {
@@ -334,17 +337,17 @@ function ze({
334
337
  {
335
338
  variant: "error",
336
339
  onClick: () => {
337
- oe();
340
+ ae();
338
341
  },
339
- isLoading: N && m !== null,
342
+ isLoading: ee && m !== null,
340
343
  children: t("deleteModalConfirmCta")
341
344
  }
342
345
  )
343
346
  ] }),
344
- children: /* @__PURE__ */ r(d, { flexDirection: "column", gap: 16, children: [
347
+ children: /* @__PURE__ */ r(c, { flexDirection: "column", gap: 16, children: [
345
348
  /* @__PURE__ */ e(i.Heading, { as: "h2", children: t("deleteModalTitle") }),
346
349
  /* @__PURE__ */ e(i.Text, { variant: "supporting", children: $ ? /* @__PURE__ */ e(
347
- he,
350
+ ge,
348
351
  {
349
352
  t,
350
353
  i18nKey: "deleteModalDescription",
@@ -362,6 +365,6 @@ function ze({
362
365
  ] });
363
366
  }
364
367
  export {
365
- ze as WorkAddressView
368
+ Je as WorkAddressView
366
369
  };
367
370
  //# sourceMappingURL=WorkAddressView.js.map
@@ -1 +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={4} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </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\" styledAs=\"h4\">\n {t('historySectionTitle')}\n </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":"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"}
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 {\n ActionsLayout,\n DataView,\n EmptyData,\n Grid,\n HamburgerMenu,\n useDataView,\n} 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 onBack: () => 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 onBack,\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={4} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </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\" styledAs=\"h4\">\n {t('historySectionTitle')}\n </Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={onBack}>\n {t('backCta')}\n </Components.Button>\n </ActionsLayout>\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","onBack","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","ActionsLayout","SDKFormProvider","Grid","LocationField","EffectiveDateField","Trans"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { ManagementEmployeeList as EmployeeList } from '../EmployeeList/management/ManagementEmployeeList';
2
+ export { EmployeeListFlow } from '../EmployeeListFlow';
3
+ export type { EmployeeListFlowProps } from '../EmployeeListFlow';
2
4
  /** @deprecated Use EmployeeOnboarding.EmployeeDocuments; not applicable for post-onboarding flows. Will be removed in a future version. */
3
5
  export { EmployeeDocuments } from '../Documents/onboarding/EmployeeDocuments';
4
6
  export { DocumentManager } from '../Documents/management/DocumentManager';
@@ -1,27 +1,29 @@
1
1
  import { ManagementEmployeeList as r } from "../EmployeeList/management/ManagementEmployeeList.js";
2
2
  import { DocumentManager as t } from "../Documents/management/DocumentManager.js";
3
- import { WorkAddress as p } from "../WorkAddress/management/WorkAddress.js";
3
+ import { WorkAddress as a } from "../WorkAddress/management/WorkAddress.js";
4
4
  import { FederalTaxes as f } from "../FederalTaxes/management/FederalTaxes.js";
5
- import { StateTaxes as s } from "../StateTaxes/management/StateTaxes.js";
6
- import { Profile as l } from "../Profile/management/Profile.js";
5
+ import { StateTaxes as l } from "../StateTaxes/management/StateTaxes.js";
6
+ import { Profile as i } from "../Profile/management/Profile.js";
7
7
  import { TerminateEmployee as d } from "../Terminations/TerminateEmployee/TerminateEmployee.js";
8
- import { TerminationSummary as E } from "../Terminations/TerminationSummary/TerminationSummary.js";
9
- import { TerminationFlow as D } from "../Terminations/TerminationFlow/TerminationFlow.js";
10
- import { DashboardFlow as M } from "../Dashboard/DashboardFlow.js";
11
- import { EmployeeDocuments as g } from "../Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js";
12
- import { PaymentMethod as w } from "../PaymentMethod/management/PaymentMethod.js";
8
+ import { TerminationSummary as T } from "../Terminations/TerminationSummary/TerminationSummary.js";
9
+ import { TerminationFlow as u } from "../Terminations/TerminationFlow/TerminationFlow.js";
10
+ import { DashboardFlow as D } from "../Dashboard/DashboardFlow.js";
11
+ import { EmployeeDocuments as M } from "../Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js";
12
+ import { EmployeeListFlow as g } from "../EmployeeListFlow/EmployeeListFlow.js";
13
+ import { PaymentMethod as P } from "../PaymentMethod/management/PaymentMethod.js";
13
14
  export {
14
- M as DashboardFlow,
15
+ D as DashboardFlow,
15
16
  t as DocumentManager,
16
- g as EmployeeDocuments,
17
+ M as EmployeeDocuments,
17
18
  r as EmployeeList,
19
+ g as EmployeeListFlow,
18
20
  f as FederalTaxes,
19
- w as PaymentMethod,
20
- l as Profile,
21
- s as StateTaxes,
21
+ P as PaymentMethod,
22
+ i as Profile,
23
+ l as StateTaxes,
22
24
  d as TerminateEmployee,
23
- D as TerminationFlow,
24
- E as TerminationSummary,
25
- p as WorkAddress
25
+ u as TerminationFlow,
26
+ T as TerminationSummary,
27
+ a as WorkAddress
26
28
  };
27
29
  //# sourceMappingURL=employeeManagement.js.map