@gusto/embedded-react-sdk 0.57.0 → 0.57.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/Base/Base.js +3 -2
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Common/DataView/DataCards/DataCards.js +44 -42
  5. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  6. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +17 -15
  7. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
  8. package/dist/components/Common/UI/Input/Input.js +35 -32
  9. package/dist/components/Common/UI/Input/Input.js.map +1 -1
  10. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +8 -6
  11. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  12. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +10 -8
  13. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +8 -6
  17. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  19. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  20. package/dist/components/Company/AssignSignatory/TitleSelect.js +11 -10
  21. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  22. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  23. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  24. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -8
  25. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  26. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  27. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  28. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +12 -10
  29. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  30. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +13 -11
  31. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  32. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +7 -5
  33. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  34. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  35. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  36. package/dist/components/Company/FederalTaxes/Actions.js +9 -7
  37. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  38. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +7 -5
  39. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  40. package/dist/components/Company/Industry/Actions.js +7 -5
  41. package/dist/components/Company/Industry/Actions.js.map +1 -1
  42. package/dist/components/Company/Industry/Context.js +8 -6
  43. package/dist/components/Company/Industry/Context.js.map +1 -1
  44. package/dist/components/Company/Industry/Edit.js +12 -10
  45. package/dist/components/Company/Industry/Edit.js.map +1 -1
  46. package/dist/components/Company/Locations/LocationForm/Actions.js +10 -8
  47. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  48. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  49. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  50. package/dist/components/Company/Locations/LocationsList/Actions.js +8 -6
  51. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  52. package/dist/components/Company/Locations/LocationsList/List.js +13 -11
  53. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  54. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  55. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  56. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  57. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  58. package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +13 -11
  59. package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
  60. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +7 -5
  61. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  62. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +96 -69
  63. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  64. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  65. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  66. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +8 -6
  67. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  68. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  69. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  70. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
  71. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  72. package/dist/components/Company/StateTaxes/shared/requirementSetError.js +27 -10
  73. package/dist/components/Company/StateTaxes/shared/requirementSetError.js.map +1 -1
  74. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js +77 -0
  75. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js.map +1 -0
  76. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js +94 -0
  77. package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js.map +1 -0
  78. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js +26 -0
  79. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js.map +1 -0
  80. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js +25 -0
  81. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js.map +1 -0
  82. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js +33 -0
  83. package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js.map +1 -0
  84. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js +55 -0
  85. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js.map +1 -0
  86. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js +153 -0
  87. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js.map +1 -0
  88. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js +14 -0
  89. package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js.map +1 -0
  90. package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js +16 -0
  91. package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js.map +1 -0
  92. package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js +34 -0
  93. package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js.map +1 -0
  94. package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js +30 -0
  95. package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js.map +1 -0
  96. package/dist/components/Company/exports/companyManagement.js +10 -4
  97. package/dist/components/Company/exports/companyManagement.js.map +1 -1
  98. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +17 -16
  99. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  100. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +9 -8
  101. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  102. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +8 -6
  103. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
  104. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +27 -26
  105. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  106. package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
  107. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +13 -12
  108. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  109. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +13 -12
  110. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  111. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +8 -6
  112. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
  113. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  114. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  115. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +24 -23
  116. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  117. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +4 -3
  118. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  119. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +4 -3
  120. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  121. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +24 -22
  122. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  123. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +9 -8
  124. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  125. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +15 -14
  126. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  127. package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
  128. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
  129. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +8 -7
  130. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  131. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +8 -7
  132. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  133. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +42 -34
  134. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  135. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  136. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  137. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +16 -14
  138. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  139. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +8 -6
  140. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  141. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +11 -9
  142. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  143. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  144. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +60 -52
  145. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  146. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  147. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +23 -18
  148. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  149. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +204 -179
  150. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  151. package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js +8 -0
  152. package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js.map +1 -0
  153. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +4 -4
  154. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  155. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +50 -41
  156. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  157. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +164 -154
  158. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  159. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +9 -5
  160. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
  161. package/dist/components/Payroll/helpers.js +91 -84
  162. package/dist/components/Payroll/helpers.js.map +1 -1
  163. package/dist/components/Payroll/usePreparedPayrollData.js +15 -13
  164. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  165. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +4 -2
  166. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  167. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +8 -6
  168. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  169. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +30 -28
  170. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  171. package/dist/contexts/ApiProvider/ApiProvider.js +19 -18
  172. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  173. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +36 -0
  174. package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -0
  175. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +4 -2
  176. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  177. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  178. package/dist/i18n/I18n.js +2 -0
  179. package/dist/i18n/I18n.js.map +1 -1
  180. package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js +26 -0
  181. package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js.map +1 -0
  182. package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js +48 -0
  183. package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js.map +1 -0
  184. package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
  185. package/dist/i18n/en/Payroll.PayrollOverview.json.js +42 -36
  186. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  187. package/dist/package.json.js +1 -1
  188. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +10 -8
  189. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  190. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +14 -12
  191. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  192. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +15 -13
  193. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  194. package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -10
  195. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  196. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +16 -14
  197. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  198. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +10 -8
  199. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  200. package/dist/shared/constants.js +62 -56
  201. package/dist/shared/constants.js.map +1 -1
  202. package/dist/src/components/Company/StateTaxes/shared/requirementSetError.d.ts +18 -5
  203. package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.d.ts +31 -0
  204. package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.d.ts +19 -0
  205. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.d.ts +42 -0
  206. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts +20 -0
  207. package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.d.ts +10 -0
  208. package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.d.ts +28 -0
  209. package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts +33 -0
  210. package/dist/src/components/Company/TaxPayments/index.d.ts +6 -0
  211. package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.d.ts +29 -0
  212. package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.test.d.ts +1 -0
  213. package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.d.ts +62 -0
  214. package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.test.d.ts +1 -0
  215. package/dist/src/components/Company/TaxPayments/shared/useAllTaxPayments.d.ts +30 -0
  216. package/dist/src/components/Company/exports/companyManagement.d.ts +2 -0
  217. package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts +6 -1
  218. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -0
  219. package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +1 -0
  220. package/dist/src/components/Payroll/PayrollOverview/PayrollOverview.d.ts +9 -3
  221. package/dist/src/components/Payroll/helpers.d.ts +14 -18
  222. package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.d.ts +14 -0
  223. package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.test.d.ts +1 -0
  224. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
  225. package/dist/src/i18n/types.d.ts +154 -2
  226. package/dist/src/models/external.d.ts +2 -0
  227. package/dist/src/shared/constants.d.ts +18 -0
  228. package/dist/style.css +1 -1
  229. package/docs/guides/endpoint-inventory.json +33 -0
  230. package/package.json +25 -22
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileCard.js","sources":["../../../../../../src/components/Employee/Profile/management/ProfileCard/ProfileCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeeProfileSummary } from '../../shared/useEmployeeProfileSummary'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\n\n/**\n * Props for {@link ProfileCard}.\n *\n * @public\n */\nexport interface ProfileCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when the user requests to edit the profile. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Read-only card showing an employee's basic profile details with an Edit action.\n *\n * @remarks\n * Standalone card that fetches its own data. Emits an event when the user\n * clicks Edit so the parent can switch to the edit form. The card does not\n * render success or error alerts itself — alert presentation is the\n * surrounding surface's responsibility.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/profile/editRequested` | Fired when the user clicks the Edit button | `{ employeeId: string }` |\n *\n * @param props - See {@link ProfileCardProps}.\n * @returns The basic-details profile card.\n * @public\n */\nexport function ProfileCard({ LoaderComponent, ...props }: ProfileCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Profile\" LoaderComponent={LoaderComponent}>\n <ProfileCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction ProfileCardContent({ employeeId, onEvent, LoaderComponent }: ProfileCardProps) {\n useI18n('Employee.Management.Profile')\n const { t } = useTranslation('Employee.Management.Profile')\n const Components = useComponentContext()\n\n const profile = useEmployeeProfileSummary({ employeeId })\n\n const isEmployeeLoading = profile.isLoading\n\n const employee = profile.isLoading ? undefined : profile.data.employee\n\n const legalName = employee\n ? firstLastName({ first_name: employee.firstName, last_name: employee.lastName })\n : undefined\n const startDate = employee ? formatDateLongWithYear(employee.jobs?.[0]?.hireDate) : undefined\n const dateOfBirth = employee ? formatDateLongWithYear(employee.dateOfBirth) : undefined\n const maskedSsn = employee?.hasSsn ? 'XXX-XX-XXXX' : undefined\n\n const emptyPlaceholder = <span aria-label={t('listEmptyPlaceholder')}>–</span>\n const profileItems = employee\n ? [\n { term: t('legalName'), description: legalName || emptyPlaceholder },\n { term: t('startDate'), description: startDate || emptyPlaceholder },\n { term: t('socialSecurityNumber'), description: maskedSsn || emptyPlaceholder },\n { term: t('dateOfBirth'), description: dateOfBirth || emptyPlaceholder },\n { term: t('personalEmail'), description: employee.email || emptyPlaceholder },\n ]\n : []\n\n const handleEdit = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PROFILE_EDIT_REQUESTED, { employeeId })\n }\n\n return (\n <BaseLayout error={profile.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('title')}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={handleEdit}\n isDisabled={isEmployeeLoading}\n >\n {t('editCta')}\n </Components.Button>\n }\n />\n }\n >\n {isEmployeeLoading ? (\n <Loading />\n ) : employee ? (\n <Components.DescriptionList items={profileItems} />\n ) : null}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["ProfileCard","LoaderComponent","props","jsx","BaseBoundaries","ProfileCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","profile","useEmployeeProfileSummary","isEmployeeLoading","employee","legalName","firstLastName","startDate","formatDateLongWithYear","dateOfBirth","maskedSsn","emptyPlaceholder","profileItems","handleEdit","componentEvents","BaseLayout","Loading"],"mappings":";;;;;;;;;;AA4CO,SAASA,EAAY,EAAE,iBAAAC,GAAiB,GAAGC,KAA2B;AAC3E,SACE,gBAAAC,EAACC,GAAA,EAAe,eAAc,+BAA8B,iBAAAH,GAC1D,4BAACI,GAAA,EAAmB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO,EAAA,CACnE;AAEJ;AAEA,SAASG,EAAmB,EAAE,YAAAC,GAAY,SAAAC,GAAS,iBAAAN,KAAqC;AACtF,EAAAO,EAAQ,6BAA6B;AACrC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,6BAA6B,GACpDC,IAAaC,EAAA,GAEbC,IAAUC,EAA0B,EAAE,YAAAR,GAAY,GAElDS,IAAoBF,EAAQ,WAE5BG,IAAWH,EAAQ,YAAY,SAAYA,EAAQ,KAAK,UAExDI,IAAYD,IACdE,EAAc,EAAE,YAAYF,EAAS,WAAW,WAAWA,EAAS,SAAA,CAAU,IAC9E,QACEG,IAAYH,IAAWI,EAAuBJ,EAAS,OAAO,CAAC,GAAG,QAAQ,IAAI,QAC9EK,IAAcL,IAAWI,EAAuBJ,EAAS,WAAW,IAAI,QACxEM,IAAYN,GAAU,SAAS,gBAAgB,QAE/CO,IAAmB,gBAAApB,EAAC,QAAA,EAAK,cAAYM,EAAE,sBAAsB,GAAG,UAAA,KAAC,GACjEe,IAAeR,IACjB;AAAA,IACE,EAAE,MAAMP,EAAE,WAAW,GAAG,aAAaQ,KAAaM,EAAA;AAAA,IAClD,EAAE,MAAMd,EAAE,WAAW,GAAG,aAAaU,KAAaI,EAAA;AAAA,IAClD,EAAE,MAAMd,EAAE,sBAAsB,GAAG,aAAaa,KAAaC,EAAA;AAAA,IAC7D,EAAE,MAAMd,EAAE,aAAa,GAAG,aAAaY,KAAeE,EAAA;AAAA,IACtD,EAAE,MAAMd,EAAE,eAAe,GAAG,aAAaO,EAAS,SAASO,EAAA;AAAA,EAAiB,IAE9E,CAAA,GAEEE,IAAa,MAAM;AACvB,IAAAlB,EAAQmB,EAAgB,4CAA4C,EAAE,YAAApB,EAAA,CAAY;AAAA,EACpF;AAEA,2BACGqB,GAAA,EAAW,OAAOd,EAAQ,cAAc,QAAQ,iBAAAZ,GAC/C,UAAA,gBAAAE;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,QACE,gBAAAR;AAAA,QAACQ,EAAW;AAAA,QAAX;AAAA,UACC,OAAOF,EAAE,OAAO;AAAA,UAChB,QACE,gBAAAN;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAASc;AAAA,cACT,YAAYV;AAAA,cAEX,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA;AAAA,QACd;AAAA,MAAA;AAAA,MAKL,UAAAA,IACC,gBAAAZ,EAACyB,GAAA,CAAA,CAAQ,IACPZ,IACF,gBAAAb,EAACQ,EAAW,iBAAX,EAA2B,OAAOa,EAAA,CAAc,IAC/C;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;"}
1
+ {"version":3,"file":"ProfileCard.js","sources":["../../../../../../src/components/Employee/Profile/management/ProfileCard/ProfileCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeeProfileSummary } from '../../shared/useEmployeeProfileSummary'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\n\n/**\n * Props for {@link ProfileCard}.\n *\n * @public\n */\nexport interface ProfileCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when the user requests to edit the profile. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Read-only card showing an employee's basic profile details with an Edit action.\n *\n * @remarks\n * Standalone card that fetches its own data. Emits an event when the user\n * clicks Edit so the parent can switch to the edit form. The card does not\n * render success or error alerts itself — alert presentation is the\n * surrounding surface's responsibility.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/profile/editRequested` | Fired when the user clicks the Edit button | `{ employeeId: string }` |\n *\n * @param props - See {@link ProfileCardProps}.\n * @returns The basic-details profile card.\n * @public\n */\nexport function ProfileCard({ LoaderComponent, ...props }: ProfileCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Profile\" LoaderComponent={LoaderComponent}>\n <ProfileCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction ProfileCardContent({ employeeId, onEvent, LoaderComponent }: ProfileCardProps) {\n useI18n('Employee.Management.Profile')\n const { t } = useTranslation('Employee.Management.Profile')\n const Components = useComponentContext()\n\n const profile = useEmployeeProfileSummary({ employeeId })\n\n const isEmployeeLoading = profile.isLoading\n\n const employee = profile.isLoading ? undefined : profile.data.employee\n\n const legalName = employee\n ? firstLastName({ first_name: employee.firstName, last_name: employee.lastName })\n : undefined\n const startDate = employee ? formatDateLongWithYear(employee.jobs?.[0]?.hireDate) : undefined\n const dateOfBirth = employee ? formatDateLongWithYear(employee.dateOfBirth) : undefined\n const maskedSsn = employee?.hasSsn ? 'XXX-XX-XXXX' : undefined\n\n const emptyPlaceholder = <span aria-label={t('listEmptyPlaceholder')}>–</span>\n const profileItems = employee\n ? [\n { term: t('legalName'), description: legalName || emptyPlaceholder },\n { term: t('startDate'), description: startDate || emptyPlaceholder },\n { term: t('socialSecurityNumber'), description: maskedSsn || emptyPlaceholder },\n { term: t('dateOfBirth'), description: dateOfBirth || emptyPlaceholder },\n { term: t('personalEmail'), description: employee.email || emptyPlaceholder },\n ]\n : []\n\n const handleEdit = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PROFILE_EDIT_REQUESTED, { employeeId })\n }\n\n return (\n <BaseLayout error={profile.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('title')}\n action={\n <Components.Button\n variant=\"secondary\"\n onClick={handleEdit}\n isDisabled={isEmployeeLoading}\n >\n {t('editCta')}\n </Components.Button>\n }\n />\n }\n >\n {isEmployeeLoading ? (\n <Loading />\n ) : employee ? (\n <Components.DescriptionList items={profileItems} />\n ) : null}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["ProfileCard","LoaderComponent","props","jsx","BaseBoundaries","ProfileCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","profile","useEmployeeProfileSummary","isEmployeeLoading","employee","legalName","firstLastName","startDate","formatDateLongWithYear","dateOfBirth","maskedSsn","emptyPlaceholder","profileItems","handleEdit","componentEvents","BaseLayout","Loading"],"mappings":";;;;;;;;;;;AA4CO,SAASA,EAAY,EAAE,iBAAAC,GAAiB,GAAGC,KAA2B;AAC3E,SACE,gBAAAC,EAACC,GAAA,EAAe,eAAc,+BAA8B,iBAAAH,GAC1D,4BAACI,GAAA,EAAmB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO,EAAA,CACnE;AAEJ;AAEA,SAASG,EAAmB,EAAE,YAAAC,GAAY,SAAAC,GAAS,iBAAAN,KAAqC;AACtF,EAAAO,EAAQ,6BAA6B;AACrC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,6BAA6B,GACpDC,IAAaC,EAAA,GAEbC,IAAUC,EAA0B,EAAE,YAAAR,GAAY,GAElDS,IAAoBF,EAAQ,WAE5BG,IAAWH,EAAQ,YAAY,SAAYA,EAAQ,KAAK,UAExDI,IAAYD,IACdE,EAAc,EAAE,YAAYF,EAAS,WAAW,WAAWA,EAAS,SAAA,CAAU,IAC9E,QACEG,IAAYH,IAAWI,EAAuBJ,EAAS,OAAO,CAAC,GAAG,QAAQ,IAAI,QAC9EK,IAAcL,IAAWI,EAAuBJ,EAAS,WAAW,IAAI,QACxEM,IAAYN,GAAU,SAAS,gBAAgB,QAE/CO,IAAmB,gBAAApB,EAAC,QAAA,EAAK,cAAYM,EAAE,sBAAsB,GAAG,UAAA,KAAC,GACjEe,IAAeR,IACjB;AAAA,IACE,EAAE,MAAMP,EAAE,WAAW,GAAG,aAAaQ,KAAaM,EAAA;AAAA,IAClD,EAAE,MAAMd,EAAE,WAAW,GAAG,aAAaU,KAAaI,EAAA;AAAA,IAClD,EAAE,MAAMd,EAAE,sBAAsB,GAAG,aAAaa,KAAaC,EAAA;AAAA,IAC7D,EAAE,MAAMd,EAAE,aAAa,GAAG,aAAaY,KAAeE,EAAA;AAAA,IACtD,EAAE,MAAMd,EAAE,eAAe,GAAG,aAAaO,EAAS,SAASO,EAAA;AAAA,EAAiB,IAE9E,CAAA,GAEEE,IAAa,MAAM;AACvB,IAAAlB,EAAQmB,EAAgB,4CAA4C,EAAE,YAAApB,EAAA,CAAY;AAAA,EACpF;AAEA,2BACGqB,GAAA,EAAW,OAAOd,EAAQ,cAAc,QAAQ,iBAAAZ,GAC/C,UAAA,gBAAAE;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,QACE,gBAAAR;AAAA,QAACQ,EAAW;AAAA,QAAX;AAAA,UACC,OAAOF,EAAE,OAAO;AAAA,UAChB,QACE,gBAAAN;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,SAAQ;AAAA,cACR,SAASc;AAAA,cACT,YAAYV;AAAA,cAEX,YAAE,SAAS;AAAA,YAAA;AAAA,UAAA;AAAA,QACd;AAAA,MAAA;AAAA,MAKL,UAAAA,IACC,gBAAAZ,EAACyB,GAAA,CAAA,CAAQ,IACPZ,IACF,gBAAAb,EAACQ,EAAW,iBAAX,EAA2B,OAAOa,EAAA,CAAc,IAC/C;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;"}
@@ -6,12 +6,12 @@ import { useEmployeeDetailsForm as h } from "../shared/useEmployeeDetailsForm/us
6
6
  import v from "./Profile.module.scss.js";
7
7
  import { BaseBoundaries as L, BaseLayout as c } from "../../../Base/Base.js";
8
8
  import "../../../Base/useBase.js";
9
+ import { componentEvents as E } from "../../../../shared/constants.js";
9
10
  import { Grid as A } from "../../../Common/Grid/Grid.js";
10
11
  import { ActionsLayout as R } from "../../../Common/ActionsLayout/ActionsLayout.js";
11
12
  import { Form as y } from "../../../Common/Form/Form.js";
12
13
  import { SDKFormProvider as P } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
13
14
  import { useI18n as F, useComponentDictionary as S } from "../../../../i18n/I18n.js";
14
- import { componentEvents as E } from "../../../../shared/constants.js";
15
15
  import { useComponentContext as _ } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
16
16
  function J({
17
17
  FallbackComponent: t,
@@ -10,12 +10,12 @@ import { SDKFormProvider as L } from "../../../../partner-hook-utils/form/SDKFor
10
10
  import { composeSubmitHandler as z } from "../../../../partner-hook-utils/form/composeSubmitHandler.js";
11
11
  import { composeErrorHandler as S } from "../../../../partner-hook-utils/composeErrorHandler.js";
12
12
  import { Grid as A } from "../../../Common/Grid/Grid.js";
13
+ import { componentEvents as p } from "../../../../shared/constants.js";
13
14
  import { ActionsLayout as B } from "../../../Common/ActionsLayout/ActionsLayout.js";
14
15
  import { Form as Y } from "../../../Common/Form/Form.js";
15
16
  import { BaseLayout as N } from "../../../Base/Base.js";
16
17
  import "../../../Base/useBase.js";
17
18
  import { useI18n as H, useComponentDictionary as W } from "../../../../i18n/I18n.js";
18
- import { componentEvents as p } from "../../../../shared/constants.js";
19
19
  import { useComponentContext as Z } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
20
20
  import { getStreet as j, getCityStateZip as q } from "../../../../helpers/formattedStrings.js";
21
21
  const G = {
@@ -4,12 +4,13 @@ import { EmployeeStateTaxesView as x } from "../shared/EmployeeStateTaxesView.js
4
4
  import { useManagementStateTaxesViewDictionary as y } from "./useViewDictionary.js";
5
5
  import { BaseBoundaries as d, BaseLayout as f } from "../../../Base/Base.js";
6
6
  import "../../../Base/useBase.js";
7
+ import "classnames";
8
+ import { componentEvents as E } from "../../../../shared/constants.js";
7
9
  import { ActionsLayout as g } from "../../../Common/ActionsLayout/ActionsLayout.js";
8
10
  import { useI18n as A, useComponentDictionary as M } from "../../../../i18n/I18n.js";
9
- import { componentEvents as E } from "../../../../shared/constants.js";
10
11
  import { useComponentContext as _ } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
12
  import { useEmployeeStateTaxesForm as C } from "../shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js";
12
- function I({
13
+ function O({
13
14
  FallbackComponent: a,
14
15
  LoaderComponent: o,
15
16
  ...n
@@ -32,7 +33,7 @@ function L({
32
33
  LoaderComponent: i
33
34
  }) {
34
35
  A("Employee.Management.StateTaxes"), M("Employee.Management.StateTaxes", n);
35
- const { t: s } = S("Employee.Management.StateTaxes"), m = _(), e = C({ employeeId: a }), u = y();
36
+ const { t: s } = S("Employee.Management.StateTaxes"), m = _(), e = C({ employeeId: a }), p = y();
36
37
  if (e.isLoading)
37
38
  return /* @__PURE__ */ t(
38
39
  f,
@@ -42,7 +43,7 @@ function L({
42
43
  LoaderComponent: i
43
44
  }
44
45
  );
45
- const p = async () => {
46
+ const u = async () => {
46
47
  const c = await e.actions.onSubmit();
47
48
  c && r(E.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED, {
48
49
  employeeStateTaxesList: c.data
@@ -54,18 +55,18 @@ function L({
54
55
  x,
55
56
  {
56
57
  stateTaxes: e,
57
- onSubmit: p,
58
+ onSubmit: u,
58
59
  actions: /* @__PURE__ */ l(g, { children: [
59
60
  /* @__PURE__ */ t(m.Button, { variant: "secondary", onClick: T, children: s("cancelCta") }),
60
61
  /* @__PURE__ */ t(m.Button, { type: "submit", isLoading: e.status.isPending, children: s("saveCta") })
61
62
  ] }),
62
63
  className: o,
63
- dictionary: u,
64
+ dictionary: p,
64
65
  LoaderComponent: i
65
66
  }
66
67
  );
67
68
  }
68
69
  export {
69
- I as StateTaxesEditForm
70
+ O as StateTaxesEditForm
70
71
  };
71
72
  //# sourceMappingURL=StateTaxesEditForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateTaxesEditForm.js","sources":["../../../../../src/components/Employee/StateTaxes/management/StateTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useManagementStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxesEditForm}.\n *\n * @public\n */\nexport interface StateTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Standalone edit screen for the state-tax management flow. Renders the shared\n * state-tax form against the `Employee.Management.StateTaxes` namespace and\n * emits scoped management events on submit and cancel, so partner copy\n * overrides on the management namespace do not leak into the onboarding flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/management/stateTaxes/editCancelled` | Cancel button was clicked | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: StateTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.StateTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <StateTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesEditFormRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n LoaderComponent,\n}: StateTaxesEditFormProps) {\n useI18n('Employee.Management.StateTaxes')\n useComponentDictionary('Employee.Management.StateTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const Components = useComponentContext()\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n const managementStateTaxesDictionary = useManagementStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={stateTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={stateTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={managementStateTaxesDictionary}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n"],"names":["StateTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","StateTaxesEditFormRoot","employeeId","className","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","stateTaxes","useEmployeeStateTaxesForm","managementStateTaxesDictionary","useManagementStateTaxesViewDictionary","BaseLayout","handleSubmit","result","componentEvents","handleCancel","EmployeeStateTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;AAkCO,SAASA,EAAmB;AAAA,EACjC,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAA4B;AAC1B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAuB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG3E;AAEA,SAASG,EAAuB;AAAA,EAC9B,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAR;AACF,GAA4B;AAC1B,EAAAS,EAAQ,gCAAgC,GACxCC,EAAuB,kCAAkCH,CAAU;AACnE,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,gCAAgC,GACvDC,IAAaC,EAAA,GAEbC,IAAaC,EAA0B,EAAE,YAAAX,GAAY,GACrDY,IAAiCC,EAAA;AAEvC,MAAIH,EAAW;AACb,WACE,gBAAAb;AAAA,MAACiB;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOJ,EAAW,cAAc;AAAA,QAChC,iBAAAf;AAAA,MAAA;AAAA,IAAA;AAKN,QAAMoB,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,IAAKM,KAELb,EAAQc,EAAgB,yCAAyC;AAAA,MAC/D,wBAAwBD,EAAO;AAAA,IAAA,CAChC;AAAA,EACH,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,8CAA8C;AAAA,EACxE;AAEA,SACE,gBAAApB;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,YAAAT;AAAA,MACA,UAAUK;AAAA,MACV,2BACGK,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAvB,EAACW,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAT,EAACW,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWE,EAAW,OAAO,WAC3D,UAAAJ,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAL;AAAA,MACA,YAAYW;AAAA,MACZ,iBAAAjB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"StateTaxesEditForm.js","sources":["../../../../../src/components/Employee/StateTaxes/management/StateTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useManagementStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxesEditForm}.\n *\n * @public\n */\nexport interface StateTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Standalone edit screen for the state-tax management flow. Renders the shared\n * state-tax form against the `Employee.Management.StateTaxes` namespace and\n * emits scoped management events on submit and cancel, so partner copy\n * overrides on the management namespace do not leak into the onboarding flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/management/stateTaxes/editCancelled` | Cancel button was clicked | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: StateTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.StateTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <StateTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesEditFormRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n LoaderComponent,\n}: StateTaxesEditFormProps) {\n useI18n('Employee.Management.StateTaxes')\n useComponentDictionary('Employee.Management.StateTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.StateTaxes')\n const Components = useComponentContext()\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId })\n const managementStateTaxesDictionary = useManagementStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={stateTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_STATE_TAXES_EDIT_CANCELLED)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={stateTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={managementStateTaxesDictionary}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n"],"names":["StateTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","StateTaxesEditFormRoot","employeeId","className","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","stateTaxes","useEmployeeStateTaxesForm","managementStateTaxesDictionary","useManagementStateTaxesViewDictionary","BaseLayout","handleSubmit","result","componentEvents","handleCancel","EmployeeStateTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;;AAkCO,SAASA,EAAmB;AAAA,EACjC,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAA4B;AAC1B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAuB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG3E;AAEA,SAASG,EAAuB;AAAA,EAC9B,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAR;AACF,GAA4B;AAC1B,EAAAS,EAAQ,gCAAgC,GACxCC,EAAuB,kCAAkCH,CAAU;AACnE,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,gCAAgC,GACvDC,IAAaC,EAAA,GAEbC,IAAaC,EAA0B,EAAE,YAAAX,GAAY,GACrDY,IAAiCC,EAAA;AAEvC,MAAIH,EAAW;AACb,WACE,gBAAAb;AAAA,MAACiB;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOJ,EAAW,cAAc;AAAA,QAChC,iBAAAf;AAAA,MAAA;AAAA,IAAA;AAKN,QAAMoB,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,IAAKM,KAELb,EAAQc,EAAgB,yCAAyC;AAAA,MAC/D,wBAAwBD,EAAO;AAAA,IAAA,CAChC;AAAA,EACH,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,8CAA8C;AAAA,EACxE;AAEA,SACE,gBAAApB;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,YAAAT;AAAA,MACA,UAAUK;AAAA,MACV,2BACGK,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAvB,EAACW,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAT,EAACW,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWE,EAAW,OAAO,WAC3D,UAAAJ,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAL;AAAA,MACA,YAAYW;AAAA,MACZ,iBAAAjB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,15 +1,16 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useTranslation as p } from "react-i18next";
2
+ import { useTranslation as c } from "react-i18next";
3
3
  import { EmployeeStateTaxesView as T } from "../shared/EmployeeStateTaxesView.js";
4
4
  import { useOnboardingStateTaxesViewDictionary as S } from "./useViewDictionary.js";
5
5
  import { BaseBoundaries as E, BaseLayout as f } from "../../../Base/Base.js";
6
6
  import "../../../Base/useBase.js";
7
+ import "classnames";
8
+ import { componentEvents as m } from "../../../../shared/constants.js";
7
9
  import { ActionsLayout as l } from "../../../Common/ActionsLayout/ActionsLayout.js";
8
10
  import { useI18n as x, useComponentDictionary as y } from "../../../../i18n/I18n.js";
9
- import { componentEvents as m } from "../../../../shared/constants.js";
10
11
  import { useComponentContext as d } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
12
  import { useEmployeeStateTaxesForm as b } from "../shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js";
12
- function X({ FallbackComponent: o, LoaderComponent: e, ...n }) {
13
+ function Y({ FallbackComponent: o, LoaderComponent: e, ...n }) {
13
14
  return /* @__PURE__ */ t(
14
15
  E,
15
16
  {
@@ -29,7 +30,7 @@ function g({
29
30
  LoaderComponent: a
30
31
  }) {
31
32
  x("Employee.StateTaxes"), y("Employee.StateTaxes", n);
32
- const i = b({ employeeId: o, isAdmin: u }), c = S();
33
+ const i = b({ employeeId: o, isAdmin: u }), p = S();
33
34
  return i.isLoading ? /* @__PURE__ */ t(
34
35
  f,
35
36
  {
@@ -49,16 +50,16 @@ function g({
49
50
  },
50
51
  actions: /* @__PURE__ */ t(A, { isPending: i.status.isPending }),
51
52
  className: e,
52
- dictionary: c,
53
+ dictionary: p,
53
54
  LoaderComponent: a
54
55
  }
55
56
  );
56
57
  }
57
58
  function A({ isPending: o }) {
58
- const { t: e } = p("Employee.StateTaxes"), n = d();
59
+ const { t: e } = c("Employee.StateTaxes"), n = d();
59
60
  return /* @__PURE__ */ t(l, { children: /* @__PURE__ */ t(n.Button, { type: "submit", isLoading: o, children: e("submitCta") }) });
60
61
  }
61
62
  export {
62
- X as StateTaxes
63
+ Y as StateTaxes
63
64
  };
64
65
  //# sourceMappingURL=StateTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateTaxes.js","sources":["../../../../../src/components/Employee/StateTaxes/onboarding/StateTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useOnboardingStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxes}.\n *\n * @public\n */\nexport interface StateTaxesProps extends BaseComponentInterface<'Employee.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Render admin-only questions and submit them. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Onboarding step that collects an employee's per-state tax withholding\n * answers. The set of fields is driven by the API response for each state\n * on record.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/stateTaxes/done` | Onboarding step has finished — emitted immediately after `updated` | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxes({ FallbackComponent, LoaderComponent, ...props }: StateTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.StateTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <StateTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n isAdmin = false,\n LoaderComponent,\n}: StateTaxesProps) {\n useI18n('Employee.StateTaxes')\n useComponentDictionary('Employee.StateTaxes', dictionary)\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId, isAdmin })\n const onboardingStateTaxesDictionary = useOnboardingStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={stateTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_DONE)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={<ContinueAction isPending={stateTaxes.status.isPending} />}\n className={className}\n dictionary={onboardingStateTaxesDictionary}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.StateTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["StateTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","StateTaxesRoot","employeeId","className","dictionary","onEvent","isAdmin","useI18n","useComponentDictionary","stateTaxes","useEmployeeStateTaxesForm","onboardingStateTaxesDictionary","useOnboardingStateTaxesViewDictionary","BaseLayout","EmployeeStateTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;AAmCO,SAASA,EAAW,EAAE,mBAAAC,GAAmB,iBAAAC,GAAiB,GAAGC,KAA0B;AAC5F,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAe,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGnE;AAEA,SAASG,EAAe;AAAA,EACtB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,iBAAAT;AACF,GAAoB;AAClB,EAAAU,EAAQ,qBAAqB,GAC7BC,EAAuB,uBAAuBJ,CAAU;AAExD,QAAMK,IAAaC,EAA0B,EAAE,YAAAR,GAAY,SAAAI,GAAS,GAC9DK,IAAiCC,EAAA;AAEvC,SAAIH,EAAW,YAEX,gBAAAV;AAAA,IAACc;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,OAAOJ,EAAW,cAAc;AAAA,MAChC,iBAAAZ;AAAA,IAAA;AAAA,EAAA,IAgBJ,gBAAAE;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,YAAAL;AAAA,MACA,UAbiB,YAAY;AAC/B,cAAMM,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,QAAKM,MAELV,EAAQW,EAAgB,8BAA8B;AAAA,UACpD,wBAAwBD,EAAO;AAAA,QAAA,CAChC,GACDV,EAAQW,EAAgB,yBAAyB;AAAA,MACnD;AAAA,MAMI,SAAS,gBAAAjB,EAACkB,GAAA,EAAe,WAAWR,EAAW,OAAO,WAAW;AAAA,MACjE,WAAAN;AAAA,MACA,YAAYQ;AAAA,MACZ,iBAAAd;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASoB,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,SACE,gBAAAvB,EAACwB,GAAA,EACC,UAAA,gBAAAxB,EAACsB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
1
+ {"version":3,"file":"StateTaxes.js","sources":["../../../../../src/components/Employee/StateTaxes/onboarding/StateTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { EmployeeStateTaxesView, useEmployeeStateTaxesForm } from '../shared'\nimport { useOnboardingStateTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link StateTaxes}.\n *\n * @public\n */\nexport interface StateTaxesProps extends BaseComponentInterface<'Employee.StateTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Render admin-only questions and submit them. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Onboarding step that collects an employee's per-state tax withholding\n * answers. The set of fields is driven by the API response for each state\n * on record.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/stateTaxes/updated` | Form was submitted successfully | `{ employeeStateTaxesList: EmployeeStateTaxesList[] }` |\n * | `employee/stateTaxes/done` | Onboarding step has finished — emitted immediately after `updated` | — |\n *\n * @param props - The component props.\n * @public\n */\nexport function StateTaxes({ FallbackComponent, LoaderComponent, ...props }: StateTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.StateTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <StateTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction StateTaxesRoot({\n employeeId,\n className,\n dictionary,\n onEvent,\n isAdmin = false,\n LoaderComponent,\n}: StateTaxesProps) {\n useI18n('Employee.StateTaxes')\n useComponentDictionary('Employee.StateTaxes', dictionary)\n\n const stateTaxes = useEmployeeStateTaxesForm({ employeeId, isAdmin })\n const onboardingStateTaxesDictionary = useOnboardingStateTaxesViewDictionary()\n\n if (stateTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={stateTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await stateTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, {\n employeeStateTaxesList: result.data,\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_DONE)\n }\n\n return (\n <EmployeeStateTaxesView\n stateTaxes={stateTaxes}\n onSubmit={handleSubmit}\n actions={<ContinueAction isPending={stateTaxes.status.isPending} />}\n className={className}\n dictionary={onboardingStateTaxesDictionary}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.StateTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["StateTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","StateTaxesRoot","employeeId","className","dictionary","onEvent","isAdmin","useI18n","useComponentDictionary","stateTaxes","useEmployeeStateTaxesForm","onboardingStateTaxesDictionary","useOnboardingStateTaxesViewDictionary","BaseLayout","EmployeeStateTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;;AAmCO,SAASA,EAAW,EAAE,mBAAAC,GAAmB,iBAAAC,GAAiB,GAAGC,KAA0B;AAC5F,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAe,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGnE;AAEA,SAASG,EAAe;AAAA,EACtB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,iBAAAT;AACF,GAAoB;AAClB,EAAAU,EAAQ,qBAAqB,GAC7BC,EAAuB,uBAAuBJ,CAAU;AAExD,QAAMK,IAAaC,EAA0B,EAAE,YAAAR,GAAY,SAAAI,GAAS,GAC9DK,IAAiCC,EAAA;AAEvC,SAAIH,EAAW,YAEX,gBAAAV;AAAA,IAACc;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,OAAOJ,EAAW,cAAc;AAAA,MAChC,iBAAAZ;AAAA,IAAA;AAAA,EAAA,IAgBJ,gBAAAE;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,YAAAL;AAAA,MACA,UAbiB,YAAY;AAC/B,cAAMM,IAAS,MAAMN,EAAW,QAAQ,SAAA;AACxC,QAAKM,MAELV,EAAQW,EAAgB,8BAA8B;AAAA,UACpD,wBAAwBD,EAAO;AAAA,QAAA,CAChC,GACDV,EAAQW,EAAgB,yBAAyB;AAAA,MACnD;AAAA,MAMI,SAAS,gBAAAjB,EAACkB,GAAA,EAAe,WAAWR,EAAW,OAAO,WAAW;AAAA,MACjE,WAAAN;AAAA,MACA,YAAYQ;AAAA,MACZ,iBAAAd;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASoB,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,qBAAqB,GAC5CC,IAAaC,EAAA;AAEnB,SACE,gBAAAvB,EAACwB,GAAA,EACC,UAAA,gBAAAxB,EAACsB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
@@ -1,8 +1,8 @@
1
- import { state as t, transition as m, reduce as e, guard as s } from "robot3";
2
- import { PayrollLandingContextual as p, TerminateEmployeeContextual as i, DismissalFlowContextual as u, TerminationSummaryContextual as d } from "./TerminationFlowComponents.js";
1
+ import { state as t, transition as e, reduce as m, guard as p } from "robot3";
2
+ import { TerminateEmployeeContextual as i, DismissalFlowContextual as u, TerminationSummaryContextual as d, PayrollLandingContextual as y } from "./TerminationFlowComponents.js";
3
3
  import { componentEvents as n } from "../../../../shared/constants.js";
4
4
  import { patchBreadcrumbsHeader as o } from "../../../../helpers/breadcrumbHelpers.js";
5
- const N = {
5
+ const O = {
6
6
  form: {
7
7
  parent: null,
8
8
  item: {
@@ -40,38 +40,45 @@ const N = {
40
40
  }
41
41
  }
42
42
  };
43
- function y(r) {
43
+ function E(r) {
44
44
  return {
45
45
  ...o(r, { currentBreadcrumbId: "form" }),
46
46
  component: i
47
47
  };
48
48
  }
49
- function E(r) {
49
+ function I(r) {
50
50
  return {
51
51
  ...o(r, { currentBreadcrumbId: "summary" }),
52
52
  component: d
53
53
  };
54
54
  }
55
- const l = m(
55
+ function c(r) {
56
+ return {
57
+ ...o(r, { currentBreadcrumbId: void 0 }),
58
+ component: y,
59
+ payrollOption: void 0
60
+ };
61
+ }
62
+ const l = e(
56
63
  n.BREADCRUMB_NAVIGATE,
57
64
  "form",
58
- s(
65
+ p(
59
66
  (r, a) => a.payload.key === "form"
60
67
  ),
61
- e(y)
62
- ), c = m(
68
+ m(E)
69
+ ), s = e(
63
70
  n.BREADCRUMB_NAVIGATE,
64
71
  "summary",
65
- s(
72
+ p(
66
73
  (r, a) => a.payload.key === "summary"
67
74
  ),
68
- e(E)
69
- ), O = {
75
+ m(I)
76
+ ), N = {
70
77
  form: t(
71
- m(
78
+ e(
72
79
  n.EMPLOYEE_TERMINATION_DONE,
73
80
  "summary",
74
- e(
81
+ m(
75
82
  (r, a) => ({
76
83
  ...o(r, { currentBreadcrumbId: "summary" }),
77
84
  component: d,
@@ -81,10 +88,10 @@ const l = m(
81
88
  })
82
89
  )
83
90
  ),
84
- m(
91
+ e(
85
92
  n.EMPLOYEE_TERMINATION_VIEW_SUMMARY,
86
93
  "summary",
87
- e((r) => ({
94
+ m((r) => ({
88
95
  ...o(r, { currentBreadcrumbId: "summary" }),
89
96
  component: d,
90
97
  alerts: void 0
@@ -92,19 +99,19 @@ const l = m(
92
99
  )
93
100
  ),
94
101
  summary: t(
95
- m(
102
+ e(
96
103
  n.EMPLOYEE_TERMINATION_EDIT,
97
104
  "form",
98
- e((r) => ({
105
+ m((r) => ({
99
106
  ...o(r, { currentBreadcrumbId: "form" }),
100
107
  component: i,
101
108
  alerts: void 0
102
109
  }))
103
110
  ),
104
- m(
111
+ e(
105
112
  n.EMPLOYEE_TERMINATION_CANCELLED,
106
113
  "form",
107
- e(
114
+ m(
108
115
  (r, a) => ({
109
116
  ...o(r, { currentBreadcrumbId: "form" }),
110
117
  component: i,
@@ -113,10 +120,10 @@ const l = m(
113
120
  })
114
121
  )
115
122
  ),
116
- m(
123
+ e(
117
124
  n.EMPLOYEE_TERMINATION_RUN_PAYROLL,
118
125
  "dismissalPayroll",
119
- e(
126
+ m(
120
127
  (r, a) => ({
121
128
  ...o(r, { currentBreadcrumbId: void 0 }),
122
129
  component: u,
@@ -124,10 +131,10 @@ const l = m(
124
131
  })
125
132
  )
126
133
  ),
127
- m(
134
+ e(
128
135
  n.EMPLOYEE_TERMINATION_RUN_OFF_CYCLE_PAYROLL,
129
136
  "dismissalPayroll",
130
- e((r) => ({
137
+ m((r) => ({
131
138
  ...o(r, { currentBreadcrumbId: void 0 }),
132
139
  component: u,
133
140
  payrollUuid: void 0
@@ -136,22 +143,23 @@ const l = m(
136
143
  l
137
144
  ),
138
145
  dismissalPayroll: t(
139
- m(
146
+ e(
140
147
  n.PAYROLL_EXIT_FLOW,
141
148
  "payrollLanding",
142
- e((r) => ({
143
- ...o(r, { currentBreadcrumbId: void 0 }),
144
- component: p,
145
- payrollOption: void 0
146
- }))
149
+ m(c)
150
+ ),
151
+ e(
152
+ n.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST,
153
+ "payrollLanding",
154
+ m(c)
147
155
  ),
148
- c,
156
+ s,
149
157
  l
150
158
  ),
151
- payrollLanding: t(c, l)
159
+ payrollLanding: t(s, l)
152
160
  };
153
161
  export {
154
- N as terminationBreadcrumbNodes,
155
- O as terminationMachine
162
+ O as terminationBreadcrumbNodes,
163
+ N as terminationMachine
156
164
  };
157
165
  //# sourceMappingURL=terminationStateMachine.js.map
@@ -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'\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\n/** @internal */\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\n/** @internal */\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((ctx: TerminationFlowContextInterface): TerminationFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\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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"}
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\n/** @internal */\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\nfunction toPayrollLandingReducer(\n ctx: TerminationFlowContextInterface,\n): TerminationFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n component: PayrollLandingContextual,\n payrollOption: undefined,\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\n/** @internal */\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(toPayrollLandingReducer),\n ),\n transition(\n componentEvents.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST,\n 'payrollLanding',\n reduce(toPayrollLandingReducer),\n ),\n summaryBreadcrumbTransition,\n formBreadcrumbTransition,\n ),\n payrollLanding: state<MachineTransition>(summaryBreadcrumbTransition, formBreadcrumbTransition),\n}\n"],"names":["terminationBreadcrumbNodes","ctx","patchBreadcrumbsHeader","TerminateEmployeeContextual","TerminationSummaryContextual","DismissalFlowContextual","toFormReducer","toSummaryReducer","toPayrollLandingReducer","PayrollLandingContextual","formBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","summaryBreadcrumbTransition","terminationMachine","state"],"mappings":"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"}
@@ -18,12 +18,13 @@ import "@gusto/embedded-api/models/errors/httpclienterrors";
18
18
  import { formatNumberAsCurrency as B } from "../../../helpers/formattedStrings.js";
19
19
  import "../../../shared/constants.js";
20
20
  import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
21
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
21
22
  import { useI18n as D } from "../../../i18n/I18n.js";
22
23
  import { NumberInputField as E } from "../../Common/Fields/NumberInputField/NumberInputField.js";
23
24
  const T = C.object({
24
25
  netPay: C.number().positive()
25
26
  });
26
- function pe({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
27
+ function ue({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
27
28
  D("Payroll.GrossUpModal");
28
29
  const { t: r } = z("Payroll.GrossUpModal"), { Modal: x, Heading: u, Text: i, Button: c, Alert: f } = V(), { baseSubmitHandler: y } = k(), A = F(null), [l, m] = o(null), [h, d] = o(null), [M, g] = o(!1), [N, v] = o(!1), s = R({
29
30
  resolver: H(T),
@@ -113,6 +114,6 @@ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: P, onCancel: p }) {
113
114
  );
114
115
  }
115
116
  export {
116
- pe as GrossUpModal
117
+ ue as GrossUpModal
117
118
  };
118
119
  //# sourceMappingURL=GrossUpModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n // Start blank rather than 0: 0 is not a valid net amount, and a leading 0\n // in the field means typing an amount produces values like \"0350\".\n defaultValues: {},\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset()\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n {/* Bottom-align on the row itself: the .calculateButton align-self\n rule below only targets the default (react-aria) adapter, so in\n other adapters the button otherwise falls back to flex-start. */}\n <Flex flexDirection=\"row\" gap={8} alignItems=\"flex-end\">\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n adornmentStart=\"$\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isLoading={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp ? (\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n ) : (\n <Text size=\"sm\" variant=\"supporting\">\n {t('applyHint')}\n </Text>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField"],"mappings":"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"}
1
+ {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n // Start blank rather than 0: 0 is not a valid net amount, and a leading 0\n // in the field means typing an amount produces values like \"0350\".\n defaultValues: {},\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset()\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n {/* Bottom-align on the row itself: the .calculateButton align-self\n rule below only targets the default (react-aria) adapter, so in\n other adapters the button otherwise falls back to flex-start. */}\n <Flex flexDirection=\"row\" gap={8} alignItems=\"flex-end\">\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n adornmentStart=\"$\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isLoading={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp ? (\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n ) : (\n <Text size=\"sm\" variant=\"supporting\">\n {t('applyHint')}\n </Text>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField"],"mappings":"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"}
@@ -1,43 +1,45 @@
1
- import { jsxs as o, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
2
  import { useFormContext as d, useWatch as h } from "react-hook-form";
3
3
  import { useTranslation as D } from "react-i18next";
4
4
  import r from "./OffCyclePayPeriodDateFormPresentation.module.scss.js";
5
5
  import { useI18n as f } from "../../../i18n/I18n.js";
6
- import { CheckboxField as y } from "../../Common/Fields/CheckboxField/CheckboxField.js";
7
- import { DatePickerField as a } from "../../Common/Fields/DatePickerField/DatePickerField.js";
8
- function L({
6
+ import "classnames";
7
+ import "../../../shared/constants.js";
8
+ import { CheckboxField as p } from "../../Common/Fields/CheckboxField/CheckboxField.js";
9
+ import { DatePickerField as o } from "../../Common/Fields/DatePickerField/DatePickerField.js";
10
+ function v({
9
11
  minCheckDate: l,
10
12
  minCheckOnlyDate: n,
11
13
  maxDate: i,
12
- minPayPeriodDate: c
14
+ minPayPeriodDate: a
13
15
  }) {
14
16
  f("Payroll.OffCyclePayPeriodDateForm");
15
17
  const { t: e } = D("Payroll.OffCyclePayPeriodDateForm"), { control: s } = d(), m = h({ control: s, name: "isCheckOnly" }) ? n : l;
16
- return /* @__PURE__ */ o("div", { className: r.root, children: [
17
- /* @__PURE__ */ o("div", { className: r.dateFields, children: [
18
+ return /* @__PURE__ */ c("div", { className: r.root, children: [
19
+ /* @__PURE__ */ c("div", { className: r.dateFields, children: [
18
20
  /* @__PURE__ */ t(
19
- a,
21
+ o,
20
22
  {
21
23
  name: "startDate",
22
24
  label: e("startDateLabel"),
23
25
  isRequired: !0,
24
- minDate: c,
26
+ minDate: a,
25
27
  maxDate: i
26
28
  }
27
29
  ),
28
30
  /* @__PURE__ */ t(
29
- a,
31
+ o,
30
32
  {
31
33
  name: "endDate",
32
34
  label: e("endDateLabel"),
33
35
  isRequired: !0,
34
- minDate: c,
36
+ minDate: a,
35
37
  maxDate: i
36
38
  }
37
39
  )
38
40
  ] }),
39
41
  /* @__PURE__ */ t("div", { className: r.checkDateField, children: /* @__PURE__ */ t(
40
- a,
42
+ o,
41
43
  {
42
44
  name: "checkDate",
43
45
  label: e("checkDateLabel"),
@@ -48,7 +50,7 @@ function L({
48
50
  }
49
51
  ) }),
50
52
  /* @__PURE__ */ t(
51
- y,
53
+ p,
52
54
  {
53
55
  name: "isCheckOnly",
54
56
  label: e("checkOnlyLabel"),
@@ -58,6 +60,6 @@ function L({
58
60
  ] });
59
61
  }
60
62
  export {
61
- L as OffCyclePayPeriodDateFormPresentation
63
+ v as OffCyclePayPeriodDateFormPresentation
62
64
  };
63
65
  //# sourceMappingURL=OffCyclePayPeriodDateFormPresentation.js.map