@gusto/embedded-react-sdk 0.55.7 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/CHANGELOG.md +63 -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/Menu/MenuTypes.js.map +1 -1
  11. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
  12. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  13. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  14. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  15. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  16. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  17. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  18. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  19. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  20. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  21. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  22. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  23. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  24. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
  25. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  26. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  27. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  28. package/dist/components/Company/Industry/Context.js +8 -6
  29. package/dist/components/Company/Industry/Context.js.map +1 -1
  30. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  31. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  32. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  33. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  34. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  35. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  36. package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
  37. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  38. package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
  39. package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
  40. package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
  41. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  42. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
  43. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
  45. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  46. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
  47. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  48. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  49. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  50. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  51. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  52. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
  53. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  54. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
  55. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
  56. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
  57. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
  58. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
  59. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
  60. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
  61. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
  62. package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
  63. package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
  64. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
  65. package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
  66. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
  67. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  68. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
  69. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  70. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
  71. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  72. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
  73. package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
  74. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
  75. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  76. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
  77. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  78. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
  79. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
  80. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
  81. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  82. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
  83. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  84. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
  85. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  86. package/dist/components/Contractor/Submit/Submit.js +113 -105
  87. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  88. package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
  89. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  90. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
  91. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  92. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
  93. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  94. package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
  95. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  96. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
  97. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  98. package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
  99. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  100. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  101. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  102. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
  103. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  104. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
  105. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  106. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
  107. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  108. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
  109. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  110. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
  111. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  112. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +121 -111
  113. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  114. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
  115. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  116. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +24 -23
  117. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  118. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +52 -43
  119. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  120. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
  121. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  122. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  123. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
  124. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  125. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +79 -78
  126. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  127. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
  128. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
  129. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
  130. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  131. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +31 -30
  132. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  133. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
  134. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  135. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +20 -19
  136. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  137. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
  138. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  139. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +49 -48
  140. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  141. package/dist/components/Flow/Flow.js +1 -1
  142. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +28 -28
  143. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  144. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
  145. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  146. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +36 -35
  147. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  148. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
  149. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  150. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +23 -22
  151. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  152. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +48 -45
  153. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  154. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +85 -77
  155. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  156. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +63 -59
  157. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  158. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
  159. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  160. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
  161. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  162. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
  163. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  164. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +184 -162
  165. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  166. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
  167. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  168. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
  169. package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
  170. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
  171. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  172. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
  173. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  174. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
  175. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
  176. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
  177. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
  178. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
  179. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
  180. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
  181. package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
  182. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
  183. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  184. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
  185. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  186. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
  187. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  188. package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
  189. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  190. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
  191. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  192. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +187 -171
  193. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  194. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
  195. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  196. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
  197. package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
  198. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
  199. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  200. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +62 -61
  201. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  202. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
  203. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
  204. package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
  205. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +22 -22
  206. package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
  207. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
  208. package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
  209. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
  210. package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
  211. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
  212. package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
  213. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
  214. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  215. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
  216. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  217. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
  218. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
  219. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
  220. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
  221. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  222. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
  223. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
  224. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
  225. package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
  226. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  227. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  228. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
  229. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  230. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
  231. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  232. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
  233. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  234. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
  235. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  236. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
  237. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  238. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
  239. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
  240. package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
  241. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  242. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
  243. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  244. package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
  245. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  246. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
  247. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  248. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
  249. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  250. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
  251. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
  252. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
  253. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  254. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
  255. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  256. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
  257. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  258. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
  259. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  260. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
  261. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  262. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
  263. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  264. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
  265. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  266. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
  267. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  268. package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
  269. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  270. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
  271. package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
  272. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  273. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  274. package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
  275. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  276. package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
  277. package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
  278. package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
  279. package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
  280. package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
  281. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
  282. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  283. package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
  284. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
  285. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
  286. package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
  287. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
  288. package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
  289. package/dist/package.json.js +1 -1
  290. package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
  291. package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
  292. package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
  293. package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
  294. package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
  295. package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
  296. package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
  297. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
  298. package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
  299. package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
  300. package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
  301. package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
  302. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
  303. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
  304. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
  305. package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
  306. package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
  307. package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
  308. package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
  309. package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
  310. package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
  311. package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
  312. package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
  313. package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
  314. package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
  315. package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
  316. package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
  317. package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
  318. package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
  319. package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +11 -2
  320. package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
  321. package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
  322. package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
  323. package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
  324. package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
  325. package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
  326. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  327. package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +8 -0
  328. package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
  329. package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
  330. package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
  331. package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
  332. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
  333. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
  334. package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
  335. package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
  336. package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
  337. package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
  338. package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
  339. package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
  340. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
  341. package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
  342. package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
  343. package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
  344. package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
  345. package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
  346. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
  347. package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
  348. package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
  349. package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
  350. package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
  351. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
  352. package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
  353. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
  354. package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
  355. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
  356. package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
  357. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
  358. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  359. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
  360. package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
  361. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
  362. package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
  363. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
  364. package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
  365. package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
  366. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
  367. package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
  368. package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  369. package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
  370. package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
  371. package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
  372. package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
  373. package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
  374. package/dist/src/i18n/types.d.ts +42 -2
  375. package/dist/src/index.d.ts +1 -1
  376. package/dist/src/models/external.d.ts +1 -0
  377. package/dist/style.css +1 -1
  378. package/docs/guides/endpoint-inventory.json +5 -0
  379. package/package.json +20 -19
@@ -1 +1 @@
1
- {"version":3,"file":"HolidayPolicyDetail.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useHolidayPayPoliciesGetSuspense,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesRemoveEmployees'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { getDefaultHolidayItems } from '../shared/holidayHelpers'\nimport { HolidayPolicyDetailPresentation } from './HolidayPolicyDetailPresentation'\nimport type { HolidayPolicyDetailEmployee } from './HolidayPolicyDetailTypes'\nimport { useClientPagination } from '@/hooks/useClientPagination/useClientPagination'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface HolidayPolicyDetailProps extends BaseComponentInterface<\n 'Company.TimeOff.HolidayPolicy' | 'Company.TimeOff.PolicyDetail'\n> {\n /** The associated company identifier. */\n companyId: string\n /** Which tab to display initially. Defaults to `'holidays'`. */\n defaultTab?: 'holidays' | 'employees'\n}\n\n/** @internal */\nexport function HolidayPolicyDetail(props: HolidayPolicyDetailProps) {\n return (\n <BaseComponent {...props} componentName=\"Company.TimeOff.HolidayPolicy\">\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ninterface RemoveDialogTarget {\n uuid: string\n name: string\n}\n\nfunction Root({ companyId, defaultTab = 'holidays' }: HolidayPolicyDetailProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { t: tShared } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [selectedTabId, setSelectedTabId] = useState<string>(defaultTab)\n const [successAlert, setSuccessAlert] = useState<string | null>(null)\n const [removeDialogTarget, setRemoveDialogTarget] = useState<RemoveDialogTarget | null>(null)\n\n const holidayQuery = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const holidayPayPolicy = holidayQuery.data.holidayPayPolicy!\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n\n const removeEmployeesMutation = useHolidayPayPoliciesRemoveEmployeesMutation()\n\n const holidays = useMemo(() => {\n const allHolidays = getDefaultHolidayItems(t, undefined, locale)\n const { federalHolidays } = holidayPayPolicy\n return allHolidays.filter(holiday => {\n const holidayData = federalHolidays[holiday.uuid as keyof typeof federalHolidays]\n return holidayData?.selected === true\n })\n }, [t, holidayPayPolicy, locale])\n\n const policyEmployeeUuids = useMemo(\n () => new Set(holidayPayPolicy.employees.map(e => e.uuid)),\n [holidayPayPolicy.employees],\n )\n\n const employees: HolidayPolicyDetailEmployee[] = useMemo(() => {\n const allEmployees = employeesData.showEmployees ?? []\n return allEmployees\n .filter(emp => policyEmployeeUuids.has(emp.uuid))\n .map(emp => ({\n uuid: emp.uuid,\n firstName: emp.firstName,\n lastName: emp.lastName,\n jobTitle: emp.jobs?.find(job => job.primary)?.title ?? null,\n }))\n }, [employeesData.showEmployees, policyEmployeeUuids])\n\n const {\n data: pagedEmployees,\n pagination,\n searchValue,\n actions: paginationActions,\n } = useClientPagination(employees, {\n defaultItemsPerPage: 10,\n searchPredicate: (emp, query) =>\n `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase().includes(query.toLowerCase()),\n })\n\n const handleRemoveEmployee = async () => {\n if (!removeDialogTarget) return\n\n const targetUuid = removeDialogTarget.uuid\n const targetName = removeDialogTarget.name\n setRemoveDialogTarget(null)\n\n await baseSubmitHandler({}, async () => {\n await removeEmployeesMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: holidayPayPolicy.version!,\n employees: [{ uuid: targetUuid }],\n },\n },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setSuccessAlert(t('flash.employeeRemoved', { name: targetName }))\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }\n\n const handleAddEmployees = () => {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES)\n }\n\n const handleEditPolicy = () => {\n onEvent(componentEvents.TIME_OFF_EDIT_HOLIDAY_POLICY)\n }\n\n const actions = [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('show.addEmployeesCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={handleEditPolicy}\n >\n {t('show.editPolicyCta')}\n </Button>,\n ]\n\n return (\n <HolidayPolicyDetailPresentation\n title={t('show.title')}\n onBack={handleBack}\n backLabel={tShared('backLabel')}\n actions={actions}\n onAddEmployee={handleAddEmployees}\n holidays={holidays}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: pagedEmployees,\n searchValue,\n onSearchChange: paginationActions.onSearchChange,\n onSearchClear: paginationActions.onSearchClear,\n pagination,\n itemMenu: employee => (\n <HamburgerMenu\n items={[\n {\n label: tShared('removeEmployeeDialog.confirmCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveDialogTarget({\n uuid: employee.uuid,\n name: firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }),\n })\n },\n },\n ]}\n triggerLabel={tShared('employeeActions', {\n name: firstLastName({ first_name: employee.firstName, last_name: employee.lastName }),\n })}\n />\n ),\n }}\n removeDialog={{\n isOpen: removeDialogTarget !== null,\n employeeName: removeDialogTarget?.name ?? '',\n onConfirm: handleRemoveEmployee,\n onClose: () => {\n setRemoveDialogTarget(null)\n },\n isPending: removeEmployeesMutation.isPending,\n }}\n successAlert={successAlert ?? undefined}\n onDismissAlert={() => {\n setSuccessAlert(null)\n }}\n />\n )\n}\n"],"names":["HolidayPolicyDetail","props","jsx","BaseComponent","Root","companyId","defaultTab","useI18n","t","useTranslation","tShared","Button","useComponentContext","locale","useLocale","queryClient","useQueryClient","onEvent","baseSubmitHandler","useBase","selectedTabId","setSelectedTabId","useState","successAlert","setSuccessAlert","removeDialogTarget","setRemoveDialogTarget","holidayPayPolicy","useHolidayPayPoliciesGetSuspense","employeesData","useEmployeesListSuspense","removeEmployeesMutation","useHolidayPayPoliciesRemoveEmployeesMutation","holidays","useMemo","allHolidays","getDefaultHolidayItems","federalHolidays","holiday","policyEmployeeUuids","employees","emp","job","pagedEmployees","pagination","searchValue","paginationActions","useClientPagination","query","handleRemoveEmployee","targetUuid","targetName","invalidateAllHolidayPayPoliciesGet","handleBack","componentEvents","handleAddEmployees","handleEditPolicy","actions","PlusCircleIcon","EditIcon","HolidayPolicyDetailPresentation","employee","HamburgerMenu","TrashCanSvg","firstLastName"],"mappings":"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"}
1
+ {"version":3,"file":"HolidayPolicyDetail.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useHolidayPayPoliciesGetSuspense,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesRemoveEmployees'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport { getDefaultHolidayItems } from '../shared/holidayHelpers'\nimport { HolidayPolicyDetailPresentation } from './HolidayPolicyDetailPresentation'\nimport type { HolidayPolicyDetailEmployee } from './HolidayPolicyDetailTypes'\nimport { useClientPagination } from '@/hooks/useClientPagination/useClientPagination'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface HolidayPolicyDetailProps extends BaseComponentInterface<\n 'Company.TimeOff.HolidayPolicy' | 'Company.TimeOff.PolicyDetail'\n> {\n /** The associated company identifier. */\n companyId: string\n /** Which tab to display initially. Defaults to `'holidays'`. */\n defaultTab?: 'holidays' | 'employees'\n}\n\n/** @internal */\nexport function HolidayPolicyDetail(props: HolidayPolicyDetailProps) {\n return (\n <BaseComponent {...props} componentName=\"Company.TimeOff.HolidayPolicy\">\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ninterface RemoveDialogTarget {\n uuid: string\n name: string\n}\n\nfunction Root({ companyId, defaultTab = 'holidays', className }: HolidayPolicyDetailProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { t: tShared } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [selectedTabId, setSelectedTabId] = useState<string>(defaultTab)\n const [successAlert, setSuccessAlert] = useState<string | null>(null)\n const [removeDialogTarget, setRemoveDialogTarget] = useState<RemoveDialogTarget | null>(null)\n\n const holidayQuery = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const holidayPayPolicy = holidayQuery.data.holidayPayPolicy!\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n\n const removeEmployeesMutation = useHolidayPayPoliciesRemoveEmployeesMutation()\n\n const holidays = useMemo(() => {\n const allHolidays = getDefaultHolidayItems(t, undefined, locale)\n const { federalHolidays } = holidayPayPolicy\n return allHolidays.filter(holiday => {\n const holidayData = federalHolidays[holiday.uuid as keyof typeof federalHolidays]\n return holidayData?.selected === true\n })\n }, [t, holidayPayPolicy, locale])\n\n const policyEmployeeUuids = useMemo(\n () => new Set(holidayPayPolicy.employees.map(e => e.uuid)),\n [holidayPayPolicy.employees],\n )\n\n const employees: HolidayPolicyDetailEmployee[] = useMemo(() => {\n const allEmployees = employeesData.showEmployees ?? []\n return allEmployees\n .filter(emp => policyEmployeeUuids.has(emp.uuid))\n .map(emp => ({\n uuid: emp.uuid,\n firstName: emp.firstName,\n lastName: emp.lastName,\n jobTitle: emp.jobs?.find(job => job.primary)?.title ?? null,\n }))\n }, [employeesData.showEmployees, policyEmployeeUuids])\n\n const {\n data: pagedEmployees,\n pagination,\n searchValue,\n actions: paginationActions,\n } = useClientPagination(employees, {\n defaultItemsPerPage: 10,\n searchPredicate: (emp, query) =>\n `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase().includes(query.toLowerCase()),\n })\n\n const handleRemoveEmployee = async () => {\n if (!removeDialogTarget) return\n\n const targetUuid = removeDialogTarget.uuid\n const targetName = removeDialogTarget.name\n setRemoveDialogTarget(null)\n\n await baseSubmitHandler({}, async () => {\n await removeEmployeesMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: holidayPayPolicy.version!,\n employees: [{ uuid: targetUuid }],\n },\n },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setSuccessAlert(t('flash.employeeRemoved', { name: targetName }))\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }\n\n const handleAddEmployees = () => {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES)\n }\n\n const handleEditPolicy = () => {\n onEvent(componentEvents.TIME_OFF_EDIT_HOLIDAY_POLICY)\n }\n\n const actions = [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('show.addEmployeesCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={handleEditPolicy}\n >\n {t('show.editPolicyCta')}\n </Button>,\n ]\n\n return (\n <HolidayPolicyDetailPresentation\n title={t('show.title')}\n onBack={handleBack}\n backLabel={tShared('backLabel')}\n actions={actions}\n onAddEmployee={handleAddEmployees}\n holidays={holidays}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: pagedEmployees,\n searchValue,\n onSearchChange: paginationActions.onSearchChange,\n onSearchClear: paginationActions.onSearchClear,\n pagination,\n itemMenu: employee => (\n <HamburgerMenu\n items={[\n {\n label: tShared('removeEmployeeDialog.confirmCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveDialogTarget({\n uuid: employee.uuid,\n name: firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }),\n })\n },\n },\n ]}\n triggerLabel={tShared('employeeActions', {\n name: firstLastName({ first_name: employee.firstName, last_name: employee.lastName }),\n })}\n />\n ),\n }}\n removeDialog={{\n isOpen: removeDialogTarget !== null,\n employeeName: removeDialogTarget?.name ?? '',\n onConfirm: handleRemoveEmployee,\n onClose: () => {\n setRemoveDialogTarget(null)\n },\n isPending: removeEmployeesMutation.isPending,\n }}\n successAlert={successAlert ?? undefined}\n onDismissAlert={() => {\n setSuccessAlert(null)\n }}\n className={className}\n />\n )\n}\n"],"names":["HolidayPolicyDetail","props","jsx","BaseComponent","Root","companyId","defaultTab","className","useI18n","t","useTranslation","tShared","Button","useComponentContext","locale","useLocale","queryClient","useQueryClient","onEvent","baseSubmitHandler","useBase","selectedTabId","setSelectedTabId","useState","successAlert","setSuccessAlert","removeDialogTarget","setRemoveDialogTarget","holidayPayPolicy","useHolidayPayPoliciesGetSuspense","employeesData","useEmployeesListSuspense","removeEmployeesMutation","useHolidayPayPoliciesRemoveEmployeesMutation","holidays","useMemo","allHolidays","getDefaultHolidayItems","federalHolidays","holiday","policyEmployeeUuids","employees","emp","job","pagedEmployees","pagination","searchValue","paginationActions","useClientPagination","query","handleRemoveEmployee","targetUuid","targetName","invalidateAllHolidayPayPoliciesGet","handleBack","componentEvents","handleAddEmployees","handleEditPolicy","actions","PlusCircleIcon","EditIcon","HolidayPolicyDetailPresentation","employee","HamburgerMenu","TrashCanSvg","firstLastName"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useMemo as D } from "react";
2
+ import { useMemo as T } from "react";
3
3
  import { useTranslation as n } from "react-i18next";
4
4
  import { useI18n as l } from "../../../i18n/I18n.js";
5
- import { PolicyDetailLayout as T } from "../shared/PolicyDetailLayout/PolicyDetailLayout.js";
6
- import { useDataView as O } from "../../Common/DataView/useDataView.js";
7
- import { DataView as P } from "../../Common/DataView/DataView.js";
8
- const v = "holidays";
9
- function A({
5
+ import { PolicyDetailLayout as O } from "../shared/PolicyDetailLayout/PolicyDetailLayout.js";
6
+ import { useDataView as P } from "../../Common/DataView/useDataView.js";
7
+ import { DataView as v } from "../../Common/DataView/DataView.js";
8
+ const x = "holidays";
9
+ function _({
10
10
  title: t,
11
11
  subtitle: e,
12
12
  onBack: a,
@@ -19,12 +19,13 @@ function A({
19
19
  onAddEmployee: f,
20
20
  removeDialog: b,
21
21
  successAlert: c,
22
- onDismissAlert: p
22
+ onDismissAlert: p,
23
+ className: u
23
24
  }) {
24
25
  l("Company.TimeOff.HolidayPolicy");
25
- const { t: u } = n("Company.TimeOff.HolidayPolicy"), H = /* @__PURE__ */ r(x, { holidays: s });
26
+ const { t: H } = n("Company.TimeOff.HolidayPolicy"), D = /* @__PURE__ */ r(C, { holidays: s });
26
27
  return /* @__PURE__ */ r(
27
- T,
28
+ O,
28
29
  {
29
30
  title: t,
30
31
  subtitle: e,
@@ -32,9 +33,9 @@ function A({
32
33
  backLabel: i,
33
34
  actions: o,
34
35
  firstTab: {
35
- id: v,
36
- label: u("tabs.holidays"),
37
- content: H
36
+ id: x,
37
+ label: H("tabs.holidays"),
38
+ content: D
38
39
  },
39
40
  selectedTabId: m,
40
41
  onTabChange: y,
@@ -42,13 +43,14 @@ function A({
42
43
  onAddEmployee: f,
43
44
  removeDialog: b,
44
45
  successAlert: c,
45
- onDismissAlert: p
46
+ onDismissAlert: p,
47
+ className: u
46
48
  }
47
49
  );
48
50
  }
49
- function x({ holidays: t }) {
51
+ function C({ holidays: t }) {
50
52
  l("Company.TimeOff.HolidayPolicy");
51
- const { t: e } = n("Company.TimeOff.HolidayPolicy"), a = D(
53
+ const { t: e } = n("Company.TimeOff.HolidayPolicy"), a = T(
52
54
  () => [
53
55
  {
54
56
  key: "name",
@@ -67,13 +69,13 @@ function x({ holidays: t }) {
67
69
  }
68
70
  ],
69
71
  [e]
70
- ), i = O({
72
+ ), i = P({
71
73
  data: t,
72
74
  columns: a
73
75
  });
74
- return /* @__PURE__ */ r(P, { label: e("tableLabel"), ...i });
76
+ return /* @__PURE__ */ r(v, { label: e("tableLabel"), ...i });
75
77
  }
76
78
  export {
77
- A as HolidayPolicyDetailPresentation
79
+ _ as HolidayPolicyDetailPresentation
78
80
  };
79
81
  //# sourceMappingURL=HolidayPolicyDetailPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HolidayPolicyDetailPresentation.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { HolidayItem } from '../HolidaySelectionForm/HolidaySelectionFormTypes'\nimport { PolicyDetailLayout } from '../shared/PolicyDetailLayout'\nimport type { HolidayPolicyDetailPresentationProps } from './HolidayPolicyDetailTypes'\nimport { DataView, useDataView } from '@/components/Common'\nimport { useI18n } from '@/i18n'\n\nconst HOLIDAYS_TAB_ID = 'holidays'\n\n/** @internal */\nexport function HolidayPolicyDetailPresentation({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n holidays,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n}: HolidayPolicyDetailPresentationProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n\n const holidaysTabContent = <HolidaysTab holidays={holidays} />\n\n return (\n <PolicyDetailLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n firstTab={{\n id: HOLIDAYS_TAB_ID,\n label: t('tabs.holidays'),\n content: holidaysTabContent,\n }}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n employees={employees}\n onAddEmployee={onAddEmployee}\n removeDialog={removeDialog}\n successAlert={successAlert}\n onDismissAlert={onDismissAlert}\n />\n )\n}\n\nfunction HolidaysTab({ holidays }: { holidays: HolidayItem[] }) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n\n const columns = useMemo(\n () => [\n {\n key: 'name' as keyof HolidayItem,\n title: t('tableHeaders.holidayName'),\n render: (item: HolidayItem) => item.name,\n },\n {\n key: 'observedDate' as keyof HolidayItem,\n title: t('tableHeaders.observedDate'),\n render: (item: HolidayItem) => item.observedDate,\n },\n {\n key: 'nextObservation' as keyof HolidayItem,\n title: t('tableHeaders.nextObservation'),\n render: (item: HolidayItem) => item.nextObservation,\n },\n ],\n [t],\n )\n\n const dataViewProps = useDataView<HolidayItem>({\n data: holidays,\n columns,\n })\n\n return <DataView label={t('tableLabel')} {...dataViewProps} />\n}\n"],"names":["HOLIDAYS_TAB_ID","HolidayPolicyDetailPresentation","title","subtitle","onBack","backLabel","actions","holidays","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","useI18n","t","useTranslation","holidaysTabContent","jsx","HolidaysTab","PolicyDetailLayout","columns","useMemo","item","dataViewProps","useDataView","DataView"],"mappings":";;;;;;;AAQA,MAAMA,IAAkB;AAGjB,SAASC,EAAgC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AACF,GAAyC;AACvC,EAAAC,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GAEtDC,IAAqB,gBAAAC,EAACC,GAAA,EAAY,UAAAb,EAAA,CAAoB;AAE5D,SACE,gBAAAY;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAAnB;AAAA,MACA,UAAAC;AAAA,MACA,QAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAU;AAAA,QACR,IAAIN;AAAA,QACJ,OAAOgB,EAAE,eAAe;AAAA,QACxB,SAASE;AAAA,MAAA;AAAA,MAEX,eAAAV;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASM,EAAY,EAAE,UAAAb,KAAyC;AAC9D,EAAAQ,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GAEtDK,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAOP,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,2BAA2B;AAAA,QACpC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,8BAA8B;AAAA,QACvC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,IACtC;AAAA,IAEF,CAACR,CAAC;AAAA,EAAA,GAGES,IAAgBC,EAAyB;AAAA,IAC7C,MAAMnB;AAAA,IACN,SAAAe;AAAA,EAAA,CACD;AAED,2BAAQK,GAAA,EAAS,OAAOX,EAAE,YAAY,GAAI,GAAGS,GAAe;AAC9D;"}
1
+ {"version":3,"file":"HolidayPolicyDetailPresentation.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { HolidayItem } from '../HolidaySelectionForm/HolidaySelectionFormTypes'\nimport { PolicyDetailLayout } from '../shared/PolicyDetailLayout'\nimport type { HolidayPolicyDetailPresentationProps } from './HolidayPolicyDetailTypes'\nimport { DataView, useDataView } from '@/components/Common'\nimport { useI18n } from '@/i18n'\n\nconst HOLIDAYS_TAB_ID = 'holidays'\n\n/** @internal */\nexport function HolidayPolicyDetailPresentation({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n holidays,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n className,\n}: HolidayPolicyDetailPresentationProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n\n const holidaysTabContent = <HolidaysTab holidays={holidays} />\n\n return (\n <PolicyDetailLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n firstTab={{\n id: HOLIDAYS_TAB_ID,\n label: t('tabs.holidays'),\n content: holidaysTabContent,\n }}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n employees={employees}\n onAddEmployee={onAddEmployee}\n removeDialog={removeDialog}\n successAlert={successAlert}\n onDismissAlert={onDismissAlert}\n className={className}\n />\n )\n}\n\nfunction HolidaysTab({ holidays }: { holidays: HolidayItem[] }) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n\n const columns = useMemo(\n () => [\n {\n key: 'name' as keyof HolidayItem,\n title: t('tableHeaders.holidayName'),\n render: (item: HolidayItem) => item.name,\n },\n {\n key: 'observedDate' as keyof HolidayItem,\n title: t('tableHeaders.observedDate'),\n render: (item: HolidayItem) => item.observedDate,\n },\n {\n key: 'nextObservation' as keyof HolidayItem,\n title: t('tableHeaders.nextObservation'),\n render: (item: HolidayItem) => item.nextObservation,\n },\n ],\n [t],\n )\n\n const dataViewProps = useDataView<HolidayItem>({\n data: holidays,\n columns,\n })\n\n return <DataView label={t('tableLabel')} {...dataViewProps} />\n}\n"],"names":["HOLIDAYS_TAB_ID","HolidayPolicyDetailPresentation","title","subtitle","onBack","backLabel","actions","holidays","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","className","useI18n","t","useTranslation","holidaysTabContent","jsx","HolidaysTab","PolicyDetailLayout","columns","useMemo","item","dataViewProps","useDataView","DataView"],"mappings":";;;;;;;AAQA,MAAMA,IAAkB;AAGjB,SAASC,EAAgC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AACF,GAAyC;AACvC,EAAAC,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GAEtDC,IAAqB,gBAAAC,EAACC,GAAA,EAAY,UAAAd,EAAA,CAAoB;AAE5D,SACE,gBAAAa;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAApB;AAAA,MACA,UAAAC;AAAA,MACA,QAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAU;AAAA,QACR,IAAIN;AAAA,QACJ,OAAOiB,EAAE,eAAe;AAAA,QACxB,SAASE;AAAA,MAAA;AAAA,MAEX,eAAAX;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASM,EAAY,EAAE,UAAAd,KAAyC;AAC9D,EAAAS,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GAEtDK,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAOP,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,2BAA2B;AAAA,QACpC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,8BAA8B;AAAA,QACvC,QAAQ,CAACQ,MAAsBA,EAAK;AAAA,MAAA;AAAA,IACtC;AAAA,IAEF,CAACR,CAAC;AAAA,EAAA,GAGES,IAAgBC,EAAyB;AAAA,IAC7C,MAAMpB;AAAA,IACN,SAAAgB;AAAA,EAAA,CACD;AAED,2BAAQK,GAAA,EAAS,OAAOX,EAAE,YAAY,GAAI,GAAGS,GAAe;AAC9D;"}
@@ -1,99 +1,100 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { useMemo as C, useCallback as r, useState as b } from "react";
3
- import { useTranslation as A } from "react-i18next";
4
- import { useQueryClient as O } from "@tanstack/react-query";
3
+ import { useTranslation as O } from "react-i18next";
4
+ import { useQueryClient as _ } from "@tanstack/react-query";
5
5
  import { useHolidayPayPoliciesCreateMutation as k } from "@gusto/embedded-api/react-query/holidayPayPoliciesCreate";
6
- import { useHolidayPayPoliciesGetSuspense as N, invalidateAllHolidayPayPoliciesGet as _, queryKeyHolidayPayPoliciesGet as x } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
7
- import { useHolidayPayPoliciesUpdateMutation as M } from "@gusto/embedded-api/react-query/holidayPayPoliciesUpdate";
8
- import { getDefaultHolidayItems as w, FEDERAL_HOLIDAY_KEYS as T, buildFederalHolidaysPayload as U } from "../shared/holidayHelpers.js";
6
+ import { useHolidayPayPoliciesGetSuspense as x, invalidateAllHolidayPayPoliciesGet as w, queryKeyHolidayPayPoliciesGet as M } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
7
+ import { useHolidayPayPoliciesUpdateMutation as R } from "@gusto/embedded-api/react-query/holidayPayPoliciesUpdate";
8
+ import { getDefaultHolidayItems as N, FEDERAL_HOLIDAY_KEYS as T, buildFederalHolidaysPayload as U } from "../shared/holidayHelpers.js";
9
9
  import { HolidaySelectionFormPresentation as v } from "./HolidaySelectionFormPresentation.js";
10
- import { BaseComponent as R } from "../../Base/Base.js";
10
+ import { BaseComponent as Y } from "../../Base/Base.js";
11
11
  import { useBase as D } from "../../Base/useBase.js";
12
12
  import { componentEvents as S } from "../../../shared/constants.js";
13
13
  import { useI18n as I } from "../../../i18n/I18n.js";
14
14
  import { useLocale as L } from "../../../contexts/LocaleProvider/useLocale.js";
15
- function ae(e) {
16
- return /* @__PURE__ */ u(R, { ...e, children: e.mode === "edit" ? /* @__PURE__ */ u(G, { companyId: e.companyId }) : /* @__PURE__ */ u(Y, { companyId: e.companyId }) });
15
+ function le(e) {
16
+ return /* @__PURE__ */ u(Y, { ...e, children: e.mode === "edit" ? /* @__PURE__ */ u(K, { companyId: e.companyId, className: e.className }) : /* @__PURE__ */ u(G, { companyId: e.companyId, className: e.className }) });
17
17
  }
18
18
  function g(e) {
19
- const [l, o] = b(e), i = r((n, c) => {
20
- o((a) => {
21
- const t = new Set(a);
22
- return c ? t.add(n.uuid) : t.delete(n.uuid), t;
19
+ const [s, n] = b(e), o = r((a, i) => {
20
+ n((d) => {
21
+ const t = new Set(d);
22
+ return i ? t.add(a.uuid) : t.delete(a.uuid), t;
23
23
  });
24
- }, []), s = r((n, c) => {
25
- o((a) => {
26
- const t = new Set(a);
27
- for (const d of c)
28
- n ? t.add(d.uuid) : t.delete(d.uuid);
24
+ }, []), c = r((a, i) => {
25
+ n((d) => {
26
+ const t = new Set(d);
27
+ for (const l of i)
28
+ a ? t.add(l.uuid) : t.delete(l.uuid);
29
29
  return t;
30
30
  });
31
31
  }, []);
32
- return { selectedUuids: l, handleSelectionChange: i, handleSelectAll: s };
32
+ return { selectedUuids: s, handleSelectionChange: o, handleSelectAll: c };
33
33
  }
34
- function F(e, l, o) {
35
- o && e.setQueryData(
36
- x(l, {}),
37
- (i) => i ? { ...i, holidayPayPolicy: o } : void 0
34
+ function F(e, s, n) {
35
+ n && e.setQueryData(
36
+ M(s, {}),
37
+ (o) => o ? { ...o, holidayPayPolicy: n } : void 0
38
38
  );
39
39
  }
40
- function Y({ companyId: e }) {
40
+ function G({ companyId: e, className: s }) {
41
41
  I("Company.TimeOff.HolidayPolicy");
42
- const { t: l } = A("Company.TimeOff.HolidayPolicy"), { onEvent: o, baseSubmitHandler: i } = D(), { locale: s } = L(), n = O(), c = C(() => w(l, void 0, s), [l, s]), a = C(() => new Set(T), []), { selectedUuids: t, handleSelectionChange: d, handleSelectAll: y } = g(a), { mutateAsync: m, isPending: H } = k(), f = r(async () => {
43
- await i({}, async () => {
42
+ const { t: n } = O("Company.TimeOff.HolidayPolicy"), { onEvent: o, baseSubmitHandler: c } = D(), { locale: a } = L(), i = _(), d = C(() => N(n, void 0, a), [n, a]), t = C(() => new Set(T), []), { selectedUuids: l, handleSelectionChange: H, handleSelectAll: y } = g(t), { mutateAsync: m, isPending: h } = k(), f = r(async () => {
43
+ await c({}, async () => {
44
44
  const p = await m({
45
45
  request: {
46
46
  companyUuid: e,
47
47
  holidayPayPolicyRequest: {
48
- federalHolidays: U(t)
48
+ federalHolidays: U(l)
49
49
  }
50
50
  }
51
51
  });
52
- F(n, e, p.holidayPayPolicy), await _(n), o(S.TIME_OFF_HOLIDAY_SELECTION_DONE);
52
+ F(i, e, p.holidayPayPolicy), await w(i), o(S.TIME_OFF_HOLIDAY_SELECTION_DONE);
53
53
  });
54
- }, [i, m, e, t, n, o]), h = r(() => {
54
+ }, [c, m, e, l, i, o]), E = r(() => {
55
55
  o(S.CANCEL);
56
56
  }, [o]);
57
57
  return /* @__PURE__ */ u(
58
58
  v,
59
59
  {
60
- holidays: c,
61
- selectedHolidayUuids: t,
62
- onSelectionChange: d,
60
+ holidays: d,
61
+ selectedHolidayUuids: l,
62
+ onSelectionChange: H,
63
63
  onSelectAll: y,
64
64
  onContinue: f,
65
- onBack: h,
66
- isPending: H
65
+ onBack: E,
66
+ isPending: h,
67
+ className: s
67
68
  }
68
69
  );
69
70
  }
70
- function G({ companyId: e }) {
71
+ function K({ companyId: e, className: s }) {
71
72
  I("Company.TimeOff.HolidayPolicy");
72
- const { t: l } = A("Company.TimeOff.HolidayPolicy"), { onEvent: o, baseSubmitHandler: i } = D(), { locale: s } = L(), n = O(), { data: c } = N({ companyUuid: e }), a = c.holidayPayPolicy, t = C(() => w(l, void 0, s), [l, s]), d = C(() => {
73
- const P = /* @__PURE__ */ new Set(), B = a.federalHolidays;
74
- for (const E of T)
75
- B[E]?.selected === !0 && P.add(E);
73
+ const { t: n } = O("Company.TimeOff.HolidayPolicy"), { onEvent: o, baseSubmitHandler: c } = D(), { locale: a } = L(), i = _(), { data: d } = x({ companyUuid: e }), t = d.holidayPayPolicy, l = C(() => N(n, void 0, a), [n, a]), H = C(() => {
74
+ const P = /* @__PURE__ */ new Set(), B = t.federalHolidays;
75
+ for (const A of T)
76
+ B[A]?.selected === !0 && P.add(A);
76
77
  return P;
77
- }, [a.federalHolidays]), { selectedUuids: y, handleSelectionChange: m, handleSelectAll: H } = g(d), { mutateAsync: f, isPending: h } = M(), p = r(async () => {
78
- await i({}, async () => {
78
+ }, [t.federalHolidays]), { selectedUuids: y, handleSelectionChange: m, handleSelectAll: h } = g(H), { mutateAsync: f, isPending: E } = R(), p = r(async () => {
79
+ await c({}, async () => {
79
80
  const P = await f({
80
81
  request: {
81
82
  companyUuid: e,
82
83
  requestBody: {
83
- version: a.version,
84
+ version: t.version,
84
85
  federalHolidays: U(y)
85
86
  }
86
87
  }
87
88
  });
88
- F(n, e, P.holidayPayPolicy), await _(n), o(S.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE);
89
+ F(i, e, P.holidayPayPolicy), await w(i), o(S.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE);
89
90
  });
90
91
  }, [
91
- i,
92
+ c,
92
93
  f,
93
94
  e,
94
- a.version,
95
+ t.version,
95
96
  y,
96
- n,
97
+ i,
97
98
  o
98
99
  ]), q = r(() => {
99
100
  o(S.CANCEL);
@@ -101,17 +102,18 @@ function G({ companyId: e }) {
101
102
  return /* @__PURE__ */ u(
102
103
  v,
103
104
  {
104
- holidays: t,
105
+ holidays: l,
105
106
  selectedHolidayUuids: y,
106
107
  onSelectionChange: m,
107
- onSelectAll: H,
108
+ onSelectAll: h,
108
109
  onContinue: p,
109
110
  onBack: q,
110
- isPending: h
111
+ isPending: E,
112
+ className: s
111
113
  }
112
114
  );
113
115
  }
114
116
  export {
115
- ae as HolidaySelectionForm
117
+ le as HolidaySelectionForm
116
118
  };
117
119
  //# sourceMappingURL=HolidaySelectionForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HolidaySelectionForm.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesCreateMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesCreate'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesUpdate'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport {\n getDefaultHolidayItems,\n buildFederalHolidaysPayload,\n FEDERAL_HOLIDAY_KEYS,\n} from '../shared/holidayHelpers'\nimport { HolidaySelectionFormPresentation } from './HolidaySelectionFormPresentation'\nimport type { HolidayItem } from './HolidaySelectionFormTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\n\n/**\n * Props for {@link HolidaySelectionForm}.\n *\n * @public\n */\nexport interface HolidaySelectionFormProps extends BaseComponentInterface<'Company.TimeOff.HolidayPolicy'> {\n /** The associated company identifier. */\n companyId: string\n /** Whether to create a new holiday policy or edit the existing one. Defaults to `'create'`. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Lets a user select which US federal holidays are observed by the company's holiday pay policy.\n *\n * In `'create'` mode, submitting creates a new holiday pay policy. In `'edit'` mode, the form\n * is pre-populated with the existing policy's selections and submitting updates it. All 11 US\n * federal holidays are shown with their observed and next-observation dates; in create mode they\n * are all selected by default.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidaySelection/done` | Holidays were saved in create mode | — |\n * | `timeOff/holidaySelection/editDone` | Holidays were saved in edit mode | — |\n * | `CANCEL` | The user backed out of the form | — |\n *\n * @param props - See {@link HolidaySelectionFormProps}.\n * @returns The rendered holiday selection form.\n * @public\n */\nexport function HolidaySelectionForm(props: HolidaySelectionFormProps) {\n return (\n <BaseComponent {...props}>\n {props.mode === 'edit' ? (\n <EditRoot companyId={props.companyId} />\n ) : (\n <CreateRoot companyId={props.companyId} />\n )}\n </BaseComponent>\n )\n}\n\ninterface RootProps {\n companyId: string\n}\n\nfunction useHolidaySelection(initialKeys: Set<string>) {\n const [selectedUuids, setSelectedUuids] = useState(initialKeys)\n\n const handleSelectionChange = useCallback((item: HolidayItem, selected: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (selected) {\n next.add(item.uuid)\n } else {\n next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n const handleSelectAll = useCallback((selected: boolean, visibleItems: HolidayItem[]) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of visibleItems) {\n if (selected) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n return { selectedUuids, handleSelectionChange, handleSelectAll }\n}\n\nfunction seedPolicyCache(\n queryClient: ReturnType<typeof useQueryClient>,\n companyId: string,\n policy: HolidayPayPolicy | undefined,\n) {\n if (!policy) return\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: policy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n}\n\nfunction CreateRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n const allKeys = useMemo(() => new Set(FEDERAL_HOLIDAY_KEYS), [])\n const { selectedUuids, handleSelectionChange, handleSelectAll } = useHolidaySelection(allKeys)\n\n const { mutateAsync: createPolicy, isPending } = useHolidayPayPoliciesCreateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await createPolicy({\n request: {\n companyUuid: companyId,\n holidayPayPolicyRequest: {\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n // Seed the GET cache so the next mount of SelectEmployeesHoliday's\n // StandaloneLoader (in addEmployeesHoliday state) reads the freshly\n // created policy instead of a stale `{ holidayPayPolicy: undefined }`\n // left over from PolicyList's pre-create GET.\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_DONE)\n })\n }, [baseSubmitHandler, createPolicy, companyId, selectedUuids, queryClient, onEvent])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n\nfunction EditRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data } = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const policy = data.holidayPayPolicy!\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n\n const initialSelected = useMemo(() => {\n const next = new Set<string>()\n const federal = policy.federalHolidays\n for (const key of FEDERAL_HOLIDAY_KEYS) {\n const entry = federal[key as keyof typeof federal]\n if (entry?.selected === true) {\n next.add(key)\n }\n }\n return next\n }, [policy.federalHolidays])\n\n const { selectedUuids, handleSelectionChange, handleSelectAll } =\n useHolidaySelection(initialSelected)\n\n const { mutateAsync: updatePolicy, isPending } = useHolidayPayPoliciesUpdateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await updatePolicy({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: policy.version!,\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE)\n })\n }, [\n baseSubmitHandler,\n updatePolicy,\n companyId,\n policy.version,\n selectedUuids,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n"],"names":["HolidaySelectionForm","props","BaseComponent","jsx","EditRoot","CreateRoot","useHolidaySelection","initialKeys","selectedUuids","setSelectedUuids","useState","handleSelectionChange","useCallback","item","selected","prev","next","handleSelectAll","visibleItems","seedPolicyCache","queryClient","companyId","policy","queryKeyHolidayPayPoliciesGet","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","locale","useLocale","useQueryClient","holidays","useMemo","getDefaultHolidayItems","allKeys","FEDERAL_HOLIDAY_KEYS","createPolicy","isPending","useHolidayPayPoliciesCreateMutation","handleContinue","response","buildFederalHolidaysPayload","invalidateAllHolidayPayPoliciesGet","componentEvents","handleBack","HolidaySelectionFormPresentation","data","useHolidayPayPoliciesGetSuspense","initialSelected","federal","key","updatePolicy","useHolidayPayPoliciesUpdateMutation"],"mappings":"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"}
1
+ {"version":3,"file":"HolidaySelectionForm.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesCreateMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesCreate'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesUpdateMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesUpdate'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport {\n getDefaultHolidayItems,\n buildFederalHolidaysPayload,\n FEDERAL_HOLIDAY_KEYS,\n} from '../shared/holidayHelpers'\nimport { HolidaySelectionFormPresentation } from './HolidaySelectionFormPresentation'\nimport type { HolidayItem } from './HolidaySelectionFormTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\n\n/**\n * Props for {@link HolidaySelectionForm}.\n *\n * @public\n */\nexport interface HolidaySelectionFormProps extends BaseComponentInterface<'Company.TimeOff.HolidayPolicy'> {\n /** The associated company identifier. */\n companyId: string\n /** Whether to create a new holiday policy or edit the existing one. Defaults to `'create'`. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Lets a user select which US federal holidays are observed by the company's holiday pay policy.\n *\n * In `'create'` mode, submitting creates a new holiday pay policy. In `'edit'` mode, the form\n * is pre-populated with the existing policy's selections and submitting updates it. All 11 US\n * federal holidays are shown with their observed and next-observation dates; in create mode they\n * are all selected by default.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidaySelection/done` | Holidays were saved in create mode | — |\n * | `timeOff/holidaySelection/editDone` | Holidays were saved in edit mode | — |\n * | `CANCEL` | The user backed out of the form | — |\n *\n * @param props - See {@link HolidaySelectionFormProps}.\n * @returns The rendered holiday selection form.\n * @public\n */\nexport function HolidaySelectionForm(props: HolidaySelectionFormProps) {\n return (\n <BaseComponent {...props}>\n {props.mode === 'edit' ? (\n <EditRoot companyId={props.companyId} className={props.className} />\n ) : (\n <CreateRoot companyId={props.companyId} className={props.className} />\n )}\n </BaseComponent>\n )\n}\n\ninterface RootProps {\n companyId: string\n /** CSS class name applied to the root element. */\n className?: string\n}\n\nfunction useHolidaySelection(initialKeys: Set<string>) {\n const [selectedUuids, setSelectedUuids] = useState(initialKeys)\n\n const handleSelectionChange = useCallback((item: HolidayItem, selected: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (selected) {\n next.add(item.uuid)\n } else {\n next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n const handleSelectAll = useCallback((selected: boolean, visibleItems: HolidayItem[]) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of visibleItems) {\n if (selected) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n return { selectedUuids, handleSelectionChange, handleSelectAll }\n}\n\nfunction seedPolicyCache(\n queryClient: ReturnType<typeof useQueryClient>,\n companyId: string,\n policy: HolidayPayPolicy | undefined,\n) {\n if (!policy) return\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: policy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n}\n\nfunction CreateRoot({ companyId, className }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n const allKeys = useMemo(() => new Set(FEDERAL_HOLIDAY_KEYS), [])\n const { selectedUuids, handleSelectionChange, handleSelectAll } = useHolidaySelection(allKeys)\n\n const { mutateAsync: createPolicy, isPending } = useHolidayPayPoliciesCreateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await createPolicy({\n request: {\n companyUuid: companyId,\n holidayPayPolicyRequest: {\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n // Seed the GET cache so the next mount of SelectEmployeesHoliday's\n // StandaloneLoader (in addEmployeesHoliday state) reads the freshly\n // created policy instead of a stale `{ holidayPayPolicy: undefined }`\n // left over from PolicyList's pre-create GET.\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_DONE)\n })\n }, [baseSubmitHandler, createPolicy, companyId, selectedUuids, queryClient, onEvent])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n className={className}\n />\n )\n}\n\nfunction EditRoot({ companyId, className }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data } = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const policy = data.holidayPayPolicy!\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n\n const initialSelected = useMemo(() => {\n const next = new Set<string>()\n const federal = policy.federalHolidays\n for (const key of FEDERAL_HOLIDAY_KEYS) {\n const entry = federal[key as keyof typeof federal]\n if (entry?.selected === true) {\n next.add(key)\n }\n }\n return next\n }, [policy.federalHolidays])\n\n const { selectedUuids, handleSelectionChange, handleSelectAll } =\n useHolidaySelection(initialSelected)\n\n const { mutateAsync: updatePolicy, isPending } = useHolidayPayPoliciesUpdateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await updatePolicy({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: policy.version!,\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE)\n })\n }, [\n baseSubmitHandler,\n updatePolicy,\n companyId,\n policy.version,\n selectedUuids,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n className={className}\n />\n )\n}\n"],"names":["HolidaySelectionForm","props","jsx","BaseComponent","EditRoot","CreateRoot","useHolidaySelection","initialKeys","selectedUuids","setSelectedUuids","useState","handleSelectionChange","useCallback","item","selected","prev","next","handleSelectAll","visibleItems","seedPolicyCache","queryClient","companyId","policy","queryKeyHolidayPayPoliciesGet","className","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","locale","useLocale","useQueryClient","holidays","useMemo","getDefaultHolidayItems","allKeys","FEDERAL_HOLIDAY_KEYS","createPolicy","isPending","useHolidayPayPoliciesCreateMutation","handleContinue","response","buildFederalHolidaysPayload","invalidateAllHolidayPayPoliciesGet","componentEvents","handleBack","HolidaySelectionFormPresentation","data","useHolidayPayPoliciesGetSuspense","initialSelected","federal","key","updatePolicy","useHolidayPayPoliciesUpdateMutation"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
- import { useMemo as y } from "react";
3
- import { useTranslation as b } from "react-i18next";
2
+ import { useMemo as b } from "react";
3
+ import { useTranslation as h } from "react-i18next";
4
4
  import { Flex as r } from "../../Common/Flex/Flex.js";
5
- import { ActionsLayout as h } from "../../Common/ActionsLayout/ActionsLayout.js";
6
- import { useComponentContext as x } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
- import { useI18n as v } from "../../../i18n/I18n.js";
8
- import { useDataView as C } from "../../Common/DataView/useDataView.js";
9
- import { DataView as g } from "../../Common/DataView/DataView.js";
10
- function V(e) {
11
- v("Company.TimeOff.HolidayPolicy");
12
- const { t } = b("Company.TimeOff.HolidayPolicy"), { Heading: c, Text: s, Button: l } = x(), { holidays: d } = e, o = e.mode === "view", m = y(
5
+ import { ActionsLayout as x } from "../../Common/ActionsLayout/ActionsLayout.js";
6
+ import { useComponentContext as v } from "../../../contexts/ComponentAdapter/useComponentContext.js";
7
+ import { useI18n as C } from "../../../i18n/I18n.js";
8
+ import { useDataView as g } from "../../Common/DataView/useDataView.js";
9
+ import { DataView as D } from "../../Common/DataView/DataView.js";
10
+ function A(e) {
11
+ C("Company.TimeOff.HolidayPolicy");
12
+ const { t } = h("Company.TimeOff.HolidayPolicy"), { Heading: s, Text: c, Button: l } = v(), { holidays: d, className: m } = e, o = e.mode === "view", u = b(
13
13
  () => [
14
14
  {
15
15
  key: "name",
@@ -28,29 +28,29 @@ function V(e) {
28
28
  }
29
29
  ],
30
30
  [t]
31
- ), u = o ? {} : {
31
+ ), f = o ? {} : {
32
32
  selectionMode: "multiple",
33
33
  onSelect: e.onSelectionChange,
34
34
  onSelectAll: e.onSelectAll,
35
35
  getIsItemSelected: (i) => e.selectedHolidayUuids.has(i.uuid)
36
- }, f = C({
36
+ }, y = g({
37
37
  data: d,
38
- columns: m,
39
- ...u
38
+ columns: u,
39
+ ...f
40
40
  });
41
- return /* @__PURE__ */ a(r, { flexDirection: "column", gap: 32, children: [
41
+ return /* @__PURE__ */ a(r, { className: m, flexDirection: "column", gap: 32, children: [
42
42
  !o && /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, children: [
43
- /* @__PURE__ */ n(c, { as: "h2", children: t("title") }),
44
- /* @__PURE__ */ n(s, { variant: "supporting", children: t("description") })
43
+ /* @__PURE__ */ n(s, { as: "h2", children: t("title") }),
44
+ /* @__PURE__ */ n(c, { variant: "supporting", children: t("description") })
45
45
  ] }),
46
- /* @__PURE__ */ n(g, { label: t("tableLabel"), ...f }),
47
- !o && /* @__PURE__ */ a(h, { children: [
46
+ /* @__PURE__ */ n(D, { label: t("tableLabel"), ...y }),
47
+ !o && /* @__PURE__ */ a(x, { children: [
48
48
  /* @__PURE__ */ n(l, { variant: "secondary", onClick: e.onBack, isDisabled: e.isPending, children: t("backCta") }),
49
49
  /* @__PURE__ */ n(l, { variant: "primary", onClick: e.onContinue, isLoading: e.isPending, children: t("continueCta") })
50
50
  ] })
51
51
  ] });
52
52
  }
53
53
  export {
54
- V as HolidaySelectionFormPresentation
54
+ A as HolidaySelectionFormPresentation
55
55
  };
56
56
  //# sourceMappingURL=HolidaySelectionFormPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HolidaySelectionFormPresentation.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type {\n HolidayItem,\n HolidaySelectionFormPresentationProps,\n} from './HolidaySelectionFormTypes'\nimport { DataView, Flex, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function HolidaySelectionFormPresentation(props: HolidaySelectionFormPresentationProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { Heading, Text, Button } = useComponentContext()\n\n const { holidays } = props\n const isViewMode = props.mode === 'view'\n\n const columns = useMemo(\n () => [\n {\n key: 'name' as keyof HolidayItem,\n title: t('tableHeaders.holidayName'),\n render: (item: HolidayItem) => item.name,\n },\n {\n key: 'observedDate' as keyof HolidayItem,\n title: t('tableHeaders.observedDate'),\n render: (item: HolidayItem) => item.observedDate,\n },\n {\n key: 'nextObservation' as keyof HolidayItem,\n title: t('tableHeaders.nextObservation'),\n render: (item: HolidayItem) => item.nextObservation,\n },\n ],\n [t],\n )\n\n const selectionProps = !isViewMode\n ? {\n selectionMode: 'multiple' as const,\n onSelect: props.onSelectionChange,\n onSelectAll: props.onSelectAll,\n getIsItemSelected: (item: HolidayItem) => props.selectedHolidayUuids.has(item.uuid),\n }\n : {}\n\n const dataViewProps = useDataView<HolidayItem>({\n data: holidays,\n columns,\n ...selectionProps,\n })\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n {!isViewMode && (\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">{t('description')}</Text>\n </Flex>\n )}\n\n <DataView label={t('tableLabel')} {...dataViewProps} />\n\n {!isViewMode && (\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={props.onBack} isDisabled={props.isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={props.onContinue} isLoading={props.isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n )}\n </Flex>\n )\n}\n"],"names":["HolidaySelectionFormPresentation","props","useI18n","useTranslation","Heading","Text","Button","useComponentContext","holidays","isViewMode","columns","useMemo","item","selectionProps","dataViewProps","useDataView","jsxs","Flex","jsx","DataView","ActionsLayout"],"mappings":";;;;;;;;;AAWO,SAASA,EAAiCC,GAA8C;AAC7F,EAAAC,EAAQ,+BAA+B;AACvC,QAAM,EAAE,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,SAAAC,GAAS,MAAAC,GAAM,QAAAC,EAAA,IAAWC,EAAA,GAE5B,EAAE,UAAAC,MAAaP,GACfQ,IAAaR,EAAM,SAAS,QAE5BS,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAACC,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,2BAA2B;AAAA,QACpC,QAAQ,CAACA,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,8BAA8B;AAAA,QACvC,QAAQ,CAACA,MAAsBA,EAAK;AAAA,MAAA;AAAA,IACtC;AAAA,IAEF,CAAC,CAAC;AAAA,EAAA,GAGEC,IAAkBJ,IAOpB,CAAA,IANA;AAAA,IACE,eAAe;AAAA,IACf,UAAUR,EAAM;AAAA,IAChB,aAAaA,EAAM;AAAA,IACnB,mBAAmB,CAACW,MAAsBX,EAAM,qBAAqB,IAAIW,EAAK,IAAI;AAAA,EAAA,GAIlFE,IAAgBC,EAAyB;AAAA,IAC7C,MAAMP;AAAA,IACN,SAAAE;AAAA,IACA,GAAGG;AAAA,EAAA,CACJ;AAED,SACE,gBAAAG,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,IAAA,CAACR,KACA,gBAAAO,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAC,EAACd,GAAA,EAAQ,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,wBAC5BC,GAAA,EAAK,SAAQ,cAAc,UAAA,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GAC/C;AAAA,sBAGDc,GAAA,EAAS,OAAO,EAAE,YAAY,GAAI,GAAGL,GAAe;AAAA,IAEpD,CAACL,KACA,gBAAAO,EAACI,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAF,EAACZ,GAAA,EAAO,SAAQ,aAAY,SAASL,EAAM,QAAQ,YAAYA,EAAM,WAClE,UAAA,EAAE,SAAS,EAAA,CACd;AAAA,MACA,gBAAAiB,EAACZ,GAAA,EAAO,SAAQ,WAAU,SAASL,EAAM,YAAY,WAAWA,EAAM,WACnE,UAAA,EAAE,aAAa,EAAA,CAClB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"HolidaySelectionFormPresentation.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type {\n HolidayItem,\n HolidaySelectionFormPresentationProps,\n} from './HolidaySelectionFormTypes'\nimport { DataView, Flex, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function HolidaySelectionFormPresentation(props: HolidaySelectionFormPresentationProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { Heading, Text, Button } = useComponentContext()\n\n const { holidays, className } = props\n const isViewMode = props.mode === 'view'\n\n const columns = useMemo(\n () => [\n {\n key: 'name' as keyof HolidayItem,\n title: t('tableHeaders.holidayName'),\n render: (item: HolidayItem) => item.name,\n },\n {\n key: 'observedDate' as keyof HolidayItem,\n title: t('tableHeaders.observedDate'),\n render: (item: HolidayItem) => item.observedDate,\n },\n {\n key: 'nextObservation' as keyof HolidayItem,\n title: t('tableHeaders.nextObservation'),\n render: (item: HolidayItem) => item.nextObservation,\n },\n ],\n [t],\n )\n\n const selectionProps = !isViewMode\n ? {\n selectionMode: 'multiple' as const,\n onSelect: props.onSelectionChange,\n onSelectAll: props.onSelectAll,\n getIsItemSelected: (item: HolidayItem) => props.selectedHolidayUuids.has(item.uuid),\n }\n : {}\n\n const dataViewProps = useDataView<HolidayItem>({\n data: holidays,\n columns,\n ...selectionProps,\n })\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={32}>\n {!isViewMode && (\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">{t('description')}</Text>\n </Flex>\n )}\n\n <DataView label={t('tableLabel')} {...dataViewProps} />\n\n {!isViewMode && (\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={props.onBack} isDisabled={props.isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={props.onContinue} isLoading={props.isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n )}\n </Flex>\n )\n}\n"],"names":["HolidaySelectionFormPresentation","props","useI18n","useTranslation","Heading","Text","Button","useComponentContext","holidays","className","isViewMode","columns","useMemo","item","selectionProps","dataViewProps","useDataView","Flex","jsxs","jsx","DataView","ActionsLayout"],"mappings":";;;;;;;;;AAWO,SAASA,EAAiCC,GAA8C;AAC7F,EAAAC,EAAQ,+BAA+B;AACvC,QAAM,EAAE,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,SAAAC,GAAS,MAAAC,GAAM,QAAAC,EAAA,IAAWC,EAAA,GAE5B,EAAE,UAAAC,GAAU,WAAAC,EAAA,IAAcR,GAC1BS,IAAaT,EAAM,SAAS,QAE5BU,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAACC,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,2BAA2B;AAAA,QACpC,QAAQ,CAACA,MAAsBA,EAAK;AAAA,MAAA;AAAA,MAEtC;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,8BAA8B;AAAA,QACvC,QAAQ,CAACA,MAAsBA,EAAK;AAAA,MAAA;AAAA,IACtC;AAAA,IAEF,CAAC,CAAC;AAAA,EAAA,GAGEC,IAAkBJ,IAOpB,CAAA,IANA;AAAA,IACE,eAAe;AAAA,IACf,UAAUT,EAAM;AAAA,IAChB,aAAaA,EAAM;AAAA,IACnB,mBAAmB,CAACY,MAAsBZ,EAAM,qBAAqB,IAAIY,EAAK,IAAI;AAAA,EAAA,GAIlFE,IAAgBC,EAAyB;AAAA,IAC7C,MAAMR;AAAA,IACN,SAAAG;AAAA,IACA,GAAGG;AAAA,EAAA,CACJ;AAED,2BACGG,GAAA,EAAK,WAAAR,GAAsB,eAAc,UAAS,KAAK,IACrD,UAAA;AAAA,IAAA,CAACC,KACA,gBAAAQ,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAE,EAACf,GAAA,EAAQ,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,wBAC5BC,GAAA,EAAK,SAAQ,cAAc,UAAA,EAAE,aAAa,EAAA,CAAE;AAAA,IAAA,GAC/C;AAAA,sBAGDe,GAAA,EAAS,OAAO,EAAE,YAAY,GAAI,GAAGL,GAAe;AAAA,IAEpD,CAACL,KACA,gBAAAQ,EAACG,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAF,EAACb,GAAA,EAAO,SAAQ,aAAY,SAASL,EAAM,QAAQ,YAAYA,EAAM,WAClE,UAAA,EAAE,SAAS,EAAA,CACd;AAAA,MACA,gBAAAkB,EAACb,GAAA,EAAO,SAAQ,WAAU,SAASL,EAAM,YAAY,WAAWA,EAAM,WACnE,UAAA,EAAE,aAAa,EAAA,CAClB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}