@gusto/embedded-react-sdk 0.41.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/assets/icons/house.svg.js +10 -0
  3. package/dist/assets/icons/house.svg.js.map +1 -0
  4. package/dist/assets/icons/search-lg.svg.js +10 -0
  5. package/dist/assets/icons/search-lg.svg.js.map +1 -0
  6. package/dist/components/Common/DataView/DataCards/DataCards.d.ts +3 -1
  7. package/dist/components/Common/DataView/DataCards/DataCards.js +55 -45
  8. package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
  9. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +16 -10
  10. package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
  11. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +1 -1
  12. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
  13. package/dist/components/Common/EmptyData/EmptyData.d.ts +3 -0
  14. package/dist/components/Common/EmptyData/EmptyData.js +11 -11
  15. package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
  16. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +8 -6
  17. package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
  18. package/dist/components/Common/UI/Box/Box.module.scss.js +4 -4
  19. package/dist/components/Common/UI/ComboBox/ComboBox.d.ts +1 -1
  20. package/dist/components/Common/UI/ComboBox/ComboBox.js +26 -25
  21. package/dist/components/Common/UI/ComboBox/ComboBox.js.map +1 -1
  22. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +5 -0
  23. package/dist/components/Common/UI/DatePicker/DatePicker.js +4 -4
  24. package/dist/components/Common/UI/DatePicker/DatePicker.js.map +1 -1
  25. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
  26. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  27. package/dist/components/Common/UI/Menu/Menu.js +18 -17
  28. package/dist/components/Common/UI/Menu/Menu.js.map +1 -1
  29. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +5 -0
  30. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  31. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +1 -1
  32. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
  33. package/dist/components/Common/UI/Select/Select.js +9 -9
  34. package/dist/components/Common/UI/Select/Select.js.map +1 -1
  35. package/dist/components/Common/UI/TextInput/TextInput.js +37 -35
  36. package/dist/components/Common/UI/TextInput/TextInput.js.map +1 -1
  37. package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -1
  38. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  39. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +2 -3
  40. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  41. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +2 -3
  42. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  43. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +2 -3
  44. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  45. package/dist/components/Company/AssignSignatory/TitleSelect.js +1 -1
  46. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +6 -6
  47. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +8 -9
  48. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  49. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
  50. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  51. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +2 -3
  52. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  53. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -1
  54. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -8
  55. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  56. package/dist/components/Company/FederalTaxes/Actions.js +5 -6
  57. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  58. package/dist/components/Company/Industry/Actions.js +2 -3
  59. package/dist/components/Company/Industry/Actions.js.map +1 -1
  60. package/dist/components/Company/Industry/Edit.js +4 -5
  61. package/dist/components/Company/Industry/Edit.js.map +1 -1
  62. package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
  63. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  64. package/dist/components/Company/Locations/LocationForm/Form.d.ts +6 -1
  65. package/dist/components/Company/Locations/LocationForm/Form.js +29 -27
  66. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  67. package/dist/components/Company/Locations/LocationForm/LocationForm.js +59 -55
  68. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  69. package/dist/components/Company/Locations/LocationsList/Actions.js +6 -7
  70. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  71. package/dist/components/Company/Locations/LocationsList/List.js +33 -33
  72. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  73. package/dist/components/Company/Locations/LocationsList/List.module.scss.js +8 -0
  74. package/dist/components/Company/Locations/LocationsList/List.module.scss.js.map +1 -0
  75. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +11 -15
  76. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  77. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +37 -35
  78. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  79. package/dist/components/Company/PaySchedule/PayScheduleForm.js +87 -99
  80. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  81. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +8 -10
  82. package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js.map +1 -1
  83. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +11 -1
  84. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
  85. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
  86. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  87. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +2 -3
  88. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  89. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +5 -6
  90. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  91. package/dist/components/Contractor/Address/Address.js +6 -6
  92. package/dist/components/Contractor/Address/Address.js.map +1 -1
  93. package/dist/components/Contractor/Address/Form.js +4 -4
  94. package/dist/components/Contractor/Address/Head.js +10 -8
  95. package/dist/components/Contractor/Address/Head.js.map +1 -1
  96. package/dist/components/Contractor/NewHireReport/NewHireReport.js +39 -39
  97. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  98. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +13 -16
  99. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  100. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +61 -63
  101. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  102. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +9 -9
  103. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
  104. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +14 -15
  105. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  106. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
  107. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +11 -11
  108. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  109. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +88 -111
  110. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  111. package/dist/components/Contractor/Profile/ContractorProfileForm.js +48 -49
  112. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -1
  113. package/dist/components/Contractor/Submit/SubmitDone.js +14 -12
  114. package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
  115. package/dist/components/Employee/Compensation/Actions.js +1 -1
  116. package/dist/components/Employee/Compensation/List.js +22 -23
  117. package/dist/components/Employee/Compensation/List.js.map +1 -1
  118. package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +2 -0
  119. package/dist/components/Employee/Dashboard/DashboardComponents.js +18 -6
  120. package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
  121. package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +2 -0
  122. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +55 -4
  123. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  124. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +26 -26
  125. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  126. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +6 -7
  127. package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
  128. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +0 -33
  129. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js +129 -212
  130. package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  131. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +79 -57
  132. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  133. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.d.ts +3 -4
  134. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.js.map +1 -1
  135. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/index.d.ts +2 -2
  136. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +0 -1
  137. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js +33 -49
  138. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  139. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +12 -3
  140. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js +98 -98
  141. package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
  142. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -0
  143. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -0
  144. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -0
  145. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -0
  146. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -0
  147. package/dist/components/Employee/FederalTaxes/Actions.js +6 -7
  148. package/dist/components/Employee/FederalTaxes/Actions.js.map +1 -1
  149. package/dist/components/Employee/FederalTaxes/FederalForm.js +4 -5
  150. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  151. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +6 -0
  152. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +48 -0
  153. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -0
  154. package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +18 -0
  155. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +477 -0
  156. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -0
  157. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +8 -0
  158. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js +36 -0
  159. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -0
  160. package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.test.d.ts +1 -0
  161. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +45 -0
  162. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +112 -0
  163. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -0
  164. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +1 -1
  165. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  166. package/dist/components/Employee/PaymentMethod/Actions.js +5 -6
  167. package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
  168. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +1 -1
  169. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +4 -4
  170. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
  171. package/dist/components/Employee/PaymentMethod/Split.js +23 -22
  172. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  173. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +1 -1
  174. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  175. package/dist/components/Employee/Profile/AdminProfile.js +94 -100
  176. package/dist/components/Employee/Profile/AdminProfile.js.map +1 -1
  177. package/dist/components/Employee/Profile/EmployeeProfile.js +63 -65
  178. package/dist/components/Employee/Profile/EmployeeProfile.js.map +1 -1
  179. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +37 -36
  180. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  181. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.d.ts +1 -1
  182. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js.map +1 -1
  183. package/dist/components/Employee/Profile/shared/useHomeAddressForm/index.d.ts +2 -0
  184. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.d.ts +3 -0
  185. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +24 -0
  186. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -0
  187. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +9 -3
  188. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +105 -105
  189. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  190. package/dist/components/Employee/Profile/shared/useWorkAddressForm/index.d.ts +2 -0
  191. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.d.ts +3 -0
  192. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +24 -0
  193. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -0
  194. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +10 -4
  195. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +95 -84
  196. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  197. package/dist/components/Employee/StateTaxes/Actions.js +7 -8
  198. package/dist/components/Employee/StateTaxes/Actions.js.map +1 -1
  199. package/dist/components/Employee/Taxes/Actions.js +8 -9
  200. package/dist/components/Employee/Taxes/Actions.js.map +1 -1
  201. package/dist/components/Employee/Taxes/FederalForm.js +4 -5
  202. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  203. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +11 -9
  204. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  205. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +71 -89
  206. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  207. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +6 -0
  208. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +48 -0
  209. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -0
  210. package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +16 -0
  211. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +368 -0
  212. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -0
  213. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +4 -0
  214. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js +35 -0
  215. package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -0
  216. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +45 -0
  217. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +143 -0
  218. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -0
  219. package/dist/components/Employee/exports/employeeManagement.d.ts +3 -1
  220. package/dist/components/Employee/exports/employeeManagement.js +12 -10
  221. package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
  222. package/dist/components/Employee/exports/employeeOnboarding.d.ts +1 -1
  223. package/dist/components/Employee/exports/employeeOnboarding.js +1 -1
  224. package/dist/components/Employee/index.d.ts +5 -1
  225. package/dist/components/Employee/index.js +37 -33
  226. package/dist/components/Employee/index.js.map +1 -1
  227. package/dist/components/Flow/Flow.js +23 -51
  228. package/dist/components/Flow/Flow.js.map +1 -1
  229. package/dist/components/Flow/FlowHeader.d.ts +16 -0
  230. package/dist/components/Flow/FlowHeader.js +90 -0
  231. package/dist/components/Flow/FlowHeader.js.map +1 -0
  232. package/dist/components/Flow/useFlow.d.ts +33 -6
  233. package/dist/components/Flow/useFlow.js.map +1 -1
  234. package/dist/components/Payroll/Dismissal/DismissalFlow.js +20 -18
  235. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  236. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +10 -10
  237. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  238. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +17 -19
  239. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
  240. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +13 -11
  241. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  242. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +9 -9
  243. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  244. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +25 -29
  245. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  246. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +0 -1
  247. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  248. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +6 -7
  249. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  250. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +2 -3
  251. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  252. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +43 -42
  253. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  254. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -42
  255. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  256. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +18 -17
  257. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  258. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +69 -78
  259. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  260. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +13 -12
  261. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  262. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +51 -82
  263. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  264. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +45 -43
  265. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  266. package/dist/components/Payroll/Transition/TransitionFlow.js +17 -15
  267. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  268. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +24 -24
  269. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  270. package/dist/components/Payroll/Transition/transitionStateMachine.js +25 -29
  271. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  272. package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +6 -41
  273. package/dist/components/UNSTABLE_TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  274. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -0
  275. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +12 -40
  276. package/dist/components/UNSTABLE_TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  277. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js +61 -41
  278. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  279. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.module.scss.js +6 -8
  280. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettings.module.scss.js.map +1 -1
  281. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettingsPresentation.js +32 -44
  282. package/dist/components/UNSTABLE_TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
  283. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js +36 -29
  284. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  285. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js +50 -23
  286. package/dist/components/UNSTABLE_TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  287. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +26 -25
  288. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  289. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +52 -38
  290. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  291. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployees.d.ts +2 -0
  292. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +6 -0
  293. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +66 -0
  294. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -0
  295. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +2 -0
  296. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +82 -0
  297. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -0
  298. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +24 -0
  299. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +7 -0
  300. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +70 -0
  301. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -0
  302. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTypes.d.ts +24 -0
  303. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +11 -0
  304. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +56 -0
  305. package/dist/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -0
  306. package/dist/components/UNSTABLE_TimeOff/index.d.ts +2 -4
  307. package/dist/components/UNSTABLE_TimeOff/index.js +19 -21
  308. package/dist/components/UNSTABLE_TimeOff/index.js.map +1 -1
  309. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.js +90 -0
  310. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -0
  311. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.module.scss.js +10 -0
  312. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.module.scss.js.map +1 -0
  313. package/dist/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +1 -0
  314. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +1 -0
  315. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +31 -31
  316. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  317. package/dist/contexts/ThemeProvider/ThemeProvider.d.ts +8 -0
  318. package/dist/contexts/ThemeProvider/ThemeProvider.js +26 -21
  319. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  320. package/dist/contexts/ThemeProvider/useTheme.d.ts +1 -1
  321. package/dist/contexts/ThemeProvider/useTheme.js.map +1 -1
  322. package/dist/helpers/breadcrumbHelpers.d.ts +35 -22
  323. package/dist/helpers/breadcrumbHelpers.js +45 -35
  324. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  325. package/dist/helpers/dateFormatting.d.ts +12 -0
  326. package/dist/helpers/dateFormatting.js +72 -65
  327. package/dist/helpers/dateFormatting.js.map +1 -1
  328. package/dist/helpers/formattedStrings.d.ts +2 -0
  329. package/dist/helpers/formattedStrings.js +30 -27
  330. package/dist/helpers/formattedStrings.js.map +1 -1
  331. package/dist/i18n/I18n.js +131 -35
  332. package/dist/i18n/I18n.js.map +1 -1
  333. package/dist/i18n/en/Company.Locations.json.js +43 -39
  334. package/dist/i18n/en/Company.Locations.json.js.map +1 -1
  335. package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js +5 -5
  336. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +22 -0
  337. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -0
  338. package/dist/i18n/en/Employee.HomeAddress.Management.json.js +60 -0
  339. package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -0
  340. package/dist/i18n/en/Employee.HomeAddress.json.js +22 -20
  341. package/dist/i18n/en/Employee.HomeAddress.json.js.map +1 -1
  342. package/dist/i18n/en/Employee.I9SignatureForm.json.js +79 -75
  343. package/dist/i18n/en/Employee.I9SignatureForm.json.js.map +1 -1
  344. package/dist/i18n/en/Employee.PaymentMethod.json.js +13 -13
  345. package/dist/i18n/en/Employee.WorkAddress.Management.json.js +62 -0
  346. package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -0
  347. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js +14 -10
  348. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js.map +1 -1
  349. package/dist/i18n/en/common.json.d.ts +1 -0
  350. package/dist/i18n/en/common.json.js +28 -26
  351. package/dist/i18n/en/common.json.js.map +1 -1
  352. package/dist/index.d.ts +5 -5
  353. package/dist/index.js +72 -68
  354. package/dist/index.js.map +1 -1
  355. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +13 -14
  356. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  357. package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +4 -2
  358. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +19 -13
  359. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  360. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +16 -17
  361. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  362. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +10 -11
  363. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  364. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
  365. package/dist/partner-hook-utils/form/fields/SelectHookField.js +21 -18
  366. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  367. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +12 -13
  368. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  369. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +14 -15
  370. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  371. package/dist/partner-hook-utils/form/withOptions.d.ts +1 -1
  372. package/dist/partner-hook-utils/form/withOptions.js.map +1 -1
  373. package/dist/partner-hook-utils/types.d.ts +1 -1
  374. package/dist/shared/constants.d.ts +6 -0
  375. package/dist/shared/constants.js +17 -14
  376. package/dist/shared/constants.js.map +1 -1
  377. package/dist/style.css +1 -1
  378. package/dist/types/i18next.d.ts +109 -1
  379. package/docs/reference/endpoint-inventory.json +241 -38
  380. package/package.json +11 -11
  381. package/dist/_virtual/dynamic-import-helper.js +0 -17
  382. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  383. package/dist/components/Common/SignatureForm/SignatureForm.d.ts +0 -14
  384. package/dist/components/Common/SignatureForm/SignatureForm.js +0 -28
  385. package/dist/components/Common/SignatureForm/SignatureForm.js.map +0 -1
  386. package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js +0 -10
  387. package/dist/components/Common/SignatureForm/SignatureForm.module.scss.js.map +0 -1
  388. package/dist/components/Common/SignatureForm/SignatureFormActions.d.ts +0 -8
  389. package/dist/components/Common/SignatureForm/SignatureFormActions.js +0 -22
  390. package/dist/components/Common/SignatureForm/SignatureFormActions.js.map +0 -1
  391. package/dist/components/Common/SignatureForm/SignatureFormFields.d.ts +0 -9
  392. package/dist/components/Common/SignatureForm/SignatureFormFields.js +0 -39
  393. package/dist/components/Common/SignatureForm/SignatureFormFields.js.map +0 -1
  394. package/dist/components/Common/SignatureForm/index.d.ts +0 -5
  395. package/dist/components/Contractor/Profile/ContractorProfileForm.module.scss.js +0 -8
  396. package/dist/components/Contractor/Profile/ContractorProfileForm.module.scss.js.map +0 -1
  397. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.d.ts +0 -1
  398. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js +0 -20
  399. package/dist/components/Employee/DocumentSigner/SignatureForm/Actions.js.map +0 -1
  400. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.d.ts +0 -1
  401. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js +0 -20
  402. package/dist/components/Employee/DocumentSigner/SignatureForm/Form.js.map +0 -1
  403. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.d.ts +0 -1
  404. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js +0 -35
  405. package/dist/components/Employee/DocumentSigner/SignatureForm/Head.js.map +0 -1
  406. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.d.ts +0 -1
  407. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js +0 -20
  408. package/dist/components/Employee/DocumentSigner/SignatureForm/Preview.js.map +0 -1
  409. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.d.ts +0 -9
  410. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +0 -21
  411. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +0 -1
  412. package/dist/components/Employee/employee-list/management/ManagementEmployeeList.js.map +0 -1
  413. package/dist/components/Employee/employee-list/management/ManagementEmployeeListView.js.map +0 -1
  414. package/dist/components/Employee/employee-list/onboarding/EmployeeList.js.map +0 -1
  415. package/dist/components/Employee/employee-list/onboarding/EmployeeListView.js.map +0 -1
  416. package/dist/components/Employee/employee-list/shared/useEmployeeList.js.map +0 -1
  417. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.d.ts +0 -0
  418. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeList.js +0 -0
  419. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.d.ts +0 -0
  420. /package/dist/components/Employee/{employee-list → EmployeeList}/management/ManagementEmployeeListView.js +0 -0
  421. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.d.ts +0 -0
  422. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeList.js +0 -0
  423. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.d.ts +0 -0
  424. /package/dist/components/Employee/{employee-list → EmployeeList}/onboarding/EmployeeListView.js +0 -0
  425. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/index.d.ts +0 -0
  426. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.d.ts +0 -0
  427. /package/dist/components/Employee/{employee-list → EmployeeList}/shared/useEmployeeList.js +0 -0
@@ -0,0 +1,56 @@
1
+ import { useState as d, useMemo as i, useCallback as u } from "react";
2
+ import { useEmployeesListSuspense as b } from "@gusto/embedded-api/react-query/employeesList";
3
+ import { usePagination as L } from "../../../../hooks/usePagination/usePagination.js";
4
+ function D(h) {
5
+ const [f, g] = d(/* @__PURE__ */ new Set()), [s, c] = d(""), { currentPage: m, itemsPerPage: p, getPaginationProps: S, resetPage: a } = L(), { data: n, isFetching: o } = b({
6
+ companyId: h,
7
+ terminated: !1,
8
+ page: m,
9
+ per: p
10
+ }), r = i(
11
+ () => (n.showEmployees ?? []).map((e) => ({
12
+ uuid: e.uuid,
13
+ firstName: e.firstName,
14
+ lastName: e.lastName,
15
+ jobTitle: e.jobs?.find((t) => t.primary)?.title ?? null,
16
+ department: e.department ?? null
17
+ })),
18
+ [n.showEmployees]
19
+ ), y = i(() => {
20
+ if (!s) return r;
21
+ const e = s.toLowerCase();
22
+ return r.filter(
23
+ (t) => `${t.firstName ?? ""} ${t.lastName ?? ""}`.toLowerCase().includes(e)
24
+ );
25
+ }, [r, s]), w = i(
26
+ () => S(n.httpMeta.response.headers, o),
27
+ // eslint-disable-next-line react-hooks/exhaustive-deps
28
+ [n.httpMeta.response.headers, o, m, p]
29
+ ), P = u((e, t) => {
30
+ g((E) => {
31
+ const l = new Set(E);
32
+ return t ? l.add(e.uuid) : l.delete(e.uuid), l;
33
+ });
34
+ }, []), N = u(
35
+ (e) => {
36
+ c(e), a();
37
+ },
38
+ [a]
39
+ ), C = u(() => {
40
+ c(""), a();
41
+ }, [a]);
42
+ return {
43
+ filteredEmployees: y,
44
+ selectedUuids: f,
45
+ searchValue: s,
46
+ pagination: w,
47
+ isFetching: o,
48
+ handleSelect: P,
49
+ handleSearchChange: N,
50
+ handleSearchClear: C
51
+ };
52
+ }
53
+ export {
54
+ D as useSelectEmployeesData
55
+ };
56
+ //# sourceMappingURL=useSelectEmployeesData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectEmployeesData.js","sources":["../../../../../src/components/UNSTABLE_TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api/react-query/employeesList'\nimport type { EmployeeItem } from './SelectEmployeesPresentationTypes'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\nexport function useSelectEmployeesData(companyId: string) {\n const [selectedUuids, setSelectedUuids] = useState(new Set<string>())\n const [searchValue, setSearchValue] = useState('')\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\n\n const { data: employeesData, isFetching } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n page: currentPage,\n per: itemsPerPage,\n })\n\n const employees = useMemo<EmployeeItem[]>(\n () =>\n (employeesData.showEmployees ?? []).map(e => ({\n uuid: e.uuid,\n firstName: e.firstName,\n lastName: e.lastName,\n jobTitle: e.jobs?.find(job => job.primary)?.title ?? null,\n department: e.department ?? null,\n })),\n [employeesData.showEmployees],\n )\n\n const filteredEmployees = useMemo(() => {\n if (!searchValue) return employees\n const lower = searchValue.toLowerCase()\n return employees.filter(e =>\n `${e.firstName ?? ''} ${e.lastName ?? ''}`.toLowerCase().includes(lower),\n )\n }, [employees, searchValue])\n\n const pagination = useMemo(\n () => getPaginationProps(employeesData.httpMeta.response.headers, isFetching),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [employeesData.httpMeta.response.headers, isFetching, currentPage, itemsPerPage],\n )\n\n const handleSelect = useCallback((item: EmployeeItem, checked: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (checked) next.add(item.uuid)\n else next.delete(item.uuid)\n return next\n })\n }, [])\n\n const handleSearchChange = useCallback(\n (value: string) => {\n setSearchValue(value)\n resetPage()\n },\n [resetPage],\n )\n\n const handleSearchClear = useCallback(() => {\n setSearchValue('')\n resetPage()\n }, [resetPage])\n\n return {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSearchChange,\n handleSearchClear,\n }\n}\n"],"names":["useSelectEmployeesData","companyId","selectedUuids","setSelectedUuids","useState","searchValue","setSearchValue","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","employeesData","isFetching","useEmployeesListSuspense","employees","useMemo","job","filteredEmployees","lower","e","pagination","handleSelect","useCallback","item","checked","prev","next","handleSearchChange","value","handleSearchClear"],"mappings":";;;AAKO,SAASA,EAAuBC,GAAmB;AACxD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,oBAAI,KAAa,GAC9D,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAE,GAC3C,EAAE,aAAAG,GAAa,cAAAC,GAAc,oBAAAC,GAAoB,WAAAC,EAAA,IAAcC,EAAA,GAE/D,EAAE,MAAMC,GAAe,YAAAC,EAAA,IAAeC,EAAyB;AAAA,IACnE,WAAAb;AAAA,IACA,YAAY;AAAA,IACZ,MAAMM;AAAA,IACN,KAAKC;AAAA,EAAA,CACN,GAEKO,IAAYC;AAAA,IAChB,OACGJ,EAAc,iBAAiB,CAAA,GAAI,IAAI,CAAA,OAAM;AAAA,MAC5C,MAAM,EAAE;AAAA,MACR,WAAW,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,UAAU,EAAE,MAAM,KAAK,OAAOK,EAAI,OAAO,GAAG,SAAS;AAAA,MACrD,YAAY,EAAE,cAAc;AAAA,IAAA,EAC5B;AAAA,IACJ,CAACL,EAAc,aAAa;AAAA,EAAA,GAGxBM,IAAoBF,EAAQ,MAAM;AACtC,QAAI,CAACX,EAAa,QAAOU;AACzB,UAAMI,IAAQd,EAAY,YAAA;AAC1B,WAAOU,EAAU;AAAA,MAAO,CAAAK,MACtB,GAAGA,EAAE,aAAa,EAAE,IAAIA,EAAE,YAAY,EAAE,GAAG,YAAA,EAAc,SAASD,CAAK;AAAA,IAAA;AAAA,EAE3E,GAAG,CAACJ,GAAWV,CAAW,CAAC,GAErBgB,IAAaL;AAAA,IACjB,MAAMP,EAAmBG,EAAc,SAAS,SAAS,SAASC,CAAU;AAAA;AAAA,IAE5E,CAACD,EAAc,SAAS,SAAS,SAASC,GAAYN,GAAaC,CAAY;AAAA,EAAA,GAG3Ec,IAAeC,EAAY,CAACC,GAAoBC,MAAqB;AACzE,IAAAtB,EAAiB,CAAAuB,MAAQ;AACvB,YAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,aAAID,IAASE,EAAK,IAAIH,EAAK,IAAI,IAC1BG,EAAK,OAAOH,EAAK,IAAI,GACnBG;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECC,IAAqBL;AAAA,IACzB,CAACM,MAAkB;AACjB,MAAAvB,EAAeuB,CAAK,GACpBnB,EAAA;AAAA,IACF;AAAA,IACA,CAACA,CAAS;AAAA,EAAA,GAGNoB,IAAoBP,EAAY,MAAM;AAC1C,IAAAjB,EAAe,EAAE,GACjBI,EAAA;AAAA,EACF,GAAG,CAACA,CAAS,CAAC;AAEd,SAAO;AAAA,IACL,mBAAAQ;AAAA,IACA,eAAAhB;AAAA,IACA,aAAAG;AAAA,IACA,YAAAgB;AAAA,IACA,YAAAR;AAAA,IACA,cAAAS;AAAA,IACA,oBAAAM;AAAA,IACA,mBAAAE;AAAA,EAAA;AAEJ;"}
@@ -5,10 +5,8 @@ export { PolicyTypeSelector } from './PolicyTypeSelector/PolicyTypeSelector';
5
5
  export type { PolicyTypeSelectorProps } from './PolicyTypeSelector/PolicyTypeSelector';
6
6
  export { PolicyConfigurationForm } from './TimeOffManagement/PolicyConfigurationForm';
7
7
  export type { PolicyConfigurationFormProps } from './TimeOffManagement/PolicyConfigurationForm';
8
- export { PolicySettings } from './PolicySettings/PolicySettings';
9
- export type { PolicySettingsProps } from './PolicySettings/PolicySettings';
10
- export { PolicySettingsPresentation } from './PolicySettings/PolicySettingsPresentation';
11
- export type { PolicySettingsPresentationProps } from './PolicySettings/PolicySettingsTypes';
8
+ export { PolicySettingsPresentation as PolicySettings } from './PolicySettings/PolicySettingsPresentation';
9
+ export type { PolicySettingsPresentationProps as PolicySettingsProps } from './PolicySettings/PolicySettingsTypes';
12
10
  export { AddEmployeesToPolicy } from './AddEmployeesToPolicy/AddEmployeesToPolicy';
13
11
  export type { AddEmployeesToPolicyProps } from './AddEmployeesToPolicy/AddEmployeesToPolicy';
14
12
  export { ViewPolicyDetails } from './ViewPolicyDetails/ViewPolicyDetails';
@@ -1,29 +1,27 @@
1
1
  import { PolicyList as r } from "./PolicyList/PolicyList.js";
2
2
  import { PolicyTypeSelector as t } from "./PolicyTypeSelector/PolicyTypeSelector.js";
3
- import { PolicySettings as m } from "./PolicySettings/PolicySettings.js";
4
- import { PolicySettingsPresentation as y } from "./PolicySettings/PolicySettingsPresentation.js";
5
- import { AddEmployeesToPolicy as x } from "./AddEmployeesToPolicy/AddEmployeesToPolicy.js";
6
- import { ViewPolicyDetails as d } from "./ViewPolicyDetails/ViewPolicyDetails.js";
7
- import { ViewPolicyEmployees as P } from "./ViewPolicyEmployees/ViewPolicyEmployees.js";
8
- import { HolidaySelectionForm as n } from "./HolidaySelectionForm/HolidaySelectionForm.js";
9
- import { AddEmployeesHoliday as S } from "./AddEmployeesHoliday/AddEmployeesHoliday.js";
10
- import { ViewHolidayEmployees as H } from "./ViewHolidayEmployees/ViewHolidayEmployees.js";
11
- import { ViewHolidaySchedule as g } from "./ViewHolidaySchedule/ViewHolidaySchedule.js";
12
- import { TimeOffFlow as T } from "./TimeOffFlow/TimeOffFlow.js";
13
- import { PolicyConfigurationForm as A } from "./TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js";
3
+ import { PolicySettingsPresentation as m } from "./PolicySettings/PolicySettingsPresentation.js";
4
+ import { AddEmployeesToPolicy as y } from "./AddEmployeesToPolicy/AddEmployeesToPolicy.js";
5
+ import { ViewPolicyDetails as x } from "./ViewPolicyDetails/ViewPolicyDetails.js";
6
+ import { ViewPolicyEmployees as s } from "./ViewPolicyEmployees/ViewPolicyEmployees.js";
7
+ import { HolidaySelectionForm as P } from "./HolidaySelectionForm/HolidaySelectionForm.js";
8
+ import { AddEmployeesHoliday as n } from "./AddEmployeesHoliday/AddEmployeesHoliday.js";
9
+ import { ViewHolidayEmployees as S } from "./ViewHolidayEmployees/ViewHolidayEmployees.js";
10
+ import { ViewHolidaySchedule as H } from "./ViewHolidaySchedule/ViewHolidaySchedule.js";
11
+ import { TimeOffFlow as g } from "./TimeOffFlow/TimeOffFlow.js";
12
+ import { PolicyConfigurationForm as T } from "./TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js";
14
13
  export {
15
- S as AddEmployeesHoliday,
16
- x as AddEmployeesToPolicy,
17
- n as HolidaySelectionForm,
18
- A as PolicyConfigurationForm,
14
+ n as AddEmployeesHoliday,
15
+ y as AddEmployeesToPolicy,
16
+ P as HolidaySelectionForm,
17
+ T as PolicyConfigurationForm,
19
18
  r as PolicyList,
20
19
  m as PolicySettings,
21
- y as PolicySettingsPresentation,
22
20
  t as PolicyTypeSelector,
23
- T as TimeOffFlow,
24
- H as ViewHolidayEmployees,
25
- g as ViewHolidaySchedule,
26
- d as ViewPolicyDetails,
27
- P as ViewPolicyEmployees
21
+ g as TimeOffFlow,
22
+ S as ViewHolidayEmployees,
23
+ H as ViewHolidaySchedule,
24
+ x as ViewPolicyDetails,
25
+ s as ViewPolicyEmployees
28
26
  };
29
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,90 @@
1
+ import { jsx as r, jsxs as w } from "react/jsx-runtime";
2
+ import { useMemo as l } from "react";
3
+ import { useTranslation as D } from "react-i18next";
4
+ import h from "./EmployeeTable.module.scss.js";
5
+ import "classnames";
6
+ import { useComponentContext as d } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
7
+ import { useI18n as R } from "../../../../i18n/I18n.js";
8
+ import { firstLastName as V } from "../../../../helpers/formattedStrings.js";
9
+ import I from "../../../../assets/icons/search-lg.svg.js";
10
+ import { useDataView as O } from "../../../Common/DataView/useDataView.js";
11
+ import { DataView as P } from "../../../Common/DataView/DataView.js";
12
+ function Q({
13
+ data: o,
14
+ label: a,
15
+ additionalColumns: m = [],
16
+ searchValue: i,
17
+ onSearchChange: y,
18
+ onSearchClear: b,
19
+ searchPlaceholder: T,
20
+ selectionMode: g,
21
+ onSelect: c,
22
+ getIsItemSelected: C,
23
+ itemMenu: p,
24
+ pagination: E,
25
+ isFetching: S,
26
+ emptyState: u,
27
+ emptySearchState: n,
28
+ footer: x
29
+ }) {
30
+ R("Company.TimeOff.EmployeeTable");
31
+ const { t } = D("Company.TimeOff.EmployeeTable"), N = d(), s = i.length > 0 && o.length === 0, j = (e) => {
32
+ y(e), e || b();
33
+ }, f = l(() => {
34
+ const e = t("noSearchResults");
35
+ return function() {
36
+ return /* @__PURE__ */ r(_, { message: e });
37
+ };
38
+ }, [t]), v = l(() => s && n ? n : s ? f : u, [s, n, u, f]), L = l(
39
+ () => [
40
+ {
41
+ key: "name",
42
+ title: t("name"),
43
+ render: (e) => /* @__PURE__ */ r("span", { id: `employee-name-${e.uuid}`, children: V({
44
+ first_name: e.firstName,
45
+ last_name: e.lastName
46
+ }) })
47
+ },
48
+ {
49
+ key: "jobTitle",
50
+ title: t("jobTitle"),
51
+ render: (e) => e.jobTitle ?? ""
52
+ },
53
+ ...m
54
+ ],
55
+ [t, m]
56
+ ), k = O({
57
+ data: o,
58
+ columns: L,
59
+ itemMenu: p,
60
+ pagination: E,
61
+ isFetching: S,
62
+ emptyState: v,
63
+ footer: x,
64
+ ...c && { selectionMode: g, onSelect: c, getIsItemSelected: C }
65
+ });
66
+ return /* @__PURE__ */ w("div", { className: h.root, "data-has-menu": p ? !0 : void 0, children: [
67
+ /* @__PURE__ */ r("div", { className: h.searchContainer, children: /* @__PURE__ */ r(
68
+ N.TextInput,
69
+ {
70
+ name: "employee-search",
71
+ type: "search",
72
+ label: t("searchLabel"),
73
+ shouldVisuallyHideLabel: !0,
74
+ placeholder: T ?? t("searchPlaceholder"),
75
+ value: i,
76
+ onChange: j,
77
+ adornmentStart: /* @__PURE__ */ r(I, { "aria-hidden": !0 })
78
+ }
79
+ ) }),
80
+ /* @__PURE__ */ r(P, { label: a ?? t("tableLabel"), ...k })
81
+ ] });
82
+ }
83
+ function _({ message: o }) {
84
+ const { Text: a } = d();
85
+ return /* @__PURE__ */ r(a, { children: o });
86
+ }
87
+ export {
88
+ Q as EmployeeTable
89
+ };
90
+ //# sourceMappingURL=EmployeeTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmployeeTable.js","sources":["../../../../../src/components/UNSTABLE_TimeOff/shared/EmployeeTable/EmployeeTable.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { EmployeeTableItem, EmployeeTableProps } from './EmployeeTableTypes'\nimport styles from './EmployeeTable.module.scss'\nimport { DataView, useDataView } from '@/components/Common'\nimport type { useDataViewProp } from '@/components/Common/DataView/useDataView'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n/I18n'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport SearchIcon from '@/assets/icons/search-lg.svg?react'\n\nexport function EmployeeTable<T extends EmployeeTableItem>({\n data,\n label,\n additionalColumns = [],\n searchValue,\n onSearchChange,\n onSearchClear,\n searchPlaceholder,\n selectionMode,\n onSelect,\n getIsItemSelected,\n itemMenu,\n pagination,\n isFetching,\n emptyState,\n emptySearchState,\n footer,\n}: EmployeeTableProps<T>) {\n useI18n('Company.TimeOff.EmployeeTable')\n const { t } = useTranslation('Company.TimeOff.EmployeeTable')\n const Components = useComponentContext()\n\n const isSearchWithNoResults = searchValue.length > 0 && data.length === 0\n\n const handleSearchChange = (value: string) => {\n onSearchChange(value)\n if (!value) onSearchClear()\n }\n\n const defaultEmptySearch = useMemo(() => {\n const noSearchResults = t('noSearchResults')\n return function EmptySearchFallback() {\n return <DefaultEmptySearchState message={noSearchResults} />\n }\n }, [t])\n\n const resolvedEmptyState = useMemo(() => {\n if (isSearchWithNoResults && emptySearchState) {\n return emptySearchState\n }\n if (isSearchWithNoResults) {\n return defaultEmptySearch\n }\n return emptyState\n }, [isSearchWithNoResults, emptySearchState, emptyState, defaultEmptySearch])\n\n const columns = useMemo(\n () => [\n {\n key: 'name',\n title: t('name'),\n render: (item: T) => (\n <span id={`employee-name-${item.uuid}`}>\n {firstLastName({\n first_name: item.firstName,\n last_name: item.lastName,\n })}\n </span>\n ),\n },\n {\n key: 'jobTitle' as keyof T,\n title: t('jobTitle'),\n render: (item: T) => item.jobTitle ?? '',\n },\n ...additionalColumns,\n ],\n [t, additionalColumns],\n )\n\n const dataViewProps = useDataView<T>({\n data,\n columns,\n itemMenu,\n pagination,\n isFetching,\n emptyState: resolvedEmptyState,\n footer,\n ...(onSelect && { selectionMode, onSelect, getIsItemSelected }),\n } as useDataViewProp<T>)\n\n return (\n <div className={styles.root} data-has-menu={itemMenu ? true : undefined}>\n <div className={styles.searchContainer}>\n <Components.TextInput\n name=\"employee-search\"\n type=\"search\"\n label={t('searchLabel')}\n shouldVisuallyHideLabel\n placeholder={searchPlaceholder ?? t('searchPlaceholder')}\n value={searchValue}\n onChange={handleSearchChange}\n adornmentStart={<SearchIcon aria-hidden />}\n />\n </div>\n <DataView label={label ?? t('tableLabel')} {...dataViewProps} />\n </div>\n )\n}\n\nfunction DefaultEmptySearchState({ message }: { message: string }) {\n const { Text } = useComponentContext()\n return <Text>{message}</Text>\n}\n"],"names":["EmployeeTable","data","label","additionalColumns","searchValue","onSearchChange","onSearchClear","searchPlaceholder","selectionMode","onSelect","getIsItemSelected","itemMenu","pagination","isFetching","emptyState","emptySearchState","footer","useI18n","useTranslation","Components","useComponentContext","isSearchWithNoResults","handleSearchChange","value","defaultEmptySearch","useMemo","noSearchResults","jsx","DefaultEmptySearchState","resolvedEmptyState","columns","item","firstLastName","dataViewProps","useDataView","jsxs","styles","SearchIcon","DataView","message","Text"],"mappings":";;;;;;;;;;;AAWO,SAASA,EAA2C;AAAA,EACzD,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,mBAAAC,IAAoB,CAAA;AAAA,EACpB,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,QAAAC;AACF,GAA0B;AACxB,EAAAC,EAAQ,+BAA+B;AACvC,QAAM,EAAE,EAAA,IAAMC,EAAe,+BAA+B,GACtDC,IAAaC,EAAA,GAEbC,IAAwBjB,EAAY,SAAS,KAAKH,EAAK,WAAW,GAElEqB,IAAqB,CAACC,MAAkB;AAC5C,IAAAlB,EAAekB,CAAK,GACfA,KAAOjB,EAAA;AAAA,EACd,GAEMkB,IAAqBC,EAAQ,MAAM;AACvC,UAAMC,IAAkB,EAAE,iBAAiB;AAC3C,WAAO,WAA+B;AACpC,aAAO,gBAAAC,EAACC,GAAA,EAAwB,SAASF,EAAA,CAAiB;AAAA,IAC5D;AAAA,EACF,GAAG,CAAC,CAAC,CAAC,GAEAG,IAAqBJ,EAAQ,MAC7BJ,KAAyBN,IACpBA,IAELM,IACKG,IAEFV,GACN,CAACO,GAAuBN,GAAkBD,GAAYU,CAAkB,CAAC,GAEtEM,IAAUL;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,MAAM;AAAA,QACf,QAAQ,CAACM,MACP,gBAAAJ,EAAC,QAAA,EAAK,IAAI,iBAAiBI,EAAK,IAAI,IACjC,UAAAC,EAAc;AAAA,UACb,YAAYD,EAAK;AAAA,UACjB,WAAWA,EAAK;AAAA,QAAA,CACjB,EAAA,CACH;AAAA,MAAA;AAAA,MAGJ;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,UAAU;AAAA,QACnB,QAAQ,CAACA,MAAYA,EAAK,YAAY;AAAA,MAAA;AAAA,MAExC,GAAG5B;AAAA,IAAA;AAAA,IAEL,CAAC,GAAGA,CAAiB;AAAA,EAAA,GAGjB8B,IAAgBC,EAAe;AAAA,IACnC,MAAAjC;AAAA,IACA,SAAA6B;AAAA,IACA,UAAAnB;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAYgB;AAAA,IACZ,QAAAb;AAAA,IACA,GAAIP,KAAY,EAAE,eAAAD,GAAe,UAAAC,GAAU,mBAAAC,EAAA;AAAA,EAAkB,CACxC;AAEvB,SACE,gBAAAyB,EAAC,SAAI,WAAWC,EAAO,MAAM,iBAAezB,IAAW,KAAO,QAC5D,UAAA;AAAA,IAAA,gBAAAgB,EAAC,OAAA,EAAI,WAAWS,EAAO,iBACrB,UAAA,gBAAAT;AAAA,MAACR,EAAW;AAAA,MAAX;AAAA,QACC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,OAAO,EAAE,aAAa;AAAA,QACtB,yBAAuB;AAAA,QACvB,aAAaZ,KAAqB,EAAE,mBAAmB;AAAA,QACvD,OAAOH;AAAA,QACP,UAAUkB;AAAA,QACV,gBAAgB,gBAAAK,EAACU,GAAA,EAAW,eAAW,GAAA,CAAC;AAAA,MAAA;AAAA,IAAA,GAE5C;AAAA,IACA,gBAAAV,EAACW,KAAS,OAAOpC,KAAS,EAAE,YAAY,GAAI,GAAG+B,EAAA,CAAe;AAAA,EAAA,GAChE;AAEJ;AAEA,SAASL,EAAwB,EAAE,SAAAW,KAAgC;AACjE,QAAM,EAAE,MAAAC,EAAA,IAASpB,EAAA;AACjB,SAAO,gBAAAO,EAACa,KAAM,UAAAD,EAAA,CAAQ;AACxB;"}
@@ -0,0 +1,10 @@
1
+ const o = "_root_kciql_1", t = "_searchContainer_kciql_11", r = {
2
+ root: o,
3
+ searchContainer: t
4
+ };
5
+ export {
6
+ r as default,
7
+ o as root,
8
+ t as searchContainer
9
+ };
10
+ //# sourceMappingURL=EmployeeTable.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmployeeTable.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -2,6 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { useDataViewProp, SelectionMode } from '../../../Common/DataView/useDataView';
3
3
  import { PaginationControlProps } from '../../../Common/PaginationControl/PaginationControlTypes';
4
4
  export interface EmployeeTableItem {
5
+ uuid: string;
5
6
  firstName?: string | null;
6
7
  lastName?: string | null;
7
8
  jobTitle?: string | null;
@@ -19,6 +19,7 @@ export interface GustoProviderProps {
19
19
  locale?: string;
20
20
  currency?: string;
21
21
  theme?: GustoSDKTheme;
22
+ portalContainer?: HTMLElement;
22
23
  queryClient?: QueryClient;
23
24
  components: ComponentsContextType;
24
25
  LoaderComponent?: LoadingIndicatorContextProps['LoadingIndicator'];
@@ -1,36 +1,36 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { ErrorBoundary as E } from "react-error-boundary";
3
- import { I18nextProvider as g } from "react-i18next";
4
- import { useEffect as P, useMemo as k } from "react";
2
+ import { ErrorBoundary as g } from "react-error-boundary";
3
+ import { I18nextProvider as P } from "react-i18next";
4
+ import { useEffect as k, useMemo as C } from "react";
5
5
  import { ComponentsProvider as S } from "../ComponentAdapter/ComponentsProvider.js";
6
- import { ApiProvider as C } from "../ApiProvider/ApiProvider.js";
7
- import { LoadingIndicatorProvider as I } from "../LoadingIndicatorProvider/LoadingIndicatorProvider.js";
8
- import { sanitizeError as L } from "../ObservabilityProvider/sanitization.js";
6
+ import { ApiProvider as I } from "../ApiProvider/ApiProvider.js";
7
+ import { LoadingIndicatorProvider as L } from "../LoadingIndicatorProvider/LoadingIndicatorProvider.js";
8
+ import { sanitizeError as x } from "../ObservabilityProvider/sanitization.js";
9
9
  import { SDKI18next as m } from "./SDKI18next.js";
10
- import "../../shared/constants.js";
11
10
  import "classnames";
12
- import { InternalError as x } from "../../components/Common/InternalError/InternalError.js";
13
- import { LocaleProvider as z } from "../LocaleProvider/LocaleProvider.js";
11
+ import { InternalError as z } from "../../components/Common/InternalError/InternalError.js";
12
+ import { LocaleProvider as D } from "../LocaleProvider/LocaleProvider.js";
14
13
  import "../LocaleProvider/useLocale.js";
15
- import { ThemeProvider as D } from "../ThemeProvider/ThemeProvider.js";
16
- import { normalizeToSDKError as U } from "../../types/sdkError.js";
17
- import { ObservabilityProvider as T } from "../ObservabilityProvider/ObservabilityProvider.js";
14
+ import { ThemeProvider as U } from "../ThemeProvider/ThemeProvider.js";
15
+ import { normalizeToSDKError as T } from "../../types/sdkError.js";
16
+ import { ObservabilityProvider as w } from "../ObservabilityProvider/ObservabilityProvider.js";
18
17
  const X = (s) => {
19
18
  const {
20
19
  children: l,
21
20
  config: r,
22
21
  dictionary: i,
23
- lng: t = "en",
22
+ lng: n = "en",
24
23
  locale: c = "en-US",
25
24
  currency: d = "USD",
26
25
  theme: p,
27
- components: v,
28
- LoaderComponent: f,
29
- queryClient: b
26
+ portalContainer: v,
27
+ components: f,
28
+ LoaderComponent: b,
29
+ queryClient: u
30
30
  } = s;
31
31
  if (i)
32
- for (const n in i) {
33
- const e = n;
32
+ for (const t in i) {
33
+ const e = t;
34
34
  for (const a in i[e])
35
35
  m.addResourceBundle(
36
36
  e,
@@ -40,31 +40,31 @@ const X = (s) => {
40
40
  !0
41
41
  );
42
42
  }
43
- P(() => {
44
- (async () => await m.changeLanguage(t))();
45
- }, [t]);
46
- const u = k(() => {
43
+ k(() => {
44
+ (async () => await m.changeLanguage(n))();
45
+ }, [n]);
46
+ const h = C(() => {
47
47
  if (r.observability?.onError)
48
- return (n, e) => {
48
+ return (t, e) => {
49
49
  if (!r.observability?.onError) return;
50
- const h = {
51
- ...U(n),
50
+ const y = {
51
+ ...T(t),
52
52
  timestamp: Date.now(),
53
53
  componentStack: e.componentStack ?? void 0
54
- }, y = L(h, r.observability.sanitization);
55
- r.observability.onError(y);
54
+ }, E = x(y, r.observability.sanitization);
55
+ r.observability.onError(E);
56
56
  };
57
57
  }, [r.observability]);
58
- return /* @__PURE__ */ o(S, { value: v, children: /* @__PURE__ */ o(I, { value: f, children: /* @__PURE__ */ o(T, { observability: r.observability, children: /* @__PURE__ */ o(E, { FallbackComponent: x, onError: u, children: /* @__PURE__ */ o(D, { theme: p, children: /* @__PURE__ */ o(z, { locale: c, currency: d, children: /* @__PURE__ */ o(g, { i18n: m, children: /* @__PURE__ */ o(
59
- C,
58
+ return /* @__PURE__ */ o(S, { value: f, children: /* @__PURE__ */ o(L, { value: b, children: /* @__PURE__ */ o(w, { observability: r.observability, children: /* @__PURE__ */ o(g, { FallbackComponent: z, onError: h, children: /* @__PURE__ */ o(U, { theme: p, portalContainer: v, children: /* @__PURE__ */ o(D, { locale: c, currency: d, children: /* @__PURE__ */ o(P, { i18n: m, children: /* @__PURE__ */ o(
59
+ I,
60
60
  {
61
61
  url: r.baseUrl,
62
62
  headers: r.headers,
63
63
  hooks: r.hooks,
64
- queryClient: b,
64
+ queryClient: u,
65
65
  children: l
66
66
  }
67
- ) }, t) }) }) }) }) }) });
67
+ ) }, n) }) }) }) }) }) });
68
68
  };
69
69
  export {
70
70
  X as GustoProviderCustomUIAdapter
@@ -1 +1 @@
1
- {"version":3,"file":"GustoProviderCustomUIAdapter.js","sources":["../../../src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx"],"sourcesContent":["import type React from 'react'\nimport type { ErrorInfo } from 'react'\nimport { ErrorBoundary } from 'react-error-boundary'\nimport { I18nextProvider } from 'react-i18next'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { useEffect, useMemo } from 'react'\nimport { ComponentsProvider } from '../ComponentAdapter/ComponentsProvider'\nimport type { ComponentsContextType } from '../ComponentAdapter/useComponentContext'\nimport { ApiProvider } from '../ApiProvider/ApiProvider'\nimport { LoadingIndicatorProvider } from '../LoadingIndicatorProvider/LoadingIndicatorProvider'\nimport type { LoadingIndicatorContextProps } from '../LoadingIndicatorProvider/useLoadingIndicator'\nimport { ObservabilityProvider } from '../ObservabilityProvider'\nimport { sanitizeError } from '../ObservabilityProvider/sanitization'\nimport { SDKI18next } from './SDKI18next'\nimport { InternalError } from '@/components/Common'\nimport { LocaleProvider } from '@/contexts/LocaleProvider'\nimport { ThemeProvider } from '@/contexts/ThemeProvider'\nimport type { GustoSDKTheme } from '@/contexts/ThemeProvider/theme'\nimport type { ResourceDictionary, SupportedLanguages } from '@/types/Helpers'\nimport type { SDKHooks } from '@/types/hooks'\nimport type { ObservabilityHook } from '@/types/observability'\nimport { normalizeToSDKError } from '@/types/sdkError'\n\nexport interface APIConfig {\n baseUrl: string\n headers?: HeadersInit\n hooks?: SDKHooks\n observability?: ObservabilityHook\n}\n\nexport interface GustoProviderProps {\n config: APIConfig\n dictionary?: ResourceDictionary\n lng?: string\n locale?: string\n currency?: string\n theme?: GustoSDKTheme\n queryClient?: QueryClient\n components: ComponentsContextType\n LoaderComponent?: LoadingIndicatorContextProps['LoadingIndicator']\n}\n\nexport interface GustoProviderCustomUIAdapterProps extends GustoProviderProps {\n children?: React.ReactNode\n}\n\n/**\n * A provider that accepts UI component adapters through the components prop\n */\nconst GustoProviderCustomUIAdapter: React.FC<GustoProviderCustomUIAdapterProps> = props => {\n const {\n children,\n config,\n dictionary,\n lng = 'en',\n locale = 'en-US',\n currency = 'USD',\n theme,\n components,\n LoaderComponent,\n queryClient,\n } = props\n\n if (dictionary) {\n for (const language in dictionary) {\n const lang = language as SupportedLanguages\n for (const ns in dictionary[lang]) {\n SDKI18next.addResourceBundle(\n lang,\n ns,\n (dictionary[lang] as Record<string, unknown>)[ns],\n true,\n true,\n )\n }\n }\n }\n\n useEffect(() => {\n void (async () => {\n await SDKI18next.changeLanguage(lng)\n })()\n }, [lng])\n\n const handleTopLevelError = useMemo(() => {\n if (!config.observability?.onError) return undefined\n\n return (error: unknown, errorInfo: ErrorInfo) => {\n if (!config.observability?.onError) return\n\n const sdkError = normalizeToSDKError(error)\n\n const observabilityError = {\n ...sdkError,\n timestamp: Date.now(),\n componentStack: errorInfo.componentStack ?? undefined,\n }\n\n const sanitizedError = sanitizeError(observabilityError, config.observability.sanitization)\n\n config.observability.onError(sanitizedError)\n }\n }, [config.observability])\n return (\n <ComponentsProvider value={components}>\n <LoadingIndicatorProvider value={LoaderComponent}>\n <ObservabilityProvider observability={config.observability}>\n <ErrorBoundary FallbackComponent={InternalError} onError={handleTopLevelError}>\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={locale} currency={currency}>\n <I18nextProvider i18n={SDKI18next} key={lng}>\n <ApiProvider\n url={config.baseUrl}\n headers={config.headers}\n hooks={config.hooks}\n queryClient={queryClient}\n >\n {children}\n </ApiProvider>\n </I18nextProvider>\n </LocaleProvider>\n </ThemeProvider>\n </ErrorBoundary>\n </ObservabilityProvider>\n </LoadingIndicatorProvider>\n </ComponentsProvider>\n )\n}\n\nexport { GustoProviderCustomUIAdapter }\n"],"names":["GustoProviderCustomUIAdapter","props","children","config","dictionary","lng","locale","currency","theme","components","LoaderComponent","queryClient","language","lang","ns","SDKI18next","useEffect","handleTopLevelError","useMemo","error","errorInfo","observabilityError","normalizeToSDKError","sanitizedError","sanitizeError","jsx","ComponentsProvider","LoadingIndicatorProvider","ObservabilityProvider","ErrorBoundary","InternalError","ThemeProvider","LocaleProvider","I18nextProvider","ApiProvider"],"mappings":";;;;;;;;;;;;;;;;;AAiDA,MAAMA,IAA4E,CAAAC,MAAS;AACzF,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEV;AAEJ,MAAIG;AACF,eAAWQ,KAAYR,GAAY;AACjC,YAAMS,IAAOD;AACb,iBAAWE,KAAMV,EAAWS,CAAI;AAC9B,QAAAE,EAAW;AAAA,UACTF;AAAA,UACAC;AAAA,UACCV,EAAWS,CAAI,EAA8BC,CAAE;AAAA,UAChD;AAAA,UACA;AAAA,QAAA;AAAA,IAGN;AAGF,EAAAE,EAAU,MAAM;AACd,KAAM,YACJ,MAAMD,EAAW,eAAeV,CAAG;AAAA,EAEvC,GAAG,CAACA,CAAG,CAAC;AAER,QAAMY,IAAsBC,EAAQ,MAAM;AACxC,QAAKf,EAAO,eAAe;AAE3B,aAAO,CAACgB,GAAgBC,MAAyB;AAC/C,YAAI,CAACjB,EAAO,eAAe,QAAS;AAIpC,cAAMkB,IAAqB;AAAA,UACzB,GAHeC,EAAoBH,CAAK;AAAA,UAIxC,WAAW,KAAK,IAAA;AAAA,UAChB,gBAAgBC,EAAU,kBAAkB;AAAA,QAAA,GAGxCG,IAAiBC,EAAcH,GAAoBlB,EAAO,cAAc,YAAY;AAE1F,QAAAA,EAAO,cAAc,QAAQoB,CAAc;AAAA,MAC7C;AAAA,EACF,GAAG,CAACpB,EAAO,aAAa,CAAC;AACzB,SACE,gBAAAsB,EAACC,GAAA,EAAmB,OAAOjB,GACzB,UAAA,gBAAAgB,EAACE,GAAA,EAAyB,OAAOjB,GAC/B,UAAA,gBAAAe,EAACG,GAAA,EAAsB,eAAezB,EAAO,eAC3C,UAAA,gBAAAsB,EAACI,GAAA,EAAc,mBAAmBC,GAAe,SAASb,GACxD,UAAA,gBAAAQ,EAACM,GAAA,EAAc,OAAAvB,GACb,UAAA,gBAAAiB,EAACO,GAAA,EAAe,QAAA1B,GAAgB,UAAAC,GAC9B,UAAA,gBAAAkB,EAACQ,GAAA,EAAgB,MAAMlB,GACrB,UAAA,gBAAAU;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,KAAK/B,EAAO;AAAA,MACZ,SAASA,EAAO;AAAA,MAChB,OAAOA,EAAO;AAAA,MACd,aAAAQ;AAAA,MAEC,UAAAT;AAAA,IAAA;AAAA,EAAA,KAPmCG,CASxC,GACF,GACF,EAAA,CACF,EAAA,CACF,GACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"GustoProviderCustomUIAdapter.js","sources":["../../../src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx"],"sourcesContent":["import type React from 'react'\nimport type { ErrorInfo } from 'react'\nimport { ErrorBoundary } from 'react-error-boundary'\nimport { I18nextProvider } from 'react-i18next'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { useEffect, useMemo } from 'react'\nimport { ComponentsProvider } from '../ComponentAdapter/ComponentsProvider'\nimport type { ComponentsContextType } from '../ComponentAdapter/useComponentContext'\nimport { ApiProvider } from '../ApiProvider/ApiProvider'\nimport { LoadingIndicatorProvider } from '../LoadingIndicatorProvider/LoadingIndicatorProvider'\nimport type { LoadingIndicatorContextProps } from '../LoadingIndicatorProvider/useLoadingIndicator'\nimport { ObservabilityProvider } from '../ObservabilityProvider'\nimport { sanitizeError } from '../ObservabilityProvider/sanitization'\nimport { SDKI18next } from './SDKI18next'\nimport { InternalError } from '@/components/Common'\nimport { LocaleProvider } from '@/contexts/LocaleProvider'\nimport { ThemeProvider } from '@/contexts/ThemeProvider'\nimport type { GustoSDKTheme } from '@/contexts/ThemeProvider/theme'\nimport type { ResourceDictionary, SupportedLanguages } from '@/types/Helpers'\nimport type { SDKHooks } from '@/types/hooks'\nimport type { ObservabilityHook } from '@/types/observability'\nimport { normalizeToSDKError } from '@/types/sdkError'\n\nexport interface APIConfig {\n baseUrl: string\n headers?: HeadersInit\n hooks?: SDKHooks\n observability?: ObservabilityHook\n}\n\nexport interface GustoProviderProps {\n config: APIConfig\n dictionary?: ResourceDictionary\n lng?: string\n locale?: string\n currency?: string\n theme?: GustoSDKTheme\n portalContainer?: HTMLElement\n queryClient?: QueryClient\n components: ComponentsContextType\n LoaderComponent?: LoadingIndicatorContextProps['LoadingIndicator']\n}\n\nexport interface GustoProviderCustomUIAdapterProps extends GustoProviderProps {\n children?: React.ReactNode\n}\n\n/**\n * A provider that accepts UI component adapters through the components prop\n */\nconst GustoProviderCustomUIAdapter: React.FC<GustoProviderCustomUIAdapterProps> = props => {\n const {\n children,\n config,\n dictionary,\n lng = 'en',\n locale = 'en-US',\n currency = 'USD',\n theme,\n portalContainer,\n components,\n LoaderComponent,\n queryClient,\n } = props\n\n if (dictionary) {\n for (const language in dictionary) {\n const lang = language as SupportedLanguages\n for (const ns in dictionary[lang]) {\n SDKI18next.addResourceBundle(\n lang,\n ns,\n (dictionary[lang] as Record<string, unknown>)[ns],\n true,\n true,\n )\n }\n }\n }\n\n useEffect(() => {\n void (async () => {\n await SDKI18next.changeLanguage(lng)\n })()\n }, [lng])\n\n const handleTopLevelError = useMemo(() => {\n if (!config.observability?.onError) return undefined\n\n return (error: unknown, errorInfo: ErrorInfo) => {\n if (!config.observability?.onError) return\n\n const sdkError = normalizeToSDKError(error)\n\n const observabilityError = {\n ...sdkError,\n timestamp: Date.now(),\n componentStack: errorInfo.componentStack ?? undefined,\n }\n\n const sanitizedError = sanitizeError(observabilityError, config.observability.sanitization)\n\n config.observability.onError(sanitizedError)\n }\n }, [config.observability])\n return (\n <ComponentsProvider value={components}>\n <LoadingIndicatorProvider value={LoaderComponent}>\n <ObservabilityProvider observability={config.observability}>\n <ErrorBoundary FallbackComponent={InternalError} onError={handleTopLevelError}>\n <ThemeProvider theme={theme} portalContainer={portalContainer}>\n <LocaleProvider locale={locale} currency={currency}>\n <I18nextProvider i18n={SDKI18next} key={lng}>\n <ApiProvider\n url={config.baseUrl}\n headers={config.headers}\n hooks={config.hooks}\n queryClient={queryClient}\n >\n {children}\n </ApiProvider>\n </I18nextProvider>\n </LocaleProvider>\n </ThemeProvider>\n </ErrorBoundary>\n </ObservabilityProvider>\n </LoadingIndicatorProvider>\n </ComponentsProvider>\n )\n}\n\nexport { GustoProviderCustomUIAdapter }\n"],"names":["GustoProviderCustomUIAdapter","props","children","config","dictionary","lng","locale","currency","theme","portalContainer","components","LoaderComponent","queryClient","language","lang","ns","SDKI18next","useEffect","handleTopLevelError","useMemo","error","errorInfo","observabilityError","normalizeToSDKError","sanitizedError","sanitizeError","jsx","ComponentsProvider","LoadingIndicatorProvider","ObservabilityProvider","ErrorBoundary","InternalError","ThemeProvider","LocaleProvider","I18nextProvider","ApiProvider"],"mappings":";;;;;;;;;;;;;;;;AAkDA,MAAMA,IAA4E,CAAAC,MAAS;AACzF,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,OAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEX;AAEJ,MAAIG;AACF,eAAWS,KAAYT,GAAY;AACjC,YAAMU,IAAOD;AACb,iBAAWE,KAAMX,EAAWU,CAAI;AAC9B,QAAAE,EAAW;AAAA,UACTF;AAAA,UACAC;AAAA,UACCX,EAAWU,CAAI,EAA8BC,CAAE;AAAA,UAChD;AAAA,UACA;AAAA,QAAA;AAAA,IAGN;AAGF,EAAAE,EAAU,MAAM;AACd,KAAM,YACJ,MAAMD,EAAW,eAAeX,CAAG;AAAA,EAEvC,GAAG,CAACA,CAAG,CAAC;AAER,QAAMa,IAAsBC,EAAQ,MAAM;AACxC,QAAKhB,EAAO,eAAe;AAE3B,aAAO,CAACiB,GAAgBC,MAAyB;AAC/C,YAAI,CAAClB,EAAO,eAAe,QAAS;AAIpC,cAAMmB,IAAqB;AAAA,UACzB,GAHeC,EAAoBH,CAAK;AAAA,UAIxC,WAAW,KAAK,IAAA;AAAA,UAChB,gBAAgBC,EAAU,kBAAkB;AAAA,QAAA,GAGxCG,IAAiBC,EAAcH,GAAoBnB,EAAO,cAAc,YAAY;AAE1F,QAAAA,EAAO,cAAc,QAAQqB,CAAc;AAAA,MAC7C;AAAA,EACF,GAAG,CAACrB,EAAO,aAAa,CAAC;AACzB,SACE,gBAAAuB,EAACC,GAAA,EAAmB,OAAOjB,GACzB,UAAA,gBAAAgB,EAACE,GAAA,EAAyB,OAAOjB,GAC/B,UAAA,gBAAAe,EAACG,GAAA,EAAsB,eAAe1B,EAAO,eAC3C,UAAA,gBAAAuB,EAACI,GAAA,EAAc,mBAAmBC,GAAe,SAASb,GACxD,UAAA,gBAAAQ,EAACM,GAAA,EAAc,OAAAxB,GAAc,iBAAAC,GAC3B,UAAA,gBAAAiB,EAACO,GAAA,EAAe,QAAA3B,GAAgB,UAAAC,GAC9B,UAAA,gBAAAmB,EAACQ,GAAA,EAAgB,MAAMlB,GACrB,UAAA,gBAAAU;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,KAAKhC,EAAO;AAAA,MACZ,SAASA,EAAO;AAAA,MAChB,OAAOA,EAAO;AAAA,MACd,aAAAS;AAAA,MAEC,UAAAV;AAAA,IAAA;AAAA,EAAA,KAPmCG,CASxC,GACF,GACF,EAAA,CACF,EAAA,CACF,GACF,GACF;AAEJ;"}
@@ -2,6 +2,14 @@ import { default as React } from 'react';
2
2
  import { GustoSDKTheme } from './theme';
3
3
  export interface ThemeProviderProps {
4
4
  theme?: GustoSDKTheme;
5
+ /**
6
+ * Element to use as the portal container for all SDK overlays (Select, ComboBox,
7
+ * DatePicker, Menu, etc.). Defaults to the SDK's root article element.
8
+ *
9
+ * Pass `document.body` (or another stable element outside the SDK's container)
10
+ * when your app's scroll or clipping context interferes with overlay positioning.
11
+ */
12
+ portalContainer?: HTMLElement;
5
13
  children?: React.ReactNode;
6
14
  }
7
15
  export declare const ThemeProvider: React.FC<ThemeProviderProps>;
@@ -1,33 +1,38 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { useRef as m, useMemo as u, useEffect as i } from "react";
3
- import { ThemeContext as l } from "./useTheme.js";
4
- import { mergePartnerTheme as d } from "./theme.js";
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { useRef as u, useCallback as f, useMemo as a, useEffect as h } from "react";
3
+ import { ThemeContext as p } from "./useTheme.js";
4
+ import { mergePartnerTheme as C } from "./theme.js";
5
5
  /* empty css */
6
- const C = ({
6
+ const D = ({
7
7
  theme: n = {},
8
- children: r
8
+ portalContainer: t,
9
+ children: o
9
10
  }) => {
10
- const e = m(null), t = m(null), o = u(
11
- () => d(n),
11
+ const e = u(null), r = u(null), i = f(
12
+ (d) => {
13
+ r.current = t ?? d;
14
+ },
15
+ [t]
16
+ ), s = a(
17
+ () => C(n),
12
18
  [n]
13
- ), s = u(
19
+ ), c = a(
14
20
  () => `.GSDK{
15
- ${a(o).join(`
21
+ ${l(s).join(`
16
22
  `)}
17
23
  }`,
18
- [o]
24
+ [s]
19
25
  );
20
- return i(() => {
21
- e.current || (e.current = document.createElement("style"), e.current.setAttribute("data-testid", "GSDK"), document.head.appendChild(e.current)), e.current.textContent = s;
22
- }, [s]), // @ts-expect-error HACK fix mismatch where containerRef allows null
23
- /* @__PURE__ */ c(l.Provider, { value: { container: t }, children: /* @__PURE__ */ c("article", { className: "GSDK", "data-testid": "GSDK", ref: t, children: r }) });
24
- }, a = (n, r) => {
25
- const e = [];
26
- for (const [t, o] of Object.entries(n))
27
- typeof o == "object" ? e.push(...a(o, r ? r + "-" + t : t)) : e.push(`--g-${r ? r + "-" + t : t}: ${o};`);
28
- return e;
26
+ return h(() => {
27
+ e.current || (e.current = document.createElement("style"), e.current.setAttribute("data-testid", "GSDK"), document.head.appendChild(e.current)), e.current.textContent = c;
28
+ }, [c]), /* @__PURE__ */ m(p.Provider, { value: { container: r }, children: /* @__PURE__ */ m("article", { className: "GSDK", "data-testid": "GSDK", ref: i, children: o }) });
29
+ }, l = (n, t) => {
30
+ const o = [];
31
+ for (const [e, r] of Object.entries(n))
32
+ typeof r == "object" ? o.push(...l(r, t ? t + "-" + e : e)) : o.push(`--g-${t ? t + "-" + e : e}: ${r};`);
33
+ return o;
29
34
  };
30
35
  export {
31
- C as ThemeProvider
36
+ D as ThemeProvider
32
37
  };
33
38
  //# sourceMappingURL=ThemeProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../src/contexts/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["import type React from 'react'\nimport { useEffect, useMemo, useRef } from 'react'\nimport { ThemeContext } from './useTheme'\nimport { mergePartnerTheme, type GustoSDKTheme } from './theme'\nimport '@/styles/sdk.scss'\n\nexport interface ThemeProviderProps {\n theme?: GustoSDKTheme\n children?: React.ReactNode\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n theme: partnerThemeOverrides = {},\n children,\n}) => {\n const GThemeVariables = useRef<HTMLStyleElement | null>(null)\n const containerRef = useRef<HTMLElement>(null)\n\n const mergedTheme = useMemo(\n () => mergePartnerTheme(partnerThemeOverrides),\n [partnerThemeOverrides],\n )\n\n const cssContent = useMemo(\n () => `.GSDK{\\n${parseThemeToCSS(mergedTheme).join('\\n')}\\n}`,\n [mergedTheme],\n )\n\n useEffect(() => {\n if (!GThemeVariables.current) {\n GThemeVariables.current = document.createElement('style')\n GThemeVariables.current.setAttribute('data-testid', 'GSDK')\n document.head.appendChild(GThemeVariables.current)\n }\n\n GThemeVariables.current.textContent = cssContent\n }, [cssContent])\n\n return (\n // @ts-expect-error HACK fix mismatch where containerRef allows null\n <ThemeContext.Provider value={{ container: containerRef }}>\n <article className=\"GSDK\" data-testid=\"GSDK\" ref={containerRef}>\n {children}\n </article>\n </ThemeContext.Provider>\n )\n}\n\n/**\n * Recursive flattening of the theme object into css variable format\n */\nconst parseThemeToCSS = (theme: GustoSDKTheme, prefix?: string): string[] => {\n const cssProps: string[] = []\n for (const [key, value] of Object.entries(theme)) {\n if (typeof value === 'object') {\n cssProps.push(...parseThemeToCSS(value, prefix ? prefix + '-' + key : key))\n } else {\n cssProps.push(`--g-${prefix ? prefix + '-' + key : key}: ${value};`)\n }\n }\n return cssProps\n}\n"],"names":["ThemeProvider","partnerThemeOverrides","children","GThemeVariables","useRef","containerRef","mergedTheme","useMemo","mergePartnerTheme","cssContent","parseThemeToCSS","useEffect","ThemeContext","jsx","theme","prefix","cssProps","key","value"],"mappings":";;;;;AAWO,MAAMA,IAA8C,CAAC;AAAA,EAC1D,OAAOC,IAAwB,CAAA;AAAA,EAC/B,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAkBC,EAAgC,IAAI,GACtDC,IAAeD,EAAoB,IAAI,GAEvCE,IAAcC;AAAA,IAClB,MAAMC,EAAkBP,CAAqB;AAAA,IAC7C,CAACA,CAAqB;AAAA,EAAA,GAGlBQ,IAAaF;AAAA,IACjB,MAAM;AAAA,EAAWG,EAAgBJ,CAAW,EAAE,KAAK;AAAA,CAAI,CAAC;AAAA;AAAA,IACxD,CAACA,CAAW;AAAA,EAAA;AAGd,SAAAK,EAAU,MAAM;AACd,IAAKR,EAAgB,YACnBA,EAAgB,UAAU,SAAS,cAAc,OAAO,GACxDA,EAAgB,QAAQ,aAAa,eAAe,MAAM,GAC1D,SAAS,KAAK,YAAYA,EAAgB,OAAO,IAGnDA,EAAgB,QAAQ,cAAcM;AAAA,EACxC,GAAG,CAACA,CAAU,CAAC;AAAA,oBAIZG,EAAa,UAAb,EAAsB,OAAO,EAAE,WAAWP,EAAA,GACzC,UAAA,gBAAAQ,EAAC,WAAA,EAAQ,WAAU,QAAO,eAAY,QAAO,KAAKR,GAC/C,UAAAH,GACH,EAAA,CACF;AAEJ,GAKMQ,IAAkB,CAACI,GAAsBC,MAA8B;AAC3E,QAAMC,IAAqB,CAAA;AAC3B,aAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQJ,CAAK;AAC7C,IAAI,OAAOI,KAAU,WACnBF,EAAS,KAAK,GAAGN,EAAgBQ,GAAOH,IAASA,IAAS,MAAME,IAAMA,CAAG,CAAC,IAE1ED,EAAS,KAAK,OAAOD,IAASA,IAAS,MAAME,IAAMA,CAAG,KAAKC,CAAK,GAAG;AAGvE,SAAOF;AACT;"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../src/contexts/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["import type React from 'react'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { ThemeContext } from './useTheme'\nimport { mergePartnerTheme, type GustoSDKTheme } from './theme'\nimport '@/styles/sdk.scss'\n\nexport interface ThemeProviderProps {\n theme?: GustoSDKTheme\n /**\n * Element to use as the portal container for all SDK overlays (Select, ComboBox,\n * DatePicker, Menu, etc.). Defaults to the SDK's root article element.\n *\n * Pass `document.body` (or another stable element outside the SDK's container)\n * when your app's scroll or clipping context interferes with overlay positioning.\n */\n portalContainer?: HTMLElement\n children?: React.ReactNode\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n theme: partnerThemeOverrides = {},\n portalContainer,\n children,\n}) => {\n const GThemeVariables = useRef<HTMLStyleElement | null>(null)\n const portalContainerRef = useRef<HTMLElement | null>(null)\n\n const articleRef = useCallback(\n (el: HTMLElement | null) => {\n portalContainerRef.current = portalContainer ?? el\n },\n [portalContainer],\n )\n\n const mergedTheme = useMemo(\n () => mergePartnerTheme(partnerThemeOverrides),\n [partnerThemeOverrides],\n )\n\n const cssContent = useMemo(\n () => `.GSDK{\\n${parseThemeToCSS(mergedTheme).join('\\n')}\\n}`,\n [mergedTheme],\n )\n\n useEffect(() => {\n if (!GThemeVariables.current) {\n GThemeVariables.current = document.createElement('style')\n GThemeVariables.current.setAttribute('data-testid', 'GSDK')\n document.head.appendChild(GThemeVariables.current)\n }\n\n GThemeVariables.current.textContent = cssContent\n }, [cssContent])\n\n return (\n <ThemeContext.Provider value={{ container: portalContainerRef }}>\n <article className=\"GSDK\" data-testid=\"GSDK\" ref={articleRef}>\n {children}\n </article>\n </ThemeContext.Provider>\n )\n}\n\n/**\n * Recursive flattening of the theme object into css variable format\n */\nconst parseThemeToCSS = (theme: GustoSDKTheme, prefix?: string): string[] => {\n const cssProps: string[] = []\n for (const [key, value] of Object.entries(theme)) {\n if (typeof value === 'object') {\n cssProps.push(...parseThemeToCSS(value, prefix ? prefix + '-' + key : key))\n } else {\n cssProps.push(`--g-${prefix ? prefix + '-' + key : key}: ${value};`)\n }\n }\n return cssProps\n}\n"],"names":["ThemeProvider","partnerThemeOverrides","portalContainer","children","GThemeVariables","useRef","portalContainerRef","articleRef","useCallback","el","mergedTheme","useMemo","mergePartnerTheme","cssContent","parseThemeToCSS","useEffect","ThemeContext","jsx","theme","prefix","cssProps","key","value"],"mappings":";;;;;AAmBO,MAAMA,IAA8C,CAAC;AAAA,EAC1D,OAAOC,IAAwB,CAAA;AAAA,EAC/B,iBAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAkBC,EAAgC,IAAI,GACtDC,IAAqBD,EAA2B,IAAI,GAEpDE,IAAaC;AAAA,IACjB,CAACC,MAA2B;AAC1B,MAAAH,EAAmB,UAAUJ,KAAmBO;AAAA,IAClD;AAAA,IACA,CAACP,CAAe;AAAA,EAAA,GAGZQ,IAAcC;AAAA,IAClB,MAAMC,EAAkBX,CAAqB;AAAA,IAC7C,CAACA,CAAqB;AAAA,EAAA,GAGlBY,IAAaF;AAAA,IACjB,MAAM;AAAA,EAAWG,EAAgBJ,CAAW,EAAE,KAAK;AAAA,CAAI,CAAC;AAAA;AAAA,IACxD,CAACA,CAAW;AAAA,EAAA;AAGd,SAAAK,EAAU,MAAM;AACd,IAAKX,EAAgB,YACnBA,EAAgB,UAAU,SAAS,cAAc,OAAO,GACxDA,EAAgB,QAAQ,aAAa,eAAe,MAAM,GAC1D,SAAS,KAAK,YAAYA,EAAgB,OAAO,IAGnDA,EAAgB,QAAQ,cAAcS;AAAA,EACxC,GAAG,CAACA,CAAU,CAAC,qBAGZG,EAAa,UAAb,EAAsB,OAAO,EAAE,WAAWV,EAAA,GACzC,UAAA,gBAAAW,EAAC,WAAA,EAAQ,WAAU,QAAO,eAAY,QAAO,KAAKV,GAC/C,UAAAJ,GACH,GACF;AAEJ,GAKMW,IAAkB,CAACI,GAAsBC,MAA8B;AAC3E,QAAMC,IAAqB,CAAA;AAC3B,aAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQJ,CAAK;AAC7C,IAAI,OAAOI,KAAU,WACnBF,EAAS,KAAK,GAAGN,EAAgBQ,GAAOH,IAASA,IAAS,MAAME,IAAMA,CAAG,CAAC,IAE1ED,EAAS,KAAK,OAAOD,IAASA,IAAS,MAAME,IAAMA,CAAG,KAAKC,CAAK,GAAG;AAGvE,SAAOF;AACT;"}
@@ -1,5 +1,5 @@
1
1
  export interface ThemeContextProps {
2
- container: React.RefObject<HTMLElement>;
2
+ container: React.RefObject<HTMLElement | null>;
3
3
  }
4
4
  export declare const ThemeContext: import('react').Context<ThemeContextProps>;
5
5
  export declare const useTheme: () => ThemeContextProps;
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.js","sources":["../../../src/contexts/ThemeProvider/useTheme.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface ThemeContextProps {\n container: React.RefObject<HTMLElement>\n}\nexport const ThemeContext = createContext({} as ThemeContextProps)\n\nexport const useTheme = () => useContext(ThemeContext)\n"],"names":["ThemeContext","createContext","useTheme","useContext"],"mappings":";AAKO,MAAMA,IAAeC,EAAc,CAAA,CAAuB,GAEpDC,IAAW,MAAMC,EAAWH,CAAY;"}
1
+ {"version":3,"file":"useTheme.js","sources":["../../../src/contexts/ThemeProvider/useTheme.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface ThemeContextProps {\n container: React.RefObject<HTMLElement | null>\n}\nexport const ThemeContext = createContext({} as ThemeContextProps)\n\nexport const useTheme = () => useContext(ThemeContext)\n"],"names":["ThemeContext","createContext","useTheme","useContext"],"mappings":";AAKO,MAAMA,IAAeC,EAAc,CAAA,CAAuB,GAEpDC,IAAW,MAAMC,EAAWH,CAAY;"}
@@ -1,4 +1,11 @@
1
1
  import { BreadcrumbNodes, BreadcrumbTrail } from '../components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes';
2
+ import { FlowHeaderConfig } from '../components/Flow/useFlow';
3
+ type BreadcrumbsHeader = Extract<FlowHeaderConfig, {
4
+ type: 'breadcrumbs';
5
+ }>;
6
+ type WithHeader = {
7
+ header?: FlowHeaderConfig | null;
8
+ };
2
9
  /**
3
10
  * Builds a complete breadcrumb trail map from a hierarchical node structure.
4
11
  *
@@ -16,32 +23,38 @@ export declare const buildBreadcrumbs: (nodes: BreadcrumbNodes) => BreadcrumbTra
16
23
  */
17
24
  export declare const resolveBreadcrumbVariables: (variables: Record<string, string> | undefined, context: Record<string, unknown>) => Record<string, unknown>;
18
25
  /**
19
- * Removes a breadcrumb from all trails in the context.
20
- * Use this in state machine reducers to hide a step entirely (e.g. after payroll submission).
26
+ * Merges `patch` fields into the existing breadcrumbs header on a context,
27
+ * preserving the existing trails and CTA. If the context has no breadcrumbs
28
+ * header, a fresh one is created. Useful when a transition needs to flip
29
+ * breadcrumbs visibility (`currentBreadcrumbId`) without rebuilding any
30
+ * trails.
31
+ */
32
+ export declare const patchBreadcrumbsHeader: <T extends WithHeader>(context: T, patch: Partial<Omit<BreadcrumbsHeader, "type">>) => T & {
33
+ header: BreadcrumbsHeader;
34
+ };
35
+ /**
36
+ * Removes a breadcrumb from all trails in the context's breadcrumbs header.
37
+ * Use this in state machine reducers to hide a step entirely (e.g. after
38
+ * payroll submission).
21
39
  */
22
- export declare const hideBreadcrumb: <T extends {
23
- breadcrumbs?: BreadcrumbTrail;
24
- }>(breadcrumbId: string, context: T) => T;
40
+ export declare const hideBreadcrumb: <T extends WithHeader>(breadcrumbId: string, context: T) => T;
25
41
  /**
26
- * Marks a breadcrumb as non-navigable across all trails in the context.
27
- * Use this in state machine reducers to disable backward navigation to a specific step.
42
+ * Marks a breadcrumb as non-navigable across all trails in the context's
43
+ * breadcrumbs header. Use this in state machine reducers to disable backward
44
+ * navigation to a specific step.
28
45
  */
29
- export declare const lockBreadcrumb: <T extends {
30
- breadcrumbs?: BreadcrumbTrail;
31
- }>(breadcrumbId: string, context: T) => T;
46
+ export declare const lockBreadcrumb: <T extends WithHeader>(breadcrumbId: string, context: T) => T;
32
47
  /**
33
- * Updates the breadcrumb trail for a specific state with resolved variables.
48
+ * Updates the breadcrumb trail for a specific state with resolved variables
49
+ * and switches the active breadcrumb to that state.
34
50
  *
35
- * This function is typically used in state machine transitions to update breadcrumb
36
- * navigation when moving between states. It preserves all existing breadcrumb trails
37
- * for other states and only updates the trail for the specified state by resolving
38
- * any template variables for that state's breadcrumb.
39
-
51
+ * This function is typically used in state machine transitions to update
52
+ * breadcrumb navigation when moving between states. It preserves all existing
53
+ * breadcrumb trails for other states and only updates the trail for the
54
+ * specified state by resolving any template variables for that state's
55
+ * breadcrumb. The resulting context's header is always of type `'breadcrumbs'`.
40
56
  */
41
- export declare const updateBreadcrumbs: <T extends {
42
- breadcrumbs?: BreadcrumbTrail;
43
- currentBreadcrumb?: string;
44
- }>(stateName: string, context: T, variables?: Record<string, string>) => Omit<T, "breadcrumbs" | "currentBreadcrumb"> & {
45
- breadcrumbs: BreadcrumbTrail;
46
- currentBreadcrumbId: string;
57
+ export declare const updateBreadcrumbs: <T extends WithHeader>(stateName: string, context: T, variables?: Record<string, string>) => T & {
58
+ header: BreadcrumbsHeader;
47
59
  };
60
+ export {};