@gusto/embedded-react-sdk 0.55.7 → 0.55.8

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 (336) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/Common/FadeIn/FadeIn.module.scss.js +4 -4
  3. package/dist/components/Common/FieldCaption/FieldCaption.js +22 -18
  4. package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
  5. package/dist/components/Common/Flex/Flex.js +17 -15
  6. package/dist/components/Common/Flex/Flex.js.map +1 -1
  7. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  8. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  9. package/dist/components/Common/UI/Heading/Heading.module.scss.js +7 -7
  10. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  11. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
  12. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  13. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
  14. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  15. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
  16. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  17. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
  18. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  19. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  20. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  21. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
  22. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  23. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
  24. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  25. package/dist/components/Company/Industry/Context.js +8 -7
  26. package/dist/components/Company/Industry/Context.js.map +1 -1
  27. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
  28. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  29. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
  30. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  31. package/dist/components/Company/OnboardingOverview/context.js +5 -4
  32. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  33. package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
  34. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  35. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
  36. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  37. package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
  38. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  39. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
  40. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  41. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
  42. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  43. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  45. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
  46. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  47. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
  48. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  49. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -4
  50. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  51. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
  52. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  53. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
  54. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  55. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
  56. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
  57. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
  58. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
  59. package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
  60. package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
  61. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
  62. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
  63. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
  64. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  65. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
  66. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  67. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
  68. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  69. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
  70. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
  71. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
  72. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  73. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
  74. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  75. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
  76. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  77. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
  78. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  79. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
  80. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  81. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
  82. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  83. package/dist/components/Contractor/Submit/Submit.js +113 -105
  84. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  85. package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
  86. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  87. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
  88. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  89. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
  90. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  91. package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
  92. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  93. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
  94. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  95. package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
  96. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  97. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  98. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  99. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
  100. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  101. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
  102. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  103. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
  104. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  105. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
  106. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  107. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
  108. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  109. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +89 -80
  110. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  111. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
  112. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  113. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +25 -24
  114. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  115. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -1
  116. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  117. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  118. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
  119. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  120. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +80 -79
  121. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  122. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
  123. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
  124. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
  125. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  126. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +34 -33
  127. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  128. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
  129. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  130. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +22 -21
  131. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  132. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
  133. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  134. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +120 -116
  135. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  136. package/dist/components/Flow/Flow.js +1 -1
  137. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +29 -29
  138. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  139. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
  140. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  141. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +37 -36
  142. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  143. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
  144. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  145. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +27 -26
  146. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  147. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  148. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  149. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +52 -51
  150. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  151. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +34 -33
  152. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  153. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
  154. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  155. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
  156. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  157. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
  158. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  159. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +112 -109
  160. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  161. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
  162. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  163. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
  164. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  165. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
  166. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  167. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
  168. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  169. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
  170. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
  171. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
  172. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
  173. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
  174. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  175. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
  176. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  177. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
  178. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  179. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
  180. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  181. package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
  182. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  183. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
  184. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  185. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +101 -99
  186. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  187. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
  188. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  189. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
  190. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  191. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +39 -38
  192. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  193. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
  194. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
  195. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +17 -17
  196. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
  197. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
  198. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  199. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
  200. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
  201. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
  202. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  203. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
  204. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  205. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
  206. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
  207. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
  208. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
  209. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  210. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
  211. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  212. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
  213. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
  214. package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
  215. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  216. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
  217. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  218. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
  219. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  220. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
  221. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  222. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
  223. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  224. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
  225. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  226. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
  227. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
  228. package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
  229. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  230. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
  231. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  232. package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
  233. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  234. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
  235. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  236. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
  237. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  238. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
  239. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
  240. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
  241. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  242. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
  243. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  244. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
  245. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  246. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
  247. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  248. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
  249. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  250. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
  251. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  252. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
  253. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  254. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
  255. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  256. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  257. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  258. package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
  259. package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
  260. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
  261. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
  262. package/dist/package.json.js +1 -1
  263. package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
  264. package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
  265. package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
  266. package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
  267. package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
  268. package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
  269. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
  270. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
  271. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
  272. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
  273. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
  274. package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
  275. package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
  276. package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
  277. package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
  278. package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
  279. package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
  280. package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
  281. package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
  282. package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
  283. package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
  284. package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
  285. package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
  286. package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +4 -0
  287. package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
  288. package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
  289. package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
  290. package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
  291. package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
  292. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  293. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +2 -0
  294. package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
  295. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
  296. package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
  297. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
  298. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
  299. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
  300. package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
  301. package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
  302. package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
  303. package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
  304. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
  305. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
  306. package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
  307. package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
  308. package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
  309. package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
  310. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
  311. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
  312. package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
  313. package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
  314. package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
  315. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
  316. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
  317. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
  318. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
  319. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  320. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  321. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
  322. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  323. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
  324. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
  325. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
  326. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
  327. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
  328. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
  329. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  330. package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
  331. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
  332. package/dist/src/i18n/types.d.ts +28 -2
  333. package/dist/src/index.d.ts +1 -1
  334. package/dist/src/models/external.d.ts +1 -0
  335. package/dist/style.css +1 -1
  336. package/package.json +16 -15
@@ -1,19 +1,19 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
- import { useCallback as m } from "react";
3
- import { useTimeOffPoliciesCreateMutation as E } from "@gusto/embedded-api/react-query/timeOffPoliciesCreate";
4
- import { useTimeOffPoliciesUpdateMutation as w } from "@gusto/embedded-api/react-query/timeOffPoliciesUpdate";
5
- import { useTimeOffPoliciesGetSuspense as g } from "@gusto/embedded-api/react-query/timeOffPoliciesGet";
6
- import { useQueryClient as b } from "@tanstack/react-query";
7
- import { PolicyConfigurationFormPresentation as R } from "./PolicyConfigurationFormPresentation.js";
8
- import { API_QUERY_NAMESPACE as A } from "../../../../contexts/ApiProvider/apiVersion.js";
9
- import { BaseComponent as S } from "../../../Base/Base.js";
10
- import { useBase as v } from "../../../Base/useBase.js";
11
- import { componentEvents as p } from "../../../../shared/constants.js";
12
- import { formatMonthDay as M } from "../../../../helpers/dateFormatting.js";
13
- function X(e) {
14
- return /* @__PURE__ */ u(S, { ...e, children: /* @__PURE__ */ u(q, { ...e }) });
2
+ import { useCallback as p } from "react";
3
+ import { useTimeOffPoliciesCreateMutation as w } from "@gusto/embedded-api/react-query/timeOffPoliciesCreate";
4
+ import { useTimeOffPoliciesUpdateMutation as g } from "@gusto/embedded-api/react-query/timeOffPoliciesUpdate";
5
+ import { useTimeOffPoliciesGetSuspense as b } from "@gusto/embedded-api/react-query/timeOffPoliciesGet";
6
+ import { useQueryClient as A } from "@tanstack/react-query";
7
+ import { PolicyConfigurationFormPresentation as v } from "./PolicyConfigurationFormPresentation.js";
8
+ import { API_QUERY_NAMESPACE as S } from "../../../../contexts/ApiProvider/apiVersion.js";
9
+ import { BaseComponent as T } from "../../../Base/Base.js";
10
+ import { useBase as M } from "../../../Base/useBase.js";
11
+ import { componentEvents as d } from "../../../../shared/constants.js";
12
+ import { formatMonthDay as C } from "../../../../helpers/dateFormatting.js";
13
+ function Z(e) {
14
+ return /* @__PURE__ */ u(T, { ...e, children: /* @__PURE__ */ u(H, { ...e }) });
15
15
  }
16
- function C(e) {
16
+ function D(e) {
17
17
  switch (e.accrualMethod) {
18
18
  case "unlimited":
19
19
  return "unlimited";
@@ -25,25 +25,25 @@ function C(e) {
25
25
  return e.accrualMethodFixed === "per_pay_period" ? "per_pay_period" : e.resetDateType === "per_anniversary_year" ? "per_anniversary_year" : "per_calendar_year";
26
26
  }
27
27
  }
28
- const T = [
28
+ const k = [
29
29
  "per_hour_paid",
30
30
  "per_hour_paid_no_overtime",
31
31
  "per_hour_worked",
32
32
  "per_hour_worked_no_overtime"
33
33
  ];
34
- function k(e) {
34
+ function F(e) {
35
35
  const r = { name: e.name }, t = e.accrualMethod;
36
- if (t === "unlimited" ? r.accrualMethod = "unlimited" : T.includes(t) ? (r.accrualMethod = "per_hour_paid", r.allPaidHours = t === "per_hour_paid" || t === "per_hour_paid_no_overtime", r.includeOvertime = t === "per_hour_paid" || t === "per_hour_worked", e.accrualRate != null && (r.accrualRate = Number(e.accrualRate)), e.accrualRateUnit != null && (r.accrualRateUnit = Number(e.accrualRateUnit)), e.policyResetDate && (r.resetDateType = "per_calendar_year")) : (r.accrualMethod = "per_calendar_year", t === "per_pay_period" ? (r.accrualMethodFixed = "per_pay_period", r.resetDateType = e.policyResetDate ? "per_calendar_year" : "per_anniversary_year") : (r.accrualMethodFixed = "all_at_once", r.resetDateType = t === "per_anniversary_year" ? "per_anniversary_year" : "per_calendar_year"), e.accrualRate != null && (r.accrualRate = Number(e.accrualRate))), e.policyResetDate) {
36
+ if (t === "unlimited" ? r.accrualMethod = "unlimited" : k.includes(t) ? (r.accrualMethod = "per_hour_paid", r.allPaidHours = t === "per_hour_paid" || t === "per_hour_paid_no_overtime", r.includeOvertime = t === "per_hour_paid" || t === "per_hour_worked", e.accrualRate != null && (r.accrualRate = Number(e.accrualRate)), e.accrualRateUnit != null && (r.accrualRateUnit = Number(e.accrualRateUnit)), e.policyResetDate && (r.resetDateType = "per_calendar_year")) : (r.accrualMethod = "per_calendar_year", t === "per_pay_period" ? (r.accrualMethodFixed = "per_pay_period", r.resetDateType = e.policyResetDate ? "per_calendar_year" : "per_anniversary_year") : (r.accrualMethodFixed = "all_at_once", r.resetDateType = t === "per_anniversary_year" ? "per_anniversary_year" : "per_calendar_year"), e.accrualRate != null && (r.accrualRate = Number(e.accrualRate))), e.policyResetDate) {
37
37
  const [a, n] = e.policyResetDate.split("-").map(Number);
38
38
  a && (r.resetMonth = a), n && (r.resetDay = n);
39
39
  }
40
40
  return r;
41
41
  }
42
- function F(e, r) {
43
- const t = C(e), a = { name: e.name, policyType: r, accrualMethod: t };
42
+ function q(e, r) {
43
+ const t = D(e), a = { name: e.name, policyType: r, accrualMethod: t };
44
44
  if (t === "unlimited")
45
45
  return { ...a, complete: !0 };
46
- const n = t === "per_hour_paid" || t === "per_hour_paid_no_overtime" || t === "per_hour_worked" || t === "per_hour_worked_no_overtime", o = e.resetDateType === "per_calendar_year" ? M(e.resetMonth, e.resetDay) : null;
46
+ const n = t === "per_hour_paid" || t === "per_hour_paid_no_overtime" || t === "per_hour_worked" || t === "per_hour_worked_no_overtime", o = e.resetDateType === "per_calendar_year" ? C(e.resetMonth, e.resetDay) : null;
47
47
  return n ? {
48
48
  ...a,
49
49
  accrualRate: e.accrualRate != null ? String(e.accrualRate) : void 0,
@@ -59,7 +59,7 @@ function F(e, r) {
59
59
  };
60
60
  }
61
61
  function N(e, r, t) {
62
- const a = C(e), n = {
62
+ const a = D(e), n = {
63
63
  name: e.name,
64
64
  policyType: r,
65
65
  accrualMethod: a,
@@ -72,99 +72,116 @@ function N(e, r, t) {
72
72
  accrualRateUnit: null,
73
73
  policyResetDate: null
74
74
  };
75
- const o = a === "per_hour_paid" || a === "per_hour_paid_no_overtime" || a === "per_hour_worked" || a === "per_hour_worked_no_overtime", c = e.resetDateType === "per_calendar_year" ? M(e.resetMonth, e.resetDay) : null;
75
+ const o = a === "per_hour_paid" || a === "per_hour_paid_no_overtime" || a === "per_hour_worked" || a === "per_hour_worked_no_overtime", i = e.resetDateType === "per_calendar_year" ? C(e.resetMonth, e.resetDay) : null;
76
76
  return o ? {
77
77
  ...n,
78
78
  accrualRate: e.accrualRate != null ? String(e.accrualRate) : void 0,
79
79
  accrualRateUnit: e.accrualRateUnit != null ? String(e.accrualRateUnit) : void 0,
80
- policyResetDate: c
80
+ policyResetDate: i
81
81
  } : {
82
82
  ...n,
83
83
  accrualRate: e.accrualRate != null ? String(e.accrualRate) : void 0,
84
84
  accrualRateUnit: null,
85
- policyResetDate: c
85
+ policyResetDate: i
86
86
  };
87
87
  }
88
- function q({ companyId: e, policyType: r, defaultValues: t, policyId: a }) {
88
+ function H({
89
+ companyId: e,
90
+ policyType: r,
91
+ defaultValues: t,
92
+ policyId: a,
93
+ className: n
94
+ }) {
89
95
  return a ? /* @__PURE__ */ u(
90
- L,
96
+ x,
91
97
  {
92
98
  companyId: e,
93
99
  policyType: r,
94
100
  policyId: a,
95
- defaultValues: t
101
+ defaultValues: t,
102
+ className: n
96
103
  }
97
- ) : /* @__PURE__ */ u(H, { companyId: e, policyType: r, defaultValues: t });
104
+ ) : /* @__PURE__ */ u(
105
+ L,
106
+ {
107
+ companyId: e,
108
+ policyType: r,
109
+ defaultValues: t,
110
+ className: n
111
+ }
112
+ );
98
113
  }
99
- function H({ companyId: e, policyType: r, defaultValues: t }) {
100
- const { onEvent: a, baseSubmitHandler: n } = v(), { mutateAsync: o, isPending: c } = E(), d = m(
101
- async (s) => {
102
- await n(s, async () => {
103
- const i = F(s, r), _ = await o({
114
+ function L({ companyId: e, policyType: r, defaultValues: t, className: a }) {
115
+ const { onEvent: n, baseSubmitHandler: o } = M(), { mutateAsync: i, isPending: l } = w(), f = p(
116
+ async (_) => {
117
+ await o(_, async () => {
118
+ const c = q(_, r), m = await i({
104
119
  request: {
105
120
  companyUuid: e,
106
- timeOffPolicyRequest: i
121
+ timeOffPolicyRequest: c
107
122
  }
108
123
  });
109
- a(p.TIME_OFF_POLICY_DETAILS_DONE, {
110
- policyId: _.timeOffPolicy.uuid,
111
- accrualMethod: i.accrualMethod
124
+ n(d.TIME_OFF_POLICY_DETAILS_DONE, {
125
+ policyId: m.timeOffPolicy.uuid,
126
+ accrualMethod: c.accrualMethod
112
127
  });
113
128
  });
114
129
  },
115
- [n, e, o, a, r]
116
- ), l = m(() => {
117
- a(p.CANCEL);
118
- }, [a]);
130
+ [o, e, i, n, r]
131
+ ), s = p(() => {
132
+ n(d.CANCEL);
133
+ }, [n]);
119
134
  return /* @__PURE__ */ u(
120
- R,
135
+ v,
121
136
  {
122
- onContinue: d,
123
- onCancel: l,
137
+ onContinue: f,
138
+ onCancel: s,
124
139
  defaultValues: t,
125
- isPending: c
140
+ isPending: l,
141
+ className: a
126
142
  }
127
143
  );
128
144
  }
129
- function L({ companyId: e, policyType: r, policyId: t, defaultValues: a }) {
130
- const { onEvent: n, baseSubmitHandler: o } = v(), c = b(), { data: d } = g({
145
+ function x({ companyId: e, policyType: r, policyId: t, defaultValues: a, className: n }) {
146
+ const { onEvent: o, baseSubmitHandler: i } = M(), l = A(), { data: f } = b({
131
147
  timeOffPolicyUuid: t
132
- }), { mutateAsync: l, isPending: s } = w(), i = d.timeOffPolicy;
133
- if (!i) throw new Error("Unexpected response: missing timeOffPolicy");
134
- const _ = i.version ?? "", f = k(i), D = { ...f, ...a }, P = i.complete ? f.accrualMethod === "unlimited" ? "unlimited" : "accrual_based" : void 0, O = m(
135
- async (h) => {
136
- await o(h, async () => {
137
- const y = N(h, r, _);
138
- await l({
148
+ }), { mutateAsync: s, isPending: _ } = g(), c = f.timeOffPolicy;
149
+ if (!c) throw new Error("Unexpected response: missing timeOffPolicy");
150
+ const m = c.version ?? "", h = F(c), P = { ...h, ...a }, O = c.complete ? h.accrualMethod === "unlimited" ? "unlimited" : "accrual_based" : void 0, U = p(
151
+ async (y) => {
152
+ await i(y, async () => {
153
+ const R = N(y, r, m);
154
+ await s({
139
155
  request: {
140
156
  timeOffPolicyUuid: t,
141
- requestBody: y
157
+ requestBody: R
142
158
  }
143
- }), c.invalidateQueries({
144
- queryKey: [A, "timeOffPolicies", "get"]
145
- }), n(p.TIME_OFF_POLICY_DETAILS_DONE, {
159
+ }), l.invalidateQueries({
160
+ queryKey: [S, "timeOffPolicies", "get"]
161
+ }), o(d.TIME_OFF_POLICY_DETAILS_DONE, {
146
162
  policyId: t,
147
- accrualMethod: y.accrualMethod
163
+ accrualMethod: R.accrualMethod
148
164
  });
149
165
  });
150
166
  },
151
- [o, t, r, _, l, c, n]
152
- ), U = m(() => {
153
- n(p.CANCEL);
154
- }, [n]);
167
+ [i, t, r, m, s, l, o]
168
+ ), E = p(() => {
169
+ o(d.CANCEL);
170
+ }, [o]);
155
171
  return /* @__PURE__ */ u(
156
- R,
172
+ v,
157
173
  {
158
- onContinue: O,
159
- onCancel: U,
160
- defaultValues: D,
161
- editingPolicyName: i.name,
162
- isPending: s,
163
- lockedAccrualCategory: P
174
+ onContinue: U,
175
+ onCancel: E,
176
+ defaultValues: P,
177
+ editingPolicyName: c.name,
178
+ isPending: _,
179
+ lockedAccrualCategory: O,
180
+ className: n
164
181
  }
165
182
  );
166
183
  }
167
184
  export {
168
- X as PolicyConfigurationForm
185
+ Z as PolicyConfigurationForm
169
186
  };
170
187
  //# sourceMappingURL=PolicyConfigurationForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyConfigurationForm.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTimeOffPoliciesCreateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesCreate'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesUpdate'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api/react-query/timeOffPoliciesGet'\nimport type { TimeOffPolicyRequest } from '@gusto/embedded-api/models/components/timeoffpolicyrequest'\nimport type { TimeOffPolicy } from '@gusto/embedded-api/models/components/timeoffpolicy'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { PolicyConfigurationFormPresentation } from './PolicyConfigurationFormPresentation'\nimport type { PolicyConfigurationFormData } from './PolicyConfigurationFormTypes'\nimport { API_QUERY_NAMESPACE } from '@/contexts/ApiProvider/apiVersion'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { formatMonthDay } from '@/helpers/dateFormatting'\n\n/**\n * Props for {@link PolicyConfigurationForm}.\n *\n * @public\n */\nexport interface PolicyConfigurationFormProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {\n /** Company that owns the policy being created or edited. */\n companyId: string\n /** Type of policy being configured. */\n policyType: 'sick' | 'vacation'\n /** When set, the form loads the existing policy and submits an update. */\n policyId?: string\n /** Pre-populated values to merge into the form's defaults. */\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\n/**\n * Form for creating or editing the details of a sick or vacation time off policy — its name and accrual configuration.\n *\n * @remarks\n * Omit `policyId` to create a new policy; pass `policyId` to edit an existing\n * one. In edit mode, the form fetches the policy via Suspense and merges the\n * derived defaults with any `defaultValues` you supply (your overrides win).\n * When editing a policy whose configuration is already complete, the accrual\n * method selector is restricted to the matching category (unlimited vs.\n * accrual-based).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyDetails/done` | Fired after the policy is successfully created or updated | `{ policyId: string, accrualMethod: string }` |\n * | `CANCEL` | Fired when the user clicks the cancel button | — |\n *\n * @param props - See {@link PolicyConfigurationFormProps}.\n * @returns The rendered policy configuration form.\n * @public\n */\nexport function PolicyConfigurationForm(props: PolicyConfigurationFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction resolveApiAccrualMethod(\n data: PolicyConfigurationFormData,\n): TimeOffPolicyRequest['accrualMethod'] {\n switch (data.accrualMethod) {\n case 'unlimited':\n return 'unlimited'\n\n case 'per_hour_paid': {\n const paid = data.allPaidHours ?? false\n const overtime = data.includeOvertime ?? false\n\n if (paid && overtime) return 'per_hour_paid'\n if (paid && !overtime) return 'per_hour_paid_no_overtime'\n if (!paid && overtime) return 'per_hour_worked'\n return 'per_hour_worked_no_overtime'\n }\n\n case 'per_calendar_year': {\n if (data.accrualMethodFixed === 'per_pay_period') return 'per_pay_period'\n\n return data.resetDateType === 'per_anniversary_year'\n ? 'per_anniversary_year'\n : 'per_calendar_year'\n }\n }\n}\n\nconst HOURLY_API_METHODS = [\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n]\n\nfunction deriveFormDefaults(policy: TimeOffPolicy): Partial<PolicyConfigurationFormData> {\n const defaults: Partial<PolicyConfigurationFormData> = { name: policy.name }\n const apiMethod = policy.accrualMethod\n\n if (apiMethod === 'unlimited') {\n defaults.accrualMethod = 'unlimited'\n } else if (HOURLY_API_METHODS.includes(apiMethod)) {\n defaults.accrualMethod = 'per_hour_paid'\n defaults.allPaidHours =\n apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_paid_no_overtime'\n defaults.includeOvertime = apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_worked'\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n if (policy.accrualRateUnit != null) defaults.accrualRateUnit = Number(policy.accrualRateUnit)\n\n if (policy.policyResetDate) {\n defaults.resetDateType = 'per_calendar_year'\n }\n } else {\n defaults.accrualMethod = 'per_calendar_year'\n\n if (apiMethod === 'per_pay_period') {\n defaults.accrualMethodFixed = 'per_pay_period'\n defaults.resetDateType = policy.policyResetDate ? 'per_calendar_year' : 'per_anniversary_year'\n } else {\n defaults.accrualMethodFixed = 'all_at_once'\n defaults.resetDateType =\n apiMethod === 'per_anniversary_year' ? 'per_anniversary_year' : 'per_calendar_year'\n }\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n }\n\n if (policy.policyResetDate) {\n const [month, day] = policy.policyResetDate.split('-').map(Number)\n if (month) defaults.resetMonth = month\n if (day) defaults.resetDay = day\n }\n\n return defaults\n}\n\nfunction buildCreateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n): TimeOffPolicyRequest {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: TimeOffPolicyRequest = { name: data.name, policyType, accrualMethod }\n\n if (accrualMethod === 'unlimited') {\n return { ...base, complete: true }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n complete: false,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n complete: false,\n }\n}\n\nfunction buildUpdateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n version: string,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody = {\n name: data.name,\n policyType,\n accrualMethod,\n version,\n }\n\n if (accrualMethod === 'unlimited') {\n return {\n ...base,\n accrualRate: null,\n accrualRateUnit: null,\n policyResetDate: null,\n }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n }\n}\n\nfunction Root({ companyId, policyType, defaultValues, policyId }: PolicyConfigurationFormProps) {\n if (policyId) {\n return (\n <EditRoot\n companyId={companyId}\n policyType={policyType}\n policyId={policyId}\n defaultValues={defaultValues}\n />\n )\n }\n return <CreateRoot companyId={companyId} policyType={policyType} defaultValues={defaultValues} />\n}\n\ninterface CreateRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction CreateRoot({ companyId, policyType, defaultValues }: CreateRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { mutateAsync: createTimeOffPolicy, isPending } = useTimeOffPoliciesCreateMutation()\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildCreateRequestBody(data, policyType)\n\n const response = await createTimeOffPolicy({\n request: {\n companyUuid: companyId,\n timeOffPolicyRequest: requestBody,\n },\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId: response.timeOffPolicy!.uuid,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, companyId, createTimeOffPolicy, onEvent, policyType],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={defaultValues}\n isPending={isPending}\n />\n )\n}\n\ninterface EditRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n policyId: string\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\nfunction EditRoot({ companyId, policyType, policyId, defaultValues }: EditRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const version = policy.version ?? ''\n const fetchedDefaults = deriveFormDefaults(policy)\n const mergedDefaults = { ...fetchedDefaults, ...defaultValues }\n\n const lockedAccrualCategory = policy.complete\n ? fetchedDefaults.accrualMethod === 'unlimited'\n ? ('unlimited' as const)\n : ('accrual_based' as const)\n : undefined\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildUpdateRequestBody(data, policyType, version)\n\n await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody,\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: [API_QUERY_NAMESPACE, 'timeOffPolicies', 'get'],\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, policyId, policyType, version, updateTimeOffPolicy, queryClient, onEvent],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={mergedDefaults}\n editingPolicyName={policy.name}\n isPending={isPending}\n lockedAccrualCategory={lockedAccrualCategory}\n />\n )\n}\n"],"names":["PolicyConfigurationForm","props","jsx","BaseComponent","Root","resolveApiAccrualMethod","data","paid","overtime","HOURLY_API_METHODS","deriveFormDefaults","policy","defaults","apiMethod","month","day","buildCreateRequestBody","policyType","accrualMethod","base","isHourly","policyResetDate","formatMonthDay","buildUpdateRequestBody","version","companyId","defaultValues","policyId","EditRoot","CreateRoot","onEvent","baseSubmitHandler","useBase","createTimeOffPolicy","isPending","useTimeOffPoliciesCreateMutation","handleContinue","useCallback","requestBody","response","componentEvents","handleCancel","PolicyConfigurationFormPresentation","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","useTimeOffPoliciesUpdateMutation","fetchedDefaults","mergedDefaults","lockedAccrualCategory","API_QUERY_NAMESPACE"],"mappings":"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"}
1
+ {"version":3,"file":"PolicyConfigurationForm.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTimeOffPoliciesCreateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesCreate'\nimport { useTimeOffPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/timeOffPoliciesUpdate'\nimport { useTimeOffPoliciesGetSuspense } from '@gusto/embedded-api/react-query/timeOffPoliciesGet'\nimport type { TimeOffPolicyRequest } from '@gusto/embedded-api/models/components/timeoffpolicyrequest'\nimport type { TimeOffPolicy } from '@gusto/embedded-api/models/components/timeoffpolicy'\nimport type { PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody } from '@gusto/embedded-api/models/operations/putv1timeoffpoliciestimeoffpolicyuuid'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { PolicyConfigurationFormPresentation } from './PolicyConfigurationFormPresentation'\nimport type { PolicyConfigurationFormData } from './PolicyConfigurationFormTypes'\nimport { API_QUERY_NAMESPACE } from '@/contexts/ApiProvider/apiVersion'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { formatMonthDay } from '@/helpers/dateFormatting'\n\n/**\n * Props for {@link PolicyConfigurationForm}.\n *\n * @public\n */\nexport interface PolicyConfigurationFormProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {\n /** Company that owns the policy being created or edited. */\n companyId: string\n /** Type of policy being configured. */\n policyType: 'sick' | 'vacation'\n /** When set, the form loads the existing policy and submits an update. */\n policyId?: string\n /** Pre-populated values to merge into the form's defaults. */\n defaultValues?: Partial<PolicyConfigurationFormData>\n}\n\n/**\n * Form for creating or editing the details of a sick or vacation time off policy — its name and accrual configuration.\n *\n * @remarks\n * Omit `policyId` to create a new policy; pass `policyId` to edit an existing\n * one. In edit mode, the form fetches the policy via Suspense and merges the\n * derived defaults with any `defaultValues` you supply (your overrides win).\n * When editing a policy whose configuration is already complete, the accrual\n * method selector is restricted to the matching category (unlimited vs.\n * accrual-based).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyDetails/done` | Fired after the policy is successfully created or updated | `{ policyId: string, accrualMethod: string }` |\n * | `CANCEL` | Fired when the user clicks the cancel button | — |\n *\n * @param props - See {@link PolicyConfigurationFormProps}.\n * @returns The rendered policy configuration form.\n * @public\n */\nexport function PolicyConfigurationForm(props: PolicyConfigurationFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction resolveApiAccrualMethod(\n data: PolicyConfigurationFormData,\n): TimeOffPolicyRequest['accrualMethod'] {\n switch (data.accrualMethod) {\n case 'unlimited':\n return 'unlimited'\n\n case 'per_hour_paid': {\n const paid = data.allPaidHours ?? false\n const overtime = data.includeOvertime ?? false\n\n if (paid && overtime) return 'per_hour_paid'\n if (paid && !overtime) return 'per_hour_paid_no_overtime'\n if (!paid && overtime) return 'per_hour_worked'\n return 'per_hour_worked_no_overtime'\n }\n\n case 'per_calendar_year': {\n if (data.accrualMethodFixed === 'per_pay_period') return 'per_pay_period'\n\n return data.resetDateType === 'per_anniversary_year'\n ? 'per_anniversary_year'\n : 'per_calendar_year'\n }\n }\n}\n\nconst HOURLY_API_METHODS = [\n 'per_hour_paid',\n 'per_hour_paid_no_overtime',\n 'per_hour_worked',\n 'per_hour_worked_no_overtime',\n]\n\nfunction deriveFormDefaults(policy: TimeOffPolicy): Partial<PolicyConfigurationFormData> {\n const defaults: Partial<PolicyConfigurationFormData> = { name: policy.name }\n const apiMethod = policy.accrualMethod\n\n if (apiMethod === 'unlimited') {\n defaults.accrualMethod = 'unlimited'\n } else if (HOURLY_API_METHODS.includes(apiMethod)) {\n defaults.accrualMethod = 'per_hour_paid'\n defaults.allPaidHours =\n apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_paid_no_overtime'\n defaults.includeOvertime = apiMethod === 'per_hour_paid' || apiMethod === 'per_hour_worked'\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n if (policy.accrualRateUnit != null) defaults.accrualRateUnit = Number(policy.accrualRateUnit)\n\n if (policy.policyResetDate) {\n defaults.resetDateType = 'per_calendar_year'\n }\n } else {\n defaults.accrualMethod = 'per_calendar_year'\n\n if (apiMethod === 'per_pay_period') {\n defaults.accrualMethodFixed = 'per_pay_period'\n defaults.resetDateType = policy.policyResetDate ? 'per_calendar_year' : 'per_anniversary_year'\n } else {\n defaults.accrualMethodFixed = 'all_at_once'\n defaults.resetDateType =\n apiMethod === 'per_anniversary_year' ? 'per_anniversary_year' : 'per_calendar_year'\n }\n\n if (policy.accrualRate != null) defaults.accrualRate = Number(policy.accrualRate)\n }\n\n if (policy.policyResetDate) {\n const [month, day] = policy.policyResetDate.split('-').map(Number)\n if (month) defaults.resetMonth = month\n if (day) defaults.resetDay = day\n }\n\n return defaults\n}\n\nfunction buildCreateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n): TimeOffPolicyRequest {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: TimeOffPolicyRequest = { name: data.name, policyType, accrualMethod }\n\n if (accrualMethod === 'unlimited') {\n return { ...base, complete: true }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n complete: false,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n complete: false,\n }\n}\n\nfunction buildUpdateRequestBody(\n data: PolicyConfigurationFormData,\n policyType: 'sick' | 'vacation',\n version: string,\n): PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody {\n const accrualMethod = resolveApiAccrualMethod(data)\n\n const base: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody = {\n name: data.name,\n policyType,\n accrualMethod,\n version,\n }\n\n if (accrualMethod === 'unlimited') {\n return {\n ...base,\n accrualRate: null,\n accrualRateUnit: null,\n policyResetDate: null,\n }\n }\n\n const isHourly =\n accrualMethod === 'per_hour_paid' ||\n accrualMethod === 'per_hour_paid_no_overtime' ||\n accrualMethod === 'per_hour_worked' ||\n accrualMethod === 'per_hour_worked_no_overtime'\n\n const policyResetDate =\n data.resetDateType === 'per_calendar_year'\n ? formatMonthDay(data.resetMonth, data.resetDay)\n : null\n\n if (isHourly) {\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: data.accrualRateUnit != null ? String(data.accrualRateUnit) : undefined,\n policyResetDate,\n }\n }\n\n return {\n ...base,\n accrualRate: data.accrualRate != null ? String(data.accrualRate) : undefined,\n accrualRateUnit: null,\n policyResetDate,\n }\n}\n\nfunction Root({\n companyId,\n policyType,\n defaultValues,\n policyId,\n className,\n}: PolicyConfigurationFormProps) {\n if (policyId) {\n return (\n <EditRoot\n companyId={companyId}\n policyType={policyType}\n policyId={policyId}\n defaultValues={defaultValues}\n className={className}\n />\n )\n }\n return (\n <CreateRoot\n companyId={companyId}\n policyType={policyType}\n defaultValues={defaultValues}\n className={className}\n />\n )\n}\n\ninterface CreateRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n defaultValues?: Partial<PolicyConfigurationFormData>\n /** CSS class name applied to the root element. */\n className?: string\n}\n\nfunction CreateRoot({ companyId, policyType, defaultValues, className }: CreateRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { mutateAsync: createTimeOffPolicy, isPending } = useTimeOffPoliciesCreateMutation()\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildCreateRequestBody(data, policyType)\n\n const response = await createTimeOffPolicy({\n request: {\n companyUuid: companyId,\n timeOffPolicyRequest: requestBody,\n },\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId: response.timeOffPolicy!.uuid,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, companyId, createTimeOffPolicy, onEvent, policyType],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={defaultValues}\n isPending={isPending}\n className={className}\n />\n )\n}\n\ninterface EditRootProps {\n companyId: string\n policyType: 'sick' | 'vacation'\n policyId: string\n defaultValues?: Partial<PolicyConfigurationFormData>\n /** CSS class name applied to the root element. */\n className?: string\n}\n\nfunction EditRoot({ companyId, policyType, policyId, defaultValues, className }: EditRootProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n\n const { data: policyResponse } = useTimeOffPoliciesGetSuspense({\n timeOffPolicyUuid: policyId,\n })\n\n const { mutateAsync: updateTimeOffPolicy, isPending } = useTimeOffPoliciesUpdateMutation()\n\n const policy = policyResponse.timeOffPolicy\n if (!policy) throw new Error('Unexpected response: missing timeOffPolicy')\n\n const version = policy.version ?? ''\n const fetchedDefaults = deriveFormDefaults(policy)\n const mergedDefaults = { ...fetchedDefaults, ...defaultValues }\n\n const lockedAccrualCategory = policy.complete\n ? fetchedDefaults.accrualMethod === 'unlimited'\n ? ('unlimited' as const)\n : ('accrual_based' as const)\n : undefined\n\n const handleContinue = useCallback(\n async (data: PolicyConfigurationFormData) => {\n await baseSubmitHandler(data, async () => {\n const requestBody = buildUpdateRequestBody(data, policyType, version)\n\n await updateTimeOffPolicy({\n request: {\n timeOffPolicyUuid: policyId,\n requestBody,\n },\n })\n\n void queryClient.invalidateQueries({\n queryKey: [API_QUERY_NAMESPACE, 'timeOffPolicies', 'get'],\n })\n\n onEvent(componentEvents.TIME_OFF_POLICY_DETAILS_DONE, {\n policyId,\n accrualMethod: requestBody.accrualMethod,\n })\n })\n },\n [baseSubmitHandler, policyId, policyType, version, updateTimeOffPolicy, queryClient, onEvent],\n )\n\n const handleCancel = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <PolicyConfigurationFormPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultValues={mergedDefaults}\n editingPolicyName={policy.name}\n isPending={isPending}\n lockedAccrualCategory={lockedAccrualCategory}\n className={className}\n />\n )\n}\n"],"names":["PolicyConfigurationForm","props","jsx","BaseComponent","Root","resolveApiAccrualMethod","data","paid","overtime","HOURLY_API_METHODS","deriveFormDefaults","policy","defaults","apiMethod","month","day","buildCreateRequestBody","policyType","accrualMethod","base","isHourly","policyResetDate","formatMonthDay","buildUpdateRequestBody","version","companyId","defaultValues","policyId","className","EditRoot","CreateRoot","onEvent","baseSubmitHandler","useBase","createTimeOffPolicy","isPending","useTimeOffPoliciesCreateMutation","handleContinue","useCallback","requestBody","response","componentEvents","handleCancel","PolicyConfigurationFormPresentation","queryClient","useQueryClient","policyResponse","useTimeOffPoliciesGetSuspense","updateTimeOffPolicy","useTimeOffPoliciesUpdateMutation","fetchedDefaults","mergedDefaults","lockedAccrualCategory","API_QUERY_NAMESPACE"],"mappings":"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"}