@gusto/embedded-react-sdk 0.51.2 → 0.52.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 (296) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/components/Base/Base.d.ts +2 -0
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +1 -1
  5. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
  6. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  7. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +4 -1
  8. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
  9. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
  10. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +1 -1
  11. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  12. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -2
  13. package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +3 -2
  14. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +1 -1
  15. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
  16. package/dist/components/Common/UI/FormBox/FormBox.d.ts +9 -0
  17. package/dist/components/Common/UI/FormBox/FormBox.js +13 -0
  18. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -0
  19. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +14 -0
  20. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -0
  21. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +26 -0
  22. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.d.ts +9 -0
  23. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js +23 -0
  24. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js.map +1 -0
  25. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js +8 -0
  26. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js.map +1 -0
  27. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.d.ts +36 -0
  28. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js +7 -0
  29. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js.map +1 -0
  30. package/dist/components/Common/UI/FormBoxHeader/index.d.ts +1 -0
  31. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -0
  32. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +3 -3
  34. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  35. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -2
  36. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -2
  37. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  38. package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -2
  39. package/dist/components/Common/UI/Table/TableTypes.d.ts +4 -4
  40. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  41. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -2
  42. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +1 -2
  43. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  44. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  45. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +1 -1
  46. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  47. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  48. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  49. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -1
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  52. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  53. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -1
  54. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  55. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  56. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -1
  57. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
  58. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  59. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  60. package/dist/components/Company/Industry/Context.js +8 -6
  61. package/dist/components/Company/Industry/Context.js.map +1 -1
  62. package/dist/components/Company/Locations/LocationForm/Form.d.ts +1 -1
  63. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  64. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  65. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  66. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  67. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  68. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  69. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +3 -3
  70. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
  71. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +10 -1
  72. package/dist/components/Company/StateTaxes/StateTaxes.js +23 -17
  73. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  74. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  75. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +17 -10
  76. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +26 -26
  80. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  81. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +9 -0
  82. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +24 -24
  83. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  84. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  85. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  86. package/dist/components/Contractor/Address/Address.d.ts +4 -3
  87. package/dist/components/Contractor/Address/Address.js.map +1 -1
  88. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +2 -2
  89. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +1 -1
  90. package/dist/components/Contractor/ContractorList/index.d.ts +2 -1
  91. package/dist/components/Contractor/ContractorList/index.js +123 -98
  92. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  93. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +22 -19
  94. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  95. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +1 -1
  96. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +1 -1
  97. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
  98. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +1 -1
  99. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  100. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -0
  101. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +150 -80
  103. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  104. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.test.d.ts +1 -0
  105. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +1 -1
  106. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +1 -1
  107. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -1
  108. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +2 -2
  109. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  110. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -1
  111. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  112. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +2 -2
  113. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  114. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +17 -5
  115. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +32 -31
  116. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +16 -4
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +33 -29
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +1 -1
  121. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +19 -18
  122. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
  123. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +1 -1
  124. package/dist/components/Contractor/Profile/ContractorProfile.js +114 -110
  125. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  126. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +27 -26
  127. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
  128. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -1
  129. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +6 -6
  130. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  131. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
  132. package/dist/components/Contractor/Submit/Submit.js +106 -63
  133. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  134. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +0 -4
  135. package/dist/components/Employee/Compensation/onboarding/Compensation.js +38 -42
  136. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  137. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +2 -2
  138. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +1 -1
  139. package/dist/components/Employee/Dashboard/index.d.ts +1 -1
  140. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
  141. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +1 -1
  142. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -2
  143. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  144. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  145. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +2 -2
  146. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -4
  147. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  148. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -2
  149. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js +27 -32
  150. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  151. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -2
  152. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  153. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +2 -2
  154. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
  155. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +1 -1
  156. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +1 -3
  157. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  158. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +55 -49
  159. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  160. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -1
  161. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +1 -1
  162. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  163. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  164. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
  165. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +2 -2
  166. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  167. package/dist/components/Employee/exports/employeeManagement.d.ts +1 -1
  168. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +4 -5
  169. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +101 -125
  170. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  171. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +0 -5
  172. package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -13
  173. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  174. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +4 -4
  175. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  176. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +1 -1
  177. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +8 -8
  178. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  179. package/dist/components/Payroll/OffCycle/index.d.ts +1 -1
  180. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
  181. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +97 -92
  182. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  183. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -3
  184. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  185. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -2
  186. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
  187. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  188. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +57 -56
  189. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  190. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  191. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +23 -6
  192. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +37 -33
  193. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  194. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +2 -2
  195. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +6 -6
  196. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  197. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -1
  198. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  199. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
  200. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  201. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  202. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -1
  203. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
  204. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  205. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
  206. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +31 -31
  207. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  208. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +9 -5
  209. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  210. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -1
  211. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
  212. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  213. package/dist/components/Payroll/Transition/index.d.ts +1 -1
  214. package/dist/components/Payroll/helpers.d.ts +22 -8
  215. package/dist/components/Payroll/helpers.js +1 -1
  216. package/dist/components/Payroll/helpers.js.map +1 -1
  217. package/dist/components/Payroll/index.d.ts +3 -2
  218. package/dist/components/Payroll/payrollTypes.d.ts +1 -1
  219. package/dist/components/Payroll/payrollTypes.js +1 -1
  220. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  221. package/dist/components/Payroll/usePreparedPayrollData.d.ts +1 -1
  222. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  223. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  224. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
  225. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +19 -19
  226. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  227. package/dist/contexts/ApiProvider/ApiProvider.d.ts +5 -5
  228. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  229. package/dist/contexts/ApiProvider/apiVersion.d.ts +2 -2
  230. package/dist/contexts/ApiProvider/apiVersion.js +1 -1
  231. package/dist/contexts/ApiProvider/apiVersion.js.map +1 -1
  232. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +40 -36
  233. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  234. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +2 -0
  235. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  236. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +18 -16
  237. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  238. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +7 -1
  239. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  240. package/dist/contexts/GustoProvider/GustoProvider.d.ts +5 -5
  241. package/dist/contexts/GustoProvider/GustoProvider.js +6 -6
  242. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  243. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +8 -7
  244. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -8
  245. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  246. package/dist/contexts/GustoProvider/index.d.ts +1 -1
  247. package/dist/contexts/ThemeProvider/types.d.ts +2 -2
  248. package/dist/contexts/index.d.ts +2 -6
  249. package/dist/i18n/en/Contractor.ContractorList.json.js +22 -18
  250. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  251. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  252. package/dist/i18n/en/Contractor.Submit.json.js +11 -11
  253. package/dist/i18n/en/Employee.OnboardingSummary.json.js +24 -20
  254. package/dist/i18n/en/Employee.OnboardingSummary.json.js.map +1 -1
  255. package/dist/i18n/types.d.ts +15 -3
  256. package/dist/index.d.ts +8 -7
  257. package/dist/index.js +121 -134
  258. package/dist/index.js.map +1 -1
  259. package/dist/models/WA_RISK_CODES.d.ts +6 -2
  260. package/dist/models/WA_RISK_CODES.js.map +1 -1
  261. package/dist/models/external.d.ts +67 -57
  262. package/dist/partner-hook-utils/composeErrorHandler.d.ts +13 -4
  263. package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
  264. package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +11 -2
  265. package/dist/partner-hook-utils/form/SDKFormProvider.js +7 -1
  266. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  267. package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +11 -4
  268. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  269. package/dist/partner-hook-utils/form/fields/CheckboxHookField.d.ts +1 -0
  270. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  271. package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +1 -0
  272. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  273. package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +1 -0
  274. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  275. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +1 -0
  276. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  277. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +1 -0
  278. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  279. package/dist/partner-hook-utils/form/fields/SwitchHookField.d.ts +1 -0
  280. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  281. package/dist/partner-hook-utils/form/fields/TextInputHookField.d.ts +1 -0
  282. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  283. package/dist/partner-hook-utils/form/fields/index.d.ts +1 -0
  284. package/dist/partner-hook-utils/form/index.d.ts +3 -3
  285. package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
  286. package/dist/partner-hook-utils/index.d.ts +1 -1
  287. package/dist/partner-hook-utils/types.d.ts +16 -3
  288. package/dist/shared/constants.d.ts +12 -2
  289. package/dist/shared/constants.js +11 -10
  290. package/dist/shared/constants.js.map +1 -1
  291. package/dist/style.css +1 -1
  292. package/dist/types/Helpers.d.ts +13 -0
  293. package/dist/types/hooks.d.ts +2 -1
  294. package/dist/types/observability.d.ts +1 -0
  295. package/docs/guides/endpoint-inventory.json +396 -380
  296. package/package.json +17 -17
@@ -1,18 +1,18 @@
1
- import { jsx as e, jsxs as a, Fragment as I } from "react/jsx-runtime";
2
- import { useTranslation as y } from "react-i18next";
3
- import { useEmployeesGetSuspense as N } from "@gusto/embedded-api/react-query/employeesGet";
4
- import { useEmployeesGetOnboardingStatusSuspense as v } from "@gusto/embedded-api/react-query/employeesGetOnboardingStatus";
5
- import _ from "dompurify";
6
- import { useMemo as E } from "react";
1
+ import { jsx as e, jsxs as a, Fragment as C } from "react/jsx-runtime";
2
+ import { useTranslation as D } from "react-i18next";
3
+ import { useEmployeesGetSuspense as v } from "@gusto/embedded-api/react-query/employeesGet";
4
+ import { useEmployeesGetOnboardingStatusSuspense as A } from "@gusto/embedded-api/react-query/employeesGetOnboardingStatus";
5
+ import y from "dompurify";
6
+ import { useMemo as x } from "react";
7
7
  import { BaseComponent as L } from "../../Base/Base.js";
8
- import { useBase as B } from "../../Base/useBase.js";
8
+ import { useBase as T } from "../../Base/useBase.js";
9
9
  import { Flex as r } from "../../Common/Flex/Flex.js";
10
10
  import { ActionsLayout as p } from "../../Common/ActionsLayout/ActionsLayout.js";
11
- import { useComponentContext as P } from "../../../contexts/ComponentAdapter/useComponentContext.js";
12
- import { RequirementsList as T } from "../../Common/RequirementsList/RequirementsList.js";
13
- import { useI18n as w, useComponentDictionary as A } from "../../../i18n/I18n.js";
14
- import { EmployeeOnboardingStatus as S, componentEvents as u } from "../../../shared/constants.js";
15
- import { useFlow as R } from "../../Flow/useFlow.js";
11
+ import { useComponentContext as B } from "../../../contexts/ComponentAdapter/useComponentContext.js";
12
+ import { RequirementsList as P } from "../../Common/RequirementsList/RequirementsList.js";
13
+ import { useI18n as R, useComponentDictionary as w } from "../../../i18n/I18n.js";
14
+ import { EmployeeOnboardingStatus as u, EmployeeSelfOnboardingStatuses as G, componentEvents as f } from "../../../shared/constants.js";
15
+ import { useFlow as F } from "../../Flow/useFlow.js";
16
16
  const M = [
17
17
  "personal_details",
18
18
  "compensation_details",
@@ -25,79 +25,85 @@ const M = [
25
25
  "file_new_hire_report",
26
26
  "admin_review"
27
27
  ], q = (n) => n !== void 0 && M.includes(n);
28
- function F(n) {
29
- return w("Employee.OnboardingSummary"), A("Employee.OnboardingSummary", n.dictionary), /* @__PURE__ */ e(L, { ...n, children: /* @__PURE__ */ e(G, { ...n, children: n.children }) });
28
+ function $(n) {
29
+ return R("Employee.OnboardingSummary"), w("Employee.OnboardingSummary", n.dictionary), /* @__PURE__ */ e(L, { ...n, children: /* @__PURE__ */ e(j, { ...n, children: n.children }) });
30
30
  }
31
- const G = ({ employeeId: n, className: c, isAdmin: m = !1 }) => {
32
- const { onEvent: s } = B(), { t } = y("Employee.OnboardingSummary"), o = P(), {
33
- data: { employee: O }
34
- } = N({ employeeId: n }), { firstName: f, lastName: g } = O, { data: x } = v({ employeeId: n }), { onboardingStatus: h, onboardingSteps: d } = x.employeeOnboardingStatus, D = d?.length && d.findIndex((i) => i.required && !i.completed) > -1, l = h === S.ONBOARDING_COMPLETED || !D && h === S.SELF_ONBOARDING_PENDING_INVITE, b = E(() => _.sanitize(f), [f]), C = E(() => _.sanitize(g), [g]);
31
+ const j = ({ employeeId: n, className: c, isAdmin: d = !1 }) => {
32
+ const { onEvent: s } = T(), { t } = D("Employee.OnboardingSummary"), i = B(), {
33
+ data: { employee: I }
34
+ } = v({ employeeId: n }), { firstName: g, lastName: h } = I, { data: b } = A({ employeeId: n }), { onboardingStatus: m, onboardingSteps: l } = b.employeeOnboardingStatus, N = l?.length && l.findIndex((o) => o.required && !o.completed) > -1, E = m === u.ONBOARDING_COMPLETED || !N && m === u.SELF_ONBOARDING_PENDING_INVITE, S = m === u.SELF_ONBOARDING_PENDING_INVITE || m !== void 0 && G.has(m), _ = x(() => y.sanitize(g), [g]), O = x(() => y.sanitize(h), [h]);
35
35
  return /* @__PURE__ */ e("section", { className: c, children: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 20, children: [
36
- /* @__PURE__ */ e(r, { alignItems: "center", flexDirection: "column", gap: 8, children: m ? l ? /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
37
- /* @__PURE__ */ e(o.Heading, { as: "h2", textAlign: "center", children: t("onboardedAdminSubtitle", {
38
- name: `${b} ${C}`,
36
+ /* @__PURE__ */ e(r, { alignItems: "center", flexDirection: "column", gap: 8, children: d ? E ? /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
37
+ /* @__PURE__ */ e(i.Heading, { as: "h2", textAlign: "center", children: t("onboardedAdminSubtitle", {
38
+ name: `${_} ${O}`,
39
39
  interpolation: { escapeValue: !1 }
40
40
  }) }),
41
- /* @__PURE__ */ e(o.Text, { variant: "supporting", children: t("onboardedAdminDescription") })
41
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("onboardedAdminDescription") })
42
+ ] }) : S ? /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
43
+ /* @__PURE__ */ e(i.Heading, { as: "h2", textAlign: "center", children: t("handedOffAdminSubtitle", {
44
+ name: `${_} ${O}`,
45
+ interpolation: { escapeValue: !1 }
46
+ }) }),
47
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("handedOffAdminDescription") })
42
48
  ] }) : /* @__PURE__ */ e(
43
- o.Box,
49
+ i.Box,
44
50
  {
45
51
  header: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, children: [
46
- /* @__PURE__ */ e(o.Heading, { as: "h2", children: t("missingRequirementsSubtitle") }),
47
- /* @__PURE__ */ e(o.Text, { variant: "supporting", children: t("missingRequirementsDescription") })
52
+ /* @__PURE__ */ e(i.Heading, { as: "h2", children: t("missingRequirementsSubtitle") }),
53
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("missingRequirementsDescription") })
48
54
  ] }),
49
55
  footer: /* @__PURE__ */ e(p, { children: /* @__PURE__ */ e(
50
- o.Button,
56
+ i.Button,
51
57
  {
52
58
  variant: "secondary",
53
59
  onClick: () => {
54
- s(u.EMPLOYEES_LIST);
60
+ s(f.EMPLOYEES_LIST);
55
61
  },
56
62
  children: t("doneCta")
57
63
  }
58
64
  ) }),
59
- children: d && /* @__PURE__ */ e(
60
- T,
65
+ children: l && /* @__PURE__ */ e(
66
+ P,
61
67
  {
62
- requirements: d.filter(
63
- (i) => i.completed !== void 0 && q(i.id)
64
- ).map((i) => ({
65
- completed: i.completed,
66
- title: t(`steps.${i.id}`),
67
- description: t(`stepsDescriptions.${i.id}`)
68
+ requirements: l.filter(
69
+ (o) => o.completed !== void 0 && q(o.id)
70
+ ).map((o) => ({
71
+ completed: o.completed,
72
+ title: t(`steps.${o.id}`),
73
+ description: t(`stepsDescriptions.${o.id}`)
68
74
  }))
69
75
  }
70
76
  )
71
77
  }
72
- ) : /* @__PURE__ */ e(I, { children: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 20, alignItems: "center", children: [
78
+ ) : /* @__PURE__ */ e(C, { children: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 20, alignItems: "center", children: [
73
79
  /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
74
- /* @__PURE__ */ e(o.Heading, { as: "h2", textAlign: "center", children: t("onboardedSelfSubtitle") }),
75
- /* @__PURE__ */ e(o.Text, { variant: "supporting", children: t("onboardedSelfDescription") })
80
+ /* @__PURE__ */ e(i.Heading, { as: "h2", textAlign: "center", children: t("onboardedSelfSubtitle") }),
81
+ /* @__PURE__ */ e(i.Text, { variant: "supporting", children: t("onboardedSelfDescription") })
76
82
  ] }),
77
- /* @__PURE__ */ e(p, { justifyContent: l ? "center" : "start", children: /* @__PURE__ */ e(
78
- o.Button,
83
+ /* @__PURE__ */ e(p, { justifyContent: "center", children: /* @__PURE__ */ e(
84
+ i.Button,
79
85
  {
80
86
  variant: "secondary",
81
87
  onClick: () => {
82
- s(u.EMPLOYEE_ONBOARDING_DONE);
88
+ s(f.EMPLOYEE_ONBOARDING_DONE);
83
89
  },
84
90
  children: t("doneCta")
85
91
  }
86
92
  ) })
87
93
  ] }) }) }),
88
- m && l && /* @__PURE__ */ e(p, { justifyContent: "center", children: /* @__PURE__ */ e(
89
- o.Button,
94
+ d && (E || S) && /* @__PURE__ */ e(p, { justifyContent: "center", children: /* @__PURE__ */ e(
95
+ i.Button,
90
96
  {
91
97
  variant: "secondary",
92
98
  onClick: () => {
93
- s(u.EMPLOYEES_LIST);
99
+ s(f.EMPLOYEES_LIST);
94
100
  },
95
101
  children: t("doneCta")
96
102
  }
97
103
  ) })
98
104
  ] }) });
99
- }, ne = () => {
100
- const { employeeId: n, onEvent: c, isAdmin: m } = R(), { t: s } = y("common");
105
+ }, ie = () => {
106
+ const { employeeId: n, onEvent: c, isAdmin: d } = F(), { t: s } = D("common");
101
107
  if (!n)
102
108
  throw new Error(
103
109
  s("errors.missingParamsOrContext", {
@@ -106,10 +112,10 @@ const G = ({ employeeId: n, className: c, isAdmin: m = !1 }) => {
106
112
  provider: "FlowProvider"
107
113
  })
108
114
  );
109
- return /* @__PURE__ */ e(F, { employeeId: n, onEvent: c, isAdmin: m });
115
+ return /* @__PURE__ */ e($, { employeeId: n, onEvent: c, isAdmin: d });
110
116
  };
111
117
  export {
112
- F as OnboardingSummary,
113
- ne as OnboardingSummaryContextual
118
+ $ as OnboardingSummary,
119
+ ie as OnboardingSummaryContextual
114
120
  };
115
121
  //# sourceMappingURL=OnboardingSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent={isOnboardingCompleted ? 'center' : 'start'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && isOnboardingCompleted && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","className","isAdmin","onEvent","useBase","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow","t"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAMA,IAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIMC,IAAgB,CAACC,MACrBA,MAAO,UAAcF,EAAqC,SAASE,CAAE;AAoBhE,SAASC,EAAkBC,GAA+B;AAC/D,SAAAC,EAAQ,4BAA4B,GACpCC,EAAuB,8BAA8BF,EAAM,UAAU,GAGnE,gBAAAG,EAACC,GAAA,EAAe,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,SAAAC,IAAU,SAAoC;AACnF,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACd,EAAE,EAAA,IAAMC,EAAe,4BAA4B,GACnDC,IAAaC,EAAA,GAEb;AAAA,IACJ,MAAM,EAAE,UAAAC,EAAA;AAAA,EAAS,IACfC,EAAwB,EAAE,YAAAT,GAAY,GACpC,EAAE,WAAAU,GAAW,UAAAC,EAAA,IAAaH,GAE1B,EAAE,MAAAI,EAAA,IAASC,EAAwC,EAAE,YAAAb,GAAY,GACjE,EAAE,kBAAAc,GAAkB,iBAAAC,EAAA,IAAoBH,EAAK,0BAE7CI,IACJD,GAAiB,UACjBA,EAAgB,UAAU,CAAAE,MAAQA,EAAK,YAAY,CAACA,EAAK,SAAS,IAAI,IAElEC,IACJJ,MAAqBK,EAAyB,wBAC7C,CAACH,KACAF,MAAqBK,EAAyB,gCAE5CC,IAAqBC,EAAQ,MAAMC,EAAU,SAASZ,CAAS,GAAG,CAACA,CAAS,CAAC,GAC7Ea,IAAoBF,EAAQ,MAAMC,EAAU,SAASX,CAAQ,GAAG,CAACA,CAAQ,CAAC;AAEhF,SACE,gBAAAd,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAuB,EAACC,KAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAA5B,EAAC4B,KAAK,YAAW,UAAS,eAAc,UAAS,KAAK,GACnD,UAAAvB,IACCgB,IACE,gBAAAM,EAACC,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,UAC9C,UAAA;AAAA,MAAA,gBAAA5B,EAACS,EAAW,SAAX,EAAmB,IAAG,MAAK,WAAU,UACnC,YAAE,0BAA0B;AAAA,QAC3B,MAAM,GAAGc,CAAkB,IAAIG,CAAiB;AAAA,QAChD,eAAe,EAAE,aAAa,GAAA;AAAA,MAAM,CACrC,GACH;AAAA,MACA,gBAAA1B,EAACS,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA,EAAE,2BAA2B,EAAA,CAChC;AAAA,IAAA,EAAA,CACF,IAEA,gBAAAT;AAAA,MAACS,EAAW;AAAA,MAAX;AAAA,QACC,QACE,gBAAAkB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAA5B,EAACS,EAAW,SAAX,EAAmB,IAAG,MACpB,UAAA,EAAE,6BAA6B,GAClC;AAAA,UACA,gBAAAT,EAACS,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA,EAAE,gCAAgC,EAAA,CACrC;AAAA,QAAA,GACF;AAAA,QAEF,0BACGoB,GAAA,EACC,UAAA,gBAAA7B;AAAA,UAACS,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAAH,EAAQwB,EAAgB,cAAc;AAAA,YACxC;AAAA,YAEC,YAAE,SAAS;AAAA,UAAA;AAAA,QAAA,GAEhB;AAAA,QAGD,UAAAZ,KACC,gBAAAlB;AAAA,UAAC+B;AAAA,UAAA;AAAA,YACC,cAAcb,EACX;AAAA,cACC,CAACE,MACCA,EAAK,cAAc,UAAa1B,EAAc0B,EAAK,EAAE;AAAA,YAAA,EAExD,IAAI,CAAAA,OAAS;AAAA,cACZ,WAAWA,EAAK;AAAA,cAChB,OAAO,EAAE,SAASA,EAAK,EAAE,EAAE;AAAA,cAC3B,aAAa,EAAE,qBAAqBA,EAAK,EAAE,EAAE;AAAA,YAAA,EAC7C;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,IAAA,2BAMJ,UAAA,gBAAAO,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,YAAW,UAC/C,UAAA;AAAA,MAAA,gBAAAD,EAACC,KAAK,eAAc,UAAS,KAAK,GAAG,YAAW,UAC9C,UAAA;AAAA,QAAA,gBAAA5B,EAACS,EAAW,SAAX,EAAmB,IAAG,MAAK,WAAU,UACnC,UAAA,EAAE,uBAAuB,EAAA,CAC5B;AAAA,QACA,gBAAAT,EAACS,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAA,EAAE,0BAA0B,EAAA,CAC/B;AAAA,MAAA,GACF;AAAA,MACA,gBAAAT,EAAC6B,GAAA,EAAc,gBAAgBR,IAAwB,WAAW,SAChE,UAAA,gBAAArB;AAAA,QAACS,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAH,EAAQwB,EAAgB,wBAAwB;AAAA,UAClD;AAAA,UAEC,YAAE,SAAS;AAAA,QAAA;AAAA,MAAA,EACd,CACF;AAAA,IAAA,EAAA,CACF,GACF,GAEJ;AAAA,IAECzB,KAAWgB,KACV,gBAAArB,EAAC6B,GAAA,EAAc,gBAAgB,UAC7B,UAAA,gBAAA7B;AAAA,MAACS,EAAW;AAAA,MAAX;AAAA,QACC,SAAQ;AAAA,QACR,SAAS,MAAM;AACb,UAAAH,EAAQwB,EAAgB,cAAc;AAAA,QACxC;AAAA,QAEC,YAAE,SAAS;AAAA,MAAA;AAAA,IAAA,EACd,CACF;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ,GAGaE,KAA8B,MAAM;AAC/C,QAAM,EAAE,YAAA7B,GAAY,SAAAG,GAAS,SAAAD,EAAA,IAAY4B,EAAA,GACnC,EAAE,GAAAC,EAAA,IAAM1B,EAAe,QAAQ;AAErC,MAAI,CAACL;AACH,UAAM,IAAI;AAAA,MACR+B,EAAE,iCAAiC;AAAA,QACjC,WAAW;AAAA,QACX,OAAO;AAAA,QACP,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAGL,SAAO,gBAAAlC,EAACJ,GAAA,EAAkB,YAAAO,GAAwB,SAAAG,GAAkB,SAAAD,EAAA,CAAkB;AACxF;"}
1
+ {"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const isEmployeeCompletingSelfOnboarding =\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n (onboardingStatus !== undefined && EmployeeSelfOnboardingStatuses.has(onboardingStatus))\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : isEmployeeCompletingSelfOnboarding ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('handedOffAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('handedOffAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && (isOnboardingCompleted || isEmployeeCompletingSelfOnboarding) && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","className","isAdmin","onEvent","useBase","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","isEmployeeCompletingSelfOnboarding","EmployeeSelfOnboardingStatuses","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow","t"],"mappings":"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"}
@@ -35,7 +35,7 @@ export type AccountType = (typeof ACCOUNT_TYPES)[number];
35
35
  *
36
36
  * @public
37
37
  */
38
- export type BankFormField = "name" | "accountNumber" | "routingNumber" | "accountType";
38
+ export type BankFormField = "accountNumber" | "accountType" | "name" | "routingNumber";
39
39
  /**
40
40
  * Shape of the values managed by the bank account form.
41
41
  *
@@ -46,7 +46,7 @@ export type SplitByValue = (typeof SPLIT_BY_VALUES)[number];
46
46
  *
47
47
  * @public
48
48
  */
49
- export type SplitPaymentsFormField = "splitBy" | "splitAmount" | "priority";
49
+ export type SplitPaymentsFormField = "priority" | "splitAmount" | "splitBy";
50
50
  /**
51
51
  * Shape of the values managed by the split payments form. `splitAmount` and
52
52
  * `priority` are keyed by bank account uuid.
@@ -25,7 +25,7 @@ export type EmployeeDetailsErrorCode = (typeof EmployeeDetailsErrorCodes)[keyof
25
25
  *
26
26
  * @public
27
27
  */
28
- export type EmployeeDetailsField = "ssn" | "email" | "firstName" | "lastName" | "middleInitial" | "dateOfBirth";
28
+ export type EmployeeDetailsField = "dateOfBirth" | "email" | "firstName" | "lastName" | "middleInitial" | "ssn";
29
29
  /**
30
30
  * Shape of the values managed by the employee details form.
31
31
  *
@@ -41,7 +41,7 @@ export type EmployeeDetailsFormOutputs = EmployeeDetailsFormData;
41
41
  *
42
42
  * @public
43
43
  */
44
- export type EmployeeDetailsOptionalFieldsToRequire = { create?: ("ssn" | "email" | "middleInitial" | "dateOfBirth")[] | undefined; update?: ("ssn" | "email" | "firstName" | "lastName" | "middleInitial" | "dateOfBirth")[] | undefined; };
44
+ export type EmployeeDetailsOptionalFieldsToRequire = { create?: ("dateOfBirth" | "email" | "middleInitial" | "ssn")[] | undefined; update?: ("dateOfBirth" | "email" | "firstName" | "lastName" | "middleInitial" | "ssn")[] | undefined; };
45
45
  /** @internal */
46
46
  interface EmployeeDetailsSchemaOptions {
47
47
  mode?: 'create' | 'update';
@@ -22,7 +22,7 @@ export type HomeAddressErrorCode = (typeof HomeAddressErrorCodes)[keyof typeof H
22
22
  *
23
23
  * @public
24
24
  */
25
- export type HomeAddressField = "street1" | "street2" | "city" | "state" | "zip" | "effectiveDate" | "courtesyWithholding";
25
+ export type HomeAddressField = "city" | "courtesyWithholding" | "effectiveDate" | "state" | "street1" | "street2" | "zip";
26
26
  /**
27
27
  * Shape of the values managed by the home address form.
28
28
  *
@@ -159,4 +159,4 @@ export type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormRea
159
159
  *
160
160
  * @public
161
161
  */
162
- export type HomeAddressFieldsMetadata = { street1: FieldMetadata; street2: FieldMetadata; city: FieldMetadata; state: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<"AL" | "AK" | "AZ" | "AR" | "CA" | "CO" | "CT" | "DE" | "DC" | "FL" | "GA" | "HI" | "ID" | "IL" | "IN" | "IA" | "KS" | "KY" | "LA" | "ME" | "MD" | "MA" | "MI" | "MN" | "MS" | "MO" | "MT" | "NE" | "NV" | "NH" | "NJ" | "NM" | "NY" | "NC" | "ND" | "OH" | "OK" | "OR" | "PA" | "RI" | "SC" | "SD" | "TN" | "TX" | "UT" | "VT" | "VA" | "WA" | "WV" | "WI" | "WY">; zip: FieldMetadata; courtesyWithholding: FieldMetadata; effectiveDate: FieldMetadata; };
162
+ export type HomeAddressFieldsMetadata = { street1: FieldMetadata; street2: FieldMetadata; city: FieldMetadata; state: import("../../../../../partner-hook-utils/types").FieldMetadataWithOptions<"AK" | "AL" | "AR" | "AZ" | "CA" | "CO" | "CT" | "DC" | "DE" | "FL" | "GA" | "HI" | "IA" | "ID" | "IL" | "IN" | "KS" | "KY" | "LA" | "MA" | "MD" | "ME" | "MI" | "MN" | "MO" | "MS" | "MT" | "NC" | "ND" | "NE" | "NH" | "NJ" | "NM" | "NV" | "NY" | "OH" | "OK" | "OR" | "PA" | "RI" | "SC" | "SD" | "TN" | "TX" | "UT" | "VA" | "VT" | "WA" | "WI" | "WV" | "WY">; zip: FieldMetadata; courtesyWithholding: FieldMetadata; effectiveDate: FieldMetadata; };
@@ -108,7 +108,7 @@ export interface DateStateTaxQuestion extends SharedQuestionMetadata {
108
108
  *
109
109
  * @public
110
110
  * @group Fields
111
- * @groupWith {@link StateTaxFieldsGroup}
111
+ * @siblingOf {@link StateTaxFieldsGroup}
112
112
  */
113
113
  export type StateTaxQuestionFieldEntry = SelectStateTaxQuestion | RadioStateTaxQuestion | TextStateTaxQuestion | NumberStateTaxQuestion | CurrencyStateTaxQuestion | DateStateTaxQuestion;
114
114
  /**
@@ -117,7 +117,7 @@ export type StateTaxQuestionFieldEntry = SelectStateTaxQuestion | RadioStateTaxQ
117
117
  *
118
118
  * @public
119
119
  * @group Fields
120
- * @groupWith {@link StateTaxFields}
120
+ * @siblingOf {@link StateTaxFields}
121
121
  */
122
122
  export interface StateTaxFieldsGroup {
123
123
  /** Two-letter state code. */
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useMemo } from 'react'\nimport type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { getQuestionVariant, type StateTaxQuestionVariant } from './fieldMapping'\nimport {\n CurrencyStateTaxField,\n DateStateTaxField,\n NumberStateTaxField,\n RadioStateTaxField,\n SelectStateTaxField,\n TextStateTaxField,\n} from './fieldComponents'\nimport type { BoundFieldMeta } from './fieldMeta'\nimport type {\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n TextStateTaxFieldProps,\n} from './fieldProps'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\n\nexport type {\n BaseStateTaxFieldProps,\n StateTaxValidationMessages,\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n TextStateTaxFieldProps,\n} from './fieldProps'\n\n// ── Discriminated union surfaced to partners ───────────────────────────\n\n/**\n * Metadata shared by every {@link StateTaxQuestionFieldEntry} variant,\n * independent of which input the question renders.\n *\n * @public\n */\nexport interface SharedQuestionMetadata {\n /** Stable identifier for this question (camelCase form of the API key). */\n questionId: string\n /** API-supplied label; default text for the rendered Field. */\n label: string\n /** API-supplied description (raw HTML, sanitized internally before render). */\n description: string | null\n}\n\n/**\n * A state-tax question that renders as a select (dropdown). Includes read-only\n * question metadata from the API and a bound select field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface SelectStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the select variant. */\n type: 'select'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<SelectStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a radio group. Includes read-only\n * question metadata from the API and a bound radio field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface RadioStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the radio variant. */\n type: 'radio'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<RadioStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a single-line text input. Includes\n * read-only question metadata from the API and a bound text field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface TextStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the text variant. */\n type: 'text'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<TextStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a decimal number input. Includes\n * read-only question metadata from the API and a bound number field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface NumberStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the number variant. */\n type: 'number'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<NumberStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a currency-formatted number input. Includes\n * read-only question metadata from the API and a bound currency field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface CurrencyStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the currency variant. */\n type: 'currency'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<CurrencyStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a date picker. Includes read-only\n * question metadata from the API and a bound date field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface DateStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the date variant. */\n type: 'date'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<DateStateTaxFieldProps>\n}\n\n/**\n * One question entry within a {@link StateTaxFieldsGroup}, discriminated by\n * `type` to identify which input variant the question uses. Each entry carries\n * a `Field` component pre-bound to its API-supplied metadata so callers can\n * render the input directly.\n *\n * @public\n * @group Fields\n * @groupWith {@link StateTaxFieldsGroup}\n */\nexport type StateTaxQuestionFieldEntry =\n | SelectStateTaxQuestion\n | RadioStateTaxQuestion\n | TextStateTaxQuestion\n | NumberStateTaxQuestion\n | CurrencyStateTaxQuestion\n | DateStateTaxQuestion\n\n/**\n * Group of state-tax questions for a single jurisdiction returned by\n * {@link useStateFields}.\n *\n * @public\n * @group Fields\n * @groupWith {@link StateTaxFields}\n */\nexport interface StateTaxFieldsGroup {\n /** Two-letter state code. */\n state: string\n /** Ordered list of question entries for this state, post admin-only filtering. */\n questions: StateTaxQuestionFieldEntry[]\n}\n\n/**\n * Iterable, render-ready group + question entries with bound Field components,\n * grouped by state.\n *\n * @public\n *\n * @example\n * The value exposed on `form.Fields`: one entry per state, each carrying its\n * questions as pre-bound `Field` components you render directly.\n *\n * ```tsx\n * function StateTaxQuestions({ fields }: { fields: StateTaxFields }) {\n * return fields.map(group => (\n * <section key={group.state}>\n * <h3>{group.state}</h3>\n * {group.questions.map(question => (\n * <question.Field key={question.questionId} />\n * ))}\n * </section>\n * ))\n * }\n * ```\n */\nexport type StateTaxFields = StateTaxFieldsGroup[]\n\n// ── Factory ────────────────────────────────────────────────────────────\n\n/** @internal */\nexport interface CreateStateFieldsOptions {\n isAdmin: boolean\n}\n\n/** @internal */\nexport function createStateFields(\n employeeStateTaxes: EmployeeStateTaxesList[],\n options: CreateStateFieldsOptions,\n): StateTaxFieldsGroup[] {\n const { isAdmin } = options\n const groups: StateTaxFieldsGroup[] = []\n\n for (const stateGroup of employeeStateTaxes) {\n if (!stateGroup.state || !stateGroup.questions) continue\n\n const questions: StateTaxQuestionFieldEntry[] = []\n for (const question of stateGroup.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n\n const formKey = snakeCaseToCamelCase(question.key)\n const meta: BoundFieldMeta = {\n name: `states.${stateGroup.state}.${formKey}`,\n apiLabel: question.label,\n apiDescription: question.description,\n }\n const variant = getQuestionVariant(question)\n const shared: SharedQuestionMetadata = {\n questionId: formKey,\n label: question.label,\n description: question.description,\n }\n\n questions.push(buildEntry(variant, meta, shared))\n }\n\n if (questions.length === 0) continue\n\n groups.push({\n state: stateGroup.state,\n questions,\n })\n }\n\n return groups\n}\n\nfunction buildEntry(\n variant: StateTaxQuestionVariant,\n meta: BoundFieldMeta,\n shared: SharedQuestionMetadata,\n): StateTaxQuestionFieldEntry {\n switch (variant) {\n case 'select':\n return {\n type: 'select',\n Field: function BoundSelectStateTaxField(props: SelectStateTaxFieldProps) {\n return <SelectStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'radio':\n return {\n type: 'radio',\n Field: function BoundRadioStateTaxField(props: RadioStateTaxFieldProps) {\n return <RadioStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'text':\n return {\n type: 'text',\n Field: function BoundTextStateTaxField(props: TextStateTaxFieldProps) {\n return <TextStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'number':\n return {\n type: 'number',\n Field: function BoundNumberStateTaxField(props: NumberStateTaxFieldProps) {\n return <NumberStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'currency':\n return {\n type: 'currency',\n Field: function BoundCurrencyStateTaxField(props: CurrencyStateTaxFieldProps) {\n return <CurrencyStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'date':\n return {\n type: 'date',\n Field: function BoundDateStateTaxField(props: DateStateTaxFieldProps) {\n return <DateStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n }\n}\n\n/**\n * Memoizes the bound field components for a state-taxes form, avoiding unnecessary rebuilds when the data refetches but the underlying questions haven't changed.\n *\n * @param employeeStateTaxes - Array of state-tax groups returned by the employee state-taxes API.\n * @param isAdmin - When `true`, admin-only questions are included; when `false`, they are filtered out.\n * @returns An array of {@link StateTaxFieldsGroup} — one entry per state, each with a `questions` array of bound field components.\n * @public\n * @group Utility hooks\n */\nexport function useStateFields(\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): StateTaxFieldsGroup[] {\n return useMemo(\n () => createStateFields(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n}\n"],"names":["createStateFields","employeeStateTaxes","options","isAdmin","groups","stateGroup","questions","question","formKey","snakeCaseToCamelCase","meta","variant","getQuestionVariant","shared","buildEntry","props","jsx","SelectStateTaxField","RadioStateTaxField","TextStateTaxField","NumberStateTaxField","CurrencyStateTaxField","DateStateTaxField","useStateFields","useMemo"],"mappings":";;;;;AA+MO,SAASA,EACdC,GACAC,GACuB;AACvB,QAAM,EAAE,SAAAC,MAAYD,GACdE,IAAgC,CAAA;AAEtC,aAAWC,KAAcJ,GAAoB;AAC3C,QAAI,CAACI,EAAW,SAAS,CAACA,EAAW,UAAW;AAEhD,UAAMC,IAA0C,CAAA;AAChD,eAAWC,KAAYF,EAAW,WAAW;AAC3C,UAAIE,EAAS,0BAA0B,CAACJ,EAAS;AAEjD,YAAMK,IAAUC,EAAqBF,EAAS,GAAG,GAC3CG,IAAuB;AAAA,QAC3B,MAAM,UAAUL,EAAW,KAAK,IAAIG,CAAO;AAAA,QAC3C,UAAUD,EAAS;AAAA,QACnB,gBAAgBA,EAAS;AAAA,MAAA,GAErBI,IAAUC,EAAmBL,CAAQ,GACrCM,IAAiC;AAAA,QACrC,YAAYL;AAAA,QACZ,OAAOD,EAAS;AAAA,QAChB,aAAaA,EAAS;AAAA,MAAA;AAGxB,MAAAD,EAAU,KAAKQ,EAAWH,GAASD,GAAMG,CAAM,CAAC;AAAA,IAClD;AAEA,IAAIP,EAAU,WAAW,KAEzBF,EAAO,KAAK;AAAA,MACV,OAAOC,EAAW;AAAA,MAClB,WAAAC;AAAA,IAAA,CACD;AAAA,EACH;AAEA,SAAOF;AACT;AAEA,SAASU,EACPH,GACAD,GACAG,GAC4B;AAC5B,UAAQF,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAkCI,GAAiC;AACxE,iBAAO,gBAAAC,EAACC,GAAA,EAAoB,MAAAP,GAAa,GAAGK,EAAA,CAAO;AAAA,QACrD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAiCE,GAAgC;AACtE,iBAAO,gBAAAC,EAACE,GAAA,EAAmB,MAAAR,GAAa,GAAGK,EAAA,CAAO;AAAA,QACpD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAgCE,GAA+B;AACpE,iBAAO,gBAAAC,EAACG,GAAA,EAAkB,MAAAT,GAAa,GAAGK,EAAA,CAAO;AAAA,QACnD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAkCE,GAAiC;AACxE,iBAAO,gBAAAC,EAACI,GAAA,EAAoB,MAAAV,GAAa,GAAGK,EAAA,CAAO;AAAA,QACrD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAoCE,GAAmC;AAC5E,iBAAO,gBAAAC,EAACK,GAAA,EAAsB,MAAAX,GAAa,GAAGK,EAAA,CAAO;AAAA,QACvD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAgCE,GAA+B;AACpE,iBAAO,gBAAAC,EAACM,GAAA,EAAkB,MAAAZ,GAAa,GAAGK,EAAA,CAAO;AAAA,QACnD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,EACL;AAEN;AAWO,SAASU,EACdtB,GACAE,GACuB;AACvB,SAAOqB;AAAA,IACL,MAAMxB,EAAkBC,GAAoB,EAAE,SAAAE,GAAS;AAAA,IACvD,CAACF,GAAoBE,CAAO;AAAA,EAAA;AAEhC;"}
1
+ {"version":3,"file":"fields.js","sources":["../../../../../../src/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useMemo } from 'react'\nimport type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { getQuestionVariant, type StateTaxQuestionVariant } from './fieldMapping'\nimport {\n CurrencyStateTaxField,\n DateStateTaxField,\n NumberStateTaxField,\n RadioStateTaxField,\n SelectStateTaxField,\n TextStateTaxField,\n} from './fieldComponents'\nimport type { BoundFieldMeta } from './fieldMeta'\nimport type {\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n TextStateTaxFieldProps,\n} from './fieldProps'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\n\nexport type {\n BaseStateTaxFieldProps,\n StateTaxValidationMessages,\n CurrencyStateTaxFieldProps,\n DateStateTaxFieldProps,\n NumberStateTaxFieldProps,\n RadioStateTaxFieldProps,\n SelectStateTaxFieldProps,\n TextStateTaxFieldProps,\n} from './fieldProps'\n\n// ── Discriminated union surfaced to partners ───────────────────────────\n\n/**\n * Metadata shared by every {@link StateTaxQuestionFieldEntry} variant,\n * independent of which input the question renders.\n *\n * @public\n */\nexport interface SharedQuestionMetadata {\n /** Stable identifier for this question (camelCase form of the API key). */\n questionId: string\n /** API-supplied label; default text for the rendered Field. */\n label: string\n /** API-supplied description (raw HTML, sanitized internally before render). */\n description: string | null\n}\n\n/**\n * A state-tax question that renders as a select (dropdown). Includes read-only\n * question metadata from the API and a bound select field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface SelectStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the select variant. */\n type: 'select'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<SelectStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a radio group. Includes read-only\n * question metadata from the API and a bound radio field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface RadioStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the radio variant. */\n type: 'radio'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<RadioStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a single-line text input. Includes\n * read-only question metadata from the API and a bound text field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface TextStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the text variant. */\n type: 'text'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<TextStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a decimal number input. Includes\n * read-only question metadata from the API and a bound number field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface NumberStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the number variant. */\n type: 'number'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<NumberStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a currency-formatted number input. Includes\n * read-only question metadata from the API and a bound currency field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface CurrencyStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the currency variant. */\n type: 'currency'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<CurrencyStateTaxFieldProps>\n}\n\n/**\n * A state-tax question that renders as a date picker. Includes read-only\n * question metadata from the API and a bound date field, exposed as\n * `<question.Field />`.\n *\n * @public\n * @group Fields\n */\nexport interface DateStateTaxQuestion extends SharedQuestionMetadata {\n /** Discriminant identifying the date variant. */\n type: 'date'\n /** Field component pre-bound to this question's API-supplied metadata. */\n Field: ComponentType<DateStateTaxFieldProps>\n}\n\n/**\n * One question entry within a {@link StateTaxFieldsGroup}, discriminated by\n * `type` to identify which input variant the question uses. Each entry carries\n * a `Field` component pre-bound to its API-supplied metadata so callers can\n * render the input directly.\n *\n * @public\n * @group Fields\n * @siblingOf {@link StateTaxFieldsGroup}\n */\nexport type StateTaxQuestionFieldEntry =\n | SelectStateTaxQuestion\n | RadioStateTaxQuestion\n | TextStateTaxQuestion\n | NumberStateTaxQuestion\n | CurrencyStateTaxQuestion\n | DateStateTaxQuestion\n\n/**\n * Group of state-tax questions for a single jurisdiction returned by\n * {@link useStateFields}.\n *\n * @public\n * @group Fields\n * @siblingOf {@link StateTaxFields}\n */\nexport interface StateTaxFieldsGroup {\n /** Two-letter state code. */\n state: string\n /** Ordered list of question entries for this state, post admin-only filtering. */\n questions: StateTaxQuestionFieldEntry[]\n}\n\n/**\n * Iterable, render-ready group + question entries with bound Field components,\n * grouped by state.\n *\n * @public\n *\n * @example\n * The value exposed on `form.Fields`: one entry per state, each carrying its\n * questions as pre-bound `Field` components you render directly.\n *\n * ```tsx\n * function StateTaxQuestions({ fields }: { fields: StateTaxFields }) {\n * return fields.map(group => (\n * <section key={group.state}>\n * <h3>{group.state}</h3>\n * {group.questions.map(question => (\n * <question.Field key={question.questionId} />\n * ))}\n * </section>\n * ))\n * }\n * ```\n */\nexport type StateTaxFields = StateTaxFieldsGroup[]\n\n// ── Factory ────────────────────────────────────────────────────────────\n\n/** @internal */\nexport interface CreateStateFieldsOptions {\n isAdmin: boolean\n}\n\n/** @internal */\nexport function createStateFields(\n employeeStateTaxes: EmployeeStateTaxesList[],\n options: CreateStateFieldsOptions,\n): StateTaxFieldsGroup[] {\n const { isAdmin } = options\n const groups: StateTaxFieldsGroup[] = []\n\n for (const stateGroup of employeeStateTaxes) {\n if (!stateGroup.state || !stateGroup.questions) continue\n\n const questions: StateTaxQuestionFieldEntry[] = []\n for (const question of stateGroup.questions) {\n if (question.isQuestionForAdminOnly && !isAdmin) continue\n\n const formKey = snakeCaseToCamelCase(question.key)\n const meta: BoundFieldMeta = {\n name: `states.${stateGroup.state}.${formKey}`,\n apiLabel: question.label,\n apiDescription: question.description,\n }\n const variant = getQuestionVariant(question)\n const shared: SharedQuestionMetadata = {\n questionId: formKey,\n label: question.label,\n description: question.description,\n }\n\n questions.push(buildEntry(variant, meta, shared))\n }\n\n if (questions.length === 0) continue\n\n groups.push({\n state: stateGroup.state,\n questions,\n })\n }\n\n return groups\n}\n\nfunction buildEntry(\n variant: StateTaxQuestionVariant,\n meta: BoundFieldMeta,\n shared: SharedQuestionMetadata,\n): StateTaxQuestionFieldEntry {\n switch (variant) {\n case 'select':\n return {\n type: 'select',\n Field: function BoundSelectStateTaxField(props: SelectStateTaxFieldProps) {\n return <SelectStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'radio':\n return {\n type: 'radio',\n Field: function BoundRadioStateTaxField(props: RadioStateTaxFieldProps) {\n return <RadioStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'text':\n return {\n type: 'text',\n Field: function BoundTextStateTaxField(props: TextStateTaxFieldProps) {\n return <TextStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'number':\n return {\n type: 'number',\n Field: function BoundNumberStateTaxField(props: NumberStateTaxFieldProps) {\n return <NumberStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'currency':\n return {\n type: 'currency',\n Field: function BoundCurrencyStateTaxField(props: CurrencyStateTaxFieldProps) {\n return <CurrencyStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n case 'date':\n return {\n type: 'date',\n Field: function BoundDateStateTaxField(props: DateStateTaxFieldProps) {\n return <DateStateTaxField meta={meta} {...props} />\n },\n ...shared,\n }\n }\n}\n\n/**\n * Memoizes the bound field components for a state-taxes form, avoiding unnecessary rebuilds when the data refetches but the underlying questions haven't changed.\n *\n * @param employeeStateTaxes - Array of state-tax groups returned by the employee state-taxes API.\n * @param isAdmin - When `true`, admin-only questions are included; when `false`, they are filtered out.\n * @returns An array of {@link StateTaxFieldsGroup} — one entry per state, each with a `questions` array of bound field components.\n * @public\n * @group Utility hooks\n */\nexport function useStateFields(\n employeeStateTaxes: EmployeeStateTaxesList[],\n isAdmin: boolean,\n): StateTaxFieldsGroup[] {\n return useMemo(\n () => createStateFields(employeeStateTaxes, { isAdmin }),\n [employeeStateTaxes, isAdmin],\n )\n}\n"],"names":["createStateFields","employeeStateTaxes","options","isAdmin","groups","stateGroup","questions","question","formKey","snakeCaseToCamelCase","meta","variant","getQuestionVariant","shared","buildEntry","props","jsx","SelectStateTaxField","RadioStateTaxField","TextStateTaxField","NumberStateTaxField","CurrencyStateTaxField","DateStateTaxField","useStateFields","useMemo"],"mappings":";;;;;AA+MO,SAASA,EACdC,GACAC,GACuB;AACvB,QAAM,EAAE,SAAAC,MAAYD,GACdE,IAAgC,CAAA;AAEtC,aAAWC,KAAcJ,GAAoB;AAC3C,QAAI,CAACI,EAAW,SAAS,CAACA,EAAW,UAAW;AAEhD,UAAMC,IAA0C,CAAA;AAChD,eAAWC,KAAYF,EAAW,WAAW;AAC3C,UAAIE,EAAS,0BAA0B,CAACJ,EAAS;AAEjD,YAAMK,IAAUC,EAAqBF,EAAS,GAAG,GAC3CG,IAAuB;AAAA,QAC3B,MAAM,UAAUL,EAAW,KAAK,IAAIG,CAAO;AAAA,QAC3C,UAAUD,EAAS;AAAA,QACnB,gBAAgBA,EAAS;AAAA,MAAA,GAErBI,IAAUC,EAAmBL,CAAQ,GACrCM,IAAiC;AAAA,QACrC,YAAYL;AAAA,QACZ,OAAOD,EAAS;AAAA,QAChB,aAAaA,EAAS;AAAA,MAAA;AAGxB,MAAAD,EAAU,KAAKQ,EAAWH,GAASD,GAAMG,CAAM,CAAC;AAAA,IAClD;AAEA,IAAIP,EAAU,WAAW,KAEzBF,EAAO,KAAK;AAAA,MACV,OAAOC,EAAW;AAAA,MAClB,WAAAC;AAAA,IAAA,CACD;AAAA,EACH;AAEA,SAAOF;AACT;AAEA,SAASU,EACPH,GACAD,GACAG,GAC4B;AAC5B,UAAQF,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAkCI,GAAiC;AACxE,iBAAO,gBAAAC,EAACC,GAAA,EAAoB,MAAAP,GAAa,GAAGK,EAAA,CAAO;AAAA,QACrD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAiCE,GAAgC;AACtE,iBAAO,gBAAAC,EAACE,GAAA,EAAmB,MAAAR,GAAa,GAAGK,EAAA,CAAO;AAAA,QACpD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAgCE,GAA+B;AACpE,iBAAO,gBAAAC,EAACG,GAAA,EAAkB,MAAAT,GAAa,GAAGK,EAAA,CAAO;AAAA,QACnD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAkCE,GAAiC;AACxE,iBAAO,gBAAAC,EAACI,GAAA,EAAoB,MAAAV,GAAa,GAAGK,EAAA,CAAO;AAAA,QACrD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAoCE,GAAmC;AAC5E,iBAAO,gBAAAC,EAACK,GAAA,EAAsB,MAAAX,GAAa,GAAGK,EAAA,CAAO;AAAA,QACvD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,IAEP,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,SAAgCE,GAA+B;AACpE,iBAAO,gBAAAC,EAACM,GAAA,EAAkB,MAAAZ,GAAa,GAAGK,EAAA,CAAO;AAAA,QACnD;AAAA,QACA,GAAGF;AAAA,MAAA;AAAA,EACL;AAEN;AAWO,SAASU,EACdtB,GACAE,GACuB;AACvB,SAAOqB;AAAA,IACL,MAAMxB,EAAkBC,GAAoB,EAAE,SAAAE,GAAS;AAAA,IACvD,CAACF,GAAoBE,CAAO;AAAA,EAAA;AAEhC;"}
@@ -4,7 +4,7 @@ export type { EmployeeListFlowProps } from '../EmployeeListFlow';
4
4
  export { Documents, DocumentsCard, DocumentManager } from '../Documents/management';
5
5
  export type { DocumentsProps, DocumentsCardProps, DocumentManagerProps, } from '../Documents/management';
6
6
  export { DashboardFlow, Dashboard } from '../Dashboard';
7
- export type { DashboardFlowProps, DashboardProps } from '../Dashboard';
7
+ export type { DashboardFlowProps, DashboardProps, DashboardTab } from '../Dashboard';
8
8
  export { HomeAddress, HomeAddressCard, HomeAddressEditForm } from '../HomeAddress/management';
9
9
  export type { HomeAddressProps, HomeAddressCardProps, HomeAddressEditFormProps, } from '../HomeAddress/management';
10
10
  export { WorkAddress, WorkAddressCard, WorkAddressEditForm } from '../WorkAddress/management';
@@ -43,8 +43,7 @@ export interface InformationRequestFormProps extends BaseComponentInterface<'Inf
43
43
  * @public
44
44
  */
45
45
  export declare function InformationRequestForm(props: InformationRequestFormProps): import("react").JSX.Element;
46
- export declare namespace InformationRequestForm {
47
- var Footer: ({ onEvent }: {
48
- onEvent: OnEventType<EventType, unknown>;
49
- }) => import("react").JSX.Element;
50
- }
46
+ /** @internal */
47
+ export declare function Footer({ onEvent }: {
48
+ onEvent: OnEventType<EventType, unknown>;
49
+ }): import("react").JSX.Element;