@gusto/embedded-react-sdk 0.48.0 → 0.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/components/Common/DocumentList/DocumentList.js +12 -12
  3. package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
  4. package/dist/components/Common/DocumentList/DocumentList.module.scss.js +3 -5
  5. package/dist/components/Common/DocumentList/DocumentList.module.scss.js.map +1 -1
  6. package/dist/components/Common/EmptyData/EmptyData.d.ts +1 -1
  7. package/dist/components/Common/EmptyData/EmptyData.js +10 -12
  8. package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
  9. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +6 -10
  10. package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
  11. package/dist/components/Common/Form/Form.d.ts +1 -1
  12. package/dist/components/Common/Form/Form.js +8 -7
  13. package/dist/components/Common/Form/Form.js.map +1 -1
  14. package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayoutTypes.d.ts +1 -0
  15. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +7 -3
  16. package/dist/components/Common/PayrollLoading/PayrollLoadingTypes.d.ts +1 -0
  17. package/dist/components/Common/UI/Alert/AlertTypes.d.ts +1 -0
  18. package/dist/components/Common/UI/Alert/AlertTypes.js.map +1 -1
  19. package/dist/components/Common/UI/Badge/BadgeTypes.d.ts +1 -0
  20. package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
  21. package/dist/components/Common/UI/Banner/BannerTypes.d.ts +1 -0
  22. package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
  23. package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -0
  24. package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.d.ts +1 -0
  25. package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.js.map +1 -1
  26. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +2 -0
  27. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
  28. package/dist/components/Common/UI/Button/ButtonTypes.d.ts +4 -2
  29. package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
  30. package/dist/components/Common/UI/CalendarPreview/CalendarPreviewTypes.d.ts +3 -2
  31. package/dist/components/Common/UI/Card/Card.js +8 -8
  32. package/dist/components/Common/UI/Card/Card.js.map +1 -1
  33. package/dist/components/Common/UI/Card/Card.module.scss.js +5 -3
  34. package/dist/components/Common/UI/Card/Card.module.scss.js.map +1 -1
  35. package/dist/components/Common/UI/Card/CardTypes.d.ts +1 -0
  36. package/dist/components/Common/UI/Checkbox/CheckboxTypes.d.ts +1 -0
  37. package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
  38. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +2 -0
  39. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  40. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -0
  41. package/dist/components/Common/UI/DatePicker/DatePickerTypes.d.ts +1 -0
  42. package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +2 -0
  43. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +2 -0
  44. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
  45. package/dist/components/Common/UI/Dialog/DialogTypes.d.ts +1 -0
  46. package/dist/components/Common/UI/Dialog/DialogTypes.js.map +1 -1
  47. package/dist/components/Common/UI/FileInput/FileInputTypes.d.ts +1 -0
  48. package/dist/components/Common/UI/FileInput/FileInputTypes.js.map +1 -1
  49. package/dist/components/Common/UI/Heading/HeadingTypes.d.ts +1 -0
  50. package/dist/components/Common/UI/Link/LinkTypes.d.ts +4 -3
  51. package/dist/components/Common/UI/List/ListTypes.d.ts +13 -4
  52. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.d.ts +1 -0
  53. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
  54. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +2 -0
  55. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  56. package/dist/components/Common/UI/Modal/ModalTypes.d.ts +1 -0
  57. package/dist/components/Common/UI/Modal/ModalTypes.js.map +1 -1
  58. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -0
  59. package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +1 -0
  60. package/dist/components/Common/UI/ProgressBar/ProgressBarTypes.d.ts +1 -0
  61. package/dist/components/Common/UI/Radio/RadioTypes.d.ts +1 -0
  62. package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
  63. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -0
  64. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  65. package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -0
  66. package/dist/components/Common/UI/Switch/SwitchTypes.d.ts +1 -0
  67. package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
  68. package/dist/components/Common/UI/Table/TableTypes.d.ts +3 -0
  69. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  70. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -0
  71. package/dist/components/Common/UI/Text/TextTypes.d.ts +1 -0
  72. package/dist/components/Common/UI/Text/TextTypes.js.map +1 -1
  73. package/dist/components/Common/UI/TextArea/TextAreaTypes.d.ts +1 -0
  74. package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
  75. package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -0
  76. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  77. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
  78. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  79. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
  80. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  81. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
  82. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  83. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
  84. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  85. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  86. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  87. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  88. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
  89. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  90. package/dist/components/Company/Industry/Context.js +8 -7
  91. package/dist/components/Company/Industry/Context.js.map +1 -1
  92. package/dist/components/Company/Industry/IndustrySelect.js +6 -8
  93. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  94. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
  95. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  96. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
  97. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  98. package/dist/components/Company/OnboardingOverview/context.js +5 -4
  99. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  100. package/dist/components/Company/PaySchedule/PayScheduleForm.js +3 -1
  101. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  102. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  103. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
  104. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  105. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
  106. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  107. package/dist/components/Contractor/Address/useAddress.js +7 -6
  108. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  109. package/dist/components/Contractor/Profile/useContractorProfile.js +26 -27
  110. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  111. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +6 -6
  112. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +10 -10
  113. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +1 -1
  114. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +2 -2
  115. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +25 -5
  116. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  117. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/index.d.ts +3 -0
  118. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  119. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  120. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +28 -5
  121. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -1
  122. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  123. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/index.d.ts +3 -0
  124. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +26 -5
  125. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +3 -1
  126. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  127. package/dist/components/Employee/Documents/shared/SignatureForm/index.d.ts +3 -0
  128. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +2 -2
  129. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +1 -1
  130. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  131. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  132. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +6 -6
  133. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  134. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  135. package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -0
  136. package/dist/components/Employee/exports/employeeOnboarding.js +28 -22
  137. package/dist/components/Employee/exports/employeeOnboarding.js.map +1 -1
  138. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +36 -2
  139. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  140. package/dist/components/InformationRequests/InformationRequestForm/index.d.ts +1 -1
  141. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +22 -2
  142. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  143. package/dist/components/InformationRequests/InformationRequestList/index.d.ts +1 -1
  144. package/dist/components/InformationRequests/InformationRequests.d.ts +29 -2
  145. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  146. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +2 -0
  147. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  148. package/dist/components/InformationRequests/index.d.ts +3 -3
  149. package/dist/components/InformationRequests/informationRequestsStateMachine.d.ts +2 -0
  150. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
  151. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +36 -3
  152. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +6 -2
  153. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  154. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.d.ts +1 -0
  155. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  156. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.d.ts +14 -0
  157. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
  158. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.d.ts +1 -8
  159. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +1 -2
  160. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  161. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +1 -1
  162. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +0 -1
  163. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  164. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +11 -0
  165. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  166. package/dist/components/Payroll/ConfirmWireDetails/index.d.ts +1 -2
  167. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +23 -0
  168. package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +18 -0
  169. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  170. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +15 -0
  171. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  172. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +24 -0
  173. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  174. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +7 -0
  175. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  176. package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +2 -0
  177. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
  178. package/dist/components/Payroll/Dismissal/index.d.ts +1 -1
  179. package/dist/components/Payroll/GrossUpModal/GrossUpModal.d.ts +1 -0
  180. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  181. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  182. package/dist/components/Payroll/GrossUpModal/GrossUpModalTypes.d.ts +5 -0
  183. package/dist/components/Payroll/GrossUpModal/index.d.ts +0 -1
  184. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +31 -0
  185. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  186. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +20 -0
  187. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  188. package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +2 -0
  189. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  190. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +20 -0
  191. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  192. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -0
  193. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  194. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +24 -0
  195. package/dist/components/Payroll/OffCycleCreation/index.d.ts +1 -1
  196. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +16 -0
  197. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  198. package/dist/components/Payroll/OffCycleDeductionsSetting/types.d.ts +13 -0
  199. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.d.ts +1 -0
  200. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  201. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts +18 -1
  202. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
  203. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +1 -1
  204. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +0 -1
  205. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
  206. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +15 -0
  207. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  208. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +1 -0
  209. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  210. package/dist/components/Payroll/OffCycleReasonSelection/types.d.ts +43 -0
  211. package/dist/components/Payroll/OffCycleReasonSelection/types.js.map +1 -1
  212. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.d.ts +1 -0
  213. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  214. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModalTypes.d.ts +5 -1
  215. package/dist/components/Payroll/OffCycleTaxWithholdingModal/index.d.ts +0 -1
  216. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.d.ts +1 -0
  217. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.js.map +1 -1
  218. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +14 -0
  219. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
  220. package/dist/components/Payroll/OffCycleTaxWithholdingTable/index.d.ts +0 -2
  221. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.d.ts +3 -0
  222. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  223. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.d.ts +19 -5
  224. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
  225. package/dist/components/Payroll/PayrollBlocker/index.d.ts +0 -1
  226. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.d.ts +17 -11
  227. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +0 -2
  228. package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
  229. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +31 -3
  230. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +1 -2
  231. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  232. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -0
  233. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  234. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +2 -0
  235. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -1
  236. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -0
  237. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  238. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +42 -3
  239. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +1 -2
  240. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  241. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
  242. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +0 -1
  243. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  244. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +8 -6
  245. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
  246. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  247. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +65 -0
  248. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  249. package/dist/components/Payroll/PayrollExecutionFlow/index.d.ts +0 -1
  250. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +2 -0
  251. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  252. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.d.ts +1 -0
  253. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -1
  254. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.d.ts +1 -0
  255. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  256. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +38 -0
  257. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  258. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +27 -0
  259. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  260. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +1 -0
  261. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
  262. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
  263. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  264. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +25 -1
  265. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -2
  266. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  267. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -0
  268. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  269. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +33 -4
  270. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +1 -2
  271. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  272. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +19 -0
  273. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  274. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +2 -0
  275. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  276. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +32 -13
  277. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  278. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -0
  279. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +65 -68
  280. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  281. package/dist/components/Payroll/PayrollList/types.d.ts +1 -0
  282. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +39 -3
  283. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -2
  284. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  285. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -0
  286. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  287. package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.d.ts +1 -0
  288. package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.js.map +1 -1
  289. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +1 -0
  290. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  291. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -0
  292. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
  293. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +26 -3
  294. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +2 -7
  295. package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
  296. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -0
  297. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  298. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.d.ts +1 -0
  299. package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.js.map +1 -1
  300. package/dist/components/Payroll/PayrollStatusBadges/index.d.ts +0 -2
  301. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +26 -0
  302. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  303. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.d.ts +2 -0
  304. package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.js.map +1 -1
  305. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +21 -1
  306. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  307. package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.d.ts +5 -0
  308. package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.js.map +1 -1
  309. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +1 -0
  310. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  311. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +1 -0
  312. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  313. package/dist/components/Payroll/RecoveryCases/index.d.ts +0 -1
  314. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +5 -0
  315. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
  316. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.d.ts +5 -0
  317. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  318. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +21 -0
  319. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  320. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +23 -0
  321. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  322. package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +2 -0
  323. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  324. package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +20 -0
  325. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  326. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +7 -0
  327. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
  328. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +27 -0
  329. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
  330. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +1 -0
  331. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
  332. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -0
  333. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
  334. package/dist/components/Payroll/helpers.d.ts +157 -26
  335. package/dist/components/Payroll/helpers.js +0 -1
  336. package/dist/components/Payroll/helpers.js.map +1 -1
  337. package/dist/components/Payroll/index.d.ts +11 -2
  338. package/dist/components/Payroll/payrollTypes.d.ts +24 -0
  339. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  340. package/dist/components/Payroll/usePreparedPayrollData.d.ts +12 -0
  341. package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
  342. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  343. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +7 -0
  344. package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
  345. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +19 -0
  346. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  347. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +44 -0
  348. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  349. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +4 -0
  350. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  351. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -0
  352. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  353. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +28 -2
  354. package/dist/components/TimeOff/HolidayPolicyDetail/index.d.ts +0 -2
  355. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +26 -0
  356. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  357. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.d.ts +1 -0
  358. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
  359. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +10 -0
  360. package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +25 -0
  361. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  362. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -0
  363. package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
  364. package/dist/components/TimeOff/PolicyList/PolicyListTypes.d.ts +17 -0
  365. package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +22 -0
  366. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  367. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +14 -0
  368. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  369. package/dist/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +31 -0
  370. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +23 -0
  371. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  372. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -0
  373. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
  374. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +10 -0
  375. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +42 -0
  376. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
  377. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +26 -0
  378. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  379. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +15 -2
  380. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js +1 -6
  381. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
  382. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +1 -0
  383. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  384. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +29 -0
  385. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  386. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -0
  387. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  388. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +59 -1
  389. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/index.d.ts +0 -3
  390. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +1 -0
  391. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  392. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -0
  393. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +43 -42
  394. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  395. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
  396. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +1 -0
  397. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  398. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +3 -0
  399. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  400. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.d.ts +9 -0
  401. package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
  402. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +25 -0
  403. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  404. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +14 -0
  405. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  406. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +97 -6
  407. package/dist/components/TimeOff/TimeOffPolicyDetail/index.d.ts +1 -5
  408. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +23 -0
  409. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
  410. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +22 -0
  411. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
  412. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +22 -0
  413. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
  414. package/dist/components/TimeOff/index.d.ts +8 -2
  415. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -0
  416. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +48 -49
  417. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
  418. package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +66 -0
  419. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -0
  420. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  421. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +28 -0
  422. package/dist/components/TimeOff/shared/PolicyDetailLayout/index.d.ts +0 -1
  423. package/dist/components/TimeOff/shared/holidayHelpers.d.ts +5 -0
  424. package/dist/components/TimeOff/shared/holidayHelpers.js.map +1 -1
  425. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -4
  426. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +39 -39
  427. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  428. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +42 -42
  429. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  430. package/dist/i18n/en/common.json.d.ts +0 -1
  431. package/dist/i18n/en/common.json.js +2 -2
  432. package/dist/index.d.ts +1 -1
  433. package/dist/index.js +206 -205
  434. package/dist/node_modules/react-dnd/dist/core/DndProvider.js +1 -1
  435. package/dist/node_modules/react-dnd/dist/core/DndProvider.js.map +1 -1
  436. package/dist/partner-hook-utils/composeErrorHandler.js +3 -1
  437. package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
  438. package/dist/shared/constants.d.ts +12 -1
  439. package/dist/shared/constants.js.map +1 -1
  440. package/dist/style.css +1 -1
  441. package/dist/types/i18next.d.ts +0 -1
  442. package/docs/reference/endpoint-inventory.json +55 -0
  443. package/package.json +24 -11
  444. package/dist/assets/icons/feature-icon-check.svg.js +0 -10
  445. package/dist/assets/icons/feature-icon-check.svg.js.map +0 -1
  446. package/dist/assets/icons/magnifyingGlass.png.js +0 -5
  447. package/dist/assets/icons/magnifyingGlass.png.js.map +0 -1
  448. package/dist/components/Payroll/PayrollEditEmployee/index.d.ts +0 -4
  449. package/dist/components/Payroll/PayrollFlow/index.d.ts +0 -3
  450. package/dist/components/TimeOff/TimeOffFlow/index.d.ts +0 -3
  451. package/dist/components/TimeOff/shared/EmployeeTable/index.d.ts +0 -4
@@ -1,31 +1,97 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { useDataViewProp, SelectionMode } from '../../../Common/DataView/useDataView';
3
3
  import { PaginationControlProps } from '../../../Common/PaginationControl/PaginationControlTypes';
4
+ /**
5
+ * Minimum shape an employee row must satisfy to be rendered in the shared employee table.
6
+ *
7
+ * Extend this interface to add fields specific to a given policy detail view.
8
+ *
9
+ * @public
10
+ */
4
11
  export interface EmployeeTableItem {
12
+ /** Unique identifier for the employee. */
5
13
  uuid: string;
14
+ /** Employee's first name; combined with `lastName` to render the name column. */
6
15
  firstName?: string | null;
16
+ /** Employee's last name; combined with `firstName` to render the name column. */
7
17
  lastName?: string | null;
18
+ /** Employee's job title; rendered in its own column unless `hideJobTitle` is set. */
8
19
  jobTitle?: string | null;
9
20
  }
21
+ /**
22
+ * Employee table data and callbacks for a policy detail view.
23
+ *
24
+ * Pass this as the `employees` prop to {@link TimeOffPolicyDetailPresentationBaseProps}
25
+ * or `HolidayPolicyDetailPresentationProps`.
26
+ *
27
+ * @typeParam T - The employee row shape, which must extend {@link EmployeeTableItem}.
28
+ * @public
29
+ */
30
+ export interface PolicyDetailEmployeeTableData<T extends EmployeeTableItem> {
31
+ /** Employee rows to render. */
32
+ data: T[];
33
+ /** Current value of the search input. */
34
+ searchValue: string;
35
+ /** Called when the search input value changes. */
36
+ onSearchChange: (value: string) => void;
37
+ /** Called when the search input is cleared. */
38
+ onSearchClear: () => void;
39
+ /** Placeholder text for the search input; defaults to a localized placeholder. */
40
+ searchPlaceholder?: string;
41
+ /** Renders a row-level menu (e.g. a kebab menu) for the given item. */
42
+ itemMenu?: (item: T) => ReactNode;
43
+ /** Pagination control props passed through to the underlying data view. */
44
+ pagination?: PaginationControlProps;
45
+ /** When true, renders the loading state instead of the rows. */
46
+ isFetching?: boolean;
47
+ /** Renders a custom empty state when `data` is empty and there is no active search. */
48
+ emptyState?: () => ReactNode;
49
+ }
50
+ /**
51
+ * Props for the shared employee table rendered inside time-off and holiday policy detail views.
52
+ *
53
+ * @typeParam T - The employee row shape, which must extend {@link EmployeeTableItem}.
54
+ * @internal
55
+ */
10
56
  export interface EmployeeTableProps<T extends EmployeeTableItem> {
57
+ /** Employee rows to render. */
11
58
  data: T[];
59
+ /** Accessible label for the underlying data view; defaults to a localized table label. */
12
60
  label?: string;
61
+ /** Additional columns appended after the name and job title columns. */
13
62
  additionalColumns?: useDataViewProp<T>['columns'];
63
+ /** When true, omits the job title column. */
14
64
  hideJobTitle?: boolean;
65
+ /** Current value of the search input. */
15
66
  searchValue: string;
67
+ /** Called when the search input value changes. */
16
68
  onSearchChange: (value: string) => void;
69
+ /** Called when the search input is cleared. */
17
70
  onSearchClear: () => void;
71
+ /** Placeholder text for the search input; defaults to a localized placeholder. */
18
72
  searchPlaceholder?: string;
73
+ /** When true, hides the search input entirely. */
19
74
  hideSearch?: boolean;
75
+ /** Selection behavior for the table (e.g. single or multi-select). */
20
76
  selectionMode?: SelectionMode;
77
+ /** Called when an individual row is selected or deselected. */
21
78
  onSelect?: (item: T, checked: boolean) => void;
79
+ /** Called when the select-all checkbox is toggled; receives the items currently visible. */
22
80
  onSelectAll?: (checked: boolean, visibleItems: T[]) => void;
81
+ /** Returns whether the given item is currently selected. */
23
82
  getIsItemSelected?: (item: T) => boolean;
83
+ /** When true, hides the select-all checkbox even if selection is enabled. */
24
84
  hideSelectAll?: boolean;
85
+ /** Renders a row-level menu (e.g. a kebab menu) for the given item. */
25
86
  itemMenu?: (item: T) => ReactNode;
87
+ /** Pagination control props passed through to the underlying data view. */
26
88
  pagination?: PaginationControlProps;
89
+ /** When true, renders the loading state instead of the rows. */
27
90
  isFetching?: boolean;
91
+ /** Renders a custom empty state when `data` is empty and there is no active search. */
28
92
  emptyState?: () => ReactNode;
93
+ /** Renders a custom empty state when a search returns no results; falls back to a localized default. */
29
94
  emptySearchState?: () => ReactNode;
95
+ /** Footer content rendered below the rows. */
30
96
  footer?: useDataViewProp<T>['footer'];
31
97
  }
@@ -1,3 +1,4 @@
1
1
  import { EmployeeTableItem } from '../EmployeeTable/EmployeeTableTypes';
2
2
  import { PolicyDetailLayoutProps } from './PolicyDetailLayoutTypes';
3
+ /** @internal */
3
4
  export declare function PolicyDetailLayout<T extends EmployeeTableItem>({ title, subtitle, onBack, backLabel, actions, firstTab, selectedTabId, onTabChange, employees, onAddEmployee, removeDialog, successAlert, onDismissAlert, }: PolicyDetailLayoutProps<T>): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyDetailLayout.js","sources":["../../../../../src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeTableItem } from '../EmployeeTable/EmployeeTableTypes'\nimport { EmployeeTable } from '../EmployeeTable/EmployeeTable'\nimport type { PolicyDetailLayoutProps } from './PolicyDetailLayoutTypes'\nimport { DetailViewLayout, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\nconst EMPLOYEES_TAB_ID = 'employees'\n\nexport function PolicyDetailLayout<T extends EmployeeTableItem>({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n firstTab,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n}: PolicyDetailLayoutProps<T>) {\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Alert, Dialog, Button } = useComponentContext()\n\n const emptyEmployeesState =\n employees.emptyState ??\n (onAddEmployee\n ? () => (\n <EmptyData title={t('emptyEmployees.title')}>\n <Button\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={onAddEmployee}\n >\n {t('emptyEmployees.addEmployeeCta')}\n </Button>\n </EmptyData>\n )\n : undefined)\n\n const tabs = [\n {\n id: firstTab.id,\n label: firstTab.label,\n content: firstTab.content,\n },\n {\n id: EMPLOYEES_TAB_ID,\n label: t('tabs.employees'),\n content: (\n <EmployeeTable<T>\n data={employees.data}\n searchValue={employees.searchValue}\n onSearchChange={employees.onSearchChange}\n onSearchClear={employees.onSearchClear}\n searchPlaceholder={employees.searchPlaceholder}\n itemMenu={employees.itemMenu}\n pagination={employees.pagination}\n isFetching={employees.isFetching}\n emptyState={emptyEmployeesState}\n additionalColumns={employees.additionalColumns}\n hideJobTitle={employees.hideJobTitle}\n />\n ),\n },\n ]\n\n return (\n <>\n {successAlert && <Alert status=\"success\" label={successAlert} onDismiss={onDismissAlert} />}\n\n <DetailViewLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n tabs={tabs}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n />\n\n <Dialog\n isOpen={removeDialog.isOpen}\n onClose={removeDialog.onClose}\n onPrimaryActionClick={removeDialog.onConfirm}\n isPrimaryActionLoading={removeDialog.isPending}\n isDestructive\n title={t('removeEmployeeDialog.title', { name: removeDialog.employeeName })}\n primaryActionLabel={t('removeEmployeeDialog.confirmCta')}\n closeActionLabel={t('removeEmployeeDialog.cancelCta')}\n >\n {t('removeEmployeeDialog.description', { name: removeDialog.employeeName })}\n </Dialog>\n </>\n )\n}\n"],"names":["EMPLOYEES_TAB_ID","PolicyDetailLayout","title","subtitle","onBack","backLabel","actions","firstTab","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","useI18n","t","useTranslation","Alert","Dialog","Button","useComponentContext","emptyEmployeesState","EmptyData","jsx","PlusCircleIcon","tabs","EmployeeTable","jsxs","Fragment","DetailViewLayout"],"mappings":";;;;;;;;;AASA,MAAMA,IAAmB;AAElB,SAASC,EAAgD;AAAA,EAC9D,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,GAA+B;AAC7B,EAAAC,EAAQ,8BAA8B;AACtC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,8BAA8B,GACrD,EAAE,OAAAC,GAAO,QAAAC,GAAQ,QAAAC,EAAA,IAAWC,EAAA,GAE5BC,IACJZ,EAAU,eACTC,IACG,wBACGY,GAAA,EAAU,OAAOP,EAAE,sBAAsB,GACxC,UAAA,gBAAAQ;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM,gBAAAI,EAACC,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,MAClC,SAASd;AAAA,MAER,YAAE,+BAA+B;AAAA,IAAA;AAAA,EAAA,GAEtC,IAEF,SAEAe,IAAO;AAAA,IACX;AAAA,MACE,IAAInB,EAAS;AAAA,MACb,OAAOA,EAAS;AAAA,MAChB,SAASA,EAAS;AAAA,IAAA;AAAA,IAEpB;AAAA,MACE,IAAIP;AAAA,MACJ,OAAOgB,EAAE,gBAAgB;AAAA,MACzB,SACE,gBAAAQ;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAMjB,EAAU;AAAA,UAChB,aAAaA,EAAU;AAAA,UACvB,gBAAgBA,EAAU;AAAA,UAC1B,eAAeA,EAAU;AAAA,UACzB,mBAAmBA,EAAU;AAAA,UAC7B,UAAUA,EAAU;AAAA,UACpB,YAAYA,EAAU;AAAA,UACtB,YAAYA,EAAU;AAAA,UACtB,YAAYY;AAAA,UACZ,mBAAmBZ,EAAU;AAAA,UAC7B,cAAcA,EAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B;AAAA,EAEJ;AAGF,SACE,gBAAAkB,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAhB,uBAAiBK,GAAA,EAAM,QAAO,WAAU,OAAOL,GAAc,WAAWC,GAAgB;AAAA,IAEzF,gBAAAU;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAA5B;AAAA,QACA,UAAAC;AAAA,QACA,QAAAC;AAAA,QACA,WAAAC;AAAA,QACA,SAAAC;AAAA,QACA,MAAAoB;AAAA,QACA,eAAAlB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAe;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,QAAQP,EAAa;AAAA,QACrB,SAASA,EAAa;AAAA,QACtB,sBAAsBA,EAAa;AAAA,QACnC,wBAAwBA,EAAa;AAAA,QACrC,eAAa;AAAA,QACb,OAAOI,EAAE,8BAA8B,EAAE,MAAMJ,EAAa,cAAc;AAAA,QAC1E,oBAAoBI,EAAE,iCAAiC;AAAA,QACvD,kBAAkBA,EAAE,gCAAgC;AAAA,QAEnD,YAAE,oCAAoC,EAAE,MAAMJ,EAAa,cAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5E,GACF;AAEJ;"}
1
+ {"version":3,"file":"PolicyDetailLayout.js","sources":["../../../../../src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeTableItem } from '../EmployeeTable/EmployeeTableTypes'\nimport { EmployeeTable } from '../EmployeeTable/EmployeeTable'\nimport type { PolicyDetailLayoutProps } from './PolicyDetailLayoutTypes'\nimport { DetailViewLayout, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\nconst EMPLOYEES_TAB_ID = 'employees'\n\n/** @internal */\nexport function PolicyDetailLayout<T extends EmployeeTableItem>({\n title,\n subtitle,\n onBack,\n backLabel,\n actions,\n firstTab,\n selectedTabId,\n onTabChange,\n employees,\n onAddEmployee,\n removeDialog,\n successAlert,\n onDismissAlert,\n}: PolicyDetailLayoutProps<T>) {\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Alert, Dialog, Button } = useComponentContext()\n\n const emptyEmployeesState =\n employees.emptyState ??\n (onAddEmployee\n ? () => (\n <EmptyData title={t('emptyEmployees.title')}>\n <Button\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={onAddEmployee}\n >\n {t('emptyEmployees.addEmployeeCta')}\n </Button>\n </EmptyData>\n )\n : undefined)\n\n const tabs = [\n {\n id: firstTab.id,\n label: firstTab.label,\n content: firstTab.content,\n },\n {\n id: EMPLOYEES_TAB_ID,\n label: t('tabs.employees'),\n content: (\n <EmployeeTable<T>\n data={employees.data}\n searchValue={employees.searchValue}\n onSearchChange={employees.onSearchChange}\n onSearchClear={employees.onSearchClear}\n searchPlaceholder={employees.searchPlaceholder}\n itemMenu={employees.itemMenu}\n pagination={employees.pagination}\n isFetching={employees.isFetching}\n emptyState={emptyEmployeesState}\n additionalColumns={employees.additionalColumns}\n hideJobTitle={employees.hideJobTitle}\n />\n ),\n },\n ]\n\n return (\n <>\n {successAlert && <Alert status=\"success\" label={successAlert} onDismiss={onDismissAlert} />}\n\n <DetailViewLayout\n title={title}\n subtitle={subtitle}\n onBack={onBack}\n backLabel={backLabel}\n actions={actions}\n tabs={tabs}\n selectedTabId={selectedTabId}\n onTabChange={onTabChange}\n />\n\n <Dialog\n isOpen={removeDialog.isOpen}\n onClose={removeDialog.onClose}\n onPrimaryActionClick={removeDialog.onConfirm}\n isPrimaryActionLoading={removeDialog.isPending}\n isDestructive\n title={t('removeEmployeeDialog.title', { name: removeDialog.employeeName })}\n primaryActionLabel={t('removeEmployeeDialog.confirmCta')}\n closeActionLabel={t('removeEmployeeDialog.cancelCta')}\n >\n {t('removeEmployeeDialog.description', { name: removeDialog.employeeName })}\n </Dialog>\n </>\n )\n}\n"],"names":["EMPLOYEES_TAB_ID","PolicyDetailLayout","title","subtitle","onBack","backLabel","actions","firstTab","selectedTabId","onTabChange","employees","onAddEmployee","removeDialog","successAlert","onDismissAlert","useI18n","t","useTranslation","Alert","Dialog","Button","useComponentContext","emptyEmployeesState","EmptyData","jsx","PlusCircleIcon","tabs","EmployeeTable","jsxs","Fragment","DetailViewLayout"],"mappings":";;;;;;;;;AASA,MAAMA,IAAmB;AAGlB,SAASC,EAAgD;AAAA,EAC9D,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,GAA+B;AAC7B,EAAAC,EAAQ,8BAA8B;AACtC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,8BAA8B,GACrD,EAAE,OAAAC,GAAO,QAAAC,GAAQ,QAAAC,EAAA,IAAWC,EAAA,GAE5BC,IACJZ,EAAU,eACTC,IACG,wBACGY,GAAA,EAAU,OAAOP,EAAE,sBAAsB,GACxC,UAAA,gBAAAQ;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM,gBAAAI,EAACC,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,MAClC,SAASd;AAAA,MAER,YAAE,+BAA+B;AAAA,IAAA;AAAA,EAAA,GAEtC,IAEF,SAEAe,IAAO;AAAA,IACX;AAAA,MACE,IAAInB,EAAS;AAAA,MACb,OAAOA,EAAS;AAAA,MAChB,SAASA,EAAS;AAAA,IAAA;AAAA,IAEpB;AAAA,MACE,IAAIP;AAAA,MACJ,OAAOgB,EAAE,gBAAgB;AAAA,MACzB,SACE,gBAAAQ;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAMjB,EAAU;AAAA,UAChB,aAAaA,EAAU;AAAA,UACvB,gBAAgBA,EAAU;AAAA,UAC1B,eAAeA,EAAU;AAAA,UACzB,mBAAmBA,EAAU;AAAA,UAC7B,UAAUA,EAAU;AAAA,UACpB,YAAYA,EAAU;AAAA,UACtB,YAAYA,EAAU;AAAA,UACtB,YAAYY;AAAA,UACZ,mBAAmBZ,EAAU;AAAA,UAC7B,cAAcA,EAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1B;AAAA,EAEJ;AAGF,SACE,gBAAAkB,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAhB,uBAAiBK,GAAA,EAAM,QAAO,WAAU,OAAOL,GAAc,WAAWC,GAAgB;AAAA,IAEzF,gBAAAU;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAA5B;AAAA,QACA,UAAAC;AAAA,QACA,QAAAC;AAAA,QACA,WAAAC;AAAA,QACA,SAAAC;AAAA,QACA,MAAAoB;AAAA,QACA,eAAAlB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAe;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,QAAQP,EAAa;AAAA,QACrB,SAASA,EAAa;AAAA,QACtB,sBAAsBA,EAAa;AAAA,QACnC,wBAAwBA,EAAa;AAAA,QACrC,eAAa;AAAA,QACb,OAAOI,EAAE,8BAA8B,EAAE,MAAMJ,EAAa,cAAc;AAAA,QAC1E,oBAAoBI,EAAE,iCAAiC;AAAA,QACvD,kBAAkBA,EAAE,gCAAgC;AAAA,QAEnD,YAAE,oCAAoC,EAAE,MAAMJ,EAAa,cAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5E,GACF;AAEJ;"}
@@ -1,28 +1,56 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { EmployeeTableItem, EmployeeTableProps } from '../EmployeeTable/EmployeeTableTypes';
3
+ /**
4
+ * State for the confirmation dialog shown when removing an employee from a time
5
+ * off or holiday policy.
6
+ *
7
+ * @public
8
+ */
3
9
  export interface RemoveDialogState {
10
+ /** Whether the dialog is currently visible. */
4
11
  isOpen: boolean;
12
+ /** Name of the employee being removed; interpolated into the dialog copy. */
5
13
  employeeName: string;
14
+ /** Called when the user confirms the removal. */
6
15
  onConfirm: () => void;
16
+ /** Called when the user cancels or dismisses the dialog without confirming. */
7
17
  onClose: () => void;
18
+ /** Whether the removal request is in flight; disables the confirm action while true. */
8
19
  isPending: boolean;
9
20
  }
21
+ /** @internal */
10
22
  export interface PolicyDetailLayoutProps<T extends EmployeeTableItem> {
23
+ /** The policy name displayed as the page heading. */
11
24
  title: string;
25
+ /** Secondary label shown beneath the title. */
12
26
  subtitle?: string;
27
+ /** Called when the user clicks the back navigation. */
13
28
  onBack: () => void;
29
+ /** Label for the back navigation link. */
14
30
  backLabel: string;
31
+ /** Action buttons displayed in the header (e.g. add employees, edit policy). */
15
32
  actions?: ReactNode[];
33
+ /** First tab shown alongside the standard employees tab; supplies its id, label, and content. */
16
34
  firstTab: {
35
+ /** Unique id used to match against `selectedTabId`. */
17
36
  id: string;
37
+ /** Tab label rendered in the tab bar. */
18
38
  label: string;
39
+ /** Tab panel content. */
19
40
  content: ReactNode;
20
41
  };
42
+ /** The currently active tab id. */
21
43
  selectedTabId: string;
44
+ /** Called with the tab id when the user switches tabs. */
22
45
  onTabChange: (id: string) => void;
46
+ /** Employee table data and handlers for the employees tab. */
23
47
  employees: Pick<EmployeeTableProps<T>, 'data' | 'searchValue' | 'onSearchChange' | 'onSearchClear' | 'searchPlaceholder' | 'itemMenu' | 'pagination' | 'isFetching' | 'emptyState' | 'additionalColumns' | 'hideJobTitle'>;
48
+ /** Called when the user triggers the add-employee action from the empty state. */
24
49
  onAddEmployee?: () => void;
50
+ /** State for the employee removal confirmation dialog. */
25
51
  removeDialog: RemoveDialogState;
52
+ /** Success message displayed as a dismissible alert above the content. */
26
53
  successAlert?: string;
54
+ /** Called when the success alert is dismissed. */
27
55
  onDismissAlert?: () => void;
28
56
  }
@@ -1,3 +1,2 @@
1
1
  import "./types/i18next.d.ts"
2
2
  export { PolicyDetailLayout } from './PolicyDetailLayout';
3
- export type { PolicyDetailLayoutProps, RemoveDialogState } from './PolicyDetailLayoutTypes';
@@ -18,13 +18,18 @@ interface FederalHolidayDef {
18
18
  key: string;
19
19
  dateRule: HolidayDateRule;
20
20
  }
21
+ /** @internal */
21
22
  export declare const FEDERAL_HOLIDAYS: FederalHolidayDef[];
23
+ /** @internal */
22
24
  export declare const FEDERAL_HOLIDAY_KEYS: string[];
25
+ /** @internal */
23
26
  export declare function getNextObservationDate(holidayKey: string, referenceDate?: Date): Date;
27
+ /** @internal */
24
28
  export declare function getDefaultHolidayItems(t: TFunction<'Company.TimeOff.HolidayPolicy'>, referenceDate?: Date, locale?: string): HolidayItem[];
25
29
  interface FederalHolidaySelection {
26
30
  selected: boolean;
27
31
  }
28
32
  type FederalHolidaysPayload = Record<string, FederalHolidaySelection>;
33
+ /** @internal */
29
34
  export declare function buildFederalHolidaysPayload(selectedKeys: Set<string>): FederalHolidaysPayload;
30
35
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"holidayHelpers.js","sources":["../../../../src/components/TimeOff/shared/holidayHelpers.ts"],"sourcesContent":["import type { TFunction } from 'i18next'\nimport type { HolidayItem } from '../HolidaySelectionForm/HolidaySelectionFormTypes'\n\ntype HolidayDateRule =\n | { type: 'fixed'; month: number; day: number }\n | { type: 'nthWeekday'; month: number; weekday: number; nth: number }\n | { type: 'lastWeekday'; month: number; weekday: number }\n\ninterface FederalHolidayDef {\n key: string\n dateRule: HolidayDateRule\n}\n\nconst MONDAY = 1\nconst THURSDAY = 4\n\nexport const FEDERAL_HOLIDAYS: FederalHolidayDef[] = [\n { key: 'newYearsDay', dateRule: { type: 'fixed', month: 0, day: 1 } },\n { key: 'mlkDay', dateRule: { type: 'nthWeekday', month: 0, weekday: MONDAY, nth: 3 } },\n { key: 'presidentsDay', dateRule: { type: 'nthWeekday', month: 1, weekday: MONDAY, nth: 3 } },\n { key: 'memorialDay', dateRule: { type: 'lastWeekday', month: 4, weekday: MONDAY } },\n { key: 'juneteenth', dateRule: { type: 'fixed', month: 5, day: 19 } },\n { key: 'independenceDay', dateRule: { type: 'fixed', month: 6, day: 4 } },\n { key: 'laborDay', dateRule: { type: 'nthWeekday', month: 8, weekday: MONDAY, nth: 1 } },\n { key: 'columbusDay', dateRule: { type: 'nthWeekday', month: 9, weekday: MONDAY, nth: 2 } },\n { key: 'veteransDay', dateRule: { type: 'fixed', month: 10, day: 11 } },\n { key: 'thanksgiving', dateRule: { type: 'nthWeekday', month: 10, weekday: THURSDAY, nth: 4 } },\n { key: 'christmasDay', dateRule: { type: 'fixed', month: 11, day: 25 } },\n]\n\nexport const FEDERAL_HOLIDAY_KEYS = FEDERAL_HOLIDAYS.map(h => h.key)\n\nfunction getNthWeekdayOfMonth(year: number, month: number, weekday: number, nth: number): Date {\n const first = new Date(year, month, 1)\n const firstWeekday = first.getDay()\n let day = 1 + ((weekday - firstWeekday + 7) % 7)\n day += (nth - 1) * 7\n return new Date(year, month, day)\n}\n\nfunction getLastWeekdayOfMonth(year: number, month: number, weekday: number): Date {\n const lastDay = new Date(year, month + 1, 0)\n const lastDayWeekday = lastDay.getDay()\n const diff = (lastDayWeekday - weekday + 7) % 7\n return new Date(year, month, lastDay.getDate() - diff)\n}\n\nfunction computeDate(rule: HolidayDateRule, year: number): Date {\n switch (rule.type) {\n case 'fixed':\n return new Date(year, rule.month, rule.day)\n case 'nthWeekday':\n return getNthWeekdayOfMonth(year, rule.month, rule.weekday, rule.nth)\n case 'lastWeekday':\n return getLastWeekdayOfMonth(year, rule.month, rule.weekday)\n }\n}\n\nexport function getNextObservationDate(holidayKey: string, referenceDate: Date = new Date()): Date {\n const holiday = FEDERAL_HOLIDAYS.find(h => h.key === holidayKey)\n if (!holiday) {\n throw new Error(`Unknown holiday key: ${holidayKey}`)\n }\n\n const year = referenceDate.getFullYear()\n const thisYear = computeDate(holiday.dateRule, year)\n\n const refDateOnly = new Date(\n referenceDate.getFullYear(),\n referenceDate.getMonth(),\n referenceDate.getDate(),\n )\n\n if (thisYear >= refDateOnly) {\n return thisYear\n }\n return computeDate(holiday.dateRule, year + 1)\n}\n\nfunction formatDate(date: Date, locale?: string): string {\n return date.toLocaleDateString(locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n}\n\nconst HOLIDAY_NAME_KEYS = {\n newYearsDay: 'holidays.newYearsDay.name',\n mlkDay: 'holidays.mlkDay.name',\n presidentsDay: 'holidays.presidentsDay.name',\n memorialDay: 'holidays.memorialDay.name',\n juneteenth: 'holidays.juneteenth.name',\n independenceDay: 'holidays.independenceDay.name',\n laborDay: 'holidays.laborDay.name',\n columbusDay: 'holidays.columbusDay.name',\n veteransDay: 'holidays.veteransDay.name',\n thanksgiving: 'holidays.thanksgiving.name',\n christmasDay: 'holidays.christmasDay.name',\n} as const\n\nconst HOLIDAY_DATE_KEYS = {\n newYearsDay: 'holidays.newYearsDay.observedDate',\n mlkDay: 'holidays.mlkDay.observedDate',\n presidentsDay: 'holidays.presidentsDay.observedDate',\n memorialDay: 'holidays.memorialDay.observedDate',\n juneteenth: 'holidays.juneteenth.observedDate',\n independenceDay: 'holidays.independenceDay.observedDate',\n laborDay: 'holidays.laborDay.observedDate',\n columbusDay: 'holidays.columbusDay.observedDate',\n veteransDay: 'holidays.veteransDay.observedDate',\n thanksgiving: 'holidays.thanksgiving.observedDate',\n christmasDay: 'holidays.christmasDay.observedDate',\n} as const\n\nexport function getDefaultHolidayItems(\n t: TFunction<'Company.TimeOff.HolidayPolicy'>,\n referenceDate?: Date,\n locale?: string,\n): HolidayItem[] {\n return FEDERAL_HOLIDAYS.map(holiday => ({\n uuid: holiday.key,\n name: t(HOLIDAY_NAME_KEYS[holiday.key as keyof typeof HOLIDAY_NAME_KEYS]),\n observedDate: t(HOLIDAY_DATE_KEYS[holiday.key as keyof typeof HOLIDAY_DATE_KEYS]),\n nextObservation: formatDate(getNextObservationDate(holiday.key, referenceDate), locale),\n }))\n}\n\ninterface FederalHolidaySelection {\n selected: boolean\n}\n\ntype FederalHolidaysPayload = Record<string, FederalHolidaySelection>\n\nexport function buildFederalHolidaysPayload(selectedKeys: Set<string>): FederalHolidaysPayload {\n const payload: FederalHolidaysPayload = {}\n for (const holiday of FEDERAL_HOLIDAYS) {\n payload[holiday.key] = { selected: selectedKeys.has(holiday.key) }\n }\n return payload\n}\n"],"names":["FEDERAL_HOLIDAYS","FEDERAL_HOLIDAY_KEYS","h","getNthWeekdayOfMonth","year","month","weekday","nth","firstWeekday","day","getLastWeekdayOfMonth","lastDay","diff","computeDate","rule","getNextObservationDate","holidayKey","referenceDate","holiday","thisYear","refDateOnly","formatDate","date","locale","HOLIDAY_NAME_KEYS","HOLIDAY_DATE_KEYS","getDefaultHolidayItems","t","buildFederalHolidaysPayload","selectedKeys","payload"],"mappings":"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"}
1
+ {"version":3,"file":"holidayHelpers.js","sources":["../../../../src/components/TimeOff/shared/holidayHelpers.ts"],"sourcesContent":["import type { TFunction } from 'i18next'\nimport type { HolidayItem } from '../HolidaySelectionForm/HolidaySelectionFormTypes'\n\ntype HolidayDateRule =\n | { type: 'fixed'; month: number; day: number }\n | { type: 'nthWeekday'; month: number; weekday: number; nth: number }\n | { type: 'lastWeekday'; month: number; weekday: number }\n\ninterface FederalHolidayDef {\n key: string\n dateRule: HolidayDateRule\n}\n\nconst MONDAY = 1\nconst THURSDAY = 4\n\n/** @internal */\nexport const FEDERAL_HOLIDAYS: FederalHolidayDef[] = [\n { key: 'newYearsDay', dateRule: { type: 'fixed', month: 0, day: 1 } },\n { key: 'mlkDay', dateRule: { type: 'nthWeekday', month: 0, weekday: MONDAY, nth: 3 } },\n { key: 'presidentsDay', dateRule: { type: 'nthWeekday', month: 1, weekday: MONDAY, nth: 3 } },\n { key: 'memorialDay', dateRule: { type: 'lastWeekday', month: 4, weekday: MONDAY } },\n { key: 'juneteenth', dateRule: { type: 'fixed', month: 5, day: 19 } },\n { key: 'independenceDay', dateRule: { type: 'fixed', month: 6, day: 4 } },\n { key: 'laborDay', dateRule: { type: 'nthWeekday', month: 8, weekday: MONDAY, nth: 1 } },\n { key: 'columbusDay', dateRule: { type: 'nthWeekday', month: 9, weekday: MONDAY, nth: 2 } },\n { key: 'veteransDay', dateRule: { type: 'fixed', month: 10, day: 11 } },\n { key: 'thanksgiving', dateRule: { type: 'nthWeekday', month: 10, weekday: THURSDAY, nth: 4 } },\n { key: 'christmasDay', dateRule: { type: 'fixed', month: 11, day: 25 } },\n]\n\n/** @internal */\nexport const FEDERAL_HOLIDAY_KEYS = FEDERAL_HOLIDAYS.map(h => h.key)\n\nfunction getNthWeekdayOfMonth(year: number, month: number, weekday: number, nth: number): Date {\n const first = new Date(year, month, 1)\n const firstWeekday = first.getDay()\n let day = 1 + ((weekday - firstWeekday + 7) % 7)\n day += (nth - 1) * 7\n return new Date(year, month, day)\n}\n\nfunction getLastWeekdayOfMonth(year: number, month: number, weekday: number): Date {\n const lastDay = new Date(year, month + 1, 0)\n const lastDayWeekday = lastDay.getDay()\n const diff = (lastDayWeekday - weekday + 7) % 7\n return new Date(year, month, lastDay.getDate() - diff)\n}\n\nfunction computeDate(rule: HolidayDateRule, year: number): Date {\n switch (rule.type) {\n case 'fixed':\n return new Date(year, rule.month, rule.day)\n case 'nthWeekday':\n return getNthWeekdayOfMonth(year, rule.month, rule.weekday, rule.nth)\n case 'lastWeekday':\n return getLastWeekdayOfMonth(year, rule.month, rule.weekday)\n }\n}\n\n/** @internal */\nexport function getNextObservationDate(holidayKey: string, referenceDate: Date = new Date()): Date {\n const holiday = FEDERAL_HOLIDAYS.find(h => h.key === holidayKey)\n if (!holiday) {\n throw new Error(`Unknown holiday key: ${holidayKey}`)\n }\n\n const year = referenceDate.getFullYear()\n const thisYear = computeDate(holiday.dateRule, year)\n\n const refDateOnly = new Date(\n referenceDate.getFullYear(),\n referenceDate.getMonth(),\n referenceDate.getDate(),\n )\n\n if (thisYear >= refDateOnly) {\n return thisYear\n }\n return computeDate(holiday.dateRule, year + 1)\n}\n\nfunction formatDate(date: Date, locale?: string): string {\n return date.toLocaleDateString(locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n}\n\nconst HOLIDAY_NAME_KEYS = {\n newYearsDay: 'holidays.newYearsDay.name',\n mlkDay: 'holidays.mlkDay.name',\n presidentsDay: 'holidays.presidentsDay.name',\n memorialDay: 'holidays.memorialDay.name',\n juneteenth: 'holidays.juneteenth.name',\n independenceDay: 'holidays.independenceDay.name',\n laborDay: 'holidays.laborDay.name',\n columbusDay: 'holidays.columbusDay.name',\n veteransDay: 'holidays.veteransDay.name',\n thanksgiving: 'holidays.thanksgiving.name',\n christmasDay: 'holidays.christmasDay.name',\n} as const\n\nconst HOLIDAY_DATE_KEYS = {\n newYearsDay: 'holidays.newYearsDay.observedDate',\n mlkDay: 'holidays.mlkDay.observedDate',\n presidentsDay: 'holidays.presidentsDay.observedDate',\n memorialDay: 'holidays.memorialDay.observedDate',\n juneteenth: 'holidays.juneteenth.observedDate',\n independenceDay: 'holidays.independenceDay.observedDate',\n laborDay: 'holidays.laborDay.observedDate',\n columbusDay: 'holidays.columbusDay.observedDate',\n veteransDay: 'holidays.veteransDay.observedDate',\n thanksgiving: 'holidays.thanksgiving.observedDate',\n christmasDay: 'holidays.christmasDay.observedDate',\n} as const\n\n/** @internal */\nexport function getDefaultHolidayItems(\n t: TFunction<'Company.TimeOff.HolidayPolicy'>,\n referenceDate?: Date,\n locale?: string,\n): HolidayItem[] {\n return FEDERAL_HOLIDAYS.map(holiday => ({\n uuid: holiday.key,\n name: t(HOLIDAY_NAME_KEYS[holiday.key as keyof typeof HOLIDAY_NAME_KEYS]),\n observedDate: t(HOLIDAY_DATE_KEYS[holiday.key as keyof typeof HOLIDAY_DATE_KEYS]),\n nextObservation: formatDate(getNextObservationDate(holiday.key, referenceDate), locale),\n }))\n}\n\ninterface FederalHolidaySelection {\n selected: boolean\n}\n\ntype FederalHolidaysPayload = Record<string, FederalHolidaySelection>\n\n/** @internal */\nexport function buildFederalHolidaysPayload(selectedKeys: Set<string>): FederalHolidaysPayload {\n const payload: FederalHolidaysPayload = {}\n for (const holiday of FEDERAL_HOLIDAYS) {\n payload[holiday.key] = { selected: selectedKeys.has(holiday.key) }\n }\n return payload\n}\n"],"names":["FEDERAL_HOLIDAYS","FEDERAL_HOLIDAY_KEYS","h","getNthWeekdayOfMonth","year","month","weekday","nth","firstWeekday","day","getLastWeekdayOfMonth","lastDay","diff","computeDate","rule","getNextObservationDate","holidayKey","referenceDate","holiday","thisYear","refDateOnly","formatDate","date","locale","HOLIDAY_NAME_KEYS","HOLIDAY_DATE_KEYS","getDefaultHolidayItems","t","buildFederalHolidaysPayload","selectedKeys","payload"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export type { ProgressBarProps } from '../../components/Common/UI/ProgressBar/ProgressBarTypes';
2
- export type { BreadcrumbsProps } from '../../components/Common/UI/Breadcrumbs/BreadcrumbsTypes';
2
+ export type { BreadcrumbsProps, Breadcrumb, } from '../../components/Common/UI/Breadcrumbs/BreadcrumbsTypes';
3
3
  export type { ButtonProps, ButtonIconProps } from '../../components/Common/UI/Button/ButtonTypes';
4
4
  export type { CardProps } from '../../components/Common/UI/Card/CardTypes';
5
5
  export type { BoxProps } from '../../components/Common/UI/Box/BoxTypes';
@@ -22,7 +22,7 @@ export type { TextInputProps } from '../../components/Common/UI/TextInput/TextIn
22
22
  export type { AlertProps } from '../../components/Common/UI/Alert/AlertTypes';
23
23
  export type { BadgeProps } from '../../components/Common/UI/Badge/BadgeTypes';
24
24
  export type { BannerProps } from '../../components/Common/UI/Banner/BannerTypes';
25
- export type { OrderedListProps, UnorderedListProps } from '../../components/Common/UI/List/ListTypes';
25
+ export type { BaseListProps, OrderedListProps, UnorderedListProps, } from '../../components/Common/UI/List/ListTypes';
26
26
  export type { HeadingProps } from '../../components/Common/UI/Heading/HeadingTypes';
27
27
  export type { PaginationControlProps, PaginationItemsPerPage, } from '../../components/Common/PaginationControl/PaginationControlTypes';
28
28
  export type { PayrollLoadingProps } from '../../components/Common/PayrollLoading/PayrollLoadingTypes';
@@ -30,8 +30,8 @@ export type { TextProps } from '../../components/Common/UI/Text/TextTypes';
30
30
  export type { CalendarPreviewProps } from '../../components/Common/UI/CalendarPreview/CalendarPreviewTypes';
31
31
  export type { DialogProps } from '../../components/Common/UI/Dialog/DialogTypes';
32
32
  export type { ModalProps } from '../../components/Common/UI/Modal/ModalTypes';
33
- export type { DescriptionListProps } from '../../components/Common/UI/DescriptionList/DescriptionListTypes';
33
+ export type { DescriptionListProps, DescriptionListItem, } from '../../components/Common/UI/DescriptionList/DescriptionListTypes';
34
34
  export type { TextAreaProps } from '../../components/Common/UI/TextArea/TextAreaTypes';
35
- export type { TabsProps } from '../../components/Common/UI/Tabs/TabsTypes';
35
+ export type { TabsProps, TabProps } from '../../components/Common/UI/Tabs/TabsTypes';
36
36
  export type { LoadingSpinnerProps } from '../../components/Common/UI/LoadingSpinner/LoadingSpinnerTypes';
37
37
  export type { FileInputProps } from '../../components/Common/UI/FileInput/FileInputTypes';
@@ -1,4 +1,4 @@
1
- import { default as React } from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  import { ComponentsContextType } from './useComponentContext';
3
3
  import { AlertProps } from '../../components/Common/UI/Alert/AlertTypes';
4
4
  import { BadgeProps } from '../../components/Common/UI/Badge/BadgeTypes';
@@ -20,80 +20,80 @@ import { BoxHeaderProps } from '../../components/Common/UI/BoxHeader/BoxHeaderTy
20
20
  import { DescriptionListProps } from '../../components/Common/UI/DescriptionList/DescriptionListTypes';
21
21
  /** @internal */
22
22
  export declare const componentCreators: {
23
- readonly Alert: (customComponent: (props: AlertProps) => React.ReactElement | null) => {
24
- (props: AlertProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
23
+ readonly Alert: (customComponent: FunctionComponent<AlertProps>) => {
24
+ (props: AlertProps): import('react').ReactNode | Promise<import('react').ReactNode>;
25
25
  displayName: string;
26
26
  };
27
- readonly Badge: (customComponent: (props: BadgeProps) => React.ReactElement | null) => {
28
- (props: BadgeProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
27
+ readonly Badge: (customComponent: FunctionComponent<BadgeProps>) => {
28
+ (props: BadgeProps): import('react').ReactNode | Promise<import('react').ReactNode>;
29
29
  displayName: string;
30
30
  };
31
- readonly Banner: (customComponent: (props: BannerProps) => React.ReactElement | null) => {
32
- (props: BannerProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
31
+ readonly Banner: (customComponent: FunctionComponent<BannerProps>) => {
32
+ (props: BannerProps): import('react').ReactNode | Promise<import('react').ReactNode>;
33
33
  displayName: string;
34
34
  };
35
- readonly Button: (customComponent: (props: ButtonProps) => React.ReactElement | null) => {
36
- (props: ButtonProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
35
+ readonly Button: (customComponent: FunctionComponent<ButtonProps>) => {
36
+ (props: ButtonProps): import('react').ReactNode | Promise<import('react').ReactNode>;
37
37
  displayName: string;
38
38
  };
39
- readonly ButtonIcon: (customComponent: (props: ButtonIconProps) => React.ReactElement | null) => {
40
- (props: ButtonIconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
39
+ readonly ButtonIcon: (customComponent: FunctionComponent<ButtonIconProps>) => {
40
+ (props: ButtonIconProps): import('react').ReactNode | Promise<import('react').ReactNode>;
41
41
  displayName: string;
42
42
  };
43
- readonly Checkbox: (customComponent: (props: CheckboxProps) => React.ReactElement | null) => {
44
- (props: CheckboxProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
43
+ readonly Checkbox: (customComponent: FunctionComponent<CheckboxProps>) => {
44
+ (props: CheckboxProps): import('react').ReactNode | Promise<import('react').ReactNode>;
45
45
  displayName: string;
46
46
  };
47
- readonly CheckboxGroup: (customComponent: (props: CheckboxGroupProps) => React.ReactElement | null) => {
48
- (props: CheckboxGroupProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
47
+ readonly CheckboxGroup: (customComponent: FunctionComponent<CheckboxGroupProps>) => {
48
+ (props: CheckboxGroupProps): import('react').ReactNode | Promise<import('react').ReactNode>;
49
49
  displayName: string;
50
50
  };
51
- readonly Menu: (customComponent: (props: MenuProps) => React.ReactElement | null) => {
52
- (props: MenuProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
51
+ readonly Menu: (customComponent: FunctionComponent<MenuProps>) => {
52
+ (props: MenuProps): import('react').ReactNode | Promise<import('react').ReactNode>;
53
53
  displayName: string;
54
54
  };
55
- readonly Radio: (customComponent: (props: RadioProps) => React.ReactElement | null) => {
56
- (props: RadioProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
55
+ readonly Radio: (customComponent: FunctionComponent<RadioProps>) => {
56
+ (props: RadioProps): import('react').ReactNode | Promise<import('react').ReactNode>;
57
57
  displayName: string;
58
58
  };
59
- readonly RadioGroup: (customComponent: (props: RadioGroupProps) => React.ReactElement | null) => {
60
- (props: RadioGroupProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
59
+ readonly RadioGroup: (customComponent: FunctionComponent<RadioGroupProps>) => {
60
+ (props: RadioGroupProps): import('react').ReactNode | Promise<import('react').ReactNode>;
61
61
  displayName: string;
62
62
  };
63
- readonly Switch: (customComponent: (props: SwitchProps) => React.ReactElement | null) => {
64
- (props: SwitchProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
63
+ readonly Switch: (customComponent: FunctionComponent<SwitchProps>) => {
64
+ (props: SwitchProps): import('react').ReactNode | Promise<import('react').ReactNode>;
65
65
  displayName: string;
66
66
  };
67
- readonly Table: (customComponent: (props: TableProps) => React.ReactElement | null) => {
68
- (props: TableProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
67
+ readonly Table: (customComponent: FunctionComponent<TableProps>) => {
68
+ (props: TableProps): import('react').ReactNode | Promise<import('react').ReactNode>;
69
69
  displayName: string;
70
70
  };
71
- readonly Text: (customComponent: (props: TextProps) => React.ReactElement | null) => {
72
- (props: TextProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
71
+ readonly Text: (customComponent: FunctionComponent<TextProps>) => {
72
+ (props: TextProps): import('react').ReactNode | Promise<import('react').ReactNode>;
73
73
  displayName: string;
74
74
  };
75
- readonly TextInput: (customComponent: (props: TextInputProps) => React.ReactElement | null) => {
76
- (props: TextInputProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
75
+ readonly TextInput: (customComponent: FunctionComponent<TextInputProps>) => {
76
+ (props: TextInputProps): import('react').ReactNode | Promise<import('react').ReactNode>;
77
77
  displayName: string;
78
78
  };
79
- readonly Dialog: (customComponent: (props: DialogProps) => React.ReactElement | null) => {
80
- (props: DialogProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
79
+ readonly Dialog: (customComponent: FunctionComponent<DialogProps>) => {
80
+ (props: DialogProps): import('react').ReactNode | Promise<import('react').ReactNode>;
81
81
  displayName: string;
82
82
  };
83
- readonly LoadingSpinner: (customComponent: (props: LoadingSpinnerProps) => React.ReactElement | null) => {
84
- (props: LoadingSpinnerProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
83
+ readonly LoadingSpinner: (customComponent: FunctionComponent<LoadingSpinnerProps>) => {
84
+ (props: LoadingSpinnerProps): import('react').ReactNode | Promise<import('react').ReactNode>;
85
85
  displayName: string;
86
86
  };
87
- readonly FileInput: (customComponent: (props: FileInputProps) => React.ReactElement | null) => {
88
- (props: FileInputProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
87
+ readonly FileInput: (customComponent: FunctionComponent<FileInputProps>) => {
88
+ (props: FileInputProps): import('react').ReactNode | Promise<import('react').ReactNode>;
89
89
  displayName: string;
90
90
  };
91
- readonly BoxHeader: (customComponent: (props: BoxHeaderProps) => React.ReactElement | null) => {
92
- (props: BoxHeaderProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
91
+ readonly BoxHeader: (customComponent: FunctionComponent<BoxHeaderProps>) => {
92
+ (props: BoxHeaderProps): import('react').ReactNode | Promise<import('react').ReactNode>;
93
93
  displayName: string;
94
94
  };
95
- readonly DescriptionList: (customComponent: (props: DescriptionListProps) => React.ReactElement | null) => {
96
- (props: DescriptionListProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
95
+ readonly DescriptionList: (customComponent: FunctionComponent<DescriptionListProps>) => {
96
+ (props: DescriptionListProps): import('react').ReactNode | Promise<import('react').ReactNode>;
97
97
  displayName: string;
98
98
  };
99
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createComponentsWithDefaults.js","sources":["../../../src/contexts/ComponentAdapter/createComponentsWithDefaults.ts"],"sourcesContent":["import type React from 'react'\nimport type { ComponentsContextType } from './useComponentContext'\nimport { defaultComponents } from './adapters/defaultComponentAdapter'\nimport { applyMissingDefaults } from '@/helpers/applyMissingDefaults'\n// Import prop types and their defaults\nimport type { AlertProps } from '@/components/Common/UI/Alert/AlertTypes'\nimport { AlertDefaults } from '@/components/Common/UI/Alert/AlertTypes'\nimport type { BadgeProps } from '@/components/Common/UI/Badge/BadgeTypes'\nimport { BadgeDefaults } from '@/components/Common/UI/Badge/BadgeTypes'\nimport type { BannerProps } from '@/components/Common/UI/Banner/BannerTypes'\nimport { BannerDefaults } from '@/components/Common/UI/Banner/BannerTypes'\nimport type { ButtonProps, ButtonIconProps } from '@/components/Common/UI/Button/ButtonTypes'\nimport { ButtonDefaults, ButtonIconDefaults } from '@/components/Common/UI/Button/ButtonTypes'\nimport type { CheckboxProps } from '@/components/Common/UI/Checkbox/CheckboxTypes'\nimport { CheckboxDefaults } from '@/components/Common/UI/Checkbox/CheckboxTypes'\nimport type { CheckboxGroupProps } from '@/components/Common/UI/CheckboxGroup/CheckboxGroupTypes'\nimport { CheckboxGroupDefaults } from '@/components/Common/UI/CheckboxGroup/CheckboxGroupTypes'\nimport type { MenuProps } from '@/components/Common/UI/Menu/MenuTypes'\nimport { MenuDefaults } from '@/components/Common/UI/Menu/MenuTypes'\nimport type { RadioProps } from '@/components/Common/UI/Radio/RadioTypes'\nimport { RadioDefaults } from '@/components/Common/UI/Radio/RadioTypes'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport { RadioGroupDefaults } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport type { SwitchProps } from '@/components/Common/UI/Switch/SwitchTypes'\nimport { SwitchDefaults } from '@/components/Common/UI/Switch/SwitchTypes'\nimport type { TableProps } from '@/components/Common/UI/Table/TableTypes'\nimport { TableDefaults } from '@/components/Common/UI/Table/TableTypes'\nimport type { TextProps } from '@/components/Common/UI/Text/TextTypes'\nimport { TextDefaults } from '@/components/Common/UI/Text/TextTypes'\nimport type { TextInputProps } from '@/components/Common/UI/TextInput/TextInputTypes'\nimport { TextInputDefaults } from '@/components/Common/UI/TextInput/TextInputTypes'\nimport type { DialogProps } from '@/components/Common/UI/Dialog/DialogTypes'\nimport { DialogDefaults } from '@/components/Common/UI/Dialog/DialogTypes'\nimport type { LoadingSpinnerProps } from '@/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes'\nimport { LoadingSpinnerDefaults } from '@/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes'\nimport type { FileInputProps } from '@/components/Common/UI/FileInput/FileInputTypes'\nimport { FileInputDefaults } from '@/components/Common/UI/FileInput/FileInputTypes'\nimport type { BoxHeaderProps } from '@/components/Common/UI/BoxHeader/BoxHeaderTypes'\nimport { BoxHeaderDefaults } from '@/components/Common/UI/BoxHeader/BoxHeaderTypes'\nimport type { DescriptionListProps } from '@/components/Common/UI/DescriptionList/DescriptionListTypes'\nimport { DescriptionListDefaults } from '@/components/Common/UI/DescriptionList/DescriptionListTypes'\n\n/** @internal */\nfunction composeWithDefaults<TProps>(defaults: Partial<TProps>, componentName: string) {\n return (customComponent: (props: TProps) => React.ReactElement | null) => {\n const wrappedComponent = (props: TProps) => {\n const propsWithDefaults = applyMissingDefaults(props, defaults)\n return customComponent(propsWithDefaults)\n }\n wrappedComponent.displayName = `withAutoDefault(${componentName})`\n return wrappedComponent\n }\n}\n\n/** @internal */\nexport const componentCreators = {\n Alert: composeWithDefaults<AlertProps>(AlertDefaults, 'Alert'),\n Badge: composeWithDefaults<BadgeProps>(BadgeDefaults, 'Badge'),\n Banner: composeWithDefaults<BannerProps>(BannerDefaults, 'Banner'),\n Button: composeWithDefaults<ButtonProps>(ButtonDefaults, 'Button'),\n ButtonIcon: composeWithDefaults<ButtonIconProps>(ButtonIconDefaults, 'ButtonIcon'),\n Checkbox: composeWithDefaults<CheckboxProps>(CheckboxDefaults, 'Checkbox'),\n CheckboxGroup: composeWithDefaults<CheckboxGroupProps>(CheckboxGroupDefaults, 'CheckboxGroup'),\n Menu: composeWithDefaults<MenuProps>(MenuDefaults, 'Menu'),\n Radio: composeWithDefaults<RadioProps>(RadioDefaults, 'Radio'),\n RadioGroup: composeWithDefaults<RadioGroupProps>(RadioGroupDefaults, 'RadioGroup'),\n Switch: composeWithDefaults<SwitchProps>(SwitchDefaults, 'Switch'),\n Table: composeWithDefaults<TableProps>(TableDefaults, 'Table'),\n Text: composeWithDefaults<TextProps>(TextDefaults, 'Text'),\n TextInput: composeWithDefaults<TextInputProps>(TextInputDefaults, 'TextInput'),\n Dialog: composeWithDefaults<DialogProps>(DialogDefaults, 'Dialog'),\n LoadingSpinner: composeWithDefaults<LoadingSpinnerProps>(\n LoadingSpinnerDefaults,\n 'LoadingSpinner',\n ),\n FileInput: composeWithDefaults<FileInputProps>(FileInputDefaults, 'FileInput'),\n BoxHeader: composeWithDefaults<BoxHeaderProps>(BoxHeaderDefaults, 'BoxHeader'),\n DescriptionList: composeWithDefaults<DescriptionListProps>(\n DescriptionListDefaults,\n 'DescriptionList',\n ),\n} as const\n\n/**\n * Creates components with automatic default prop handling.\n * Supports both partial (GustoProvider) and full (GustoProviderCustomUIAdapter) component sets.\n *\n * @internal\n */\nexport function createComponents(\n providedComponents: Partial<ComponentsContextType> = {},\n): ComponentsContextType {\n const components = { ...defaultComponents }\n\n for (const [componentName, providedComponent] of Object.entries(providedComponents)) {\n const typedComponentName = componentName as keyof ComponentsContextType\n\n if (componentName in componentCreators) {\n const creatorKey = componentName as keyof typeof componentCreators\n const creator = componentCreators[creatorKey]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n components[typedComponentName] = creator(providedComponent as any) as any\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n components[typedComponentName] = providedComponent as any\n }\n }\n\n return components\n}\n"],"names":["composeWithDefaults","defaults","componentName","customComponent","wrappedComponent","props","propsWithDefaults","applyMissingDefaults","componentCreators","AlertDefaults","BadgeDefaults","BannerDefaults","ButtonDefaults","ButtonIconDefaults","CheckboxDefaults","CheckboxGroupDefaults","MenuDefaults","RadioDefaults","RadioGroupDefaults","SwitchDefaults","TableDefaults","TextDefaults","TextInputDefaults","DialogDefaults","LoadingSpinnerDefaults","FileInputDefaults","BoxHeaderDefaults","DescriptionListDefaults","createComponents","providedComponents","components","defaultComponents","providedComponent","typedComponentName","creator"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2CA,SAASA,EAA4BC,GAA2BC,GAAuB;AACrF,SAAO,CAACC,MAAkE;AACxE,UAAMC,IAAmB,CAACC,MAAkB;AAC1C,YAAMC,IAAoBC,EAAqBF,GAAOJ,CAAQ;AAC9D,aAAOE,EAAgBG,CAAiB;AAAA,IAC1C;AACA,WAAAF,EAAiB,cAAc,mBAAmBF,CAAa,KACxDE;AAAA,EACT;AACF;AAGO,MAAMI,IAAoB;AAAA,EAC/B,OAAOR,EAAgCS,GAAe,OAAO;AAAA,EAC7D,OAAOT,EAAgCU,GAAe,OAAO;AAAA,EAC7D,QAAQV,EAAiCW,GAAgB,QAAQ;AAAA,EACjE,QAAQX,EAAiCY,GAAgB,QAAQ;AAAA,EACjE,YAAYZ,EAAqCa,GAAoB,YAAY;AAAA,EACjF,UAAUb,EAAmCc,GAAkB,UAAU;AAAA,EACzE,eAAed,EAAwCe,GAAuB,eAAe;AAAA,EAC7F,MAAMf,EAA+BgB,GAAc,MAAM;AAAA,EACzD,OAAOhB,EAAgCiB,GAAe,OAAO;AAAA,EAC7D,YAAYjB,EAAqCkB,GAAoB,YAAY;AAAA,EACjF,QAAQlB,EAAiCmB,GAAgB,QAAQ;AAAA,EACjE,OAAOnB,EAAgCoB,GAAe,OAAO;AAAA,EAC7D,MAAMpB,EAA+BqB,GAAc,MAAM;AAAA,EACzD,WAAWrB,EAAoCsB,GAAmB,WAAW;AAAA,EAC7E,QAAQtB,EAAiCuB,GAAgB,QAAQ;AAAA,EACjE,gBAAgBvB;AAAA,IACdwB;AAAA,IACA;AAAA,EAAA;AAAA,EAEF,WAAWxB,EAAoCyB,GAAmB,WAAW;AAAA,EAC7E,WAAWzB,EAAoC0B,GAAmB,WAAW;AAAA,EAC7E,iBAAiB1B;AAAA,IACf2B;AAAA,IACA;AAAA,EAAA;AAEJ;AAQO,SAASC,EACdC,IAAqD,IAC9B;AACvB,QAAMC,IAAa,EAAE,GAAGC,EAAA;AAExB,aAAW,CAAC7B,GAAe8B,CAAiB,KAAK,OAAO,QAAQH,CAAkB,GAAG;AACnF,UAAMI,IAAqB/B;AAE3B,QAAIA,KAAiBM,GAAmB;AAEtC,YAAM0B,IAAU1B,EADGN,CACyB;AAE5C,MAAA4B,EAAWG,CAAkB,IAAIC,EAAQF,CAAwB;AAAA,IACnE;AAEE,MAAAF,EAAWG,CAAkB,IAAID;AAAA,EAErC;AAEA,SAAOF;AACT;"}
1
+ {"version":3,"file":"createComponentsWithDefaults.js","sources":["../../../src/contexts/ComponentAdapter/createComponentsWithDefaults.ts"],"sourcesContent":["import type { FunctionComponent } from 'react'\nimport type { ComponentsContextType } from './useComponentContext'\nimport { defaultComponents } from './adapters/defaultComponentAdapter'\nimport { applyMissingDefaults } from '@/helpers/applyMissingDefaults'\n// Import prop types and their defaults\nimport type { AlertProps } from '@/components/Common/UI/Alert/AlertTypes'\nimport { AlertDefaults } from '@/components/Common/UI/Alert/AlertTypes'\nimport type { BadgeProps } from '@/components/Common/UI/Badge/BadgeTypes'\nimport { BadgeDefaults } from '@/components/Common/UI/Badge/BadgeTypes'\nimport type { BannerProps } from '@/components/Common/UI/Banner/BannerTypes'\nimport { BannerDefaults } from '@/components/Common/UI/Banner/BannerTypes'\nimport type { ButtonProps, ButtonIconProps } from '@/components/Common/UI/Button/ButtonTypes'\nimport { ButtonDefaults, ButtonIconDefaults } from '@/components/Common/UI/Button/ButtonTypes'\nimport type { CheckboxProps } from '@/components/Common/UI/Checkbox/CheckboxTypes'\nimport { CheckboxDefaults } from '@/components/Common/UI/Checkbox/CheckboxTypes'\nimport type { CheckboxGroupProps } from '@/components/Common/UI/CheckboxGroup/CheckboxGroupTypes'\nimport { CheckboxGroupDefaults } from '@/components/Common/UI/CheckboxGroup/CheckboxGroupTypes'\nimport type { MenuProps } from '@/components/Common/UI/Menu/MenuTypes'\nimport { MenuDefaults } from '@/components/Common/UI/Menu/MenuTypes'\nimport type { RadioProps } from '@/components/Common/UI/Radio/RadioTypes'\nimport { RadioDefaults } from '@/components/Common/UI/Radio/RadioTypes'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport { RadioGroupDefaults } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport type { SwitchProps } from '@/components/Common/UI/Switch/SwitchTypes'\nimport { SwitchDefaults } from '@/components/Common/UI/Switch/SwitchTypes'\nimport type { TableProps } from '@/components/Common/UI/Table/TableTypes'\nimport { TableDefaults } from '@/components/Common/UI/Table/TableTypes'\nimport type { TextProps } from '@/components/Common/UI/Text/TextTypes'\nimport { TextDefaults } from '@/components/Common/UI/Text/TextTypes'\nimport type { TextInputProps } from '@/components/Common/UI/TextInput/TextInputTypes'\nimport { TextInputDefaults } from '@/components/Common/UI/TextInput/TextInputTypes'\nimport type { DialogProps } from '@/components/Common/UI/Dialog/DialogTypes'\nimport { DialogDefaults } from '@/components/Common/UI/Dialog/DialogTypes'\nimport type { LoadingSpinnerProps } from '@/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes'\nimport { LoadingSpinnerDefaults } from '@/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes'\nimport type { FileInputProps } from '@/components/Common/UI/FileInput/FileInputTypes'\nimport { FileInputDefaults } from '@/components/Common/UI/FileInput/FileInputTypes'\nimport type { BoxHeaderProps } from '@/components/Common/UI/BoxHeader/BoxHeaderTypes'\nimport { BoxHeaderDefaults } from '@/components/Common/UI/BoxHeader/BoxHeaderTypes'\nimport type { DescriptionListProps } from '@/components/Common/UI/DescriptionList/DescriptionListTypes'\nimport { DescriptionListDefaults } from '@/components/Common/UI/DescriptionList/DescriptionListTypes'\n\n/** @internal */\nfunction composeWithDefaults<TProps>(defaults: Partial<TProps>, componentName: string) {\n return (customComponent: FunctionComponent<TProps>) => {\n const wrappedComponent = (props: TProps) => {\n const propsWithDefaults = applyMissingDefaults(props, defaults)\n return customComponent(propsWithDefaults)\n }\n wrappedComponent.displayName = `withAutoDefault(${componentName})`\n return wrappedComponent\n }\n}\n\n/** @internal */\nexport const componentCreators = {\n Alert: composeWithDefaults<AlertProps>(AlertDefaults, 'Alert'),\n Badge: composeWithDefaults<BadgeProps>(BadgeDefaults, 'Badge'),\n Banner: composeWithDefaults<BannerProps>(BannerDefaults, 'Banner'),\n Button: composeWithDefaults<ButtonProps>(ButtonDefaults, 'Button'),\n ButtonIcon: composeWithDefaults<ButtonIconProps>(ButtonIconDefaults, 'ButtonIcon'),\n Checkbox: composeWithDefaults<CheckboxProps>(CheckboxDefaults, 'Checkbox'),\n CheckboxGroup: composeWithDefaults<CheckboxGroupProps>(CheckboxGroupDefaults, 'CheckboxGroup'),\n Menu: composeWithDefaults<MenuProps>(MenuDefaults, 'Menu'),\n Radio: composeWithDefaults<RadioProps>(RadioDefaults, 'Radio'),\n RadioGroup: composeWithDefaults<RadioGroupProps>(RadioGroupDefaults, 'RadioGroup'),\n Switch: composeWithDefaults<SwitchProps>(SwitchDefaults, 'Switch'),\n Table: composeWithDefaults<TableProps>(TableDefaults, 'Table'),\n Text: composeWithDefaults<TextProps>(TextDefaults, 'Text'),\n TextInput: composeWithDefaults<TextInputProps>(TextInputDefaults, 'TextInput'),\n Dialog: composeWithDefaults<DialogProps>(DialogDefaults, 'Dialog'),\n LoadingSpinner: composeWithDefaults<LoadingSpinnerProps>(\n LoadingSpinnerDefaults,\n 'LoadingSpinner',\n ),\n FileInput: composeWithDefaults<FileInputProps>(FileInputDefaults, 'FileInput'),\n BoxHeader: composeWithDefaults<BoxHeaderProps>(BoxHeaderDefaults, 'BoxHeader'),\n DescriptionList: composeWithDefaults<DescriptionListProps>(\n DescriptionListDefaults,\n 'DescriptionList',\n ),\n} as const\n\n/**\n * Creates components with automatic default prop handling.\n * Supports both partial (GustoProvider) and full (GustoProviderCustomUIAdapter) component sets.\n *\n * @internal\n */\nexport function createComponents(\n providedComponents: Partial<ComponentsContextType> = {},\n): ComponentsContextType {\n const components = { ...defaultComponents }\n\n for (const [componentName, providedComponent] of Object.entries(providedComponents)) {\n const typedComponentName = componentName as keyof ComponentsContextType\n\n if (componentName in componentCreators) {\n const creatorKey = componentName as keyof typeof componentCreators\n const creator = componentCreators[creatorKey]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n components[typedComponentName] = creator(providedComponent as any) as any\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n components[typedComponentName] = providedComponent as any\n }\n }\n\n return components\n}\n"],"names":["composeWithDefaults","defaults","componentName","customComponent","wrappedComponent","props","propsWithDefaults","applyMissingDefaults","componentCreators","AlertDefaults","BadgeDefaults","BannerDefaults","ButtonDefaults","ButtonIconDefaults","CheckboxDefaults","CheckboxGroupDefaults","MenuDefaults","RadioDefaults","RadioGroupDefaults","SwitchDefaults","TableDefaults","TextDefaults","TextInputDefaults","DialogDefaults","LoadingSpinnerDefaults","FileInputDefaults","BoxHeaderDefaults","DescriptionListDefaults","createComponents","providedComponents","components","defaultComponents","providedComponent","typedComponentName","creator"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2CA,SAASA,EAA4BC,GAA2BC,GAAuB;AACrF,SAAO,CAACC,MAA+C;AACrD,UAAMC,IAAmB,CAACC,MAAkB;AAC1C,YAAMC,IAAoBC,EAAqBF,GAAOJ,CAAQ;AAC9D,aAAOE,EAAgBG,CAAiB;AAAA,IAC1C;AACA,WAAAF,EAAiB,cAAc,mBAAmBF,CAAa,KACxDE;AAAA,EACT;AACF;AAGO,MAAMI,IAAoB;AAAA,EAC/B,OAAOR,EAAgCS,GAAe,OAAO;AAAA,EAC7D,OAAOT,EAAgCU,GAAe,OAAO;AAAA,EAC7D,QAAQV,EAAiCW,GAAgB,QAAQ;AAAA,EACjE,QAAQX,EAAiCY,GAAgB,QAAQ;AAAA,EACjE,YAAYZ,EAAqCa,GAAoB,YAAY;AAAA,EACjF,UAAUb,EAAmCc,GAAkB,UAAU;AAAA,EACzE,eAAed,EAAwCe,GAAuB,eAAe;AAAA,EAC7F,MAAMf,EAA+BgB,GAAc,MAAM;AAAA,EACzD,OAAOhB,EAAgCiB,GAAe,OAAO;AAAA,EAC7D,YAAYjB,EAAqCkB,GAAoB,YAAY;AAAA,EACjF,QAAQlB,EAAiCmB,GAAgB,QAAQ;AAAA,EACjE,OAAOnB,EAAgCoB,GAAe,OAAO;AAAA,EAC7D,MAAMpB,EAA+BqB,GAAc,MAAM;AAAA,EACzD,WAAWrB,EAAoCsB,GAAmB,WAAW;AAAA,EAC7E,QAAQtB,EAAiCuB,GAAgB,QAAQ;AAAA,EACjE,gBAAgBvB;AAAA,IACdwB;AAAA,IACA;AAAA,EAAA;AAAA,EAEF,WAAWxB,EAAoCyB,GAAmB,WAAW;AAAA,EAC7E,WAAWzB,EAAoC0B,GAAmB,WAAW;AAAA,EAC7E,iBAAiB1B;AAAA,IACf2B;AAAA,IACA;AAAA,EAAA;AAEJ;AAQO,SAASC,EACdC,IAAqD,IAC9B;AACvB,QAAMC,IAAa,EAAE,GAAGC,EAAA;AAExB,aAAW,CAAC7B,GAAe8B,CAAiB,KAAK,OAAO,QAAQH,CAAkB,GAAG;AACnF,UAAMI,IAAqB/B;AAE3B,QAAIA,KAAiBM,GAAmB;AAEtC,YAAM0B,IAAU1B,EADGN,CACyB;AAE5C,MAAA4B,EAAWG,CAAkB,IAAIC,EAAQF,CAAwB;AAAA,IACnE;AAEE,MAAAF,EAAWG,CAAkB,IAAID;AAAA,EAErC;AAEA,SAAOF;AACT;"}