@gusto/embedded-react-sdk 0.37.0 → 0.38.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +3 -0
  3. package/dist/UNSTABLE_Hooks.d.ts +1 -1
  4. package/dist/UNSTABLE_Hooks.js +34 -38
  5. package/dist/UNSTABLE_Hooks.js.map +1 -1
  6. package/dist/assets/icons/filter-funnel.svg.js +10 -0
  7. package/dist/assets/icons/filter-funnel.svg.js.map +1 -0
  8. package/dist/components/Base/Base.js +2 -3
  9. package/dist/components/Base/Base.js.map +1 -1
  10. package/dist/components/Base/createCompoundContext.js.map +1 -1
  11. package/dist/components/Common/DataView/DataCards/DataCards.js +42 -36
  12. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  13. package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
  14. package/dist/components/Common/DataView/DataTable/DataTable.js +77 -68
  15. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  16. package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +17 -0
  17. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +100 -0
  18. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -0
  19. package/dist/components/Common/DateRangeFilter/DateRangeFilter.module.scss.js +10 -0
  20. package/dist/components/Common/DateRangeFilter/DateRangeFilter.module.scss.js.map +1 -0
  21. package/dist/components/Common/DetailViewLayout/DetailViewLayout.d.ts +2 -0
  22. package/dist/components/Common/DetailViewLayout/DetailViewLayoutTypes.d.ts +40 -0
  23. package/dist/components/Common/DetailViewLayout/index.d.ts +3 -0
  24. package/dist/components/Common/EmptyData/EmptyData.d.ts +2 -1
  25. package/dist/components/Common/EmptyData/EmptyData.js +15 -13
  26. package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
  27. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +6 -4
  28. package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
  29. package/dist/components/Common/Fields/CheckboxField/CheckboxField.js +26 -24
  30. package/dist/components/Common/Fields/CheckboxField/CheckboxField.js.map +1 -1
  31. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.d.ts +1 -1
  32. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.js +32 -30
  33. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  34. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.d.ts +1 -1
  35. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js +36 -34
  36. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js.map +1 -1
  37. package/dist/components/Common/Fields/DatePickerField/DatePickerField.d.ts +1 -1
  38. package/dist/components/Common/Fields/DatePickerField/DatePickerField.js +40 -38
  39. package/dist/components/Common/Fields/DatePickerField/DatePickerField.js.map +1 -1
  40. package/dist/components/Common/Fields/FileInputField/FileInputField.js +24 -22
  41. package/dist/components/Common/Fields/FileInputField/FileInputField.js.map +1 -1
  42. package/dist/components/Common/Fields/MultiSelectComboBoxField/MultiSelectComboBoxField.js +24 -22
  43. package/dist/components/Common/Fields/MultiSelectComboBoxField/MultiSelectComboBoxField.js.map +1 -1
  44. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +27 -25
  45. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  46. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.d.ts +1 -1
  47. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js +34 -32
  48. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
  49. package/dist/components/Common/Fields/SelectField/SelectField.d.ts +1 -1
  50. package/dist/components/Common/Fields/SelectField/SelectField.js +34 -32
  51. package/dist/components/Common/Fields/SelectField/SelectField.js.map +1 -1
  52. package/dist/components/Common/Fields/SwitchField/SwitchField.js +26 -24
  53. package/dist/components/Common/Fields/SwitchField/SwitchField.js.map +1 -1
  54. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js +24 -22
  55. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js.map +1 -1
  56. package/dist/components/Common/Fields/TextInputField/TextInputField.js +26 -24
  57. package/dist/components/Common/Fields/TextInputField/TextInputField.js.map +1 -1
  58. package/dist/components/Common/Fields/hooks/useField.d.ts +3 -2
  59. package/dist/components/Common/Fields/hooks/useField.js +37 -33
  60. package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
  61. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js +21 -20
  62. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  63. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +5 -0
  64. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +1 -1
  65. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +10 -8
  66. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  67. package/dist/components/Common/ReorderableList/ReorderableList.js.map +1 -1
  68. package/dist/components/Common/SignatureForm/SignatureForm.js +10 -15
  69. package/dist/components/Common/SignatureForm/SignatureForm.js.map +1 -1
  70. package/dist/components/Common/SignatureForm/SignatureFormActions.js +10 -14
  71. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +1 -1
  72. package/dist/components/Common/SignatureForm/SignatureFormFields.js +14 -19
  73. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +1 -1
  74. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +17 -17
  75. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js.map +1 -1
  76. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +5 -0
  77. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
  78. package/dist/components/Common/UI/Button/Button.js +33 -29
  79. package/dist/components/Common/UI/Button/Button.js.map +1 -1
  80. package/dist/components/Common/UI/Button/Button.module.scss.js +5 -3
  81. package/dist/components/Common/UI/Button/Button.module.scss.js.map +1 -1
  82. package/dist/components/Common/UI/Button/ButtonTypes.d.ts +4 -0
  83. package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
  84. package/dist/components/Common/UI/DatePicker/DatePicker.d.ts +1 -1
  85. package/dist/components/Common/UI/DatePicker/DatePicker.js +88 -69
  86. package/dist/components/Common/UI/DatePicker/DatePicker.js.map +1 -1
  87. package/dist/components/Common/UI/DatePicker/DatePickerTypes.d.ts +13 -0
  88. package/dist/components/Common/UI/DateRangePicker/DateRangePicker.d.ts +2 -0
  89. package/dist/components/Common/UI/DateRangePicker/DateRangePicker.js +74 -0
  90. package/dist/components/Common/UI/DateRangePicker/DateRangePicker.js.map +1 -0
  91. package/dist/components/Common/UI/DateRangePicker/DateRangePicker.module.scss.js +30 -0
  92. package/dist/components/Common/UI/DateRangePicker/DateRangePicker.module.scss.js.map +1 -0
  93. package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +14 -0
  94. package/dist/components/Common/UI/DateRangePicker/index.d.ts +2 -0
  95. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +2 -2
  96. package/dist/components/Common/UI/Heading/Heading.d.ts +1 -1
  97. package/dist/components/Common/UI/Heading/Heading.js +11 -9
  98. package/dist/components/Common/UI/Heading/Heading.js.map +1 -1
  99. package/dist/components/Common/UI/Heading/HeadingTypes.d.ts +1 -1
  100. package/dist/components/Common/UI/Menu/Menu.module.scss.js +5 -5
  101. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +94 -80
  102. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  103. package/dist/components/Common/UI/NumberInput/NumberInput.js +1 -1
  104. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  105. package/dist/components/Common/index.d.ts +2 -0
  106. package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -11
  107. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  108. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -10
  109. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  110. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -11
  111. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  112. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +6 -9
  113. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  114. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +13 -14
  115. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  116. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -5
  117. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  118. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -9
  119. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  120. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -8
  121. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  122. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +13 -14
  123. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  124. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -5
  125. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  126. package/dist/components/Company/AssignSignatory/TitleSelect.js +2 -5
  127. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  128. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -7
  129. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  130. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -11
  131. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  132. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -13
  133. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  134. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -5
  135. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  136. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +10 -13
  137. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  138. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +12 -15
  139. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  140. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -8
  141. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  142. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -8
  143. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  144. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -15
  145. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  146. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  147. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  148. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +11 -15
  149. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  150. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -5
  151. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  152. package/dist/components/Company/FederalTaxes/Actions.js +8 -11
  153. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  154. package/dist/components/Company/FederalTaxes/FederalTaxes.js +15 -19
  155. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  156. package/dist/components/Company/FederalTaxes/Form.js +6 -8
  157. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  158. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -10
  159. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  160. package/dist/components/Company/Industry/Actions.js +8 -11
  161. package/dist/components/Company/Industry/Actions.js.map +1 -1
  162. package/dist/components/Company/Industry/Context.js +6 -8
  163. package/dist/components/Company/Industry/Context.js.map +1 -1
  164. package/dist/components/Company/Industry/Edit.js +10 -14
  165. package/dist/components/Company/Industry/Edit.js.map +1 -1
  166. package/dist/components/Company/Locations/LocationForm/Actions.js +8 -11
  167. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  168. package/dist/components/Company/Locations/LocationForm/Form.js +5 -7
  169. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  170. package/dist/components/Company/Locations/LocationForm/LocationForm.js +15 -19
  171. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  172. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -5
  173. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  174. package/dist/components/Company/Locations/LocationsList/Actions.js +6 -9
  175. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  176. package/dist/components/Company/Locations/LocationsList/List.js +17 -19
  177. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  178. package/dist/components/Company/Locations/LocationsList/LocationsList.js +6 -10
  179. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  180. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -5
  181. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  182. package/dist/components/Company/OnboardingOverview/Completed.js +12 -15
  183. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  184. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -12
  185. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  186. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +6 -10
  187. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  188. package/dist/components/Company/OnboardingOverview/context.js +3 -5
  189. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  190. package/dist/components/Company/PaySchedule/PaySchedule.js +59 -59
  191. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  192. package/dist/components/Company/PaySchedule/_parts/Actions.js +16 -19
  193. package/dist/components/Company/PaySchedule/_parts/Actions.js.map +1 -1
  194. package/dist/components/Company/PaySchedule/_parts/Edit.js +36 -33
  195. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  196. package/dist/components/Company/PaySchedule/_parts/Head.js +11 -14
  197. package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
  198. package/dist/components/Company/PaySchedule/_parts/List.js +19 -21
  199. package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
  200. package/dist/components/Company/PaySchedule/usePaySchedule.d.ts +2 -0
  201. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -7
  202. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  203. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +5 -8
  204. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  205. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  206. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -5
  207. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  208. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -9
  209. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  210. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +5 -8
  211. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  212. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -5
  213. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  214. package/dist/components/Contractor/Address/Address.js +3 -7
  215. package/dist/components/Contractor/Address/Address.js.map +1 -1
  216. package/dist/components/Contractor/Address/Form.js +6 -8
  217. package/dist/components/Contractor/Address/Form.js.map +1 -1
  218. package/dist/components/Contractor/Address/useAddress.js +5 -7
  219. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  220. package/dist/components/Contractor/ContractorList/index.js +33 -34
  221. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  222. package/dist/components/Contractor/NewHireReport/NewHireReport.js +2 -3
  223. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  224. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +10 -14
  225. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  226. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +2 -3
  227. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  228. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +2 -5
  229. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
  230. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +135 -126
  231. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  232. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +2 -1
  233. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +31 -30
  234. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  235. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +10 -10
  236. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +2 -1
  237. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +18 -21
  238. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  239. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +2 -1
  240. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +3 -4
  241. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  242. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +17 -19
  243. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  244. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +6 -8
  245. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  246. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +2 -4
  247. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  248. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -5
  249. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  250. package/dist/components/Contractor/Profile/ContractorProfileForm.js +13 -13
  251. package/dist/components/Contractor/Profile/useContractorProfile.js +31 -31
  252. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  253. package/dist/components/Contractor/Submit/Submit.d.ts +2 -2
  254. package/dist/components/Contractor/Submit/Submit.js +44 -46
  255. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  256. package/dist/components/Employee/Compensation/Actions.js +12 -14
  257. package/dist/components/Employee/Compensation/Actions.js.map +1 -1
  258. package/dist/components/Employee/Compensation/Compensation.js +49 -49
  259. package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
  260. package/dist/components/Employee/Compensation/Edit.js +27 -28
  261. package/dist/components/Employee/Compensation/Edit.js.map +1 -1
  262. package/dist/components/Employee/Compensation/List.js +23 -25
  263. package/dist/components/Employee/Compensation/List.js.map +1 -1
  264. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +57 -54
  265. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  266. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +17 -19
  267. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  268. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  269. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +11 -13
  270. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  271. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +18 -19
  272. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js.map +1 -1
  273. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +6 -7
  274. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
  275. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +6 -9
  276. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
  277. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +10 -14
  278. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  279. package/dist/components/Employee/DocumentSigner/DocumentList/List.js +2 -6
  280. package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
  281. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -5
  282. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  283. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +24 -26
  284. package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
  285. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +9 -11
  286. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  287. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +11 -15
  288. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  289. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -5
  290. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  291. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js +6 -9
  292. package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  293. package/dist/components/Employee/EmployeeList/EmployeeList.d.ts +2 -5
  294. package/dist/components/Employee/EmployeeList/EmployeeList.js +45 -95
  295. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  296. package/dist/components/Employee/EmployeeList/EmployeeListView.d.ts +15 -0
  297. package/dist/components/Employee/EmployeeList/EmployeeListView.js +130 -0
  298. package/dist/components/Employee/EmployeeList/EmployeeListView.js.map +1 -0
  299. package/dist/components/Employee/EmployeeList/ManagementEmployeeList.d.ts +9 -0
  300. package/dist/components/Employee/EmployeeList/ManagementEmployeeList.js +81 -0
  301. package/dist/components/Employee/EmployeeList/ManagementEmployeeList.js.map +1 -0
  302. package/dist/components/Employee/EmployeeList/ManagementEmployeeListView.d.ts +17 -0
  303. package/dist/components/Employee/EmployeeList/ManagementEmployeeListView.js +193 -0
  304. package/dist/components/Employee/EmployeeList/ManagementEmployeeListView.js.map +1 -0
  305. package/dist/components/Employee/EmployeeList/index.d.ts +3 -0
  306. package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +36 -23
  307. package/dist/components/Employee/EmployeeList/useEmployeeList.js +114 -19
  308. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  309. package/dist/components/Employee/FederalTaxes/Actions.js +7 -10
  310. package/dist/components/Employee/FederalTaxes/Actions.js.map +1 -1
  311. package/dist/components/Employee/FederalTaxes/FederalForm.js +10 -13
  312. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  313. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -5
  314. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  315. package/dist/components/Employee/Landing/Landing.js +14 -15
  316. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  317. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +4 -4
  318. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  319. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -0
  320. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +14 -8
  321. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  322. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +10 -11
  323. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  324. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
  325. package/dist/components/Employee/PaymentMethod/Actions.js +8 -11
  326. package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
  327. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +5 -8
  328. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js.map +1 -1
  329. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +13 -14
  330. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  331. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +44 -43
  332. package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
  333. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +7 -10
  334. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js.map +1 -1
  335. package/dist/components/Employee/PaymentMethod/Split.js +9 -10
  336. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  337. package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +1 -0
  338. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -7
  339. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  340. package/dist/components/Employee/Profile/Actions.js +8 -11
  341. package/dist/components/Employee/Profile/Actions.js.map +1 -1
  342. package/dist/components/Employee/Profile/AdminPersonalDetails.js +14 -17
  343. package/dist/components/Employee/Profile/AdminPersonalDetails.js.map +1 -1
  344. package/dist/components/Employee/Profile/HomeAddress.js +9 -10
  345. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  346. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +10 -13
  347. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  348. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  349. package/dist/components/Employee/Profile/useProfile.js +3 -5
  350. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  351. package/dist/components/Employee/StateTaxes/Actions.js +8 -11
  352. package/dist/components/Employee/StateTaxes/Actions.js.map +1 -1
  353. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -5
  354. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  355. package/dist/components/Employee/Taxes/Actions.js +8 -11
  356. package/dist/components/Employee/Taxes/Actions.js.map +1 -1
  357. package/dist/components/Employee/Taxes/FederalForm.js +10 -13
  358. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  359. package/dist/components/Employee/Taxes/useTaxes.js +3 -5
  360. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  361. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +48 -48
  362. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  363. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +14 -17
  364. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  365. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -0
  366. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +37 -33
  367. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  368. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +1 -0
  369. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +57 -45
  370. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  371. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +8 -11
  372. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  373. package/dist/components/Employee/index.d.ts +1 -0
  374. package/dist/components/Employee/index.js +38 -36
  375. package/dist/components/Employee/index.js.map +1 -1
  376. package/dist/components/Flow/Flow.js +20 -23
  377. package/dist/components/Flow/Flow.js.map +1 -1
  378. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +16 -18
  379. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  380. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +18 -20
  381. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  382. package/dist/components/InformationRequests/InformationRequests.js +3 -4
  383. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  384. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  385. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +8 -10
  386. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  387. package/dist/components/Payroll/Dismissal/DismissalFlow.js +14 -14
  388. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  389. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +2 -2
  390. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +21 -20
  391. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  392. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +2 -1
  393. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +57 -55
  394. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  395. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +8 -11
  396. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  397. package/dist/components/Payroll/GrossUpModal/GrossUpModal.d.ts +1 -1
  398. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +85 -75
  399. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  400. package/dist/components/Payroll/GrossUpModal/GrossUpModal.module.scss.js +7 -7
  401. package/dist/components/Payroll/GrossUpModal/GrossUpModalTypes.d.ts +0 -1
  402. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +1 -1
  403. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +24 -18
  404. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  405. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +2 -0
  406. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +28 -22
  407. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  408. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +92 -84
  409. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  410. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +30 -32
  411. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  412. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +18 -26
  413. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  414. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts +1 -1
  415. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js +21 -21
  416. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
  417. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +3 -3
  418. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +13 -13
  419. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
  420. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +6 -9
  421. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  422. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +12 -14
  423. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  424. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +11 -14
  425. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  426. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +12 -12
  427. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +194 -190
  428. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  429. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +69 -69
  430. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  431. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -1
  432. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +102 -76
  433. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  434. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
  435. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +235 -238
  436. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  437. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +7 -7
  438. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +11 -0
  439. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +63 -30
  440. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  441. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +2 -1
  442. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +43 -41
  443. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  444. package/dist/components/Payroll/PayrollExecutionFlow/index.d.ts +1 -1
  445. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +1 -1
  446. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +62 -51
  447. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  448. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js +13 -6
  449. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -1
  450. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +22 -20
  451. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  452. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  453. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  454. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +35 -14
  455. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
  456. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +80 -69
  457. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  458. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +0 -1
  459. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +59 -66
  460. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  461. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +5 -4
  462. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +96 -105
  463. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  464. package/dist/components/Payroll/PayrollList/PayrollList.js +98 -64
  465. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  466. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +9 -1
  467. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +223 -123
  468. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  469. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +16 -12
  470. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
  471. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +106 -105
  472. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  473. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
  474. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +231 -222
  475. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  476. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +2 -1
  477. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +7 -10
  478. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  479. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +2 -3
  480. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  481. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -4
  482. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  483. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +11 -13
  484. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  485. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +2 -5
  486. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  487. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +1 -1
  488. package/dist/components/Payroll/Transition/TransitionFlow.js +29 -27
  489. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  490. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -0
  491. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  492. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +67 -63
  493. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  494. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +12 -14
  495. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
  496. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +1 -1
  497. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +5 -5
  498. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
  499. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +44 -55
  500. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
  501. package/dist/components/Payroll/helpers.d.ts +5 -0
  502. package/dist/components/Payroll/helpers.js +81 -74
  503. package/dist/components/Payroll/helpers.js.map +1 -1
  504. package/dist/components/Payroll/usePreparedPayrollData.js +2 -4
  505. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  506. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.d.ts +2 -2
  507. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js +6 -9
  508. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js.map +1 -1
  509. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.d.ts +1 -1
  510. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.js.map +1 -1
  511. package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.d.ts +1 -2
  512. package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.js.map +1 -1
  513. package/dist/components/UNSTABLE_Hooks/form/buildFormSchema.d.ts +48 -0
  514. package/dist/components/UNSTABLE_Hooks/form/buildFormSchema.js +94 -0
  515. package/dist/components/UNSTABLE_Hooks/form/buildFormSchema.js.map +1 -0
  516. package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.d.ts +2 -2
  517. package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.js.map +1 -1
  518. package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.d.ts +3 -2
  519. package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.js +24 -24
  520. package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.js.map +1 -1
  521. package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.d.ts +3 -2
  522. package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.js +22 -17
  523. package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.js.map +1 -1
  524. package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.d.ts +3 -2
  525. package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.js +31 -31
  526. package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.js.map +1 -1
  527. package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.d.ts +3 -2
  528. package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.js +27 -27
  529. package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.js.map +1 -1
  530. package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.d.ts +3 -2
  531. package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.js +28 -28
  532. package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.js.map +1 -1
  533. package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.d.ts +3 -2
  534. package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.js +24 -24
  535. package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.js.map +1 -1
  536. package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.d.ts +5 -4
  537. package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.js +30 -30
  538. package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.js.map +1 -1
  539. package/dist/components/UNSTABLE_Hooks/form/getFieldWithOptions.d.ts +1 -1
  540. package/dist/components/UNSTABLE_Hooks/form/getFieldWithOptions.js.map +1 -1
  541. package/dist/components/UNSTABLE_Hooks/form/index.d.ts +5 -2
  542. package/dist/components/UNSTABLE_Hooks/form/preprocessors.d.ts +3 -0
  543. package/dist/components/UNSTABLE_Hooks/form/preprocessors.js +15 -0
  544. package/dist/components/UNSTABLE_Hooks/form/preprocessors.js.map +1 -0
  545. package/dist/components/UNSTABLE_Hooks/form/resolveFieldError.d.ts +4 -0
  546. package/dist/components/UNSTABLE_Hooks/form/resolveFieldError.js +13 -0
  547. package/dist/components/UNSTABLE_Hooks/form/resolveFieldError.js.map +1 -0
  548. package/dist/components/UNSTABLE_Hooks/form/useDeriveFieldsMetadata.d.ts +17 -0
  549. package/dist/components/UNSTABLE_Hooks/form/useDeriveFieldsMetadata.js +21 -0
  550. package/dist/components/UNSTABLE_Hooks/form/useDeriveFieldsMetadata.js.map +1 -0
  551. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.d.ts +1 -1
  552. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js +6 -6
  553. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js.map +1 -1
  554. package/dist/components/UNSTABLE_Hooks/form/useHookFieldResolution.d.ts +22 -0
  555. package/dist/components/UNSTABLE_Hooks/form/useHookFieldResolution.js +11 -0
  556. package/dist/components/UNSTABLE_Hooks/form/useHookFieldResolution.js.map +1 -0
  557. package/dist/components/UNSTABLE_Hooks/form/withOptions.d.ts +1 -1
  558. package/dist/components/UNSTABLE_Hooks/form/withOptions.js.map +1 -1
  559. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/CompensationForm.js +7 -9
  560. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/CompensationForm.js.map +1 -1
  561. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.d.ts +48 -42
  562. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.js +48 -79
  563. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.js.map +1 -1
  564. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchemaParity.test.d.ts +1 -0
  565. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/fields.d.ts +2 -2
  566. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/fields.js.map +1 -1
  567. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/index.d.ts +2 -2
  568. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.d.ts +13 -15
  569. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js +109 -110
  570. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js.map +1 -1
  571. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/EmployeeDetailsForm.js +17 -19
  572. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/EmployeeDetailsForm.js.map +1 -1
  573. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +13 -4
  574. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.js +31 -25
  575. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
  576. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.d.ts +5 -4
  577. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.js +27 -27
  578. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.js.map +1 -1
  579. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/index.d.ts +1 -1
  580. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +8 -22
  581. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.js +81 -84
  582. package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  583. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/WorkAddressForm.js +16 -18
  584. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/WorkAddressForm.js.map +1 -1
  585. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/fields.d.ts +1 -1
  586. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/fields.js.map +1 -1
  587. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/index.d.ts +1 -1
  588. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.d.ts +9 -10
  589. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.js +85 -83
  590. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  591. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.d.ts +8 -4
  592. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.js +18 -17
  593. package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.js.map +1 -1
  594. package/dist/components/UNSTABLE_Hooks/index.d.ts +7 -7
  595. package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +5 -0
  596. package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +46 -0
  597. package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -0
  598. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +5 -0
  599. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +46 -0
  600. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -0
  601. package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +5 -0
  602. package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +88 -0
  603. package/dist/components/UNSTABLE_TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -0
  604. package/dist/components/UNSTABLE_TimeOff/PolicyDetailsForm/PolicyDetailsForm.d.ts +6 -0
  605. package/dist/components/UNSTABLE_TimeOff/PolicyDetailsForm/PolicyDetailsForm.js +50 -0
  606. package/dist/components/UNSTABLE_TimeOff/PolicyDetailsForm/PolicyDetailsForm.js.map +1 -0
  607. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyList.d.ts +5 -0
  608. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyList.js +73 -0
  609. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyList.js.map +1 -0
  610. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.d.ts +2 -0
  611. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.js +122 -0
  612. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.js.map +1 -0
  613. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.module.scss.js +8 -0
  614. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListPresentation.module.scss.js.map +1 -0
  615. package/dist/components/UNSTABLE_TimeOff/PolicyList/PolicyListTypes.d.ts +17 -0
  616. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.d.ts +5 -0
  617. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js +46 -0
  618. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js.map +1 -0
  619. package/dist/components/UNSTABLE_TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +5 -0
  620. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlow.d.ts +2 -0
  621. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlow.js +25 -0
  622. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -0
  623. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +29 -0
  624. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js +103 -0
  625. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -0
  626. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/index.d.ts +3 -0
  627. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +14 -0
  628. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js +290 -0
  629. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -0
  630. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.test.d.ts +1 -0
  631. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectHolidays/SelectHolidaysPresentation.d.ts +2 -0
  632. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectHolidays/SelectHolidaysPresentation.js +55 -0
  633. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectHolidays/SelectHolidaysPresentation.js.map +1 -0
  634. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectHolidays/SelectHolidaysTypes.d.ts +25 -0
  635. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectHolidays/index.d.ts +3 -0
  636. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyType.d.ts +7 -0
  637. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyType.js +27 -0
  638. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyType.js.map +1 -0
  639. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyTypePresentation.d.ts +2 -0
  640. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyTypePresentation.js +66 -0
  641. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyTypePresentation.js.map +1 -0
  642. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/SelectPolicyTypeTypes.d.ts +6 -0
  643. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectPolicyType/index.d.ts +5 -0
  644. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/shared/EmployeeTable/EmployeeTable.d.ts +2 -0
  645. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/shared/EmployeeTable/EmployeeTableTypes.d.ts +26 -0
  646. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/shared/EmployeeTable/index.d.ts +4 -0
  647. package/dist/components/UNSTABLE_TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +5 -0
  648. package/dist/components/UNSTABLE_TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js +35 -0
  649. package/dist/components/UNSTABLE_TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -0
  650. package/dist/components/UNSTABLE_TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +5 -0
  651. package/dist/components/UNSTABLE_TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js +35 -0
  652. package/dist/components/UNSTABLE_TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -0
  653. package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.d.ts +5 -0
  654. package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.js +35 -0
  655. package/dist/components/UNSTABLE_TimeOff/ViewPolicyDetails/ViewPolicyDetails.js.map +1 -0
  656. package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.d.ts +5 -0
  657. package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.js +35 -0
  658. package/dist/components/UNSTABLE_TimeOff/ViewPolicyEmployees/ViewPolicyEmployees.js.map +1 -0
  659. package/dist/components/UNSTABLE_TimeOff/index.d.ts +25 -0
  660. package/dist/components/UNSTABLE_TimeOff/index.js +27 -0
  661. package/dist/components/UNSTABLE_TimeOff/index.js.map +1 -0
  662. package/dist/components/index.d.ts +1 -0
  663. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +48 -46
  664. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  665. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  666. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  667. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +10 -13
  668. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  669. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.d.ts +10 -2
  670. package/dist/contexts/LoadingIndicatorProvider/useLoadingIndicator.js.map +1 -1
  671. package/dist/contexts/ThemeProvider/useTheme.js.map +1 -1
  672. package/dist/helpers/breadcrumbHelpers.d.ts +14 -0
  673. package/dist/helpers/breadcrumbHelpers.js +35 -26
  674. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  675. package/dist/{components/UNSTABLE_Hooks → helpers}/collectErrors.d.ts +1 -1
  676. package/dist/{components/UNSTABLE_Hooks → helpers}/collectErrors.js +1 -1
  677. package/dist/helpers/collectErrors.js.map +1 -0
  678. package/dist/hooks/useCompanyPaymentSpeed.d.ts +6 -0
  679. package/dist/hooks/useCompanyPaymentSpeed.js +19 -0
  680. package/dist/hooks/useCompanyPaymentSpeed.js.map +1 -0
  681. package/dist/hooks/useCompanyPaymentSpeed.test.d.ts +1 -0
  682. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.d.ts +20 -0
  683. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js +38 -0
  684. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js.map +1 -0
  685. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.test.d.ts +1 -0
  686. package/dist/{components/UNSTABLE_Hooks → hooks}/useErrorHandling.d.ts +2 -2
  687. package/dist/{components/UNSTABLE_Hooks → hooks}/useErrorHandling.js +1 -1
  688. package/dist/hooks/useErrorHandling.js.map +1 -0
  689. package/dist/hooks/useErrorHandling.test.d.ts +1 -0
  690. package/dist/hooks/usePagination/usePagination.d.ts +2 -0
  691. package/dist/hooks/usePagination/usePagination.js +32 -29
  692. package/dist/hooks/usePagination/usePagination.js.map +1 -1
  693. package/dist/i18n/I18n.js +24 -24
  694. package/dist/i18n/I18n.js.map +1 -1
  695. package/dist/i18n/en/Company.PaySchedule.json.js +6 -6
  696. package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js +24 -0
  697. package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js.map +1 -0
  698. package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +32 -0
  699. package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js.map +1 -0
  700. package/dist/i18n/en/Company.TimeOff.HolidayPolicy.json.js +26 -0
  701. package/dist/i18n/en/Company.TimeOff.HolidayPolicy.json.js.map +1 -0
  702. package/dist/i18n/en/Company.TimeOff.SelectPolicyType.json.js +28 -0
  703. package/dist/i18n/en/Company.TimeOff.SelectPolicyType.json.js.map +1 -0
  704. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +38 -0
  705. package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -0
  706. package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +52 -0
  707. package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js.map +1 -0
  708. package/dist/i18n/en/Company.TimeOff.TimeOffRequests.json.js +21 -0
  709. package/dist/i18n/en/Company.TimeOff.TimeOffRequests.json.js.map +1 -0
  710. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +36 -34
  711. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -1
  712. package/dist/i18n/en/Employee.EmployeeList.json.js +22 -20
  713. package/dist/i18n/en/Employee.EmployeeList.json.js.map +1 -1
  714. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +40 -0
  715. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -0
  716. package/dist/i18n/en/Payroll.GrossUpModal.json.js +16 -14
  717. package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
  718. package/dist/i18n/en/Payroll.OffCycle.json.js +1 -1
  719. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +5 -5
  720. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +5 -5
  721. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +38 -34
  722. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
  723. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +29 -25
  724. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  725. package/dist/i18n/en/Payroll.PayrollHistory.json.js +12 -12
  726. package/dist/i18n/en/Payroll.PayrollList.json.js +28 -20
  727. package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -1
  728. package/dist/i18n/en/Payroll.PayrollOverview.json.js +64 -58
  729. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  730. package/dist/i18n/en/Payroll.TransitionCreation.json.js +9 -9
  731. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +8 -8
  732. package/dist/index.js +18 -16
  733. package/dist/index.js.map +1 -1
  734. package/dist/shared/constants.d.ts +46 -0
  735. package/dist/shared/constants.js +99 -74
  736. package/dist/shared/constants.js.map +1 -1
  737. package/dist/style.css +1 -1
  738. package/dist/types/i18next.d.ts +508 -12
  739. package/dist/{components/UNSTABLE_Hooks/types.d.ts → types/sdkHooks.d.ts} +28 -2
  740. package/docs/reference/endpoint-inventory.json +608 -418
  741. package/package.json +29 -20
  742. package/dist/components/Employee/EmployeeList/Actions.d.ts +0 -1
  743. package/dist/components/Employee/EmployeeList/Actions.js +0 -16
  744. package/dist/components/Employee/EmployeeList/Actions.js.map +0 -1
  745. package/dist/components/Employee/EmployeeList/Head.d.ts +0 -1
  746. package/dist/components/Employee/EmployeeList/Head.js +0 -15
  747. package/dist/components/Employee/EmployeeList/Head.js.map +0 -1
  748. package/dist/components/Employee/EmployeeList/List.d.ts +0 -2
  749. package/dist/components/Employee/EmployeeList/List.js +0 -125
  750. package/dist/components/Employee/EmployeeList/List.js.map +0 -1
  751. package/dist/components/Employee/EmployeeList/List.module.scss.js +0 -8
  752. package/dist/components/Employee/EmployeeList/List.module.scss.js.map +0 -1
  753. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.module.scss.js +0 -8
  754. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.module.scss.js.map +0 -1
  755. package/dist/components/UNSTABLE_Hooks/collectErrors.js.map +0 -1
  756. package/dist/components/UNSTABLE_Hooks/form/composeFormSchema.js +0 -24
  757. package/dist/components/UNSTABLE_Hooks/form/composeFormSchema.js.map +0 -1
  758. package/dist/components/UNSTABLE_Hooks/form/resolveRequiredFields.js +0 -14
  759. package/dist/components/UNSTABLE_Hooks/form/resolveRequiredFields.js.map +0 -1
  760. package/dist/components/UNSTABLE_Hooks/form/types.d.ts +0 -27
  761. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.d.ts +0 -4
  762. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js +0 -9
  763. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js.map +0 -1
  764. package/dist/components/UNSTABLE_Hooks/useErrorHandling.js.map +0 -1
  765. package/dist/helpers/requiredIf.js +0 -8
  766. package/dist/helpers/requiredIf.js.map +0 -1
  767. /package/dist/components/UNSTABLE_Hooks/{useErrorHandling.test.d.ts → form/buildFormSchema.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../src/components/Payroll/helpers.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { PayrollShowFixedCompensations } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayrollEmployeeCompensationsTypeFixedCompensations as FixedCompensations } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollFixedCompensationTypesType } from '@gusto/embedded-api/models/components/payrollfixedcompensationtypestype'\nimport { useCallback } from 'react'\nimport type { TFunction } from 'i18next'\nimport { useTranslation } from 'react-i18next'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { Compensation, MinimumWages } from '@gusto/embedded-api/models/components/compensation'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayrollType } from './PayrollList/types'\nimport { PayrollCategory, isOffCyclePayroll } from './payrollTypes'\nimport { formatPayRate } from '@/helpers/formattedStrings'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { COMPENSATION_NAME_REIMBURSEMENT, FlsaStatus } from '@/shared/constants'\nimport { MS_PER_HOUR } from '@/helpers/dateFormatting'\nconst REGULAR_HOURS_NAME = 'regular hours'\n\n// Utility to get the primary job from an employee\nexport const getPrimaryJob = (employee: Employee) => {\n return employee.jobs?.find(job => job.primary) || employee.jobs?.[0] || null\n}\n\nconst roundToSixDecimals = (value: number): number => {\n return Math.round(value * 1_000_000) / 1_000_000\n}\n\nconst roundToTwoDecimals = (value: number): number => {\n return Math.round(value * 100) / 100\n}\n\nconst isRegularHours = (compensationName: string): boolean => {\n return compensationName.toLowerCase() === REGULAR_HOURS_NAME\n}\n\nconst PAY_PERIOD_HOURS_MAPPINGS: Record<string, number> = {\n Daily: 8.0,\n 'Every week': 40.0,\n 'Every other week': 80.0,\n 'Twice per month': 86.666667,\n Monthly: 173.333333,\n Quarterly: 520.0,\n Semiannually: 1040.0,\n Annually: 2080.0,\n}\n\nexport const formatEmployeePayRate = ({\n employee,\n t,\n locale = 'en-US',\n}: {\n employee?: Employee\n t: TFunction\n locale?: string\n}) => {\n if (!employee?.jobs) {\n return null\n }\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return null\n }\n\n const jobCompensation = primaryJob.compensations[0]\n if (!jobCompensation) {\n return null\n }\n if (!jobCompensation.rate || parseFloat(jobCompensation.rate) === 0) {\n return null\n }\n\n const rate = parseFloat(jobCompensation.rate)\n const paymentUnit = jobCompensation.paymentUnit || 'Hour'\n\n return formatPayRate({ rate, paymentUnit, t, locale })\n}\n\nexport const useFormatEmployeePayRate = () => {\n const { t } = useTranslation('common')\n const { locale } = useLocale()\n\n return useCallback(\n (employee?: Employee) => {\n return formatEmployeePayRate({ employee, t, locale })\n },\n [t, locale],\n )\n}\n\nexport const getEmployeePayRateInfo = (employee: Employee | undefined) => {\n if (!employee?.jobs) {\n return null\n }\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return null\n }\n\n const jobCompensation = primaryJob.compensations[0]\n if (!jobCompensation) {\n return null\n }\n if (!jobCompensation.rate || parseFloat(jobCompensation.rate) === 0) {\n return null\n }\n\n const rate = parseFloat(jobCompensation.rate)\n const paymentUnit = jobCompensation.paymentUnit || 'Hour'\n\n return { rate, paymentUnit }\n}\n\nexport const getRegularHours = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.hourlyCompensations) return 0\n\n return compensation.hourlyCompensations\n .filter(hourlyCompensation => hourlyCompensation.name?.toLowerCase() === 'regular hours')\n .reduce((sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'), 0)\n}\n\nexport function getOvertimeHours(compensation: PayrollEmployeeCompensationsType) {\n if (!compensation.hourlyCompensations || compensation.excluded) {\n return 0\n }\n\n return compensation.hourlyCompensations\n .filter(hourlyCompensation => Number(hourlyCompensation.compensationMultiplier) > 1)\n .reduce((sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'), 0)\n}\n\nexport const getTotalPtoHours = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.paidTimeOff) {\n return 0\n }\n return compensation.paidTimeOff.reduce((sum, pto) => sum + parseFloat(pto.hours || '0'), 0)\n}\n\nexport const getAdditionalEarnings = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.fixedCompensations) {\n return 0\n }\n\n return compensation.fixedCompensations\n .filter(fixedCompensation => {\n const name = fixedCompensation.name?.toLowerCase() || ''\n const amount = parseFloat(fixedCompensation.amount || '0')\n return name !== 'reimbursement' && name !== 'minimum wage adjustment' && amount > 0\n })\n .reduce((sum, fixedCompensation) => sum + parseFloat(fixedCompensation.amount || '0'), 0)\n}\n\nexport const getReimbursements = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.fixedCompensations) {\n return 0\n }\n\n const reimbursementComp = compensation.fixedCompensations.find(\n fixedCompensation => fixedCompensation.name?.toLowerCase() === 'reimbursement',\n )\n return reimbursementComp ? parseFloat(reimbursementComp.amount || '0') : 0\n}\n\nexport const formatHoursDisplay = (hours: number): string => {\n const rounded = roundToTwoDecimals(hours)\n\n if (rounded % 1 === 0) {\n return `${rounded}.0`\n }\n\n return rounded.toString()\n}\n\nconst getHoursInPayPeriod = (paySchedule: PayScheduleObject): number => {\n if (!paySchedule.frequency) {\n return 0\n }\n\n return PAY_PERIOD_HOURS_MAPPINGS[paySchedule.frequency] || 0\n}\n\nconst getEffectiveCompensation = (\n compensations: Compensation[],\n effectiveDate: Date,\n): Compensation | null => {\n if (!compensations.length) return null\n\n const sorted = [...compensations].sort(\n (a, b) =>\n (a.effectiveDate ? new Date(a.effectiveDate).getTime() : 0) -\n (b.effectiveDate ? new Date(b.effectiveDate).getTime() : 0),\n )\n\n for (let i = sorted.length - 1; i >= 0; i--) {\n const currentDateString = sorted[i]?.effectiveDate\n const currentDate = currentDateString ? new Date(currentDateString) : null\n if (currentDate && currentDate <= effectiveDate) {\n return sorted[i] || null\n }\n }\n\n return sorted[0] || null\n}\n\nconst getEffectiveMinimumWage = (\n minimumWages: MinimumWages[],\n effectiveDate: Date,\n): MinimumWages | null => {\n if (!minimumWages.length) return null\n\n const sorted = [...minimumWages].sort(\n (a, b) =>\n (a.effectiveDate ? new Date(a.effectiveDate).getTime() : 0) -\n (b.effectiveDate ? new Date(b.effectiveDate).getTime() : 0),\n )\n\n for (let i = sorted.length - 1; i >= 0; i--) {\n const currentDateString = sorted[i]?.effectiveDate\n const currentDate = currentDateString ? new Date(currentDateString) : null\n if (currentDate && currentDate <= effectiveDate) {\n return sorted[i] || null\n }\n }\n\n return sorted[0] || null\n}\n\nconst isSalaried = (compensation: Compensation): boolean => {\n return compensation.flsaStatus === 'Exempt' || compensation.flsaStatus === 'Salaried Nonexempt'\n}\n\nconst getTotalTipCompensations = (fixedCompensations: PayrollShowFixedCompensations[]): number => {\n if (!fixedCompensations.length) return 0\n\n return fixedCompensations\n .filter(fixedCompensation => {\n const name = fixedCompensation.name?.toLowerCase()\n const amount = parseFloat(fixedCompensation.amount || '0')\n return (name === 'paycheck tips' || name === 'cash tips') && amount > 0\n })\n .reduce((sum, fixedCompensation) => sum + parseFloat(fixedCompensation.amount || '0'), 0)\n}\n\nconst calculateHourlyRate = (compensation: Compensation): number => {\n const rate = parseFloat(compensation.rate || '0')\n const paymentUnit = compensation.paymentUnit || 'Hour'\n\n switch (paymentUnit) {\n case 'Hour':\n return rate\n case 'Year':\n return rate / 2080 // 52 weeks * 40 hours\n case 'Month':\n return rate / 173.333333\n case 'Week':\n return rate / 40\n case 'Paycheck':\n return 0 // Paycheck rate is 0 for hourly calculation\n default:\n return rate\n }\n}\n\nconst getHourlyRateForJob = (employee: Employee, jobUuid: string, effectiveDate: Date): number => {\n const job = employee.jobs?.find(j => j.uuid === jobUuid)\n if (!job?.compensations) {\n return 0\n }\n\n const compensation = getEffectiveCompensation(job.compensations, effectiveDate)\n return compensation ? calculateHourlyRate(compensation) : 0\n}\n\nconst getPrimaryHourlyRate = (employee: Employee, effectiveDate: Date): number => {\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return 0\n }\n\n const compensation = getEffectiveCompensation(primaryJob.compensations, effectiveDate)\n return compensation ? calculateHourlyRate(compensation) : 0\n}\n\nconst getTotalOutstandingPtoHours = (compensation: PayrollEmployeeCompensationsType): number => {\n if (!compensation.paidTimeOff) {\n return 0\n }\n\n return compensation.paidTimeOff.reduce(\n (sum, paidTimeOff) => sum + parseFloat(paidTimeOff.finalPayoutUnusedHoursInput || '0'),\n 0,\n )\n}\n\nconst getPtoHours = (\n compensation: PayrollEmployeeCompensationsType,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n offCycle: boolean,\n): number => {\n const regularPtoHours = getTotalPtoHours(compensation)\n\n if (offCycle) {\n const outstandingPtoHours = getTotalOutstandingPtoHours(compensation)\n return regularPtoHours + outstandingPtoHours\n }\n\n if (isSalariedWithExpectedHours) {\n return Math.min(hoursInPayPeriod, regularPtoHours)\n }\n\n return regularPtoHours\n}\n\nconst calculateMinimumWageAdjustment = (\n primaryCompensation: Compensation,\n compensation: PayrollEmployeeCompensationsType,\n effectiveDate: Date,\n): number => {\n if (!primaryCompensation.adjustForMinimumWage) return 0\n\n const effectiveMinWage = getEffectiveMinimumWage(\n primaryCompensation.minimumWages || [],\n effectiveDate,\n )\n if (!effectiveMinWage) {\n return 0\n }\n\n const totalHours =\n compensation.hourlyCompensations?.reduce(\n (sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'),\n 0,\n ) || 0\n\n const hourlyRate = calculateHourlyRate(primaryCompensation)\n\n const totalTipCredit = (parseFloat(effectiveMinWage.wage || '0') - hourlyRate) * totalHours\n const totalTips = getTotalTipCompensations(compensation.fixedCompensations || [])\n\n return Math.max(0, totalTipCredit - totalTips)\n}\n\nconst calculateRegularPlusOvertimePay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n effectiveDate: Date,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n ptoHours: number,\n isOffCycle: boolean,\n): number => {\n if (!isOffCycle && isSalariedWithExpectedHours) {\n const primaryHourlyRate = getPrimaryHourlyRate(employee, effectiveDate)\n return primaryHourlyRate * (hoursInPayPeriod - ptoHours)\n }\n\n if (!compensation.hourlyCompensations || !employee.jobs) {\n return 0\n }\n\n const regularRatePay = compensation.hourlyCompensations.reduce((sum, hc) => {\n const hours = parseFloat(hc.hours || '0')\n const hourlyRate = getHourlyRateForJob(employee, hc.jobUuid || '', effectiveDate)\n return sum + hours * hourlyRate\n }, 0)\n\n const totalHours = compensation.hourlyCompensations.reduce((sum, hc) => {\n return sum + parseFloat(hc.hours || '0')\n }, 0)\n\n if (totalHours === 0) return regularRatePay\n\n const overtimeWeightedRate = roundToSixDecimals(regularRatePay / totalHours)\n\n // Calculate overtime pay for non-regular hours\n const overtimePay = compensation.hourlyCompensations\n .filter(hc => !isRegularHours(hc.name || ''))\n .reduce((sum, hc) => {\n const hours = parseFloat(hc.hours || '0')\n const multiplier = hc.compensationMultiplier || 1\n return sum + hours * overtimeWeightedRate * (multiplier - 1)\n }, 0)\n\n return regularRatePay + overtimePay\n}\n\nconst calculatePtoPay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n effectiveDate: Date,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n offCycle: boolean,\n): number => {\n const ptoHours = getPtoHours(\n compensation,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n const primaryHourlyRate = getPrimaryHourlyRate(employee, effectiveDate)\n return ptoHours * primaryHourlyRate\n}\n\nconst isSalariedWithPayPeriodExpectedHours = (\n compensation: PayrollEmployeeCompensationsType,\n isSalaried: boolean,\n hoursInPayPeriod: number,\n): boolean => {\n if (!isSalaried) return false\n\n const regularHourlyCompensation = compensation.hourlyCompensations?.find(hourlyCompensation =>\n isRegularHours(hourlyCompensation.name || ''),\n )\n\n if (!regularHourlyCompensation) return false\n\n const regularHours = parseFloat(regularHourlyCompensation.hours || '0')\n return regularHours === hoursInPayPeriod\n}\n\nexport const calculateGrossPay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n compensationEffectiveDateString?: string,\n paySchedule?: PayScheduleObject,\n payrollCategory: PayrollCategory = PayrollCategory.Regular,\n): number => {\n if (compensation.excluded) {\n return 0\n }\n\n const compensationEffectiveDate = compensationEffectiveDateString\n ? new Date(compensationEffectiveDateString)\n : new Date()\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return 0\n }\n\n const primaryCompensation = getEffectiveCompensation(\n primaryJob.compensations,\n compensationEffectiveDate,\n )\n\n if (!primaryCompensation) {\n return 0\n }\n\n const salaried = isSalaried(primaryCompensation)\n const hoursInPayPeriod = paySchedule ? getHoursInPayPeriod(paySchedule) : 0\n\n const isSalariedWithExpectedHours = isSalariedWithPayPeriodExpectedHours(\n compensation,\n salaried,\n hoursInPayPeriod,\n )\n\n const offCycle = isOffCyclePayroll(payrollCategory)\n\n const ptoHours = getPtoHours(\n compensation,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n\n const regularPlusOvertimePay = calculateRegularPlusOvertimePay(\n compensation,\n employee,\n compensationEffectiveDate,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n ptoHours,\n offCycle,\n )\n\n const fixedPay = getAdditionalEarnings(compensation)\n const ptoPay = calculatePtoPay(\n compensation,\n employee,\n compensationEffectiveDate,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n const minimumWageAdjustment = calculateMinimumWageAdjustment(\n primaryCompensation,\n compensation,\n compensationEffectiveDate,\n )\n\n const total = regularPlusOvertimePay + fixedPay + ptoPay + minimumWageAdjustment\n return roundToTwoDecimals(total)\n}\n\n// Payroll type and status utilities\nexport const getPayrollType = (payroll: {\n external?: boolean\n offCycle?: boolean\n}): PayrollType => {\n if (payroll.external) return 'External'\n if (payroll.offCycle) return 'Off-Cycle'\n return 'Regular'\n}\n\nconst OFF_CYCLE_REASON_LABELS: Record<string, string> = {\n Bonus: 'Bonus',\n Correction: 'Correction',\n 'Transition from old pay schedule': 'Transition',\n 'Dismissed employee': 'Dismissal',\n 'Hired employee': 'New Hire',\n 'Benefit reversal': 'Benefit Reversal',\n 'Wage correction': 'Wage Correction',\n 'Tax reconciliation': 'Tax Reconciliation',\n Reversal: 'Reversal',\n 'Disability insurance distribution': 'Disability Insurance',\n}\n\nexport const getPayrollTypeLabel = (payroll: {\n external?: boolean\n offCycle?: boolean\n offCycleReason?: string | null\n}): string => {\n if (payroll.external) return 'External'\n if (payroll.offCycle && payroll.offCycleReason) {\n return OFF_CYCLE_REASON_LABELS[payroll.offCycleReason] ?? payroll.offCycleReason\n }\n if (payroll.offCycle) return 'Off-Cycle'\n return 'Regular'\n}\n\nexport const getAdditionalEarningsCompensations = ({\n flsaStatus,\n existingFixedCompensations = [],\n primaryJobUuid,\n fixedCompensationTypes = [],\n excludedTypes = [],\n}: {\n flsaStatus: string | undefined\n existingFixedCompensations?: FixedCompensations[]\n primaryJobUuid?: string\n fixedCompensationTypes?: PayrollFixedCompensationTypesType[]\n excludedTypes?: string[]\n}): FixedCompensations[] => {\n const allFixedCompensations = [...existingFixedCompensations]\n\n if (flsaStatus !== FlsaStatus.OWNER && primaryJobUuid && fixedCompensationTypes.length > 0) {\n const compensationTypeNames = fixedCompensationTypes\n .map(type => type.name)\n .filter(Boolean) as string[]\n\n compensationTypeNames.forEach(compensationName => {\n const exists = allFixedCompensations.some(\n comp => comp.name?.toLowerCase() === compensationName.toLowerCase(),\n )\n\n if (!exists) {\n allFixedCompensations.push({\n name: compensationName,\n amount: '0.00',\n jobUuid: primaryJobUuid,\n })\n }\n })\n }\n\n // Filter and sort additional earnings (exclude specified types)\n return allFixedCompensations\n .filter(comp => comp.name && !excludedTypes.includes(comp.name))\n .sort((a, b) => (a.name || '').localeCompare(b.name || ''))\n}\n\nexport const getReimbursementCompensation = (\n fixedCompensations: FixedCompensations[],\n fixedCompensationTypes: PayrollFixedCompensationTypesType[],\n primaryJobUuid?: string,\n) => {\n const reimbursementCompensation = fixedCompensations.find(\n comp => comp.name?.toLowerCase() === COMPENSATION_NAME_REIMBURSEMENT.toLowerCase(),\n )\n\n if (reimbursementCompensation) {\n return reimbursementCompensation\n }\n\n if (\n primaryJobUuid &&\n fixedCompensationTypes.some(\n type => type.name?.toLowerCase() === COMPENSATION_NAME_REIMBURSEMENT.toLowerCase(),\n )\n ) {\n return {\n name: COMPENSATION_NAME_REIMBURSEMENT,\n amount: '0.00',\n jobUuid: primaryJobUuid,\n }\n }\n\n return null\n}\n\n// Total Payroll = Gross Pay + Employer Taxes + Reimbursements + Benefits\nexport const calculateTotalPayroll = (payrollData: Payroll) => {\n const totalPayroll = payrollData.totals\n ? Number(payrollData.totals.grossPay ?? 0) +\n Number(payrollData.totals.employerTaxes ?? 0) +\n Number(payrollData.totals.reimbursements ?? 0) +\n Number(payrollData.totals.benefits ?? 0)\n : 0\n\n return totalPayroll\n}\n\n/**\n * Converts a Date to Pacific Time considering Daylight Saving Time.\n * Returns the UTC offset in hours (e.g., -7 for PDT, -8 for PST).\n *\n * DST rules for Pacific Time:\n * - Starts: Second Sunday in March at 2:00 AM\n * - Ends: First Sunday in November at 2:00 AM\n */\nconst getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n}\n\n/**\n * Determines if a payroll can be cancelled based on business rules.\n *\n * A payroll can be cancelled if all of the following conditions are met:\n * - The payroll has been processed (processed === true)\n * - Current time is before 4:00 PM PT on the payroll deadline\n * - The payrollStatusMeta.cancellable flag is not explicitly false\n *\n * This check enforces the business rule that payrolls can only be cancelled\n * before the 4:00 PM PT cutoff time on their deadline date.\n */\nexport const canCancelPayroll = (payroll: Payroll): boolean => {\n if (payroll.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n if (!payroll.processed) {\n return false\n }\n\n if (!payroll.payrollDeadline) {\n return false\n }\n\n const now = new Date()\n const deadline = new Date(payroll.payrollDeadline)\n\n const nowInPT = new Date(now.getTime() + getPacificTimeOffset(now) * MS_PER_HOUR)\n const deadlineInPT = new Date(deadline.getTime() + getPacificTimeOffset(deadline) * MS_PER_HOUR)\n\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setUTCHours(16, 0, 0, 0)\n\n if (nowInPT >= cutoffTime) {\n return false\n }\n\n return true\n}\n"],"names":["REGULAR_HOURS_NAME","getPrimaryJob","employee","job","roundToSixDecimals","value","roundToTwoDecimals","isRegularHours","compensationName","PAY_PERIOD_HOURS_MAPPINGS","formatEmployeePayRate","locale","primaryJob","jobCompensation","rate","paymentUnit","formatPayRate","useFormatEmployeePayRate","t","useTranslation","useLocale","useCallback","getRegularHours","compensation","hourlyCompensation","sum","getOvertimeHours","getTotalPtoHours","pto","getAdditionalEarnings","fixedCompensation","name","amount","getReimbursements","reimbursementComp","formatHoursDisplay","hours","rounded","getHoursInPayPeriod","paySchedule","getEffectiveCompensation","compensations","effectiveDate","sorted","a","b","i","currentDateString","currentDate","getEffectiveMinimumWage","minimumWages","isSalaried","getTotalTipCompensations","fixedCompensations","calculateHourlyRate","getHourlyRateForJob","jobUuid","j","getPrimaryHourlyRate","getTotalOutstandingPtoHours","paidTimeOff","getPtoHours","isSalariedWithExpectedHours","hoursInPayPeriod","offCycle","regularPtoHours","outstandingPtoHours","calculateMinimumWageAdjustment","primaryCompensation","effectiveMinWage","totalHours","hourlyRate","totalTipCredit","totalTips","calculateRegularPlusOvertimePay","ptoHours","isOffCycle","regularRatePay","hc","overtimeWeightedRate","overtimePay","multiplier","calculatePtoPay","primaryHourlyRate","isSalariedWithPayPeriodExpectedHours","regularHourlyCompensation","calculateGrossPay","compensationEffectiveDateString","payrollCategory","PayrollCategory","compensationEffectiveDate","salaried","isOffCyclePayroll","regularPlusOvertimePay","fixedPay","ptoPay","minimumWageAdjustment","total","OFF_CYCLE_REASON_LABELS","getPayrollTypeLabel","payroll","getAdditionalEarningsCompensations","flsaStatus","existingFixedCompensations","primaryJobUuid","fixedCompensationTypes","excludedTypes","allFixedCompensations","FlsaStatus","type","comp","getReimbursementCompensation","reimbursementCompensation","COMPENSATION_NAME_REIMBURSEMENT","calculateTotalPayroll","payrollData","getPacificTimeOffset","date","year","secondSundayMarch","firstSundayNovember","canCancelPayroll","now","deadline","nowInPT","MS_PER_HOUR","deadlineInPT","cutoffTime"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/components/Payroll/helpers.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport {\n type PayrollShowFixedCompensations,\n OffCycleReasonType,\n} from '@gusto/embedded-api/models/components/payroll'\nimport type { PayrollEmployeeCompensationsTypeFixedCompensations as FixedCompensations } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollFixedCompensationTypesType } from '@gusto/embedded-api/models/components/payrollfixedcompensationtypestype'\nimport { useCallback } from 'react'\nimport type { TFunction } from 'i18next'\nimport { useTranslation } from 'react-i18next'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { Compensation, MinimumWages } from '@gusto/embedded-api/models/components/compensation'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayrollType } from './PayrollList/types'\nimport { PayrollCategory, isOffCyclePayroll } from './payrollTypes'\nimport { formatPayRate } from '@/helpers/formattedStrings'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { COMPENSATION_NAME_REIMBURSEMENT, FlsaStatus } from '@/shared/constants'\nimport { MS_PER_HOUR } from '@/helpers/dateFormatting'\nconst REGULAR_HOURS_NAME = 'regular hours'\n\n// Utility to get the primary job from an employee\nexport const getPrimaryJob = (employee: Employee) => {\n return employee.jobs?.find(job => job.primary) || employee.jobs?.[0] || null\n}\n\nconst roundToSixDecimals = (value: number): number => {\n return Math.round(value * 1_000_000) / 1_000_000\n}\n\nconst roundToTwoDecimals = (value: number): number => {\n return Math.round(value * 100) / 100\n}\n\nconst isRegularHours = (compensationName: string): boolean => {\n return compensationName.toLowerCase() === REGULAR_HOURS_NAME\n}\n\nconst PAY_PERIOD_HOURS_MAPPINGS: Record<string, number> = {\n Daily: 8.0,\n 'Every week': 40.0,\n 'Every other week': 80.0,\n 'Twice per month': 86.666667,\n Monthly: 173.333333,\n Quarterly: 520.0,\n Semiannually: 1040.0,\n Annually: 2080.0,\n}\n\nexport const formatEmployeePayRate = ({\n employee,\n t,\n locale = 'en-US',\n}: {\n employee?: Employee\n t: TFunction\n locale?: string\n}) => {\n if (!employee?.jobs) {\n return null\n }\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return null\n }\n\n const jobCompensation = primaryJob.compensations[0]\n if (!jobCompensation) {\n return null\n }\n if (!jobCompensation.rate || parseFloat(jobCompensation.rate) === 0) {\n return null\n }\n\n const rate = parseFloat(jobCompensation.rate)\n const paymentUnit = jobCompensation.paymentUnit || 'Hour'\n\n return formatPayRate({ rate, paymentUnit, t, locale })\n}\n\nexport const useFormatEmployeePayRate = () => {\n const { t } = useTranslation('common')\n const { locale } = useLocale()\n\n return useCallback(\n (employee?: Employee) => {\n return formatEmployeePayRate({ employee, t, locale })\n },\n [t, locale],\n )\n}\n\nexport const getEmployeePayRateInfo = (employee: Employee | undefined) => {\n if (!employee?.jobs) {\n return null\n }\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return null\n }\n\n const jobCompensation = primaryJob.compensations[0]\n if (!jobCompensation) {\n return null\n }\n if (!jobCompensation.rate || parseFloat(jobCompensation.rate) === 0) {\n return null\n }\n\n const rate = parseFloat(jobCompensation.rate)\n const paymentUnit = jobCompensation.paymentUnit || 'Hour'\n\n return { rate, paymentUnit }\n}\n\nexport const getRegularHours = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.hourlyCompensations) return 0\n\n return compensation.hourlyCompensations\n .filter(hourlyCompensation => hourlyCompensation.name?.toLowerCase() === 'regular hours')\n .reduce((sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'), 0)\n}\n\nexport function getOvertimeHours(compensation: PayrollEmployeeCompensationsType) {\n if (!compensation.hourlyCompensations || compensation.excluded) {\n return 0\n }\n\n return compensation.hourlyCompensations\n .filter(hourlyCompensation => Number(hourlyCompensation.compensationMultiplier) > 1)\n .reduce((sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'), 0)\n}\n\nexport const getTotalPtoHours = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.paidTimeOff) {\n return 0\n }\n return compensation.paidTimeOff.reduce((sum, pto) => sum + parseFloat(pto.hours || '0'), 0)\n}\n\nexport const getAdditionalEarnings = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.fixedCompensations) {\n return 0\n }\n\n return compensation.fixedCompensations\n .filter(fixedCompensation => {\n const name = fixedCompensation.name?.toLowerCase() || ''\n const amount = parseFloat(fixedCompensation.amount || '0')\n return name !== 'reimbursement' && name !== 'minimum wage adjustment' && amount > 0\n })\n .reduce((sum, fixedCompensation) => sum + parseFloat(fixedCompensation.amount || '0'), 0)\n}\n\nexport const getReimbursements = (compensation: PayrollEmployeeCompensationsType) => {\n if (!compensation.fixedCompensations) {\n return 0\n }\n\n const reimbursementComp = compensation.fixedCompensations.find(\n fixedCompensation => fixedCompensation.name?.toLowerCase() === 'reimbursement',\n )\n return reimbursementComp ? parseFloat(reimbursementComp.amount || '0') : 0\n}\n\nexport const formatHoursDisplay = (hours: number): string => {\n const rounded = roundToTwoDecimals(hours)\n\n if (rounded % 1 === 0) {\n return `${rounded}.0`\n }\n\n return rounded.toString()\n}\n\nconst getHoursInPayPeriod = (paySchedule: PayScheduleObject): number => {\n if (!paySchedule.frequency) {\n return 0\n }\n\n return PAY_PERIOD_HOURS_MAPPINGS[paySchedule.frequency] || 0\n}\n\nconst getEffectiveCompensation = (\n compensations: Compensation[],\n effectiveDate: Date,\n): Compensation | null => {\n if (!compensations.length) return null\n\n const sorted = [...compensations].sort(\n (a, b) =>\n (a.effectiveDate ? new Date(a.effectiveDate).getTime() : 0) -\n (b.effectiveDate ? new Date(b.effectiveDate).getTime() : 0),\n )\n\n for (let i = sorted.length - 1; i >= 0; i--) {\n const currentDateString = sorted[i]?.effectiveDate\n const currentDate = currentDateString ? new Date(currentDateString) : null\n if (currentDate && currentDate <= effectiveDate) {\n return sorted[i] || null\n }\n }\n\n return sorted[0] || null\n}\n\nconst getEffectiveMinimumWage = (\n minimumWages: MinimumWages[],\n effectiveDate: Date,\n): MinimumWages | null => {\n if (!minimumWages.length) return null\n\n const sorted = [...minimumWages].sort(\n (a, b) =>\n (a.effectiveDate ? new Date(a.effectiveDate).getTime() : 0) -\n (b.effectiveDate ? new Date(b.effectiveDate).getTime() : 0),\n )\n\n for (let i = sorted.length - 1; i >= 0; i--) {\n const currentDateString = sorted[i]?.effectiveDate\n const currentDate = currentDateString ? new Date(currentDateString) : null\n if (currentDate && currentDate <= effectiveDate) {\n return sorted[i] || null\n }\n }\n\n return sorted[0] || null\n}\n\nconst isSalaried = (compensation: Compensation): boolean => {\n return compensation.flsaStatus === 'Exempt' || compensation.flsaStatus === 'Salaried Nonexempt'\n}\n\nconst getTotalTipCompensations = (fixedCompensations: PayrollShowFixedCompensations[]): number => {\n if (!fixedCompensations.length) return 0\n\n return fixedCompensations\n .filter(fixedCompensation => {\n const name = fixedCompensation.name?.toLowerCase()\n const amount = parseFloat(fixedCompensation.amount || '0')\n return (name === 'paycheck tips' || name === 'cash tips') && amount > 0\n })\n .reduce((sum, fixedCompensation) => sum + parseFloat(fixedCompensation.amount || '0'), 0)\n}\n\nconst calculateHourlyRate = (compensation: Compensation): number => {\n const rate = parseFloat(compensation.rate || '0')\n const paymentUnit = compensation.paymentUnit || 'Hour'\n\n switch (paymentUnit) {\n case 'Hour':\n return rate\n case 'Year':\n return rate / 2080 // 52 weeks * 40 hours\n case 'Month':\n return rate / 173.333333\n case 'Week':\n return rate / 40\n case 'Paycheck':\n return 0 // Paycheck rate is 0 for hourly calculation\n default:\n return rate\n }\n}\n\nconst getHourlyRateForJob = (employee: Employee, jobUuid: string, effectiveDate: Date): number => {\n const job = employee.jobs?.find(j => j.uuid === jobUuid)\n if (!job?.compensations) {\n return 0\n }\n\n const compensation = getEffectiveCompensation(job.compensations, effectiveDate)\n return compensation ? calculateHourlyRate(compensation) : 0\n}\n\nconst getPrimaryHourlyRate = (employee: Employee, effectiveDate: Date): number => {\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return 0\n }\n\n const compensation = getEffectiveCompensation(primaryJob.compensations, effectiveDate)\n return compensation ? calculateHourlyRate(compensation) : 0\n}\n\nconst getTotalOutstandingPtoHours = (compensation: PayrollEmployeeCompensationsType): number => {\n if (!compensation.paidTimeOff) {\n return 0\n }\n\n return compensation.paidTimeOff.reduce(\n (sum, paidTimeOff) => sum + parseFloat(paidTimeOff.finalPayoutUnusedHoursInput || '0'),\n 0,\n )\n}\n\nconst getPtoHours = (\n compensation: PayrollEmployeeCompensationsType,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n offCycle: boolean,\n): number => {\n const regularPtoHours = getTotalPtoHours(compensation)\n\n if (offCycle) {\n const outstandingPtoHours = getTotalOutstandingPtoHours(compensation)\n return regularPtoHours + outstandingPtoHours\n }\n\n if (isSalariedWithExpectedHours) {\n return Math.min(hoursInPayPeriod, regularPtoHours)\n }\n\n return regularPtoHours\n}\n\nconst calculateMinimumWageAdjustment = (\n primaryCompensation: Compensation,\n compensation: PayrollEmployeeCompensationsType,\n effectiveDate: Date,\n): number => {\n if (!primaryCompensation.adjustForMinimumWage) return 0\n\n const effectiveMinWage = getEffectiveMinimumWage(\n primaryCompensation.minimumWages || [],\n effectiveDate,\n )\n if (!effectiveMinWage) {\n return 0\n }\n\n const totalHours =\n compensation.hourlyCompensations?.reduce(\n (sum, hourlyCompensation) => sum + parseFloat(hourlyCompensation.hours || '0'),\n 0,\n ) || 0\n\n const hourlyRate = calculateHourlyRate(primaryCompensation)\n\n const totalTipCredit = (parseFloat(effectiveMinWage.wage || '0') - hourlyRate) * totalHours\n const totalTips = getTotalTipCompensations(compensation.fixedCompensations || [])\n\n return Math.max(0, totalTipCredit - totalTips)\n}\n\nconst calculateRegularPlusOvertimePay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n effectiveDate: Date,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n ptoHours: number,\n isOffCycle: boolean,\n): number => {\n if (!isOffCycle && isSalariedWithExpectedHours) {\n const primaryHourlyRate = getPrimaryHourlyRate(employee, effectiveDate)\n return primaryHourlyRate * (hoursInPayPeriod - ptoHours)\n }\n\n if (!compensation.hourlyCompensations || !employee.jobs) {\n return 0\n }\n\n const regularRatePay = compensation.hourlyCompensations.reduce((sum, hc) => {\n const hours = parseFloat(hc.hours || '0')\n const hourlyRate = getHourlyRateForJob(employee, hc.jobUuid || '', effectiveDate)\n return sum + hours * hourlyRate\n }, 0)\n\n const totalHours = compensation.hourlyCompensations.reduce((sum, hc) => {\n return sum + parseFloat(hc.hours || '0')\n }, 0)\n\n if (totalHours === 0) return regularRatePay\n\n const overtimeWeightedRate = roundToSixDecimals(regularRatePay / totalHours)\n\n // Calculate overtime pay for non-regular hours\n const overtimePay = compensation.hourlyCompensations\n .filter(hc => !isRegularHours(hc.name || ''))\n .reduce((sum, hc) => {\n const hours = parseFloat(hc.hours || '0')\n const multiplier = hc.compensationMultiplier || 1\n return sum + hours * overtimeWeightedRate * (multiplier - 1)\n }, 0)\n\n return regularRatePay + overtimePay\n}\n\nconst calculatePtoPay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n effectiveDate: Date,\n isSalariedWithExpectedHours: boolean,\n hoursInPayPeriod: number,\n offCycle: boolean,\n): number => {\n const ptoHours = getPtoHours(\n compensation,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n const primaryHourlyRate = getPrimaryHourlyRate(employee, effectiveDate)\n return ptoHours * primaryHourlyRate\n}\n\nconst isSalariedWithPayPeriodExpectedHours = (\n compensation: PayrollEmployeeCompensationsType,\n isSalaried: boolean,\n hoursInPayPeriod: number,\n): boolean => {\n if (!isSalaried) return false\n\n const regularHourlyCompensation = compensation.hourlyCompensations?.find(hourlyCompensation =>\n isRegularHours(hourlyCompensation.name || ''),\n )\n\n if (!regularHourlyCompensation) return false\n\n const regularHours = parseFloat(regularHourlyCompensation.hours || '0')\n return regularHours === hoursInPayPeriod\n}\n\nexport const calculateGrossPay = (\n compensation: PayrollEmployeeCompensationsType,\n employee: Employee,\n compensationEffectiveDateString?: string,\n paySchedule?: PayScheduleObject,\n payrollCategory: PayrollCategory = PayrollCategory.Regular,\n): number => {\n if (compensation.excluded) {\n return 0\n }\n\n const compensationEffectiveDate = compensationEffectiveDateString\n ? new Date(compensationEffectiveDateString)\n : new Date()\n\n const primaryJob = getPrimaryJob(employee)\n if (!primaryJob?.compensations) {\n return 0\n }\n\n const primaryCompensation = getEffectiveCompensation(\n primaryJob.compensations,\n compensationEffectiveDate,\n )\n\n if (!primaryCompensation) {\n return 0\n }\n\n const salaried = isSalaried(primaryCompensation)\n const hoursInPayPeriod = paySchedule ? getHoursInPayPeriod(paySchedule) : 0\n\n const isSalariedWithExpectedHours = isSalariedWithPayPeriodExpectedHours(\n compensation,\n salaried,\n hoursInPayPeriod,\n )\n\n const offCycle = isOffCyclePayroll(payrollCategory)\n\n const ptoHours = getPtoHours(\n compensation,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n\n const regularPlusOvertimePay = calculateRegularPlusOvertimePay(\n compensation,\n employee,\n compensationEffectiveDate,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n ptoHours,\n offCycle,\n )\n\n const fixedPay = getAdditionalEarnings(compensation)\n const ptoPay = calculatePtoPay(\n compensation,\n employee,\n compensationEffectiveDate,\n isSalariedWithExpectedHours,\n hoursInPayPeriod,\n offCycle,\n )\n const minimumWageAdjustment = calculateMinimumWageAdjustment(\n primaryCompensation,\n compensation,\n compensationEffectiveDate,\n )\n\n const total = regularPlusOvertimePay + fixedPay + ptoPay + minimumWageAdjustment\n return roundToTwoDecimals(total)\n}\n\n// Payroll type and status utilities\nexport const getPayrollType = (payroll: {\n external?: boolean\n offCycle?: boolean\n}): PayrollType => {\n if (payroll.external) return 'External'\n if (payroll.offCycle) return 'Off-Cycle'\n return 'Regular'\n}\n\nexport const isDismissalPayroll = (offCycleReason?: string | null): boolean =>\n offCycleReason === OffCycleReasonType.DismissedEmployee\n\nconst OFF_CYCLE_REASON_LABELS: Record<string, string> = {\n Bonus: 'Bonus',\n Correction: 'Correction',\n 'Transition from old pay schedule': 'Transition',\n 'Dismissed employee': 'Dismissal',\n 'Hired employee': 'New Hire',\n 'Benefit reversal': 'Benefit Reversal',\n 'Wage correction': 'Wage Correction',\n 'Tax reconciliation': 'Tax Reconciliation',\n Reversal: 'Reversal',\n 'Disability insurance distribution': 'Disability Insurance',\n}\n\nexport const getPayrollTypeLabel = (payroll: {\n external?: boolean\n offCycle?: boolean\n offCycleReason?: string | null\n}): string => {\n if (payroll.external) return 'External'\n if (payroll.offCycle && payroll.offCycleReason) {\n return OFF_CYCLE_REASON_LABELS[payroll.offCycleReason] ?? payroll.offCycleReason\n }\n if (payroll.offCycle) return 'Off-Cycle'\n return 'Regular'\n}\n\nexport const getAdditionalEarningsCompensations = ({\n flsaStatus,\n existingFixedCompensations = [],\n primaryJobUuid,\n fixedCompensationTypes = [],\n excludedTypes = [],\n}: {\n flsaStatus: string | undefined\n existingFixedCompensations?: FixedCompensations[]\n primaryJobUuid?: string\n fixedCompensationTypes?: PayrollFixedCompensationTypesType[]\n excludedTypes?: string[]\n}): FixedCompensations[] => {\n const allFixedCompensations = [...existingFixedCompensations]\n\n if (flsaStatus !== FlsaStatus.OWNER && primaryJobUuid && fixedCompensationTypes.length > 0) {\n const compensationTypeNames = fixedCompensationTypes\n .map(type => type.name)\n .filter(Boolean) as string[]\n\n compensationTypeNames.forEach(compensationName => {\n const exists = allFixedCompensations.some(\n comp => comp.name?.toLowerCase() === compensationName.toLowerCase(),\n )\n\n if (!exists) {\n allFixedCompensations.push({\n name: compensationName,\n amount: '0.00',\n jobUuid: primaryJobUuid,\n })\n }\n })\n }\n\n // Filter and sort additional earnings (exclude specified types)\n return allFixedCompensations\n .filter(comp => comp.name && !excludedTypes.includes(comp.name))\n .sort((a, b) => (a.name || '').localeCompare(b.name || ''))\n}\n\nexport const getReimbursementCompensation = (\n fixedCompensations: FixedCompensations[],\n fixedCompensationTypes: PayrollFixedCompensationTypesType[],\n primaryJobUuid?: string,\n) => {\n const reimbursementCompensation = fixedCompensations.find(\n comp => comp.name?.toLowerCase() === COMPENSATION_NAME_REIMBURSEMENT.toLowerCase(),\n )\n\n if (reimbursementCompensation) {\n return reimbursementCompensation\n }\n\n if (\n primaryJobUuid &&\n fixedCompensationTypes.some(\n type => type.name?.toLowerCase() === COMPENSATION_NAME_REIMBURSEMENT.toLowerCase(),\n )\n ) {\n return {\n name: COMPENSATION_NAME_REIMBURSEMENT,\n amount: '0.00',\n jobUuid: primaryJobUuid,\n }\n }\n\n return null\n}\n\nexport const hasDirectDepositEmployees = (\n employeeCompensations?: Array<{ paymentMethod?: string | null; excluded?: boolean }>,\n): boolean => {\n if (!employeeCompensations || employeeCompensations.length === 0) return true\n const activeCompensations = employeeCompensations.filter(comp => !comp.excluded)\n if (activeCompensations.length === 0) return true\n return activeCompensations.some(comp => comp.paymentMethod === 'Direct Deposit')\n}\n\n// Total Payroll = Gross Pay + Employer Taxes + Reimbursements + Benefits\nexport const calculateTotalPayroll = (payrollData: Payroll) => {\n const totalPayroll = payrollData.totals\n ? Number(payrollData.totals.grossPay ?? 0) +\n Number(payrollData.totals.employerTaxes ?? 0) +\n Number(payrollData.totals.reimbursements ?? 0) +\n Number(payrollData.totals.benefits ?? 0)\n : 0\n\n return totalPayroll\n}\n\n/**\n * Converts a Date to Pacific Time considering Daylight Saving Time.\n * Returns the UTC offset in hours (e.g., -7 for PDT, -8 for PST).\n *\n * DST rules for Pacific Time:\n * - Starts: Second Sunday in March at 2:00 AM\n * - Ends: First Sunday in November at 2:00 AM\n */\nconst getPacificTimeOffset = (date: Date): number => {\n const year = date.getFullYear()\n\n const secondSundayMarch = new Date(year, 2, 1)\n secondSundayMarch.setDate(1 + (7 - secondSundayMarch.getDay()) + 7)\n\n const firstSundayNovember = new Date(year, 10, 1)\n firstSundayNovember.setDate(1 + ((7 - firstSundayNovember.getDay()) % 7))\n\n const isDST = date >= secondSundayMarch && date < firstSundayNovember\n return isDST ? -7 : -8\n}\n\n/**\n * Determines if a payroll can be cancelled based on business rules.\n *\n * A payroll can be cancelled if all of the following conditions are met:\n * - The payroll has been processed (processed === true)\n * - Current time is before 4:00 PM PT on the payroll deadline\n * - The payrollStatusMeta.cancellable flag is not explicitly false\n *\n * This check enforces the business rule that payrolls can only be cancelled\n * before the 4:00 PM PT cutoff time on their deadline date.\n */\nexport const canCancelPayroll = (payroll: Payroll): boolean => {\n if (payroll.payrollStatusMeta?.cancellable === false) {\n return false\n }\n\n if (!payroll.processed) {\n return false\n }\n\n if (!payroll.payrollDeadline) {\n return false\n }\n\n const now = new Date()\n const deadline = new Date(payroll.payrollDeadline)\n\n const nowInPT = new Date(now.getTime() + getPacificTimeOffset(now) * MS_PER_HOUR)\n const deadlineInPT = new Date(deadline.getTime() + getPacificTimeOffset(deadline) * MS_PER_HOUR)\n\n const cutoffTime = new Date(deadlineInPT)\n cutoffTime.setUTCHours(16, 0, 0, 0)\n\n if (nowInPT >= cutoffTime) {\n return false\n }\n\n return true\n}\n"],"names":["REGULAR_HOURS_NAME","getPrimaryJob","employee","job","roundToSixDecimals","value","roundToTwoDecimals","isRegularHours","compensationName","PAY_PERIOD_HOURS_MAPPINGS","formatEmployeePayRate","locale","primaryJob","jobCompensation","rate","paymentUnit","formatPayRate","useFormatEmployeePayRate","t","useTranslation","useLocale","useCallback","getRegularHours","compensation","hourlyCompensation","sum","getOvertimeHours","getTotalPtoHours","pto","getAdditionalEarnings","fixedCompensation","name","amount","getReimbursements","reimbursementComp","formatHoursDisplay","hours","rounded","getHoursInPayPeriod","paySchedule","getEffectiveCompensation","compensations","effectiveDate","sorted","a","b","i","currentDateString","currentDate","getEffectiveMinimumWage","minimumWages","isSalaried","getTotalTipCompensations","fixedCompensations","calculateHourlyRate","getHourlyRateForJob","jobUuid","j","getPrimaryHourlyRate","getTotalOutstandingPtoHours","paidTimeOff","getPtoHours","isSalariedWithExpectedHours","hoursInPayPeriod","offCycle","regularPtoHours","outstandingPtoHours","calculateMinimumWageAdjustment","primaryCompensation","effectiveMinWage","totalHours","hourlyRate","totalTipCredit","totalTips","calculateRegularPlusOvertimePay","ptoHours","isOffCycle","regularRatePay","hc","overtimeWeightedRate","overtimePay","multiplier","calculatePtoPay","primaryHourlyRate","isSalariedWithPayPeriodExpectedHours","regularHourlyCompensation","calculateGrossPay","compensationEffectiveDateString","payrollCategory","PayrollCategory","compensationEffectiveDate","salaried","isOffCyclePayroll","regularPlusOvertimePay","fixedPay","ptoPay","minimumWageAdjustment","total","isDismissalPayroll","offCycleReason","OffCycleReasonType","OFF_CYCLE_REASON_LABELS","getPayrollTypeLabel","payroll","getAdditionalEarningsCompensations","flsaStatus","existingFixedCompensations","primaryJobUuid","fixedCompensationTypes","excludedTypes","allFixedCompensations","FlsaStatus","type","comp","getReimbursementCompensation","reimbursementCompensation","COMPENSATION_NAME_REIMBURSEMENT","hasDirectDepositEmployees","employeeCompensations","activeCompensations","calculateTotalPayroll","payrollData","getPacificTimeOffset","date","year","secondSundayMarch","firstSundayNovember","canCancelPayroll","now","deadline","nowInPT","MS_PER_HOUR","deadlineInPT","cutoffTime"],"mappings":"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"}
@@ -12,11 +12,9 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
12
12
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
13
13
  import "@gusto/embedded-api/models/errors/httpclienterrors";
14
14
  import "../../shared/constants.js";
15
- import "classnames";
16
15
  import "../../contexts/ComponentAdapter/useComponentContext.js";
17
- import "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
18
16
  import { retryAsync as x } from "../../helpers/retryAsync.js";
19
- const q = 4, v = 1500, w = (e) => e instanceof T ? Array.isArray(e.errors) && e.errors.some((r) => r.category === "invalid_operation") : !1, Z = ({
17
+ const q = 4, v = 1500, w = (e) => e instanceof T ? Array.isArray(e.errors) && e.errors.some((r) => r.category === "invalid_operation") : !1, V = ({
20
18
  companyId: e,
21
19
  payrollId: r,
22
20
  employeeUuids: a,
@@ -67,6 +65,6 @@ const q = 4, v = 1500, w = (e) => e instanceof T ? Array.isArray(e.errors) && e.
67
65
  };
68
66
  };
69
67
  export {
70
- Z as usePreparedPayrollData
68
+ V as usePreparedPayrollData
71
69
  };
72
70
  //# sourceMappingURL=usePreparedPayrollData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback, useRef, useMemo } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { QueryParamSortBy } from '@gusto/embedded-api/models/operations/putv1companiescompanyidpayrollspayrollidprepare'\nimport { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport { useBase } from '../Base'\nimport { retryAsync } from '@/helpers/retryAsync'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: QueryParamSortBy\n onDataReady?: (preparedPayroll: PayrollPrepared) => void\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleObject | undefined\n isLoading: boolean\n isPaginating: boolean\n hasInitialData: boolean\n}\n\nconst PREPARE_MAX_ATTEMPTS = 4\nconst PREPARE_RETRY_DELAY_MS = 1500\n\nconst isPayrollBeingProcessedError = (error: unknown): boolean => {\n if (!(error instanceof UnprocessableEntityErrorObject)) return false\n return Array.isArray(error.errors) && error.errors.some(e => e.category === 'invalid_operation')\n}\n\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n onDataReady,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const hasInitialDataRef = useRef(false)\n const hasFiredRef = useRef(false)\n const { baseSubmitHandler } = useBase()\n\n const employeeUuidsKey = useMemo(() => employeeUuids?.join(',') ?? '', [employeeUuids])\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const executePrepare = useCallback(async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n if (result.payrollPrepared) {\n hasInitialDataRef.current = true\n onDataReady?.(result.payrollPrepared)\n }\n }, [companyId, payrollId, preparePayroll, employeeUuidsKey, sortBy, onDataReady])\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, () =>\n retryAsync(executePrepare, {\n maxAttempts: PREPARE_MAX_ATTEMPTS,\n delayMs: PREPARE_RETRY_DELAY_MS,\n shouldRetry: isPayrollBeingProcessedError,\n }),\n )\n }, [baseSubmitHandler, executePrepare])\n\n useEffect(() => {\n if (hasFiredRef.current) return\n hasFiredRef.current = true\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isInitialLoading = isPreparePayrollPending && !hasInitialDataRef.current\n const isPaginating = isPreparePayrollPending && hasInitialDataRef.current\n const isLoading = isInitialLoading || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleObject,\n isLoading,\n isPaginating,\n hasInitialData: hasInitialDataRef.current,\n }\n}\n"],"names":["PREPARE_MAX_ATTEMPTS","PREPARE_RETRY_DELAY_MS","isPayrollBeingProcessedError","error","UnprocessableEntityErrorObject","e","usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","onDataReady","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","hasInitialDataRef","useRef","hasFiredRef","baseSubmitHandler","useBase","employeeUuidsKey","useMemo","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","executePrepare","useCallback","result","handlePreparePayroll","retryAsync","useEffect","isInitialLoading","isPaginating","isLoading"],"mappings":";;;;;;;;;;;;;;;;;;AA2BA,MAAMA,IAAuB,GACvBC,IAAyB,MAEzBC,IAA+B,CAACC,MAC9BA,aAAiBC,IAChB,MAAM,QAAQD,EAAM,MAAM,KAAKA,EAAM,OAAO,KAAK,CAAAE,MAAKA,EAAE,aAAa,mBAAmB,IADhC,IAIpDC,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxCC,IAAoBC,EAAO,EAAK,GAChCC,IAAcD,EAAO,EAAK,GAC1B,EAAE,mBAAAE,EAAA,IAAsBC,EAAA,GAExBC,IAAmBC,EAAQ,MAAMf,GAAe,KAAK,GAAG,KAAK,IAAI,CAACA,CAAa,CAAC,GAEhF,EAAE,MAAMgB,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAApB;AAAA,MACA,eAAeQ,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIa,IAAiBC,EAAY,YAAY;AAC7C,UAAMC,IAAS,MAAMlB,EAAe;AAAA,MAClC,SAAS;AAAA,QACP,WAAAL;AAAA,QACA,WAAAC;AAAA,QACA,QAAAE;AAAA,QACA,aAAa;AAAA,UACX,eAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,CACD;AACD,IAAAO,EAAmBc,EAAO,eAAe,GACrCA,EAAO,oBACTZ,EAAkB,UAAU,IAC5BP,IAAcmB,EAAO,eAAe;AAAA,EAExC,GAAG,CAACvB,GAAWC,GAAWI,GAAgBW,GAAkBb,GAAQC,CAAW,CAAC,GAE1EoB,IAAuBF,EAAY,YAAY;AACnD,UAAMR;AAAA,MAAkB;AAAA,MAAM,MAC5BW,EAAWJ,GAAgB;AAAA,QACzB,aAAa5B;AAAA,QACb,SAASC;AAAA,QACT,aAAaC;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEL,GAAG,CAACmB,GAAmBO,CAAc,CAAC;AAEtC,EAAAK,EAAU,MAAM;AACd,IAAIb,EAAY,YAChBA,EAAY,UAAU,IACjBW,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMG,IAAmBrB,KAA2B,CAACK,EAAkB,SACjEiB,IAAetB,KAA2BK,EAAkB,SAC5DkB,IAAYF,KAAoBR;AAEtC,SAAO;AAAA,IACL,sBAAAK;AAAA,IACA,iBAAAhB;AAAA,IACA,aAAaU,GAAiB;AAAA,IAC9B,WAAAW;AAAA,IACA,cAAAD;AAAA,IACA,gBAAgBjB,EAAkB;AAAA,EAAA;AAEtC;"}
1
+ {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback, useRef, useMemo } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleObject } from '@gusto/embedded-api/models/components/payscheduleobject'\nimport type { QueryParamSortBy } from '@gusto/embedded-api/models/operations/putv1companiescompanyidpayrollspayrollidprepare'\nimport { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport { useBase } from '../Base'\nimport { retryAsync } from '@/helpers/retryAsync'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: QueryParamSortBy\n onDataReady?: (preparedPayroll: PayrollPrepared) => void\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleObject | undefined\n isLoading: boolean\n isPaginating: boolean\n hasInitialData: boolean\n}\n\nconst PREPARE_MAX_ATTEMPTS = 4\nconst PREPARE_RETRY_DELAY_MS = 1500\n\nconst isPayrollBeingProcessedError = (error: unknown): boolean => {\n if (!(error instanceof UnprocessableEntityErrorObject)) return false\n return Array.isArray(error.errors) && error.errors.some(e => e.category === 'invalid_operation')\n}\n\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n onDataReady,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const hasInitialDataRef = useRef(false)\n const hasFiredRef = useRef(false)\n const { baseSubmitHandler } = useBase()\n\n const employeeUuidsKey = useMemo(() => employeeUuids?.join(',') ?? '', [employeeUuids])\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const executePrepare = useCallback(async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n if (result.payrollPrepared) {\n hasInitialDataRef.current = true\n onDataReady?.(result.payrollPrepared)\n }\n }, [companyId, payrollId, preparePayroll, employeeUuidsKey, sortBy, onDataReady])\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, () =>\n retryAsync(executePrepare, {\n maxAttempts: PREPARE_MAX_ATTEMPTS,\n delayMs: PREPARE_RETRY_DELAY_MS,\n shouldRetry: isPayrollBeingProcessedError,\n }),\n )\n }, [baseSubmitHandler, executePrepare])\n\n useEffect(() => {\n if (hasFiredRef.current) return\n hasFiredRef.current = true\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isInitialLoading = isPreparePayrollPending && !hasInitialDataRef.current\n const isPaginating = isPreparePayrollPending && hasInitialDataRef.current\n const isLoading = isInitialLoading || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleObject,\n isLoading,\n isPaginating,\n hasInitialData: hasInitialDataRef.current,\n }\n}\n"],"names":["PREPARE_MAX_ATTEMPTS","PREPARE_RETRY_DELAY_MS","isPayrollBeingProcessedError","error","UnprocessableEntityErrorObject","e","usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","onDataReady","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","hasInitialDataRef","useRef","hasFiredRef","baseSubmitHandler","useBase","employeeUuidsKey","useMemo","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","executePrepare","useCallback","result","handlePreparePayroll","retryAsync","useEffect","isInitialLoading","isPaginating","isLoading"],"mappings":";;;;;;;;;;;;;;;;AA2BA,MAAMA,IAAuB,GACvBC,IAAyB,MAEzBC,IAA+B,CAACC,MAC9BA,aAAiBC,IAChB,MAAM,QAAQD,EAAM,MAAM,KAAKA,EAAM,OAAO,KAAK,CAAAE,MAAKA,EAAE,aAAa,mBAAmB,IADhC,IAIpDC,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxCC,IAAoBC,EAAO,EAAK,GAChCC,IAAcD,EAAO,EAAK,GAC1B,EAAE,mBAAAE,EAAA,IAAsBC,EAAA,GAExBC,IAAmBC,EAAQ,MAAMf,GAAe,KAAK,GAAG,KAAK,IAAI,CAACA,CAAa,CAAC,GAEhF,EAAE,MAAMgB,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAApB;AAAA,MACA,eAAeQ,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIa,IAAiBC,EAAY,YAAY;AAC7C,UAAMC,IAAS,MAAMlB,EAAe;AAAA,MAClC,SAAS;AAAA,QACP,WAAAL;AAAA,QACA,WAAAC;AAAA,QACA,QAAAE;AAAA,QACA,aAAa;AAAA,UACX,eAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,CACD;AACD,IAAAO,EAAmBc,EAAO,eAAe,GACrCA,EAAO,oBACTZ,EAAkB,UAAU,IAC5BP,IAAcmB,EAAO,eAAe;AAAA,EAExC,GAAG,CAACvB,GAAWC,GAAWI,GAAgBW,GAAkBb,GAAQC,CAAW,CAAC,GAE1EoB,IAAuBF,EAAY,YAAY;AACnD,UAAMR;AAAA,MAAkB;AAAA,MAAM,MAC5BW,EAAWJ,GAAgB;AAAA,QACzB,aAAa5B;AAAA,QACb,SAASC;AAAA,QACT,aAAaC;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEL,GAAG,CAACmB,GAAmBO,CAAc,CAAC;AAEtC,EAAAK,EAAU,MAAM;AACd,IAAIb,EAAY,YAChBA,EAAY,UAAU,IACjBW,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMG,IAAmBrB,KAA2B,CAACK,EAAkB,SACjEiB,IAAetB,KAA2BK,EAAkB,SAC5DkB,IAAYF,KAAoBR;AAEtC,SAAO;AAAA,IACL,sBAAAK;AAAA,IACA,iBAAAhB;AAAA,IACA,aAAaU,GAAiB;AAAA,IAC9B,WAAAW;AAAA,IACA,cAAAD;AAAA,IACA,gBAAgBjB,EAAkB;AAAA,EAAA;AAEtC;"}
@@ -1,8 +1,8 @@
1
- import { FieldsMetadata } from './types';
1
+ import { FieldsMetadata } from '../../../types/sdkHooks';
2
2
  import { SDKError } from '../../../types/sdkError';
3
3
  export interface FormFieldsMetadataContextValue {
4
4
  metadata: FieldsMetadata;
5
5
  errors: SDKError[];
6
6
  }
7
7
  export declare const FormFieldsMetadataContext: import('react').Context<FormFieldsMetadataContextValue | null>;
8
- export declare function useFormFieldsMetadataContext(): FormFieldsMetadataContextValue;
8
+ export declare function useFormFieldsMetadataContext(): FormFieldsMetadataContextValue | null;
@@ -1,13 +1,10 @@
1
- import { createContext as e, useContext as o } from "react";
2
- const r = e(null);
3
- function n() {
4
- const t = o(r);
5
- if (!t)
6
- throw new Error("useFormFieldsMetadataContext must be used within a FormFieldsMetadataProvider");
7
- return t;
1
+ import { useContext as t, createContext as e } from "react";
2
+ const o = e(null);
3
+ function r() {
4
+ return t(o);
8
5
  }
9
6
  export {
10
- r as FormFieldsMetadataContext,
11
- n as useFormFieldsMetadataContext
7
+ o as FormFieldsMetadataContext,
8
+ r as useFormFieldsMetadataContext
12
9
  };
13
10
  //# sourceMappingURL=FormFieldsMetadataContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldsMetadataContext.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { FieldsMetadata } from './types'\nimport type { SDKError } from '@/types/sdkError'\n\nexport interface FormFieldsMetadataContextValue {\n metadata: FieldsMetadata\n errors: SDKError[]\n}\n\nexport const FormFieldsMetadataContext = createContext<FormFieldsMetadataContextValue | null>(null)\n\nexport function useFormFieldsMetadataContext(): FormFieldsMetadataContextValue {\n const context = useContext(FormFieldsMetadataContext)\n if (!context) {\n throw new Error('useFormFieldsMetadataContext must be used within a FormFieldsMetadataProvider')\n }\n return context\n}\n"],"names":["FormFieldsMetadataContext","createContext","useFormFieldsMetadataContext","context","useContext"],"mappings":";AASO,MAAMA,IAA4BC,EAAqD,IAAI;AAE3F,SAASC,IAA+D;AAC7E,QAAMC,IAAUC,EAAWJ,CAAyB;AACpD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,+EAA+E;AAEjG,SAAOA;AACT;"}
1
+ {"version":3,"file":"FormFieldsMetadataContext.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { FieldsMetadata } from '@/types/sdkHooks'\nimport type { SDKError } from '@/types/sdkError'\n\nexport interface FormFieldsMetadataContextValue {\n metadata: FieldsMetadata\n errors: SDKError[]\n}\n\nexport const FormFieldsMetadataContext = createContext<FormFieldsMetadataContextValue | null>(null)\n\nexport function useFormFieldsMetadataContext(): FormFieldsMetadataContextValue | null {\n return useContext(FormFieldsMetadataContext)\n}\n"],"names":["FormFieldsMetadataContext","createContext","useFormFieldsMetadataContext","useContext"],"mappings":";AASO,MAAMA,IAA4BC,EAAqD,IAAI;AAE3F,SAASC,IAAsE;AACpF,SAAOC,EAAWH,CAAyB;AAC7C;"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { FieldMetadata, FieldMetadataWithOptions } from './types';
2
+ import { FieldMetadata, FieldMetadataWithOptions } from '../../../types/sdkHooks';
3
3
  import { SDKError } from '../../../types/sdkError';
4
4
  interface FormFieldsMetadataProviderProps {
5
5
  metadata: Record<string, FieldMetadata | FieldMetadataWithOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldsMetadataProvider.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport type { FieldMetadata, FieldMetadataWithOptions } from './types'\nimport { FormFieldsMetadataContext } from './FormFieldsMetadataContext'\nimport type { SDKError } from '@/types/sdkError'\n\ninterface FormFieldsMetadataProviderProps {\n metadata: Record<string, FieldMetadata | FieldMetadataWithOptions>\n errors: SDKError[]\n children: ReactNode\n}\n\nexport function FormFieldsMetadataProvider({\n metadata,\n errors,\n children,\n}: FormFieldsMetadataProviderProps) {\n return (\n <FormFieldsMetadataContext.Provider value={{ metadata, errors }}>\n {children}\n </FormFieldsMetadataContext.Provider>\n )\n}\n"],"names":["FormFieldsMetadataProvider","metadata","errors","children","jsx","FormFieldsMetadataContext"],"mappings":";;AAWO,SAASA,EAA2B;AAAA,EACzC,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAAoC;AAClC,SACE,gBAAAC,EAACC,EAA0B,UAA1B,EAAmC,OAAO,EAAE,UAAAJ,GAAU,QAAAC,KACpD,UAAAC,GACH;AAEJ;"}
1
+ {"version":3,"file":"FormFieldsMetadataProvider.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { FormFieldsMetadataContext } from './FormFieldsMetadataContext'\nimport type { FieldMetadata, FieldMetadataWithOptions } from '@/types/sdkHooks'\nimport type { SDKError } from '@/types/sdkError'\n\ninterface FormFieldsMetadataProviderProps {\n metadata: Record<string, FieldMetadata | FieldMetadataWithOptions>\n errors: SDKError[]\n children: ReactNode\n}\n\nexport function FormFieldsMetadataProvider({\n metadata,\n errors,\n children,\n}: FormFieldsMetadataProviderProps) {\n return (\n <FormFieldsMetadataContext.Provider value={{ metadata, errors }}>\n {children}\n </FormFieldsMetadataContext.Provider>\n )\n}\n"],"names":["FormFieldsMetadataProvider","metadata","errors","children","jsx","FormFieldsMetadataContext"],"mappings":";;AAWO,SAASA,EAA2B;AAAA,EACzC,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAAoC;AAClC,SACE,gBAAAC,EAACC,EAA0B,UAA1B,EAAmC,OAAO,EAAE,UAAAJ,GAAU,QAAAC,KACpD,UAAAC,GACH;AAEJ;"}
@@ -1,7 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { HookFormInternals } from '../types';
4
- import { FieldMetadata, FieldMetadataWithOptions } from './types';
3
+ import { FieldMetadata, FieldMetadataWithOptions, HookFormInternals } from '../../../types/sdkHooks';
5
4
  import { SDKError } from '../../../types/sdkError';
6
5
  interface SDKFormProviderProps<TFormData extends FieldValues = FieldValues, TFieldsMetadata extends {
7
6
  [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"SDKFormProvider.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/SDKFormProvider.tsx"],"sourcesContent":["import { type ReactNode, useEffect } from 'react'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { FormProvider } from 'react-hook-form'\nimport type { HookFormInternals } from '../types'\nimport { FormFieldsMetadataProvider } from './FormFieldsMetadataProvider'\nimport type { FieldMetadata, FieldMetadataWithOptions } from './types'\nimport type { SDKError, SDKFieldError } from '@/types/sdkError'\n\nfunction useSyncFieldErrors<\n TFormData extends FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n },\n>(\n fieldErrors: SDKFieldError[],\n form: {\n fieldsMetadata: TFieldsMetadata\n hookFormInternals: HookFormInternals<TFormData>\n },\n) {\n const { fieldsMetadata } = form\n const { setError } = form.hookFormInternals.formMethods\n\n useEffect(() => {\n if (!fieldErrors.length) return\n const knownFields = new Set(Object.keys(fieldsMetadata))\n for (const fieldError of fieldErrors) {\n if (knownFields.has(fieldError.field)) {\n setError(fieldError.field as FieldPath<TFormData>, {\n type: 'custom',\n message: fieldError.message,\n })\n }\n }\n }, [fieldErrors, setError, fieldsMetadata])\n}\n\ninterface SDKFormProviderProps<\n TFormData extends FieldValues = FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n } = Record<string, FieldMetadata | FieldMetadataWithOptions>,\n> {\n formHookResult: {\n errorHandling: { errors: SDKError[] }\n form: {\n fieldsMetadata: TFieldsMetadata\n hookFormInternals: HookFormInternals<TFormData>\n }\n }\n children: ReactNode\n}\n\nexport function SDKFormProvider<\n TFormData extends FieldValues = FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n } = Record<string, FieldMetadata | FieldMetadataWithOptions>,\n>({ formHookResult, children }: SDKFormProviderProps<TFormData, TFieldsMetadata>) {\n const { errorHandling, form } = formHookResult\n const allFieldErrors = errorHandling.errors.flatMap(e => e.fieldErrors)\n useSyncFieldErrors(allFieldErrors, form)\n\n return (\n <FormFieldsMetadataProvider metadata={form.fieldsMetadata} errors={errorHandling.errors}>\n <FormProvider {...form.hookFormInternals.formMethods}>{children}</FormProvider>\n </FormFieldsMetadataProvider>\n )\n}\n"],"names":["useSyncFieldErrors","fieldErrors","form","fieldsMetadata","setError","useEffect","knownFields","fieldError","SDKFormProvider","formHookResult","children","errorHandling","allFieldErrors","e","jsx","FormFieldsMetadataProvider","FormProvider"],"mappings":";;;;AAQA,SAASA,EAMPC,GACAC,GAIA;AACA,QAAM,EAAE,gBAAAC,MAAmBD,GACrB,EAAE,UAAAE,EAAA,IAAaF,EAAK,kBAAkB;AAE5C,EAAAG,EAAU,MAAM;AACd,QAAI,CAACJ,EAAY,OAAQ;AACzB,UAAMK,IAAc,IAAI,IAAI,OAAO,KAAKH,CAAc,CAAC;AACvD,eAAWI,KAAcN;AACvB,MAAIK,EAAY,IAAIC,EAAW,KAAK,KAClCH,EAASG,EAAW,OAA+B;AAAA,QACjD,MAAM;AAAA,QACN,SAASA,EAAW;AAAA,MAAA,CACrB;AAAA,EAGP,GAAG,CAACN,GAAaG,GAAUD,CAAc,CAAC;AAC5C;AAkBO,SAASK,EAKd,EAAE,gBAAAC,GAAgB,UAAAC,KAA8D;AAChF,QAAM,EAAE,eAAAC,GAAe,MAAAT,EAAA,IAASO,GAC1BG,IAAiBD,EAAc,OAAO,QAAQ,CAAAE,MAAKA,EAAE,WAAW;AACtE,SAAAb,EAAmBY,GAAgBV,CAAI,GAGrC,gBAAAY,EAACC,GAAA,EAA2B,UAAUb,EAAK,gBAAgB,QAAQS,EAAc,QAC/E,UAAA,gBAAAG,EAACE,KAAc,GAAGd,EAAK,kBAAkB,aAAc,UAAAQ,GAAS,GAClE;AAEJ;"}
1
+ {"version":3,"file":"SDKFormProvider.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/SDKFormProvider.tsx"],"sourcesContent":["import { type ReactNode, useEffect } from 'react'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { FormProvider } from 'react-hook-form'\nimport { FormFieldsMetadataProvider } from './FormFieldsMetadataProvider'\nimport type { FieldMetadata, FieldMetadataWithOptions, HookFormInternals } from '@/types/sdkHooks'\nimport type { SDKError, SDKFieldError } from '@/types/sdkError'\n\nfunction useSyncFieldErrors<\n TFormData extends FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n },\n>(\n fieldErrors: SDKFieldError[],\n form: {\n fieldsMetadata: TFieldsMetadata\n hookFormInternals: HookFormInternals<TFormData>\n },\n) {\n const { fieldsMetadata } = form\n const { setError } = form.hookFormInternals.formMethods\n\n useEffect(() => {\n if (!fieldErrors.length) return\n const knownFields = new Set(Object.keys(fieldsMetadata))\n for (const fieldError of fieldErrors) {\n if (knownFields.has(fieldError.field)) {\n setError(fieldError.field as FieldPath<TFormData>, {\n type: 'custom',\n message: fieldError.message,\n })\n }\n }\n }, [fieldErrors, setError, fieldsMetadata])\n}\n\ninterface SDKFormProviderProps<\n TFormData extends FieldValues = FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n } = Record<string, FieldMetadata | FieldMetadataWithOptions>,\n> {\n formHookResult: {\n errorHandling: { errors: SDKError[] }\n form: {\n fieldsMetadata: TFieldsMetadata\n hookFormInternals: HookFormInternals<TFormData>\n }\n }\n children: ReactNode\n}\n\nexport function SDKFormProvider<\n TFormData extends FieldValues = FieldValues,\n TFieldsMetadata extends {\n [K in keyof TFieldsMetadata]: FieldMetadata | FieldMetadataWithOptions\n } = Record<string, FieldMetadata | FieldMetadataWithOptions>,\n>({ formHookResult, children }: SDKFormProviderProps<TFormData, TFieldsMetadata>) {\n const { errorHandling, form } = formHookResult\n const allFieldErrors = errorHandling.errors.flatMap(e => e.fieldErrors)\n useSyncFieldErrors(allFieldErrors, form)\n\n return (\n <FormFieldsMetadataProvider metadata={form.fieldsMetadata} errors={errorHandling.errors}>\n <FormProvider {...form.hookFormInternals.formMethods}>{children}</FormProvider>\n </FormFieldsMetadataProvider>\n )\n}\n"],"names":["useSyncFieldErrors","fieldErrors","form","fieldsMetadata","setError","useEffect","knownFields","fieldError","SDKFormProvider","formHookResult","children","errorHandling","allFieldErrors","e","jsx","FormFieldsMetadataProvider","FormProvider"],"mappings":";;;;AAOA,SAASA,EAMPC,GACAC,GAIA;AACA,QAAM,EAAE,gBAAAC,MAAmBD,GACrB,EAAE,UAAAE,EAAA,IAAaF,EAAK,kBAAkB;AAE5C,EAAAG,EAAU,MAAM;AACd,QAAI,CAACJ,EAAY,OAAQ;AACzB,UAAMK,IAAc,IAAI,IAAI,OAAO,KAAKH,CAAc,CAAC;AACvD,eAAWI,KAAcN;AACvB,MAAIK,EAAY,IAAIC,EAAW,KAAK,KAClCH,EAASG,EAAW,OAA+B;AAAA,QACjD,MAAM;AAAA,QACN,SAASA,EAAW;AAAA,MAAA,CACrB;AAAA,EAGP,GAAG,CAACN,GAAaG,GAAUD,CAAc,CAAC;AAC5C;AAkBO,SAASK,EAKd,EAAE,gBAAAC,GAAgB,UAAAC,KAA8D;AAChF,QAAM,EAAE,eAAAC,GAAe,MAAAT,EAAA,IAASO,GAC1BG,IAAiBD,EAAc,OAAO,QAAQ,CAAAE,MAAKA,EAAE,WAAW;AACtE,SAAAb,EAAmBY,GAAgBV,CAAI,GAGrC,gBAAAY,EAACC,GAAA,EAA2B,UAAUb,EAAK,gBAAgB,QAAQS,EAAc,QAC/E,UAAA,gBAAAG,EAACE,KAAc,GAAGd,EAAK,kBAAkB,aAAc,UAAAQ,GAAS,GAClE;AAEJ;"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ import { FieldMetadata } from '../../../types/sdkHooks';
3
+ export type FormMode = 'create' | 'update';
4
+ export type RequiredFieldRule<TData = Record<string, unknown>> = 'create' | 'update' | 'always' | 'never' | ((data: TData, mode: FormMode) => boolean);
5
+ export type RequiredFieldConfig<TSchema extends Record<string, z.ZodType>> = Partial<{
6
+ [K in keyof TSchema & string]: RequiredFieldRule<{
7
+ [F in keyof TSchema]: z.infer<TSchema[F]>;
8
+ }>;
9
+ }>;
10
+ type OptionalOnCreate<TConfig> = {
11
+ [K in keyof TConfig & string]: TConfig[K] extends 'update' | 'never' ? K : never;
12
+ }[keyof TConfig & string];
13
+ type OptionalOnUpdate<TConfig> = {
14
+ [K in keyof TConfig & string]: TConfig[K] extends 'create' | 'never' ? K : never;
15
+ }[keyof TConfig & string];
16
+ export type OptionalFieldsToRequire<TConfig> = {
17
+ create?: Array<OptionalOnCreate<TConfig>>;
18
+ update?: Array<OptionalOnUpdate<TConfig>>;
19
+ };
20
+ interface BuildFormSchemaOptions<T extends Record<string, z.ZodType>, TConfig extends RequiredFieldConfig<T>> {
21
+ requiredFieldsConfig?: TConfig;
22
+ requiredErrorCode?: string;
23
+ mode: FormMode;
24
+ optionalFieldsToRequire?: OptionalFieldsToRequire<TConfig>;
25
+ excludeFields?: Array<keyof T & string>;
26
+ /** Fields with existing server-side values that are redacted in the API response
27
+ * (e.g. SSN, EIN). These fields remain in the schema for format validation and
28
+ * appear in metadata (with `hasRedactedValue: true`) but are exempt from required
29
+ * validation — an empty submission is valid because a value already exists. */
30
+ fieldsWithRedactedValues?: Array<keyof T & string>;
31
+ superRefine?: (data: {
32
+ [K in keyof T]: z.infer<T[K]>;
33
+ }, ctx: z.RefinementCtx) => void;
34
+ }
35
+ export interface FieldsMetadataConfig<T extends Record<string, z.ZodType>> {
36
+ getFieldsMetadata: (data?: Record<string, unknown>) => Record<keyof T, FieldMetadata>;
37
+ /** Form field names that predicate-based requiredness rules read at runtime. */
38
+ predicateDeps: string[];
39
+ }
40
+ type FormDataFromValidators<T extends Record<string, z.ZodType>> = {
41
+ [K in keyof T]: z.infer<T[K]>;
42
+ };
43
+ export type BuildFormSchemaResult<T extends Record<string, z.ZodType>> = [
44
+ schema: z.ZodType<FormDataFromValidators<T>, FormDataFromValidators<T>>,
45
+ metadataConfig: FieldsMetadataConfig<T>
46
+ ];
47
+ export declare function buildFormSchema<T extends Record<string, z.ZodType>, TConfig extends RequiredFieldConfig<T>>(fieldValidators: T, options: BuildFormSchemaOptions<T, TConfig>): BuildFormSchemaResult<T>;
48
+ export {};
@@ -0,0 +1,94 @@
1
+ import { z as h } from "zod";
2
+ function I(t, r) {
3
+ const {
4
+ mode: i,
5
+ requiredFieldsConfig: u = {},
6
+ requiredErrorCode: c = "REQUIRED",
7
+ excludeFields: l = []
8
+ } = r, f = new Set(l.map(String)), a = new Set((r.fieldsWithRedactedValues ?? []).map(String)), R = new Set(
9
+ F(r.optionalFieldsToRequire, i)
10
+ ), m = {}, d = [], y = [], g = u;
11
+ for (const [n, s] of Object.entries(t)) {
12
+ if (f.has(n)) continue;
13
+ y.push(n);
14
+ const e = g[n] ?? "always";
15
+ if (m[n] = x(s), !a.has(n)) {
16
+ const o = R.has(n);
17
+ typeof e == "function" ? d.push({
18
+ name: n,
19
+ predicate: o ? () => !0 : e
20
+ }) : (e === "always" || e === i || o) && d.push({ name: n, predicate: () => !0 });
21
+ }
22
+ }
23
+ const q = d.length > 0 || r.superRefine;
24
+ let p = h.object(m);
25
+ q && (p = p.superRefine(
26
+ (n, s) => {
27
+ for (const { name: e, predicate: o } of d)
28
+ o(n, i) && P(n[e]) && s.addIssue({
29
+ code: h.ZodIssueCode.custom,
30
+ path: [e],
31
+ message: c
32
+ });
33
+ r.superRefine?.(n, s);
34
+ }
35
+ ));
36
+ const w = C(d, i);
37
+ function S(n) {
38
+ const s = {};
39
+ for (const e of y) {
40
+ const o = g[e] ?? "always";
41
+ R.has(e) ? s[e] = { name: e, isRequired: !0 } : typeof o == "function" ? s[e] = { name: e, isRequired: n ? o(n, i) : !1 } : s[e] = {
42
+ name: e,
43
+ isRequired: o === "always" || o === i
44
+ }, a.has(e) && (s[e].hasRedactedValue = !0);
45
+ }
46
+ return s;
47
+ }
48
+ return [
49
+ p,
50
+ { getFieldsMetadata: S, predicateDeps: w }
51
+ ];
52
+ }
53
+ function F(t, r) {
54
+ return t ? (r === "create" ? t.create : t.update) ?? [] : [];
55
+ }
56
+ function x(t) {
57
+ return h.preprocess((r) => r === "" || r === null ? void 0 : r, t.optional());
58
+ }
59
+ function P(t) {
60
+ return t == null || typeof t == "string" && t.trim() === "";
61
+ }
62
+ function C(t, r) {
63
+ const i = /* @__PURE__ */ new Set();
64
+ for (const { predicate: u } of t) {
65
+ if (E(u)) continue;
66
+ const c = [], l = new Proxy({}, {
67
+ get(f, a) {
68
+ typeof a == "string" && c.push(a);
69
+ }
70
+ });
71
+ try {
72
+ u(l, r);
73
+ } catch {
74
+ }
75
+ for (const f of c) i.add(f);
76
+ }
77
+ return [...i];
78
+ }
79
+ function E(t) {
80
+ const r = [], i = new Proxy({}, {
81
+ get(u, c) {
82
+ typeof c == "string" && r.push(c);
83
+ }
84
+ });
85
+ try {
86
+ t(i, "create");
87
+ } catch {
88
+ }
89
+ return r.length === 0;
90
+ }
91
+ export {
92
+ I as buildFormSchema
93
+ };
94
+ //# sourceMappingURL=buildFormSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildFormSchema.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/buildFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { FieldMetadata } from '@/types/sdkHooks'\n\n// ── Types ────────────────────────────────────────────────────────────\n\nexport type FormMode = 'create' | 'update'\n\nexport type RequiredFieldRule<TData = Record<string, unknown>> =\n | 'create'\n | 'update'\n | 'always'\n | 'never'\n | ((data: TData, mode: FormMode) => boolean)\n\nexport type RequiredFieldConfig<TSchema extends Record<string, z.ZodType>> = Partial<{\n [K in keyof TSchema & string]: RequiredFieldRule<{\n [F in keyof TSchema]: z.infer<TSchema[F]>\n }>\n}>\n\ntype OptionalOnCreate<TConfig> = {\n [K in keyof TConfig & string]: TConfig[K] extends 'update' | 'never' ? K : never\n}[keyof TConfig & string]\n\ntype OptionalOnUpdate<TConfig> = {\n [K in keyof TConfig & string]: TConfig[K] extends 'create' | 'never' ? K : never\n}[keyof TConfig & string]\n\nexport type OptionalFieldsToRequire<TConfig> = {\n create?: Array<OptionalOnCreate<TConfig>>\n update?: Array<OptionalOnUpdate<TConfig>>\n}\n\n// ── buildFormSchema ──────────────────────────────────────────────────\n\ninterface BuildFormSchemaOptions<\n T extends Record<string, z.ZodType>,\n TConfig extends RequiredFieldConfig<T>,\n> {\n requiredFieldsConfig?: TConfig\n requiredErrorCode?: string\n mode: FormMode\n optionalFieldsToRequire?: OptionalFieldsToRequire<TConfig>\n excludeFields?: Array<keyof T & string>\n /** Fields with existing server-side values that are redacted in the API response\n * (e.g. SSN, EIN). These fields remain in the schema for format validation and\n * appear in metadata (with `hasRedactedValue: true`) but are exempt from required\n * validation — an empty submission is valid because a value already exists. */\n fieldsWithRedactedValues?: Array<keyof T & string>\n superRefine?: (data: { [K in keyof T]: z.infer<T[K]> }, ctx: z.RefinementCtx) => void\n}\n\nexport interface FieldsMetadataConfig<T extends Record<string, z.ZodType>> {\n getFieldsMetadata: (data?: Record<string, unknown>) => Record<keyof T, FieldMetadata>\n /** Form field names that predicate-based requiredness rules read at runtime. */\n predicateDeps: string[]\n}\n\ntype FormDataFromValidators<T extends Record<string, z.ZodType>> = {\n [K in keyof T]: z.infer<T[K]>\n}\n\nexport type BuildFormSchemaResult<T extends Record<string, z.ZodType>> = [\n schema: z.ZodType<FormDataFromValidators<T>, FormDataFromValidators<T>>,\n metadataConfig: FieldsMetadataConfig<T>,\n]\n\nexport function buildFormSchema<\n T extends Record<string, z.ZodType>,\n TConfig extends RequiredFieldConfig<T>,\n>(fieldValidators: T, options: BuildFormSchemaOptions<T, TConfig>): BuildFormSchemaResult<T> {\n const {\n mode,\n requiredFieldsConfig = {} as Record<string, RequiredFieldRule>,\n requiredErrorCode = 'REQUIRED',\n excludeFields = [],\n } = options\n const excluded = new Set(excludeFields.map(String))\n const redacted = new Set((options.fieldsWithRedactedValues ?? []).map(String))\n const partnerRequired = new Set(\n resolveOptionalFieldsToRequire(options.optionalFieldsToRequire, mode),\n )\n\n const shape: Record<string, z.ZodType> = {}\n const dynamicRequired: Array<{\n name: string\n predicate: (data: Record<string, unknown>, mode: FormMode) => boolean\n }> = []\n const includedFieldNames: string[] = []\n const config = requiredFieldsConfig as Record<string, RequiredFieldRule>\n\n for (const [name, validator] of Object.entries(fieldValidators)) {\n if (excluded.has(name)) continue\n includedFieldNames.push(name)\n\n const effectiveRule = config[name] ?? 'always'\n\n shape[name] = makeOptional(validator)\n\n if (!redacted.has(name)) {\n const isPartnerRequired = partnerRequired.has(name)\n\n if (typeof effectiveRule === 'function') {\n dynamicRequired.push({\n name,\n predicate: isPartnerRequired ? () => true : effectiveRule,\n })\n } else {\n const isRequired = effectiveRule === 'always' || effectiveRule === mode || isPartnerRequired\n if (isRequired) {\n dynamicRequired.push({ name, predicate: () => true })\n }\n }\n }\n }\n\n const hasSuperRefine = dynamicRequired.length > 0 || options.superRefine\n let schema: z.ZodType = z.object(shape)\n\n if (hasSuperRefine) {\n schema = (schema as z.ZodObject).superRefine(\n (data: Record<string, unknown>, ctx: z.RefinementCtx) => {\n for (const { name, predicate } of dynamicRequired) {\n if (predicate(data, mode) && isEmpty(data[name])) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [name],\n message: requiredErrorCode,\n })\n }\n }\n\n options.superRefine?.(data as { [K in keyof T]: z.infer<T[K]> }, ctx)\n },\n )\n }\n\n const predicateDeps = detectPredicateDeps(dynamicRequired, mode)\n\n function getFieldsMetadata(data?: Record<string, unknown>) {\n const metadata: Record<string, FieldMetadata> = {}\n\n for (const name of includedFieldNames) {\n const effectiveRule = config[name] ?? 'always'\n\n if (partnerRequired.has(name)) {\n metadata[name] = { name, isRequired: true }\n } else if (typeof effectiveRule === 'function') {\n metadata[name] = { name, isRequired: data ? effectiveRule(data, mode) : false }\n } else {\n metadata[name] = {\n name,\n isRequired: effectiveRule === 'always' || effectiveRule === mode,\n }\n }\n\n if (redacted.has(name)) {\n metadata[name].hasRedactedValue = true\n }\n }\n\n return metadata as Record<keyof T, FieldMetadata>\n }\n\n // makeOptional wraps fields with z.preprocess, which causes z.input to infer\n // `unknown`. Cast the schema to carry the original field types so zodResolver\n // infers correct form data types — consumers don't need per-hook casts.\n return [\n schema as z.ZodType<FormDataFromValidators<T>, FormDataFromValidators<T>>,\n { getFieldsMetadata, predicateDeps },\n ]\n}\n\n// ── Internal helpers ─────────────────────────────────────────────────\n\nfunction resolveOptionalFieldsToRequire<TConfig>(\n value: OptionalFieldsToRequire<TConfig> | undefined,\n mode: FormMode,\n): string[] {\n if (!value) return []\n return ((mode === 'create' ? value.create : value.update) ?? []) as string[]\n}\n\nfunction makeOptional(validator: z.ZodType): z.ZodType {\n return z.preprocess(v => (v === '' || v === null ? undefined : v), validator.optional())\n}\n\nfunction isEmpty(value: unknown): boolean {\n if (value === undefined || value === null) return true\n if (typeof value === 'string' && value.trim() === '') return true\n return false\n}\n\n/**\n * Determines which form field names are read by predicate-based requiredness\n * rules. This enables `useDeriveFieldsMetadata` to watch only the specific\n * fields that predicates depend on, rather than subscribing to every form\n * value change (which defeats react-hook-form's per-field render optimization).\n *\n * Works by running each predicate against a recording Proxy. The Proxy\n * intercepts property access and logs the keys, giving us the dependency list\n * without requiring manual declaration.\n *\n * Limitation: JavaScript short-circuit evaluation (`a && b`) can prevent the\n * Proxy from seeing later operands when earlier ones are falsy. In practice\n * this is acceptable — our predicate rules read a single form value each\n * (e.g. `data => data.adjustForMinimumWage`). Multi-field predicates with\n * equality guards should be expressed as `superRefine` rules instead.\n */\nfunction detectPredicateDeps(\n dynamicRequired: Array<{\n name: string\n predicate: (data: Record<string, unknown>, mode: FormMode) => boolean\n }>,\n mode: FormMode,\n): string[] {\n const deps = new Set<string>()\n\n for (const { predicate } of dynamicRequired) {\n if (isConstantPredicate(predicate)) continue\n\n const accessed: string[] = []\n const proxy = new Proxy({} as Record<string, unknown>, {\n get(_target, prop) {\n if (typeof prop === 'string') accessed.push(prop)\n return undefined\n },\n })\n\n try {\n predicate(proxy, mode)\n } catch {\n /* Predicate may throw on undefined values — that's fine, we already captured the property accesses */\n }\n\n for (const key of accessed) deps.add(key)\n }\n\n return [...deps]\n}\n\n/**\n * Static predicates (e.g. `() => true` from 'always' / mode rules / partner\n * overrides) don't access form data, so we skip them during dependency\n * detection. We identify them by running against an empty proxy and checking\n * whether any properties were accessed.\n */\nfunction isConstantPredicate(\n predicate: (data: Record<string, unknown>, mode: FormMode) => boolean,\n): boolean {\n const accessed: string[] = []\n const proxy = new Proxy({} as Record<string, unknown>, {\n get(_target, prop) {\n if (typeof prop === 'string') accessed.push(prop)\n return undefined\n },\n })\n try {\n predicate(proxy, 'create')\n } catch {\n /* ignore */\n }\n return accessed.length === 0\n}\n"],"names":["buildFormSchema","fieldValidators","options","mode","requiredFieldsConfig","requiredErrorCode","excludeFields","excluded","redacted","partnerRequired","resolveOptionalFieldsToRequire","shape","dynamicRequired","includedFieldNames","config","name","validator","effectiveRule","makeOptional","isPartnerRequired","hasSuperRefine","schema","z","data","ctx","predicate","isEmpty","predicateDeps","detectPredicateDeps","getFieldsMetadata","metadata","value","v","deps","isConstantPredicate","accessed","proxy","_target","prop","key"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { z } from 'zod';
2
- import { FieldMetadata } from './types';
3
- export declare function deriveFieldsMetadata<T extends z.ZodObject<z.ZodRawShape>>(schema: T): Record<keyof z.infer<T>, FieldMetadata>;
2
+ import { FieldMetadata } from '../../../types/sdkHooks';
3
+ export declare function deriveFieldsMetadata<T extends z.ZodObject>(schema: T): Record<keyof z.infer<T>, FieldMetadata>;
@@ -1 +1 @@
1
- {"version":3,"file":"deriveFieldsMetadata.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { FieldMetadata } from './types'\n\nexport function deriveFieldsMetadata<T extends z.ZodObject<z.ZodRawShape>>(\n schema: T,\n): Record<keyof z.infer<T>, FieldMetadata> {\n const jsonSchema = z.toJSONSchema(schema)\n const requiredFields = new Set((jsonSchema as { required?: string[] }).required ?? [])\n const shape = schema.shape as Record<string, z.ZodType>\n const result: Record<string, FieldMetadata> = {}\n\n for (const key of Object.keys(shape)) {\n result[key] = {\n name: key,\n isRequired: requiredFields.has(key),\n }\n }\n\n return result as Record<keyof z.infer<T>, FieldMetadata>\n}\n"],"names":["deriveFieldsMetadata","schema","jsonSchema","z","requiredFields","shape","result","key"],"mappings":";AAGO,SAASA,EACdC,GACyC;AACzC,QAAMC,IAAaC,EAAE,aAAaF,CAAM,GAClCG,IAAiB,IAAI,IAAKF,EAAuC,YAAY,CAAA,CAAE,GAC/EG,IAAQJ,EAAO,OACfK,IAAwC,CAAA;AAE9C,aAAWC,KAAO,OAAO,KAAKF,CAAK;AACjC,IAAAC,EAAOC,CAAG,IAAI;AAAA,MACZ,MAAMA;AAAA,MACN,YAAYH,EAAe,IAAIG,CAAG;AAAA,IAAA;AAItC,SAAOD;AACT;"}
1
+ {"version":3,"file":"deriveFieldsMetadata.js","sources":["../../../../src/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { FieldMetadata } from '@/types/sdkHooks'\n\nexport function deriveFieldsMetadata<T extends z.ZodObject>(\n schema: T,\n): Record<keyof z.infer<T>, FieldMetadata> {\n const jsonSchema = z.toJSONSchema(schema)\n const requiredFields = new Set((jsonSchema as { required?: string[] }).required ?? [])\n const shape = schema.shape as Record<string, z.ZodType>\n const result: Record<string, FieldMetadata> = {}\n\n for (const key of Object.keys(shape)) {\n result[key] = {\n name: key,\n isRequired: requiredFields.has(key),\n }\n }\n\n return result as Record<keyof z.infer<T>, FieldMetadata>\n}\n"],"names":["deriveFieldsMetadata","schema","jsonSchema","z","requiredFields","shape","result","key"],"mappings":";AAGO,SAASA,EACdC,GACyC;AACzC,QAAMC,IAAaC,EAAE,aAAaF,CAAM,GAClCG,IAAiB,IAAI,IAAKF,EAAuC,YAAY,CAAA,CAAE,GAC/EG,IAAQJ,EAAO,OACfK,IAAwC,CAAA;AAE9C,aAAWC,KAAO,OAAO,KAAKF,CAAK;AACjC,IAAAC,EAAOC,CAAG,IAAI;AAAA,MACZ,MAAMA;AAAA,MACN,YAAYH,EAAe,IAAIG,CAAG;AAAA,IAAA;AAItC,SAAOD;AACT;"}
@@ -1,9 +1,10 @@
1
1
  import { ComponentType } from 'react';
2
- import { BaseFieldProps, ValidationMessages } from '../types';
2
+ import { BaseFieldProps, ValidationMessages, BaseFormHookReady } from '../../../../types/sdkHooks';
3
3
  import { CheckboxProps } from '../../../Common/UI/Checkbox/CheckboxTypes';
4
4
  export interface CheckboxHookFieldProps<TErrorCode extends string = never> extends BaseFieldProps {
5
5
  name: string;
6
+ formHookResult?: BaseFormHookReady;
6
7
  validationMessages?: ValidationMessages<TErrorCode>;
7
8
  FieldComponent?: ComponentType<CheckboxProps>;
8
9
  }
9
- export declare function CheckboxHookField<TErrorCode extends string>({ name, label, description, validationMessages, FieldComponent, }: CheckboxHookFieldProps<TErrorCode>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function CheckboxHookField<TErrorCode extends string>({ name, formHookResult, label, description, validationMessages, FieldComponent, }: CheckboxHookFieldProps<TErrorCode>): import("react/jsx-runtime").JSX.Element;
@@ -1,34 +1,34 @@
1
- import { jsx as d } from "react/jsx-runtime";
2
- import { useFieldsMetadata as m } from "../useFieldsMetadata.js";
3
- import { useFieldErrorMessage as p } from "../useFieldErrorMessage.js";
4
- import "../../../../shared/constants.js";
5
- import "classnames";
6
- import "react-i18next";
7
- import "../../../../contexts/ComponentAdapter/useComponentContext.js";
8
- import "react";
9
- import { CheckboxField as l } from "../../../Common/Fields/CheckboxField/CheckboxField.js";
10
- function h({
11
- name: e,
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { useHookFieldResolution as f } from "../useHookFieldResolution.js";
3
+ import { CheckboxField as m } from "../../../Common/Fields/CheckboxField/CheckboxField.js";
4
+ function p({
5
+ name: o,
6
+ formHookResult: i,
12
7
  label: r,
13
- description: i,
14
- validationMessages: t,
15
- FieldComponent: s
8
+ description: t,
9
+ validationMessages: s,
10
+ FieldComponent: d
16
11
  }) {
17
- const o = m()[e], a = p(e, t);
18
- return /* @__PURE__ */ d(
19
- l,
12
+ const { metadata: l, control: a, errorMessage: c } = f(
13
+ o,
14
+ i,
15
+ s
16
+ ), e = l[o];
17
+ return /* @__PURE__ */ u(
18
+ m,
20
19
  {
21
- name: e,
20
+ name: o,
21
+ control: a,
22
22
  label: r,
23
- description: i,
24
- errorMessage: a,
25
- isRequired: o?.isRequired,
26
- isDisabled: o?.isDisabled,
27
- FieldComponent: s
23
+ description: t,
24
+ errorMessage: c,
25
+ isRequired: e?.isRequired,
26
+ isDisabled: e?.isDisabled,
27
+ FieldComponent: d
28
28
  }
29
29
  );
30
30
  }
31
31
  export {
32
- h as CheckboxHookField
32
+ p as CheckboxHookField
33
33
  };
34
34
  //# sourceMappingURL=CheckboxHookField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxHookField.js","sources":["../../../../../src/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport type { BaseFieldProps, ValidationMessages } from '../types'\nimport { useFieldsMetadata } from '../useFieldsMetadata'\nimport { useFieldErrorMessage } from '../useFieldErrorMessage'\nimport { CheckboxField } from '@/components/Common'\nimport type { CheckboxProps } from '@/components/Common/UI/Checkbox/CheckboxTypes'\n\nexport interface CheckboxHookFieldProps<TErrorCode extends string = never> extends BaseFieldProps {\n name: string\n validationMessages?: ValidationMessages<TErrorCode>\n FieldComponent?: ComponentType<CheckboxProps>\n}\n\nexport function CheckboxHookField<TErrorCode extends string>({\n name,\n label,\n description,\n validationMessages,\n FieldComponent,\n}: CheckboxHookFieldProps<TErrorCode>) {\n const metadata = useFieldsMetadata()\n const fieldMetadata = metadata[name]\n const errorMessage = useFieldErrorMessage(name, validationMessages)\n\n return (\n <CheckboxField\n name={name}\n label={label}\n description={description}\n errorMessage={errorMessage}\n isRequired={fieldMetadata?.isRequired}\n isDisabled={fieldMetadata?.isDisabled}\n FieldComponent={FieldComponent}\n />\n )\n}\n"],"names":["CheckboxHookField","name","label","description","validationMessages","FieldComponent","fieldMetadata","useFieldsMetadata","errorMessage","useFieldErrorMessage","jsx","CheckboxField"],"mappings":";;;;;;;;;AAaO,SAASA,EAA6C;AAAA,EAC3D,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AACF,GAAuC;AAErC,QAAMC,IADWC,EAAA,EACcN,CAAI,GAC7BO,IAAeC,EAAqBR,GAAMG,CAAkB;AAElE,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAV;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAK;AAAA,MACA,YAAYF,GAAe;AAAA,MAC3B,YAAYA,GAAe;AAAA,MAC3B,gBAAAD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"CheckboxHookField.js","sources":["../../../../../src/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useHookFieldResolution } from '../useHookFieldResolution'\nimport type { BaseFieldProps, ValidationMessages } from '@/types/sdkHooks'\nimport type { BaseFormHookReady } from '@/types/sdkHooks'\nimport { CheckboxField } from '@/components/Common'\nimport type { CheckboxProps } from '@/components/Common/UI/Checkbox/CheckboxTypes'\n\nexport interface CheckboxHookFieldProps<TErrorCode extends string = never> extends BaseFieldProps {\n name: string\n formHookResult?: BaseFormHookReady\n validationMessages?: ValidationMessages<TErrorCode>\n FieldComponent?: ComponentType<CheckboxProps>\n}\n\nexport function CheckboxHookField<TErrorCode extends string>({\n name,\n formHookResult,\n label,\n description,\n validationMessages,\n FieldComponent,\n}: CheckboxHookFieldProps<TErrorCode>) {\n const { metadata, control, errorMessage } = useHookFieldResolution(\n name,\n formHookResult,\n validationMessages,\n )\n const fieldMetadata = metadata[name]\n\n return (\n <CheckboxField\n name={name}\n control={control}\n label={label}\n description={description}\n errorMessage={errorMessage}\n isRequired={fieldMetadata?.isRequired}\n isDisabled={fieldMetadata?.isDisabled}\n FieldComponent={FieldComponent}\n />\n )\n}\n"],"names":["CheckboxHookField","name","formHookResult","label","description","validationMessages","FieldComponent","metadata","control","errorMessage","useHookFieldResolution","fieldMetadata","jsx","CheckboxField"],"mappings":";;;AAcO,SAASA,EAA6C;AAAA,EAC3D,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AACF,GAAuC;AACrC,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,cAAAC,EAAA,IAAiBC;AAAA,IAC1CT;AAAA,IACAC;AAAA,IACAG;AAAA,EAAA,GAEIM,IAAgBJ,EAASN,CAAI;AAEnC,SACE,gBAAAW;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAZ;AAAA,MACA,SAAAO;AAAA,MACA,OAAAL;AAAA,MACA,aAAAC;AAAA,MACA,cAAAK;AAAA,MACA,YAAYE,GAAe;AAAA,MAC3B,YAAYA,GAAe;AAAA,MAC3B,gBAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;"}