@gusto/embedded-react-sdk 0.55.8 → 0.56.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 (211) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  3. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
  4. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  5. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  7. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  8. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  9. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  10. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  11. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  12. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  13. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  14. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  15. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +6 -5
  16. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  17. package/dist/components/Company/Industry/Context.js +7 -6
  18. package/dist/components/Company/Industry/Context.js.map +1 -1
  19. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  20. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  21. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  22. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  23. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  24. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  25. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  26. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  27. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  28. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  29. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -3
  30. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  31. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  32. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  33. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +70 -69
  34. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  35. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +2 -2
  36. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  37. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +51 -42
  38. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  39. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
  40. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  41. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -2
  42. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  43. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +11 -11
  44. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  45. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +3 -3
  46. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  47. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +76 -79
  48. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  49. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
  50. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  51. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
  52. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  53. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +10 -10
  54. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  55. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +49 -45
  56. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  57. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  58. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +24 -18
  59. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  60. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +39 -21
  61. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  62. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +98 -88
  63. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  64. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +64 -60
  65. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  66. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +12 -12
  67. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  68. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +40 -40
  69. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  70. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +205 -185
  71. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  72. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
  73. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
  74. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +13 -16
  75. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  76. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
  77. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  78. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +138 -110
  79. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
  80. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +149 -146
  81. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  82. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  83. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +4 -0
  84. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  85. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  86. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +22 -35
  87. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
  88. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +185 -171
  89. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  90. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
  91. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
  92. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +44 -44
  93. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  94. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
  95. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +16 -16
  96. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
  97. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
  98. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  99. package/dist/components/Payroll/Transition/TransitionFlow.js +49 -36
  100. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  101. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -47
  102. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  103. package/dist/components/Payroll/Transition/transitionStateMachine.js +35 -40
  104. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  105. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +48 -0
  106. package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +1 -0
  107. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +35 -0
  108. package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +1 -0
  109. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +23 -0
  110. package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +1 -0
  111. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +32 -0
  112. package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -0
  113. package/dist/components/Payroll/index.js +7 -5
  114. package/dist/components/Payroll/index.js.map +1 -1
  115. package/dist/components/Payroll/usePreparedPayrollData.js +9 -8
  116. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  117. package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
  118. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  119. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
  120. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
  121. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  122. package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
  123. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  124. package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
  125. package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
  126. package/dist/i18n/I18n.js +9 -4
  127. package/dist/i18n/I18n.js.map +1 -1
  128. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
  129. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  130. package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
  131. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
  132. package/dist/i18n/en/Payroll.PayrollBlocker.json.js +10 -8
  133. package/dist/i18n/en/Payroll.PayrollBlocker.json.js.map +1 -1
  134. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
  135. package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
  136. package/dist/i18n/es_US/Company.StateTaxes.json.js +1 -1
  137. package/dist/i18n/es_US/Contractor.ContractorList.json.js +14 -12
  138. package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -1
  139. package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +4 -4
  140. package/dist/i18n/es_US/Contractor.Management.Profile.json.js +4 -4
  141. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +40 -38
  142. package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -1
  143. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +18 -16
  144. package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -1
  145. package/dist/i18n/es_US/Contractor.Profile.json.js +5 -5
  146. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +11 -9
  147. package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -1
  148. package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +2 -2
  149. package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +6 -6
  150. package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +15 -15
  151. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +28 -26
  152. package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -1
  153. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +40 -38
  154. package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -1
  155. package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js +14 -0
  156. package/dist/i18n/es_US/Payroll.PrintChecksBanner.json.js.map +1 -0
  157. package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js +12 -0
  158. package/dist/i18n/es_US/Payroll.PrintChecksFailure.json.js.map +1 -0
  159. package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js +26 -0
  160. package/dist/i18n/es_US/Payroll.PrintChecksForm.json.js.map +1 -0
  161. package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js +14 -0
  162. package/dist/i18n/es_US/Payroll.PrintChecksSummary.json.js.map +1 -0
  163. package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js +78 -0
  164. package/dist/i18n/es_US/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
  165. package/dist/i18n/es_US/common.json.js +1 -1
  166. package/dist/package.json.js +1 -1
  167. package/dist/shared/constants.js +21 -20
  168. package/dist/shared/constants.js.map +1 -1
  169. package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
  170. package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
  171. package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
  172. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
  173. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
  174. package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
  175. package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +7 -2
  176. package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
  177. package/dist/src/components/Payroll/OffCycle/OffCycleFlow.d.ts +2 -0
  178. package/dist/src/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +2 -0
  179. package/dist/src/components/Payroll/OffCycle/offCycleStateMachine.d.ts +1 -0
  180. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -0
  181. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  182. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +11 -0
  183. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +1 -1
  184. package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
  185. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +18 -0
  186. package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
  187. package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +8 -0
  188. package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -1
  189. package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +6 -1
  190. package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
  191. package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +17 -15
  192. package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +21 -12
  193. package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +25 -4
  194. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +55 -0
  195. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +24 -0
  196. package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +23 -0
  197. package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +2 -0
  198. package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +15 -0
  199. package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +28 -0
  200. package/dist/src/components/Payroll/index.d.ts +2 -0
  201. package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
  202. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
  203. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
  204. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
  205. package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
  206. package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
  207. package/dist/src/i18n/types.d.ts +20 -0
  208. package/dist/src/shared/constants.d.ts +2 -0
  209. package/dist/style.css +1 -1
  210. package/docs/guides/endpoint-inventory.json +19 -19
  211. package/package.json +8 -8
@@ -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 defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\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 <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\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 )}\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","Fragment"],"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 isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : 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 +1 @@
1
- {"version":3,"file":"OffCycleFlow.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { offCycleMachine, offCycleBreadcrumbsNodes } from './offCycleStateMachine'\nimport {\n OffCycleCreationContextual,\n type OffCycleFlowContextInterface,\n type OffCycleFlowProps,\n} from './OffCycleFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to create and run a bonus or correction payroll.\n *\n * @remarks\n * Guides the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then transitions\n * into the standard payroll execution experience (configuration, overview, submission,\n * receipts). All off-cycle payroll types share the same execution steps as regular\n * payrolls — only the creation step differs.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | User navigates via the flow breadcrumb header | `{ key: string }` |\n * | `offCycle/created` | Off-cycle payroll has been created and the flow transitions to execution | `{ payrollUuid: string }` |\n *\n * Once the flow transitions to execution, all standard run-payroll events are emitted\n * (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`).\n *\n * @components\n * - {@link OffCycleCreation}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link OffCycleFlowProps}\n * @returns The rendered off-cycle payroll flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <Payroll.OffCycleFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'runPayroll/submitted') {\n * // Payroll submitted — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function OffCycleFlow({\n companyId,\n payrollType,\n onEvent,\n withReimbursements,\n}: OffCycleFlowProps) {\n const offCycleFlowMachine = useMemo(\n () =>\n createMachine(\n 'createOffCyclePayroll',\n offCycleMachine,\n (initialContext: OffCycleFlowContextInterface) => ({\n ...initialContext,\n component: OffCycleCreationContextual,\n companyId,\n payrollType,\n withReimbursements,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(offCycleBreadcrumbsNodes),\n currentBreadcrumbId: 'createOffCyclePayroll',\n },\n }),\n ),\n [companyId, payrollType, withReimbursements],\n )\n\n return <Flow machine={offCycleFlowMachine} onEvent={onEvent} />\n}\n"],"names":["OffCycleFlow","companyId","payrollType","onEvent","withReimbursements","offCycleFlowMachine","useMemo","createMachine","offCycleMachine","initialContext","OffCycleCreationContextual","buildBreadcrumbs","offCycleBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AAwDO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,oBAAAC;AACF,GAAsB;AACpB,QAAMC,IAAsBC;AAAA,IAC1B,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAkD;AAAA,QACjD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAT;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaO,EAAiBC,CAAwB;AAAA,UACtD,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAAA,IACF;AAAA,IAEJ,CAACX,GAAWC,GAAaE,CAAkB;AAAA,EAAA;AAG7C,SAAO,gBAAAS,EAACC,GAAA,EAAK,SAAST,GAAqB,SAAAF,EAAA,CAAkB;AAC/D;"}
1
+ {"version":3,"file":"OffCycleFlow.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { offCycleMachine, offCycleBreadcrumbsNodes } from './offCycleStateMachine'\nimport {\n OffCycleCreationContextual,\n type OffCycleFlowContextInterface,\n type OffCycleFlowProps,\n} from './OffCycleFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to create and run a bonus or correction payroll.\n *\n * @remarks\n * Guides the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then transitions\n * into the standard payroll execution experience (configuration, overview, submission,\n * receipts). All off-cycle payroll types share the same execution steps as regular\n * payrolls — only the creation step differs.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | User navigates via the flow breadcrumb header | `{ key: string }` |\n * | `offCycle/created` | Off-cycle payroll has been created and the flow transitions to execution | `{ payrollUuid: string }` |\n * | `offCycle/blockers/viewAll` | User opens the payroll blockers step from the creation screen's blocker alert | none |\n *\n * Once the flow transitions to execution, all standard run-payroll events are emitted\n * (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`).\n *\n * @components\n * - {@link OffCycleCreation}\n * - {@link PayrollBlockerList}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link OffCycleFlowProps}\n * @returns The rendered off-cycle payroll flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <Payroll.OffCycleFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'runPayroll/submitted') {\n * // Payroll submitted — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function OffCycleFlow({\n companyId,\n payrollType,\n onEvent,\n withReimbursements,\n}: OffCycleFlowProps) {\n const offCycleFlowMachine = useMemo(\n () =>\n createMachine(\n 'createOffCyclePayroll',\n offCycleMachine,\n (initialContext: OffCycleFlowContextInterface) => ({\n ...initialContext,\n component: OffCycleCreationContextual,\n companyId,\n payrollType,\n withReimbursements,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(offCycleBreadcrumbsNodes),\n currentBreadcrumbId: 'createOffCyclePayroll',\n },\n }),\n ),\n [companyId, payrollType, withReimbursements],\n )\n\n return <Flow machine={offCycleFlowMachine} onEvent={onEvent} />\n}\n"],"names":["OffCycleFlow","companyId","payrollType","onEvent","withReimbursements","offCycleFlowMachine","useMemo","createMachine","offCycleMachine","initialContext","OffCycleCreationContextual","buildBreadcrumbs","offCycleBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AA0DO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,oBAAAC;AACF,GAAsB;AACpB,QAAMC,IAAsBC;AAAA,IAC1B,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAkD;AAAA,QACjD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAT;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaO,EAAiBC,CAAwB;AAAA,UACtD,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAAA,IACF;AAAA,IAEJ,CAACX,GAAWC,GAAaE,CAAkB;AAAA,EAAA;AAG7C,SAAO,gBAAAS,EAACC,GAAA,EAAK,SAAST,GAAqB,SAAAF,EAAA,CAAkB;AAC/D;"}
@@ -1,15 +1,16 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as t } from "react/jsx-runtime";
2
2
  import { useMemo as y } from "react";
3
3
  import { usePayrollsGetSuspense as p } from "@gusto/embedded-api/react-query/payrollsGet";
4
4
  import { PayrollExecutionInternalFlow as u } from "../PayrollExecutionFlow/PayrollExecutionFlow.js";
5
5
  import { isDismissalPayroll as d } from "../helpers.js";
6
- import { useFlow as s } from "../../Flow/useFlow.js";
6
+ import { useFlow as c } from "../../Flow/useFlow.js";
7
7
  import { ensureRequired as a } from "../../../helpers/ensureRequired.js";
8
8
  import { BaseComponent as C } from "../../Base/Base.js";
9
9
  import { OffCycleCreation as P } from "../OffCycleCreation/OffCycleCreation.js";
10
- function D() {
11
- const { companyId: o, payrollType: r, onEvent: e } = s();
12
- return /* @__PURE__ */ l(
10
+ import { PayrollBlockerList as x } from "../PayrollBlocker/components/PayrollBlockerList.js";
11
+ function k() {
12
+ const { companyId: o, payrollType: r, onEvent: e } = c();
13
+ return /* @__PURE__ */ t(
13
14
  P,
14
15
  {
15
16
  companyId: a(o),
@@ -18,41 +19,46 @@ function D() {
18
19
  }
19
20
  );
20
21
  }
21
- function S() {
22
- const { companyId: o, payrollUuid: r, onEvent: e, withReimbursements: t, header: n } = s(), m = a(o), c = a(r), i = n?.type === "breadcrumbs" ? n.breadcrumbs?.createOffCyclePayroll?.[0] : void 0, f = y(
22
+ function F() {
23
+ const { companyId: o, onEvent: r } = c();
24
+ return /* @__PURE__ */ t(x, { companyId: a(o), onEvent: r });
25
+ }
26
+ function L() {
27
+ const { companyId: o, payrollUuid: r, onEvent: e, withReimbursements: n, header: l } = c(), m = a(o), s = a(r), i = l?.type === "breadcrumbs" ? l.breadcrumbs?.createOffCyclePayroll?.[0] : void 0, f = y(
23
28
  () => i ? [i] : void 0,
24
29
  [i]
25
30
  );
26
- return /* @__PURE__ */ l(C, { onEvent: e, children: /* @__PURE__ */ l(
27
- x,
31
+ return /* @__PURE__ */ t(C, { onEvent: e, children: /* @__PURE__ */ t(
32
+ I,
28
33
  {
29
34
  companyId: m,
30
- payrollId: c,
35
+ payrollId: s,
31
36
  onEvent: e,
32
- withReimbursements: t,
37
+ withReimbursements: n,
33
38
  prefixBreadcrumbs: f
34
39
  }
35
40
  ) });
36
41
  }
37
- function x({
42
+ function I({
38
43
  companyId: o,
39
44
  payrollId: r,
40
45
  ...e
41
46
  }) {
42
- const { data: t } = p({ companyId: o, payrollId: r }), n = t.payrollShow?.payPeriod;
43
- return /* @__PURE__ */ l(
47
+ const { data: n } = p({ companyId: o, payrollId: r }), l = n.payrollShow?.payPeriod;
48
+ return /* @__PURE__ */ t(
44
49
  u,
45
50
  {
46
51
  companyId: o,
47
52
  payrollId: r,
48
- initialPayPeriod: n,
49
- isDismissalPayroll: d(t.payrollShow?.offCycleReason),
53
+ initialPayPeriod: l,
54
+ isDismissalPayroll: d(n.payrollShow?.offCycleReason),
50
55
  ...e
51
56
  }
52
57
  );
53
58
  }
54
59
  export {
55
- D as OffCycleCreationContextual,
56
- S as OffCycleExecutionContextual
60
+ k as OffCycleCreationContextual,
61
+ L as OffCycleExecutionContextual,
62
+ F as PayrollBlockerListContextual
57
63
  };
58
64
  //# sourceMappingURL=OffCycleFlowComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleFlowComponents.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlowComponents.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { OffCycleCreation } from '../OffCycleCreation'\nimport {\n PayrollExecutionInternalFlow,\n type PayrollExecutionInternalFlowProps,\n} from '../PayrollExecutionFlow/PayrollExecutionFlow'\nimport type { OffCycleReason } from '../OffCycleReasonSelection'\nimport { isDismissalPayroll } from '../helpers'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { EventType } from '@/shared/constants'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { BaseComponent } from '@/components/Base/Base'\n\n/**\n * Flow context shared across the off-cycle payroll flow steps.\n *\n * @internal\n */\nexport interface OffCycleFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** Identifier of the off-cycle payroll created during the flow; set once creation completes. */\n payrollUuid?: string\n /** Pre-selected off-cycle reason (bonus or correction). */\n payrollType?: OffCycleReason\n /** Whether to show reimbursement fields throughout the execution steps. Defaults to true. */\n withReimbursements?: boolean\n}\n\n/**\n * Props for {@link OffCycleFlow}.\n *\n * @public\n */\nexport interface OffCycleFlowProps {\n /** The associated company identifier. */\n companyId: string\n /** Optional pre-selected off-cycle reason. When provided, the creation form starts with this reason selected. */\n payrollType?: OffCycleReason\n /** Callback invoked when the flow emits an event. See the events table on {@link OffCycleFlow}. */\n onEvent: OnEventType<EventType, unknown>\n /** Optional flag to show/hide reimbursement fields throughout the flow. Defaults to true. */\n withReimbursements?: boolean\n}\n\n/** @internal */\nexport function OffCycleCreationContextual() {\n const { companyId, payrollType, onEvent } = useFlow<OffCycleFlowContextInterface>()\n return (\n <OffCycleCreation\n companyId={ensureRequired(companyId)}\n payrollType={payrollType}\n onEvent={onEvent}\n />\n )\n}\n\n/** @internal */\nexport function OffCycleExecutionContextual() {\n const { companyId, payrollUuid, onEvent, withReimbursements, header } =\n useFlow<OffCycleFlowContextInterface>()\n\n const resolvedCompanyId = ensureRequired(companyId)\n const resolvedPayrollId = ensureRequired(payrollUuid)\n\n const offCycleRootBreadcrumb =\n header?.type === 'breadcrumbs' ? header.breadcrumbs?.['createOffCyclePayroll']?.[0] : undefined\n const prefixBreadcrumbs = useMemo(\n () => (offCycleRootBreadcrumb ? [offCycleRootBreadcrumb] : undefined),\n [offCycleRootBreadcrumb],\n )\n\n return (\n <BaseComponent onEvent={onEvent}>\n <OffCycleExecutionWithData\n companyId={resolvedCompanyId}\n payrollId={resolvedPayrollId}\n onEvent={onEvent}\n withReimbursements={withReimbursements}\n prefixBreadcrumbs={prefixBreadcrumbs}\n />\n </BaseComponent>\n )\n}\n\ntype OffCycleExecutionWithDataProps = Pick<\n PayrollExecutionInternalFlowProps,\n 'companyId' | 'payrollId' | 'onEvent' | 'prefixBreadcrumbs' | 'withReimbursements'\n>\n\nfunction OffCycleExecutionWithData({\n companyId,\n payrollId,\n ...rest\n}: OffCycleExecutionWithDataProps) {\n const { data } = usePayrollsGetSuspense({ companyId, payrollId })\n const initialPayPeriod = data.payrollShow?.payPeriod\n\n return (\n <PayrollExecutionInternalFlow\n companyId={companyId}\n payrollId={payrollId}\n initialPayPeriod={initialPayPeriod}\n isDismissalPayroll={isDismissalPayroll(data.payrollShow?.offCycleReason)}\n {...rest}\n />\n )\n}\n"],"names":["OffCycleCreationContextual","companyId","payrollType","onEvent","useFlow","jsx","OffCycleCreation","ensureRequired","OffCycleExecutionContextual","payrollUuid","withReimbursements","header","resolvedCompanyId","resolvedPayrollId","offCycleRootBreadcrumb","prefixBreadcrumbs","useMemo","BaseComponent","OffCycleExecutionWithData","payrollId","rest","data","usePayrollsGetSuspense","initialPayPeriod","PayrollExecutionInternalFlow","isDismissalPayroll"],"mappings":";;;;;;;;;AAgDO,SAASA,IAA6B;AAC3C,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAA;AAC5C,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAeN,CAAS;AAAA,MACnC,aAAAC;AAAA,MACA,SAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASK,IAA8B;AAC5C,QAAM,EAAE,WAAAP,GAAW,aAAAQ,GAAa,SAAAN,GAAS,oBAAAO,GAAoB,QAAAC,EAAA,IAC3DP,EAAA,GAEIQ,IAAoBL,EAAeN,CAAS,GAC5CY,IAAoBN,EAAeE,CAAW,GAE9CK,IACJH,GAAQ,SAAS,gBAAgBA,EAAO,aAAc,wBAA2B,CAAC,IAAI,QAClFI,IAAoBC;AAAA,IACxB,MAAOF,IAAyB,CAACA,CAAsB,IAAI;AAAA,IAC3D,CAACA,CAAsB;AAAA,EAAA;AAGzB,SACE,gBAAAT,EAACY,KAAc,SAAAd,GACb,UAAA,gBAAAE;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,WAAWC;AAAA,MACX,SAAAV;AAAA,MACA,oBAAAO;AAAA,MACA,mBAAAK;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAOA,SAASG,EAA0B;AAAA,EACjC,WAAAjB;AAAA,EACA,WAAAkB;AAAA,EACA,GAAGC;AACL,GAAmC;AACjC,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAuB,EAAE,WAAArB,GAAW,WAAAkB,GAAW,GAC1DI,IAAmBF,EAAK,aAAa;AAE3C,SACE,gBAAAhB;AAAA,IAACmB;AAAA,IAAA;AAAA,MACC,WAAAvB;AAAA,MACA,WAAAkB;AAAA,MACA,kBAAAI;AAAA,MACA,oBAAoBE,EAAmBJ,EAAK,aAAa,cAAc;AAAA,MACtE,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"OffCycleFlowComponents.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlowComponents.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { OffCycleCreation } from '../OffCycleCreation'\nimport { PayrollBlockerList } from '../PayrollBlocker'\nimport {\n PayrollExecutionInternalFlow,\n type PayrollExecutionInternalFlowProps,\n} from '../PayrollExecutionFlow/PayrollExecutionFlow'\nimport type { OffCycleReason } from '../OffCycleReasonSelection'\nimport { isDismissalPayroll } from '../helpers'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { EventType } from '@/shared/constants'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { BaseComponent } from '@/components/Base/Base'\n\n/**\n * Flow context shared across the off-cycle payroll flow steps.\n *\n * @internal\n */\nexport interface OffCycleFlowContextInterface extends FlowContextInterface {\n /** The associated company identifier. */\n companyId: string\n /** Identifier of the off-cycle payroll created during the flow; set once creation completes. */\n payrollUuid?: string\n /** Pre-selected off-cycle reason (bonus or correction). */\n payrollType?: OffCycleReason\n /** Whether to show reimbursement fields throughout the execution steps. Defaults to true. */\n withReimbursements?: boolean\n}\n\n/**\n * Props for {@link OffCycleFlow}.\n *\n * @public\n */\nexport interface OffCycleFlowProps {\n /** The associated company identifier. */\n companyId: string\n /** Optional pre-selected off-cycle reason. When provided, the creation form starts with this reason selected. */\n payrollType?: OffCycleReason\n /** Callback invoked when the flow emits an event. See the events table on {@link OffCycleFlow}. */\n onEvent: OnEventType<EventType, unknown>\n /** Optional flag to show/hide reimbursement fields throughout the flow. Defaults to true. */\n withReimbursements?: boolean\n}\n\n/** @internal */\nexport function OffCycleCreationContextual() {\n const { companyId, payrollType, onEvent } = useFlow<OffCycleFlowContextInterface>()\n return (\n <OffCycleCreation\n companyId={ensureRequired(companyId)}\n payrollType={payrollType}\n onEvent={onEvent}\n />\n )\n}\n\n/** @internal */\nexport function PayrollBlockerListContextual() {\n const { companyId, onEvent } = useFlow<OffCycleFlowContextInterface>()\n return <PayrollBlockerList companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function OffCycleExecutionContextual() {\n const { companyId, payrollUuid, onEvent, withReimbursements, header } =\n useFlow<OffCycleFlowContextInterface>()\n\n const resolvedCompanyId = ensureRequired(companyId)\n const resolvedPayrollId = ensureRequired(payrollUuid)\n\n const offCycleRootBreadcrumb =\n header?.type === 'breadcrumbs' ? header.breadcrumbs?.['createOffCyclePayroll']?.[0] : undefined\n const prefixBreadcrumbs = useMemo(\n () => (offCycleRootBreadcrumb ? [offCycleRootBreadcrumb] : undefined),\n [offCycleRootBreadcrumb],\n )\n\n return (\n <BaseComponent onEvent={onEvent}>\n <OffCycleExecutionWithData\n companyId={resolvedCompanyId}\n payrollId={resolvedPayrollId}\n onEvent={onEvent}\n withReimbursements={withReimbursements}\n prefixBreadcrumbs={prefixBreadcrumbs}\n />\n </BaseComponent>\n )\n}\n\ntype OffCycleExecutionWithDataProps = Pick<\n PayrollExecutionInternalFlowProps,\n 'companyId' | 'payrollId' | 'onEvent' | 'prefixBreadcrumbs' | 'withReimbursements'\n>\n\nfunction OffCycleExecutionWithData({\n companyId,\n payrollId,\n ...rest\n}: OffCycleExecutionWithDataProps) {\n const { data } = usePayrollsGetSuspense({ companyId, payrollId })\n const initialPayPeriod = data.payrollShow?.payPeriod\n\n return (\n <PayrollExecutionInternalFlow\n companyId={companyId}\n payrollId={payrollId}\n initialPayPeriod={initialPayPeriod}\n isDismissalPayroll={isDismissalPayroll(data.payrollShow?.offCycleReason)}\n {...rest}\n />\n )\n}\n"],"names":["OffCycleCreationContextual","companyId","payrollType","onEvent","useFlow","jsx","OffCycleCreation","ensureRequired","PayrollBlockerListContextual","PayrollBlockerList","OffCycleExecutionContextual","payrollUuid","withReimbursements","header","resolvedCompanyId","resolvedPayrollId","offCycleRootBreadcrumb","prefixBreadcrumbs","useMemo","BaseComponent","OffCycleExecutionWithData","payrollId","rest","data","usePayrollsGetSuspense","initialPayPeriod","PayrollExecutionInternalFlow","isDismissalPayroll"],"mappings":";;;;;;;;;;AAiDO,SAASA,IAA6B;AAC3C,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAA;AAC5C,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAeN,CAAS;AAAA,MACnC,aAAAC;AAAA,MACA,SAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASK,IAA+B;AAC7C,QAAM,EAAE,WAAAP,GAAW,SAAAE,EAAA,IAAYC,EAAA;AAC/B,2BAAQK,GAAA,EAAmB,WAAWF,EAAeN,CAAS,GAAG,SAAAE,GAAkB;AACrF;AAGO,SAASO,IAA8B;AAC5C,QAAM,EAAE,WAAAT,GAAW,aAAAU,GAAa,SAAAR,GAAS,oBAAAS,GAAoB,QAAAC,EAAA,IAC3DT,EAAA,GAEIU,IAAoBP,EAAeN,CAAS,GAC5Cc,IAAoBR,EAAeI,CAAW,GAE9CK,IACJH,GAAQ,SAAS,gBAAgBA,EAAO,aAAc,wBAA2B,CAAC,IAAI,QAClFI,IAAoBC;AAAA,IACxB,MAAOF,IAAyB,CAACA,CAAsB,IAAI;AAAA,IAC3D,CAACA,CAAsB;AAAA,EAAA;AAGzB,SACE,gBAAAX,EAACc,KAAc,SAAAhB,GACb,UAAA,gBAAAE;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,WAAWC;AAAA,MACX,SAAAZ;AAAA,MACA,oBAAAS;AAAA,MACA,mBAAAK;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAOA,SAASG,EAA0B;AAAA,EACjC,WAAAnB;AAAA,EACA,WAAAoB;AAAA,EACA,GAAGC;AACL,GAAmC;AACjC,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAuB,EAAE,WAAAvB,GAAW,WAAAoB,GAAW,GAC1DI,IAAmBF,EAAK,aAAa;AAE3C,SACE,gBAAAlB;AAAA,IAACqB;AAAA,IAAA;AAAA,MACC,WAAAzB;AAAA,MACA,WAAAoB;AAAA,MACA,kBAAAI;AAAA,MACA,oBAAoBE,EAAmBJ,EAAK,aAAa,cAAc;AAAA,MACtE,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,7 +1,7 @@
1
- import { state as a, transition as c, reduce as l, guard as f } from "robot3";
2
- import { OffCycleExecutionContextual as y, OffCycleCreationContextual as t } from "./OffCycleFlowComponents.js";
3
- import { componentEvents as n } from "../../../shared/constants.js";
4
- import { patchBreadcrumbsHeader as o } from "../../../helpers/breadcrumbHelpers.js";
1
+ import { state as l, transition as o, reduce as a, guard as f } from "robot3";
2
+ import { OffCycleExecutionContextual as d, PayrollBlockerListContextual as i, OffCycleCreationContextual as y } from "./OffCycleFlowComponents.js";
3
+ import { componentEvents as c } from "../../../shared/constants.js";
4
+ import { patchBreadcrumbsHeader as t, updateBreadcrumbs as u } from "../../../helpers/breadcrumbHelpers.js";
5
5
  const O = {
6
6
  createOffCyclePayroll: {
7
7
  parent: null,
@@ -10,45 +10,63 @@ const O = {
10
10
  label: "createOffCyclePayroll.breadcrumbLabel",
11
11
  namespace: "Payroll.OffCycle",
12
12
  onNavigate: ((e) => ({
13
- ...o(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
14
- component: t,
13
+ ...t(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
14
+ component: y,
15
15
  payrollUuid: void 0
16
16
  }))
17
17
  }
18
+ },
19
+ blockers: {
20
+ parent: "createOffCyclePayroll",
21
+ item: {
22
+ id: "blockers",
23
+ label: "breadcrumbLabel",
24
+ namespace: "Payroll.PayrollBlocker"
25
+ }
18
26
  }
19
27
  };
20
- function i(e) {
28
+ function m(e) {
21
29
  return {
22
- ...o(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
23
- component: t,
30
+ ...t(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
31
+ component: y,
24
32
  payrollUuid: void 0
25
33
  };
26
34
  }
27
- const d = c(
28
- n.BREADCRUMB_NAVIGATE,
35
+ const n = o(
36
+ c.BREADCRUMB_NAVIGATE,
29
37
  "createOffCyclePayroll",
30
38
  f(
31
39
  (e, r) => r.payload.key === "createOffCyclePayroll"
32
40
  ),
33
- l(i)
34
- ), s = {
35
- createOffCyclePayroll: a(
36
- c(
37
- n.OFF_CYCLE_CREATED,
41
+ a(m)
42
+ ), P = {
43
+ createOffCyclePayroll: l(
44
+ o(
45
+ c.OFF_CYCLE_CREATED,
38
46
  "execution",
39
- l(
47
+ a(
40
48
  (e, r) => ({
41
- ...o(e, { currentBreadcrumbId: void 0 }),
49
+ ...t(e, { currentBreadcrumbId: void 0 }),
42
50
  payrollUuid: r.payload?.payrollUuid,
43
- component: y
51
+ component: d
44
52
  })
45
53
  )
54
+ ),
55
+ o(
56
+ c.OFF_CYCLE_BLOCKERS_VIEW_ALL,
57
+ "blockers",
58
+ a((e) => ({
59
+ ...u("blockers", e),
60
+ component: i,
61
+ payrollUuid: void 0
62
+ }))
46
63
  )
47
64
  ),
48
- execution: a(d)
65
+ blockers: l(n),
66
+ execution: l(n)
49
67
  };
50
68
  export {
51
69
  O as offCycleBreadcrumbsNodes,
52
- s as offCycleMachine
70
+ P as offCycleMachine
53
71
  };
54
72
  //# sourceMappingURL=offCycleStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offCycleStateMachine.js","sources":["../../../../src/components/Payroll/OffCycle/offCycleStateMachine.ts"],"sourcesContent":["import { state, transition, reduce, guard } from 'robot3'\nimport {\n OffCycleCreationContextual,\n OffCycleExecutionContextual,\n type OffCycleFlowContextInterface,\n} from './OffCycleFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\n/** @internal */\nexport const offCycleBreadcrumbsNodes: BreadcrumbNodes = {\n createOffCyclePayroll: {\n parent: null,\n item: {\n id: 'createOffCyclePayroll',\n label: 'createOffCyclePayroll.breadcrumbLabel',\n namespace: 'Payroll.OffCycle',\n onNavigate: ((ctx: OffCycleFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toCreationReducer(ctx: OffCycleFlowContextInterface): OffCycleFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n }\n}\n\nconst creationBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'createOffCyclePayroll',\n guard(\n (_ctx: OffCycleFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'createOffCyclePayroll',\n ),\n reduce(toCreationReducer),\n)\n\n/** @internal */\nexport const offCycleMachine = {\n createOffCyclePayroll: state<MachineTransition>(\n transition(\n componentEvents.OFF_CYCLE_CREATED,\n 'execution',\n reduce(\n (\n ctx: OffCycleFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): OffCycleFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: OffCycleExecutionContextual,\n }),\n ),\n ),\n ),\n\n execution: state<MachineTransition>(creationBreadcrumbTransition),\n}\n"],"names":["offCycleBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","OffCycleCreationContextual","toCreationReducer","creationBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","offCycleMachine","state","OffCycleExecutionContextual"],"mappings":";;;;AAYO,MAAMA,IAA4C;AAAA,EACvD,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACC,OAAuC;AAAA,QACnD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,QAC/E,WAAWE;AAAA,QACX,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,EACF;AAEJ;AAEA,SAASC,EAAkBH,GAAiE;AAC1F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,IAC/E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAEA,MAAME,IAA+BC;AAAA,EACnCC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAoCC,MACnCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOP,CAAiB;AAC1B,GAGaQ,IAAkB;AAAA,EAC7B,uBAAuBC;AAAA,IACrBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACkC;AAAA,UAClC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAGF,WAAWD,EAAyBR,CAA4B;AAClE;"}
1
+ {"version":3,"file":"offCycleStateMachine.js","sources":["../../../../src/components/Payroll/OffCycle/offCycleStateMachine.ts"],"sourcesContent":["import { state, transition, reduce, guard } from 'robot3'\nimport {\n OffCycleCreationContextual,\n OffCycleExecutionContextual,\n PayrollBlockerListContextual,\n type OffCycleFlowContextInterface,\n} from './OffCycleFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader, updateBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/** @internal */\nexport const offCycleBreadcrumbsNodes: BreadcrumbNodes = {\n createOffCyclePayroll: {\n parent: null,\n item: {\n id: 'createOffCyclePayroll',\n label: 'createOffCyclePayroll.breadcrumbLabel',\n namespace: 'Payroll.OffCycle',\n onNavigate: ((ctx: OffCycleFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n blockers: {\n parent: 'createOffCyclePayroll',\n item: {\n id: 'blockers',\n label: 'breadcrumbLabel',\n namespace: 'Payroll.PayrollBlocker',\n },\n },\n}\n\nfunction toCreationReducer(ctx: OffCycleFlowContextInterface): OffCycleFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n }\n}\n\nconst creationBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'createOffCyclePayroll',\n guard(\n (_ctx: OffCycleFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'createOffCyclePayroll',\n ),\n reduce(toCreationReducer),\n)\n\n/** @internal */\nexport const offCycleMachine = {\n createOffCyclePayroll: state<MachineTransition>(\n transition(\n componentEvents.OFF_CYCLE_CREATED,\n 'execution',\n reduce(\n (\n ctx: OffCycleFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): OffCycleFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: OffCycleExecutionContextual,\n }),\n ),\n ),\n transition(\n componentEvents.OFF_CYCLE_BLOCKERS_VIEW_ALL,\n 'blockers',\n reduce((ctx: OffCycleFlowContextInterface): OffCycleFlowContextInterface => ({\n ...updateBreadcrumbs('blockers', ctx),\n component: PayrollBlockerListContextual,\n payrollUuid: undefined,\n })),\n ),\n ),\n\n blockers: state<MachineTransition>(creationBreadcrumbTransition),\n\n execution: state<MachineTransition>(creationBreadcrumbTransition),\n}\n"],"names":["offCycleBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","OffCycleCreationContextual","toCreationReducer","creationBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","offCycleMachine","state","OffCycleExecutionContextual","updateBreadcrumbs","PayrollBlockerListContextual"],"mappings":";;;;AAaO,MAAMA,IAA4C;AAAA,EACvD,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACC,OAAuC;AAAA,QACnD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,QAC/E,WAAWE;AAAA,QACX,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ;AAEA,SAASC,EAAkBH,GAAiE;AAC1F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,IAC/E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAEA,MAAME,IAA+BC;AAAA,EACnCC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAoCC,MACnCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOP,CAAiB;AAC1B,GAGaQ,IAAkB;AAAA,EAC7B,uBAAuBC;AAAA,IACrBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACkC;AAAA,UAClC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,IAEFR;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI,EAAO,CAACV,OAAqE;AAAA,QAC3E,GAAGc,EAAkB,YAAYd,CAAG;AAAA,QACpC,WAAWe;AAAA,QACX,aAAa;AAAA,MAAA,EACb;AAAA,IAAA;AAAA,EACJ;AAAA,EAGF,UAAUH,EAAyBR,CAA4B;AAAA,EAE/D,WAAWQ,EAAyBR,CAA4B;AAClE;"}
@@ -1,46 +1,54 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
- import { useState as x, useCallback as P, useMemo as Y, useEffect as H } from "react";
3
- import { useForm as J, FormProvider as K } from "react-hook-form";
4
- import { zodResolver as Z } from "@hookform/resolvers/zod";
2
+ import { useState as F, useCallback as y, useMemo as J, useEffect as Z } from "react";
3
+ import { useForm as Q, FormProvider as X } from "react-hook-form";
4
+ import { zodResolver as $ } from "@hookform/resolvers/zod";
5
5
  import { z as l } from "zod";
6
- import { useTranslation as T } from "react-i18next";
7
- import { usePayrollsCreateOffCycleMutation as G } from "@gusto/embedded-api/react-query/payrollsCreateOffCycle";
8
- import { WithholdingPayPeriod as Q, OffCycleReason as W } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
9
- import { RFCDate as g } from "@gusto/embedded-api/types/rfcdate";
10
- import { useEmployeesListSuspense as X } from "@gusto/embedded-api/react-query/employeesList";
11
- import { createOffCyclePayPeriodDateFormSchema as $ } from "../OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js";
12
- import { useOffCyclePayPeriodDateValidation as ee } from "../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js";
13
- import { OffCycleCreationPresentation as oe } from "./OffCycleCreationPresentation.js";
14
- import { useCompanyPaymentSpeed as te } from "../../../hooks/useCompanyPaymentSpeed.js";
15
- import { BaseComponent as ne } from "../../Base/Base.js";
16
- import { useBase as ie } from "../../Base/useBase.js";
17
- import { useComponentDictionary as le, useI18n as a } from "../../../i18n/I18n.js";
18
- import { componentEvents as se } from "../../../shared/constants.js";
19
- import { SDKInternalError as re } from "../../../types/sdkError.js";
20
- import { Form as ae } from "../../Common/Form/Form.js";
21
- import { OFF_CYCLE_REASON_DEFAULTS as u } from "../OffCycleReasonSelection/types.js";
22
- const ce = {
23
- bonus: W.Bonus,
24
- correction: W.Correction
6
+ import { useTranslation as W } from "react-i18next";
7
+ import { usePayrollsCreateOffCycleMutation as ee } from "@gusto/embedded-api/react-query/payrollsCreateOffCycle";
8
+ import { usePayrollsGetBlockersSuspense as oe } from "@gusto/embedded-api/react-query/payrollsGetBlockers";
9
+ import { WithholdingPayPeriod as te, OffCycleReason as A } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
10
+ import { RFCDate as E } from "@gusto/embedded-api/types/rfcdate";
11
+ import { useEmployeesListSuspense as ne } from "@gusto/embedded-api/react-query/employeesList";
12
+ import { createOffCyclePayPeriodDateFormSchema as se } from "../OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js";
13
+ import { useOffCyclePayPeriodDateValidation as le } from "../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js";
14
+ import { OffCycleCreationPresentation as ie } from "./OffCycleCreationPresentation.js";
15
+ import { useCompanyPaymentSpeed as re } from "../../../hooks/useCompanyPaymentSpeed.js";
16
+ import { BaseComponent as ae } from "../../Base/Base.js";
17
+ import { useBase as ce } from "../../Base/useBase.js";
18
+ import { useComponentDictionary as me, useI18n as a } from "../../../i18n/I18n.js";
19
+ import { componentEvents as T } from "../../../shared/constants.js";
20
+ import { SDKInternalError as de } from "../../../types/sdkError.js";
21
+ import { Form as ue } from "../../Common/Form/Form.js";
22
+ import { OFF_CYCLE_REASON_DEFAULTS as f } from "../OffCycleReasonSelection/types.js";
23
+ const ye = {
24
+ bonus: A.Bonus,
25
+ correction: A.Correction
25
26
  };
26
- function Fe(m) {
27
- return /* @__PURE__ */ c(ne, { ...m, children: /* @__PURE__ */ c(me, { ...m }) });
27
+ function Ne(m) {
28
+ return /* @__PURE__ */ c(ae, { ...m, children: /* @__PURE__ */ c(fe, { ...m }) });
28
29
  }
29
- function me({ dictionary: m, companyId: f, payrollType: y = "bonus", className: v }) {
30
- le("Payroll.OffCycleCreation", m), a("Payroll.OffCycleCreation"), a("Payroll.OffCycleReasonSelection"), a("Payroll.OffCyclePayPeriodDateForm"), a("Payroll.OffCycleDeductionsSetting"), a("Payroll.EmployeeSelection");
31
- const { t: A } = T("Payroll.OffCyclePayPeriodDateForm"), { t: O } = T("Payroll.OffCycleCreation"), { onEvent: F, baseSubmitHandler: U } = ie(), { paymentSpeedDays: E } = te(f), { minCheckDate: k, maxDate: N, minPayPeriodDate: L, today: R } = ee(E), { mutateAsync: M, isPending: _ } = G(), [h, w] = x({
32
- withholdingPayPeriod: Q.EveryOtherWeek,
33
- withholdingRate: u[y].withholdingType
34
- }), [j, p] = x(!1), B = P(() => {
35
- p(!0);
36
- }, []), I = P((e) => {
37
- w(e), p(!1);
38
- }, []), V = P(() => {
39
- p(!1);
40
- }, []), { data: S } = X({
41
- companyId: f,
30
+ function fe({ dictionary: m, companyId: d, payrollType: h = "bonus", className: U }) {
31
+ me("Payroll.OffCycleCreation", m), a("Payroll.OffCycleCreation"), a("Payroll.OffCycleReasonSelection"), a("Payroll.OffCyclePayPeriodDateForm"), a("Payroll.OffCycleDeductionsSetting"), a("Payroll.EmployeeSelection");
32
+ const { t: v } = W("Payroll.OffCyclePayPeriodDateForm"), { t: O } = W("Payroll.OffCycleCreation"), { onEvent: p, baseSubmitHandler: L } = ce(), { paymentSpeedDays: k } = re(d), { minCheckDate: R, maxDate: _, minPayPeriodDate: B, today: w } = le(k), { mutateAsync: N, isPending: M } = ee(), [C, S] = F({
33
+ withholdingPayPeriod: te.EveryOtherWeek,
34
+ withholdingRate: f[h].withholdingType
35
+ }), [V, D] = F(!1), j = y(() => {
36
+ D(!0);
37
+ }, []), I = y((e) => {
38
+ S(e), D(!1);
39
+ }, []), Y = y(() => {
40
+ D(!1);
41
+ }, []), q = y(() => {
42
+ p(T.OFF_CYCLE_BLOCKERS_VIEW_ALL);
43
+ }, [p]), { data: b } = ne({
44
+ companyId: d,
42
45
  onboardedActive: !0
43
- }), b = Y(() => [...S.showEmployees ?? []].sort((o, t) => {
46
+ }), { data: z } = oe({
47
+ companyUuid: d
48
+ }), K = (z.payrollBlockers ?? []).map((e) => ({
49
+ key: e.key,
50
+ message: e.message
51
+ })), x = J(() => [...b.showEmployees ?? []].sort((o, t) => {
44
52
  const n = o.lastName.localeCompare(t.lastName);
45
53
  return n !== 0 ? n : o.firstName.localeCompare(t.firstName);
46
54
  }).map((o) => {
@@ -50,93 +58,95 @@ function me({ dictionary: m, companyId: f, payrollType: y = "bonus", className:
50
58
  value: o.uuid,
51
59
  description: n?.title || void 0
52
60
  };
53
- }), [S]), q = (e, o) => (
61
+ }), [b]), G = (e, o) => (
54
62
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
- A(e, o)
56
- ), s = J({
63
+ v(e, o)
64
+ ), i = Q({
57
65
  resolver: (e, o, t) => {
58
- const n = e.isCheckOnly, r = $(
59
- q,
60
- n ? R : k,
61
- E
62
- ), D = l.object({
66
+ const n = e.isCheckOnly, r = se(
67
+ G,
68
+ n ? w : R,
69
+ k
70
+ ), P = l.object({
63
71
  reason: l.enum(["bonus", "correction"]),
64
72
  skipRegularDeductions: l.boolean(),
65
73
  includeAllEmployees: l.boolean(),
66
74
  selectedEmployeeUuids: l.array(l.string())
67
- }).and(r).superRefine((i, d) => {
68
- !i.includeAllEmployees && i.selectedEmployeeUuids.length === 0 && d.addIssue({
75
+ }).and(r).superRefine((s, u) => {
76
+ !s.includeAllEmployees && s.selectedEmployeeUuids.length === 0 && u.addIssue({
69
77
  code: l.ZodIssueCode.custom,
70
78
  path: ["selectedEmployeeUuids"],
71
79
  message: O("errors.noEmployeesSelected")
72
80
  });
73
81
  });
74
- return Z(D)(e, o, t);
82
+ return $(P)(e, o, t);
75
83
  },
76
84
  defaultValues: {
77
- reason: y,
85
+ reason: h,
78
86
  isCheckOnly: !1,
79
87
  startDate: null,
80
88
  endDate: null,
81
89
  checkDate: null,
82
- skipRegularDeductions: u[y].skipDeductions,
90
+ skipRegularDeductions: f[h].skipDeductions,
83
91
  includeAllEmployees: !1,
84
92
  selectedEmployeeUuids: []
85
93
  }
86
- }), C = s.watch("reason");
87
- H(() => {
88
- s.setValue(
94
+ }), g = i.watch("reason");
95
+ Z(() => {
96
+ i.setValue(
89
97
  "skipRegularDeductions",
90
- u[C].skipDeductions
91
- ), w((e) => ({
98
+ f[g].skipDeductions
99
+ ), S((e) => ({
92
100
  ...e,
93
- withholdingRate: u[C].withholdingType
101
+ withholdingRate: f[g].withholdingType
94
102
  }));
95
- }, [C, s]);
96
- const z = async (e) => {
97
- const o = e.reason, t = e.checkDate, n = e.startDate, r = e.endDate, D = e.includeAllEmployees ? b.map((i) => i.value) : e.selectedEmployeeUuids.length > 0 ? e.selectedEmployeeUuids : void 0;
98
- await U(e, async () => {
99
- const i = await M({
103
+ }, [g, i]);
104
+ const H = async (e) => {
105
+ const o = e.reason, t = e.checkDate, n = e.startDate, r = e.endDate, P = e.includeAllEmployees ? x.map((s) => s.value) : e.selectedEmployeeUuids.length > 0 ? e.selectedEmployeeUuids : void 0;
106
+ await L(e, async () => {
107
+ const s = await N({
100
108
  request: {
101
- companyId: f,
109
+ companyId: d,
102
110
  requestBody: {
103
111
  offCycle: !0,
104
- offCycleReason: ce[o],
105
- startDate: new g(n),
106
- endDate: new g(r),
107
- checkDate: new g(t),
112
+ offCycleReason: ye[o],
113
+ startDate: new E(n),
114
+ endDate: new E(r),
115
+ checkDate: new E(t),
108
116
  skipRegularDeductions: e.skipRegularDeductions,
109
117
  isCheckOnlyPayroll: e.isCheckOnly,
110
- employeeUuids: D,
111
- withholdingPayPeriod: h.withholdingPayPeriod,
112
- fixedWithholdingRate: h.withholdingRate === "supplemental"
118
+ employeeUuids: P,
119
+ withholdingPayPeriod: C.withholdingPayPeriod,
120
+ fixedWithholdingRate: C.withholdingRate === "supplemental"
113
121
  }
114
122
  }
115
- }), d = i.payrollUnprocessed?.payrollUuid ?? i.payrollUnprocessed?.uuid;
116
- if (!d)
117
- throw new re(O("errors.missingPayrollId"));
118
- F(se.OFF_CYCLE_CREATED, { payrollUuid: d });
123
+ }), u = s.payrollUnprocessed?.payrollUuid ?? s.payrollUnprocessed?.uuid;
124
+ if (!u)
125
+ throw new de(O("errors.missingPayrollId"));
126
+ p(T.OFF_CYCLE_CREATED, { payrollUuid: u });
119
127
  });
120
128
  };
121
- return /* @__PURE__ */ c(K, { ...s, children: /* @__PURE__ */ c(ae, { onSubmit: s.handleSubmit(z), children: /* @__PURE__ */ c(
122
- oe,
129
+ return /* @__PURE__ */ c(X, { ...i, children: /* @__PURE__ */ c(ue, { onSubmit: i.handleSubmit(H), children: /* @__PURE__ */ c(
130
+ ie,
123
131
  {
124
- employees: b,
125
- isPending: _,
126
- minCheckDate: k,
127
- minCheckOnlyDate: R,
128
- maxDate: N,
129
- minPayPeriodDate: L,
130
- taxWithholdingConfig: h,
131
- isTaxWithholdingModalOpen: j,
132
- onTaxWithholdingEditClick: B,
132
+ employees: x,
133
+ blockers: K,
134
+ onViewBlockersClick: q,
135
+ isPending: M,
136
+ minCheckDate: R,
137
+ minCheckOnlyDate: w,
138
+ maxDate: _,
139
+ minPayPeriodDate: B,
140
+ taxWithholdingConfig: C,
141
+ isTaxWithholdingModalOpen: V,
142
+ onTaxWithholdingEditClick: j,
133
143
  onTaxWithholdingModalDone: I,
134
- onTaxWithholdingModalCancel: V,
135
- className: v
144
+ onTaxWithholdingModalCancel: Y,
145
+ className: U
136
146
  }
137
147
  ) }) });
138
148
  }
139
149
  export {
140
- Fe as OffCycleCreation
150
+ Ne as OffCycleCreation
141
151
  };
142
152
  //# sourceMappingURL=OffCycleCreation.js.map