@gusto/embedded-react-sdk 0.12.3 → 0.13.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 (212) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/_virtual/dynamic-import-helper.js +8 -1
  3. package/dist/_virtual/dynamic-import-helper.js.map +1 -1
  4. package/dist/assets/icons/spinner_small.svg.js +10 -0
  5. package/dist/assets/icons/spinner_small.svg.js.map +1 -0
  6. package/dist/components/Base/Base.js +28 -27
  7. package/dist/components/Base/Base.js.map +1 -1
  8. package/dist/components/Base/useBase.d.ts +2 -0
  9. package/dist/components/Base/useBase.js.map +1 -1
  10. package/dist/components/Common/DataView/DataView.d.ts +2 -1
  11. package/dist/components/Common/DataView/DataView.js +20 -19
  12. package/dist/components/Common/DataView/DataView.js.map +1 -1
  13. package/dist/components/Common/DataView/useDataView.d.ts +3 -1
  14. package/dist/components/Common/DataView/useDataView.js +13 -11
  15. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  16. package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
  17. package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
  18. package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
  19. package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
  20. package/dist/components/Common/Fields/hooks/useField.js +31 -24
  21. package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
  22. package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
  23. package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
  24. package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
  25. package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
  26. package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
  27. package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
  28. package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
  29. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  30. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
  31. package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
  32. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
  33. package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
  34. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  35. package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
  36. package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
  37. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
  38. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
  39. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
  40. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
  41. package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
  42. package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
  43. package/dist/components/Common/index.d.ts +1 -0
  44. package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
  45. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
  46. package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
  47. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -3
  48. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  49. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -4
  50. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -3
  51. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  52. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -5
  53. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccount.js +1 -1
  55. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
  56. package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -3
  57. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
  59. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
  60. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
  61. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -3
  62. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  63. package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
  64. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
  65. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
  66. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  67. package/dist/components/Company/FederalTaxes/FederalTaxes.js +3 -3
  68. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  69. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +18 -12
  70. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  71. package/dist/components/Company/Industry/Context.js +12 -6
  72. package/dist/components/Company/Industry/Context.js.map +1 -1
  73. package/dist/components/Company/Industry/Industry.js +2 -2
  74. package/dist/components/Company/Locations/LocationForm/LocationForm.js +4 -4
  75. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -3
  76. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  77. package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
  78. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -3
  79. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  80. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
  81. package/dist/components/Company/OnboardingOverview/context.js +9 -3
  82. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  83. package/dist/components/Company/PaySchedule/PaySchedule.js +5 -5
  84. package/dist/components/Company/PaySchedule/usePaySchedule.js +12 -6
  85. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  86. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
  87. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -3
  88. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  89. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
  90. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -3
  91. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  92. package/dist/components/Contractor/Address/Address.js +4 -4
  93. package/dist/components/Contractor/Address/useAddress.js +11 -5
  94. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  95. package/dist/components/Contractor/ContractorList/index.js +1 -1
  96. package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
  97. package/dist/components/Contractor/NewHireReport/NewHireReport.js +52 -50
  98. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  99. package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
  100. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
  101. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
  103. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  104. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
  105. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
  106. package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
  107. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
  108. package/dist/components/Contractor/Profile/useContractorProfile.js +40 -35
  109. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  110. package/dist/components/Contractor/Submit/Submit.js +25 -25
  111. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  112. package/dist/components/Employee/Compensation/Compensation.js +10 -10
  113. package/dist/components/Employee/Deductions/Deductions.js +1 -1
  114. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
  115. package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
  116. package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
  117. package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +1 -1
  118. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +9 -3
  119. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  120. package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
  121. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
  122. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  123. package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
  124. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  125. package/dist/components/Employee/EmployeeList/List.js +27 -25
  126. package/dist/components/Employee/EmployeeList/List.js.map +1 -1
  127. package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
  128. package/dist/components/Employee/EmployeeList/useEmployeeList.js +9 -3
  129. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  130. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
  131. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +9 -3
  132. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  133. package/dist/components/Employee/Landing/Landing.js +2 -2
  134. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
  135. package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
  136. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
  137. package/dist/components/Employee/PaymentMethod/Split.js +1 -1
  138. package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
  139. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -9
  140. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  141. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
  142. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  143. package/dist/components/Employee/Profile/Profile.js +15 -13
  144. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  145. package/dist/components/Employee/Profile/useProfile.js +9 -3
  146. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  147. package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
  148. package/dist/components/Employee/StateTaxes/useStateTaxes.js +9 -3
  149. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  150. package/dist/components/Employee/Taxes/Taxes.js +5 -5
  151. package/dist/components/Employee/Taxes/useTaxes.js +9 -3
  152. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  153. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
  154. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +69 -33
  155. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  156. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
  157. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +119 -50
  158. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  159. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
  160. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
  161. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  162. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
  163. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -18
  164. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  165. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
  166. package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
  167. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  168. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
  169. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +35 -26
  170. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  171. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
  172. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -35
  173. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  174. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
  175. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
  176. package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
  177. package/dist/components/Payroll/helpers.d.ts +21 -0
  178. package/dist/components/Payroll/helpers.js +209 -0
  179. package/dist/components/Payroll/helpers.js.map +1 -0
  180. package/dist/components/Payroll/helpers.test.d.ts +1 -0
  181. package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
  182. package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
  183. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
  184. package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
  185. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
  186. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  187. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  188. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  189. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
  190. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  191. package/dist/helpers/formattedStrings.d.ts +9 -0
  192. package/dist/helpers/formattedStrings.js +55 -16
  193. package/dist/helpers/formattedStrings.js.map +1 -1
  194. package/dist/i18n/I18n.js +15 -15
  195. package/dist/i18n/I18n.js.map +1 -1
  196. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +32 -0
  197. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
  198. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
  199. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
  200. package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
  201. package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
  202. package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
  203. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
  204. package/dist/i18n/en/common.json.d.ts +8 -0
  205. package/dist/i18n/en/common.json.js +15 -13
  206. package/dist/i18n/en/common.json.js.map +1 -1
  207. package/dist/shared/constants.d.ts +6 -0
  208. package/dist/shared/constants.js +43 -34
  209. package/dist/shared/constants.js.map +1 -1
  210. package/dist/style.css +1 -1
  211. package/dist/types/i18next.d.ts +96 -1
  212. package/package.json +27 -26
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.1
4
+
5
+ ### Fixes
6
+
7
+ - Patch release for bug fixes and improvements
8
+
9
+ ## 0.13.0
10
+
11
+ ### Features & Enhancements
12
+
13
+ - Infrastructural work to support eventual RunPayroll early access
14
+
3
15
  ## 0.12.3
4
16
 
5
17
  ### Features & Enhancements
@@ -1,7 +1,14 @@
1
1
  const l = (r, n, t) => {
2
2
  const e = r[n];
3
3
  return e ? typeof e == "function" ? e() : Promise.resolve(e) : new Promise((i, o) => {
4
- (typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(o.bind(null, /* @__PURE__ */ new Error("Unknown variable dynamic import: " + n + (n.split("/").length !== t ? ". Note that variables only represent file names one level deep." : ""))));
4
+ (typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(
5
+ o.bind(
6
+ null,
7
+ new Error(
8
+ "Unknown variable dynamic import: " + n + (n.split("/").length !== t ? ". Note that variables only represent file names one level deep." : "")
9
+ )
10
+ )
11
+ );
5
12
  });
6
13
  };
7
14
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-import-helper.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"dynamic-import-helper.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as e from "react";
2
+ const r = ({
3
+ title: l,
4
+ titleId: t,
5
+ ...a
6
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { d: "M12 22.5C12 21.6716 11.3234 21.0131 10.5063 20.8766C6.24662 20.1651 3 16.4617 3 12C3 7.02944 7.02944 3 12 3C16.4617 3 20.1651 6.24662 20.8766 10.5063C21.0131 11.3234 21.6716 12 22.5 12C23.3284 12 24.0098 11.3251 23.9075 10.503C23.1707 4.58207 18.1204 0 12 0C5.37258 0 0 5.37258 0 12C0 18.1205 4.58207 23.1707 10.503 23.9075C11.3251 24.0098 12 23.3284 12 22.5Z", fill: "currentColor" }));
7
+ export {
8
+ r as default
9
+ };
10
+ //# sourceMappingURL=spinner_small.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner_small.svg.js","sources":["../../../src/assets/icons/spinner_small.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgSpinnerSmall = ({\n title,\n titleId,\n ...props\n}) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", \"aria-labelledby\": titleId, ...props }, title ? /* @__PURE__ */ React.createElement(\"title\", { id: titleId }, title) : null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 22.5C12 21.6716 11.3234 21.0131 10.5063 20.8766C6.24662 20.1651 3 16.4617 3 12C3 7.02944 7.02944 3 12 3C16.4617 3 20.1651 6.24662 20.8766 10.5063C21.0131 11.3234 21.6716 12 22.5 12C23.3284 12 24.0098 11.3251 23.9075 10.503C23.1707 4.58207 18.1204 0 12 0C5.37258 0 0 5.37258 0 12C0 18.1205 4.58207 23.1707 10.503 23.9075C11.3251 24.0098 12 23.3284 12 22.5Z\", fill: \"currentColor\" }));\nexport default SvgSpinnerSmall;\n"],"names":["SvgSpinnerSmall","title","titleId","props","React"],"mappings":";AACK,MAACA,IAAkB,CAAC;AAAA,EACvB,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MAAsB,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,8BAA8B,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,mBAAmBF,GAAS,GAAGC,EAAK,GAAIF,IAAwB,gBAAAG,EAAM,cAAc,SAAS,EAAE,IAAIF,EAAO,GAAID,CAAK,IAAI,MAAsB,gBAAAG,EAAM,cAAc,QAAQ,EAAE,GAAG,2WAA2W,MAAM,gBAAgB,CAAC;"}
@@ -1,11 +1,11 @@
1
- import { jsx as o, jsxs as u } from "react/jsx-runtime";
2
- import { useState as y, useCallback as E, Suspense as R } from "react";
1
+ import { jsx as o, jsxs as y } from "react/jsx-runtime";
2
+ import { useState as E, useCallback as g, Suspense as R } from "react";
3
3
  import { ErrorBoundary as S } from "react-error-boundary";
4
4
  import { useTranslation as B } from "react-i18next";
5
- import { APIError as g } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/models/errors/apierror.js";
6
- import { SDKValidationError as C } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/models/errors/sdkvalidationerror.js";
7
- import { UnprocessableEntityErrorObject as h } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@gusto/embedded-api/esm/models/errors/unprocessableentityerrorobject.js";
8
- import { QueryErrorResetBoundary as T } from "/home/runner/work/embedded-react-sdk/embedded-react-sdk/node_modules/@tanstack/react-query/build/modern/index.js";
5
+ import { APIError as C } from "@gusto/embedded-api/models/errors/apierror";
6
+ import { SDKValidationError as h } from "@gusto/embedded-api/models/errors/sdkvalidationerror";
7
+ import { UnprocessableEntityErrorObject as k } from "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
8
+ import { QueryErrorResetBoundary as T } from "@tanstack/react-query";
9
9
  import { FadeIn as _ } from "../Common/FadeIn/FadeIn.js";
10
10
  import { BaseContext as j } from "./useBase.js";
11
11
  import { componentEvents as F } from "../../shared/constants.js";
@@ -15,7 +15,7 @@ import { InternalError as P } from "../Common/InternalError/InternalError.js";
15
15
  import { snakeCaseToCamelCase as w } from "../../helpers/formattedStrings.js";
16
16
  import { useComponentContext as M } from "../../contexts/ComponentAdapter/useComponentContext.js";
17
17
  import { useLoadingIndicator as O } from "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
18
- const U = (t) => t.map((n) => n.message ? /* @__PURE__ */ o("li", { children: n.message }, n.key) : null), k = (t, n) => {
18
+ const U = (t) => t.map((n) => n.message ? /* @__PURE__ */ o("li", { children: n.message }, n.key) : null), x = (t, n) => {
19
19
  const m = n ? n + "." : "";
20
20
  if (t.category === "invalid_attribute_value" || t.category === "invalid_operation")
21
21
  return [
@@ -25,27 +25,27 @@ const U = (t) => t.map((n) => n.message ? /* @__PURE__ */ o("li", { children: n.
25
25
  }
26
26
  ];
27
27
  if (t.category === "nested_errors" && t.errors !== void 0) {
28
- let s = "";
29
- return t.metadata?.key && typeof t.metadata.key == "string" ? s = t.metadata.key : t.metadata?.state && typeof t.metadata.state == "string" ? s = t.metadata.state : t.errorKey && (s = t.errorKey), t.errors.flatMap((r) => k(r, m + s));
28
+ let a = "";
29
+ return t.metadata?.key && typeof t.metadata.key == "string" ? a = t.metadata.key : t.metadata?.state && typeof t.metadata.state == "string" ? a = t.metadata.state : t.errorKey && (a = t.errorKey), t.errors.flatMap((r) => x(r, m + a));
30
30
  }
31
31
  return [];
32
32
  }, ot = ({
33
33
  children: t,
34
34
  FallbackComponent: n = P,
35
35
  LoaderComponent: m,
36
- onEvent: s
36
+ onEvent: a
37
37
  }) => {
38
- const [r, l] = y(null), [c, f] = y(null), p = K(), { t: x } = B(), d = M(), { LoadingIndicator: b } = O(), v = m ?? b, I = E((e) => {
38
+ const [r, l] = E(null), [c, f] = E(null), p = K(), { t: b } = B(), d = M(), { LoadingIndicator: I } = O(), u = m ?? I, v = g((e) => {
39
39
  l(e), e || f(null);
40
- }, []), A = (e) => {
41
- l(e), e instanceof h && Array.isArray(e.errors) && f(e.errors.flatMap((a) => k(a)));
42
- }, L = E(
43
- async (e, a) => {
40
+ }, []), L = (e) => {
41
+ l(e), e instanceof k && Array.isArray(e.errors) && f(e.errors.flatMap((s) => x(s)));
42
+ }, A = g(
43
+ async (e, s) => {
44
44
  l(null), f(null);
45
45
  try {
46
- await a(e);
46
+ await s(e);
47
47
  } catch (i) {
48
- i instanceof g || i instanceof C || i instanceof h ? A(i) : p(i);
48
+ i instanceof C || i instanceof h || i instanceof k ? L(i) : p(i);
49
49
  }
50
50
  },
51
51
  [l, p]
@@ -55,26 +55,27 @@ const U = (t) => t.map((n) => n.message ? /* @__PURE__ */ o("li", { children: n.
55
55
  {
56
56
  value: {
57
57
  fieldErrors: c,
58
- setError: I,
59
- onEvent: s,
58
+ setError: v,
59
+ onEvent: a,
60
60
  throwError: p,
61
- baseSubmitHandler: L
61
+ baseSubmitHandler: A,
62
+ LoadingIndicator: u
62
63
  },
63
- children: /* @__PURE__ */ o(T, { children: ({ reset: e }) => /* @__PURE__ */ u(
64
+ children: /* @__PURE__ */ o(T, { children: ({ reset: e }) => /* @__PURE__ */ y(
64
65
  S,
65
66
  {
66
67
  FallbackComponent: n,
67
68
  onReset: e,
68
- onError: (a) => {
69
- s(F.ERROR, a);
69
+ onError: (s) => {
70
+ a(F.ERROR, s);
70
71
  },
71
72
  children: [
72
- (r || c) && /* @__PURE__ */ u(d.Alert, { label: x("status.errorEncountered"), status: "error", children: [
73
+ (r || c) && /* @__PURE__ */ y(d.Alert, { label: b("status.errorEncountered"), status: "error", children: [
73
74
  c && /* @__PURE__ */ o(d.UnorderedList, { items: U(c) }),
74
- r && r instanceof g && /* @__PURE__ */ o(d.Text, { children: r.message }),
75
- r && r instanceof C && /* @__PURE__ */ o(d.Text, { as: "pre", children: r.pretty() })
75
+ r && r instanceof C && /* @__PURE__ */ o(d.Text, { children: r.message }),
76
+ r && r instanceof h && /* @__PURE__ */ o(d.Text, { as: "pre", children: r.pretty() })
76
77
  ] }),
77
- /* @__PURE__ */ o(R, { fallback: /* @__PURE__ */ o(v, {}), children: /* @__PURE__ */ o(_, { children: t }) })
78
+ /* @__PURE__ */ o(R, { fallback: /* @__PURE__ */ o(u, {}), children: /* @__PURE__ */ o(_, { children: t }) })
78
79
  ]
79
80
  }
80
81
  ) })
@@ -1 +1 @@
1
- {"version":3,"file":"Base.js","sources":["../../../src/components/Base/Base.tsx"],"sourcesContent":["import type { ReactNode, JSX } from 'react'\nimport { Suspense, useState, useCallback } from 'react'\nimport type { FallbackProps } from 'react-error-boundary'\nimport { ErrorBoundary } from 'react-error-boundary'\nimport { useTranslation } from 'react-i18next'\nimport { APIError } from '@gusto/embedded-api/models/errors/apierror'\nimport { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror'\nimport { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport type { EntityErrorObject } from '@gusto/embedded-api/models/components/entityerrorobject'\nimport { QueryErrorResetBoundary } from '@tanstack/react-query'\nimport { FadeIn } from '../Common/FadeIn/FadeIn'\nimport { BaseContext, type FieldError, type KnownErrors, type OnEventType } from './useBase'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport { InternalError, useAsyncError } from '@/components/Common'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { ResourceDictionary, Resources } from '@/types/Helpers'\nimport { useLoadingIndicator } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\nimport type { LoadingIndicatorContextProps } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\n\nexport interface CommonComponentInterface<TResourceKey extends keyof Resources = keyof Resources> {\n children?: ReactNode\n className?: string\n defaultValues?: unknown\n dictionary?: ResourceDictionary<TResourceKey>\n}\n\n// Base component wrapper with error and suspense handling\nexport interface BaseComponentInterface<TResourceKey extends keyof Resources = keyof Resources>\n extends CommonComponentInterface<TResourceKey> {\n FallbackComponent?: (props: FallbackProps) => JSX.Element\n LoaderComponent?: LoadingIndicatorContextProps['LoadingIndicator']\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**Traverses errorList and finds items with message properties */\nconst renderErrorList = (errorList: FieldError[]): React.ReactNode[] => {\n return errorList.map(errorFromList => {\n if (errorFromList.message) {\n return <li key={errorFromList.key}>{errorFromList.message}</li>\n }\n return null\n })\n}\n/**Recuresively parses error list and constructs an array of objects containing attribute value error messages associated with form fields. Nested errors construct '.' separated keys\n * metadata.state is a special case for state taxes validation errors\n */\nconst getFieldErrors = (\n error: EntityErrorObject,\n parentKey?: string,\n): { key: string; message: string }[] => {\n const keyPrefix = parentKey ? parentKey + '.' : ''\n if (error.category === 'invalid_attribute_value' || error.category === 'invalid_operation') {\n return [\n {\n key: snakeCaseToCamelCase(keyPrefix + error.errorKey),\n message: error.message ?? '',\n },\n ]\n }\n if (error.category === 'nested_errors' && error.errors !== undefined) {\n //TODO: clean this up once Metadata type is fixed in openapi spec\n let keySuffix = ''\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n if (error.metadata?.key && typeof error.metadata.key === 'string') {\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n keySuffix = error.metadata.key as string\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n } else if (error.metadata?.state && typeof error.metadata.state === 'string') {\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n keySuffix = error.metadata.state as string\n } else if (error.errorKey) {\n keySuffix = error.errorKey\n }\n return error.errors.flatMap(err => getFieldErrors(err, keyPrefix + keySuffix))\n }\n return []\n}\n\ntype SubmitHandler<T> = (data: T) => Promise<void>\n\nexport const BaseComponent = <TResourceKey extends keyof Resources = keyof Resources>({\n children,\n FallbackComponent = InternalError,\n LoaderComponent: LoadingIndicatorFromProps,\n onEvent,\n}: BaseComponentInterface<TResourceKey>) => {\n const [error, setError] = useState<KnownErrors | null>(null)\n const [fieldErrors, setFieldErrors] = useState<FieldError[] | null>(null)\n const throwError = useAsyncError()\n const { t } = useTranslation()\n const Components = useComponentContext()\n\n const { LoadingIndicator: LoadingIndicatorFromContext } = useLoadingIndicator()\n\n const LoaderComponent = LoadingIndicatorFromProps ?? LoadingIndicatorFromContext\n\n // Enhanced setError that also clears fieldErrors when error is cleared\n const setErrorWithFieldsClear = useCallback((error: KnownErrors | null) => {\n setError(error)\n if (!error) {\n setFieldErrors(null)\n }\n }, [])\n\n const processError = (error: KnownErrors) => {\n setError(error)\n //422\tapplication/json - content relaited error\n if (error instanceof UnprocessableEntityErrorObject && Array.isArray(error.errors)) {\n setFieldErrors(error.errors.flatMap(err => getFieldErrors(err)))\n }\n }\n\n const baseSubmitHandler = useCallback(\n async <T,>(data: T, componentHandler: SubmitHandler<T>) => {\n setError(null)\n setFieldErrors(null)\n try {\n await componentHandler(data)\n } catch (err) {\n if (\n err instanceof APIError ||\n err instanceof SDKValidationError ||\n err instanceof UnprocessableEntityErrorObject\n ) {\n processError(err)\n } else throwError(err)\n }\n },\n [setError, throwError],\n )\n\n return (\n <BaseContext.Provider\n value={{\n fieldErrors,\n setError: setErrorWithFieldsClear,\n onEvent,\n throwError,\n baseSubmitHandler,\n }}\n >\n <QueryErrorResetBoundary>\n {({ reset: resetQueries }) => (\n <ErrorBoundary\n FallbackComponent={FallbackComponent}\n onReset={resetQueries}\n onError={err => {\n onEvent(componentEvents.ERROR, err)\n }}\n >\n {(error || fieldErrors) && (\n <Components.Alert label={t('status.errorEncountered')} status=\"error\">\n {fieldErrors && <Components.UnorderedList items={renderErrorList(fieldErrors)} />}\n {error && error instanceof APIError && (\n <Components.Text>{error.message}</Components.Text>\n )}\n {error && error instanceof SDKValidationError && (\n <Components.Text as=\"pre\">{error.pretty()}</Components.Text>\n )}\n </Components.Alert>\n )}\n <Suspense fallback={<LoaderComponent />}>\n <FadeIn>{children}</FadeIn>\n </Suspense>\n </ErrorBoundary>\n )}\n </QueryErrorResetBoundary>\n </BaseContext.Provider>\n )\n}\n"],"names":["renderErrorList","errorList","errorFromList","jsx","getFieldErrors","error","parentKey","keyPrefix","snakeCaseToCamelCase","keySuffix","err","BaseComponent","children","FallbackComponent","InternalError","LoadingIndicatorFromProps","onEvent","setError","useState","fieldErrors","setFieldErrors","throwError","useAsyncError","t","useTranslation","Components","useComponentContext","LoadingIndicatorFromContext","useLoadingIndicator","LoaderComponent","setErrorWithFieldsClear","useCallback","processError","UnprocessableEntityErrorObject","baseSubmitHandler","data","componentHandler","APIError","SDKValidationError","BaseContext","QueryErrorResetBoundary","resetQueries","jsxs","ErrorBoundary","componentEvents","Suspense","FadeIn"],"mappings":"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"}
1
+ {"version":3,"file":"Base.js","sources":["../../../src/components/Base/Base.tsx"],"sourcesContent":["import type { ReactNode, JSX } from 'react'\nimport { Suspense, useState, useCallback } from 'react'\nimport type { FallbackProps } from 'react-error-boundary'\nimport { ErrorBoundary } from 'react-error-boundary'\nimport { useTranslation } from 'react-i18next'\nimport { APIError } from '@gusto/embedded-api/models/errors/apierror'\nimport { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror'\nimport { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport type { EntityErrorObject } from '@gusto/embedded-api/models/components/entityerrorobject'\nimport { QueryErrorResetBoundary } from '@tanstack/react-query'\nimport { FadeIn } from '../Common/FadeIn/FadeIn'\nimport { BaseContext, type FieldError, type KnownErrors, type OnEventType } from './useBase'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport { InternalError, useAsyncError } from '@/components/Common'\nimport { snakeCaseToCamelCase } from '@/helpers/formattedStrings'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { ResourceDictionary, Resources } from '@/types/Helpers'\nimport { useLoadingIndicator } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\nimport type { LoadingIndicatorContextProps } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\n\nexport interface CommonComponentInterface<TResourceKey extends keyof Resources = keyof Resources> {\n children?: ReactNode\n className?: string\n defaultValues?: unknown\n dictionary?: ResourceDictionary<TResourceKey>\n}\n\n// Base component wrapper with error and suspense handling\nexport interface BaseComponentInterface<TResourceKey extends keyof Resources = keyof Resources>\n extends CommonComponentInterface<TResourceKey> {\n FallbackComponent?: (props: FallbackProps) => JSX.Element\n LoaderComponent?: LoadingIndicatorContextProps['LoadingIndicator']\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**Traverses errorList and finds items with message properties */\nconst renderErrorList = (errorList: FieldError[]): React.ReactNode[] => {\n return errorList.map(errorFromList => {\n if (errorFromList.message) {\n return <li key={errorFromList.key}>{errorFromList.message}</li>\n }\n return null\n })\n}\n/**Recuresively parses error list and constructs an array of objects containing attribute value error messages associated with form fields. Nested errors construct '.' separated keys\n * metadata.state is a special case for state taxes validation errors\n */\nconst getFieldErrors = (\n error: EntityErrorObject,\n parentKey?: string,\n): { key: string; message: string }[] => {\n const keyPrefix = parentKey ? parentKey + '.' : ''\n if (error.category === 'invalid_attribute_value' || error.category === 'invalid_operation') {\n return [\n {\n key: snakeCaseToCamelCase(keyPrefix + error.errorKey),\n message: error.message ?? '',\n },\n ]\n }\n if (error.category === 'nested_errors' && error.errors !== undefined) {\n //TODO: clean this up once Metadata type is fixed in openapi spec\n let keySuffix = ''\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n if (error.metadata?.key && typeof error.metadata.key === 'string') {\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n keySuffix = error.metadata.key as string\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n } else if (error.metadata?.state && typeof error.metadata.state === 'string') {\n //@ts-expect-error: Metadata in speakeasy is incorrectly typed\n keySuffix = error.metadata.state as string\n } else if (error.errorKey) {\n keySuffix = error.errorKey\n }\n return error.errors.flatMap(err => getFieldErrors(err, keyPrefix + keySuffix))\n }\n return []\n}\n\ntype SubmitHandler<T> = (data: T) => Promise<void>\n\nexport const BaseComponent = <TResourceKey extends keyof Resources = keyof Resources>({\n children,\n FallbackComponent = InternalError,\n LoaderComponent: LoadingIndicatorFromProps,\n onEvent,\n}: BaseComponentInterface<TResourceKey>) => {\n const [error, setError] = useState<KnownErrors | null>(null)\n const [fieldErrors, setFieldErrors] = useState<FieldError[] | null>(null)\n const throwError = useAsyncError()\n const { t } = useTranslation()\n const Components = useComponentContext()\n\n const { LoadingIndicator: LoadingIndicatorFromContext } = useLoadingIndicator()\n\n const LoaderComponent = LoadingIndicatorFromProps ?? LoadingIndicatorFromContext\n\n // Enhanced setError that also clears fieldErrors when error is cleared\n const setErrorWithFieldsClear = useCallback((error: KnownErrors | null) => {\n setError(error)\n if (!error) {\n setFieldErrors(null)\n }\n }, [])\n\n const processError = (error: KnownErrors) => {\n setError(error)\n //422\tapplication/json - content relaited error\n if (error instanceof UnprocessableEntityErrorObject && Array.isArray(error.errors)) {\n setFieldErrors(error.errors.flatMap(err => getFieldErrors(err)))\n }\n }\n\n const baseSubmitHandler = useCallback(\n async <T,>(data: T, componentHandler: SubmitHandler<T>) => {\n setError(null)\n setFieldErrors(null)\n try {\n await componentHandler(data)\n } catch (err) {\n if (\n err instanceof APIError ||\n err instanceof SDKValidationError ||\n err instanceof UnprocessableEntityErrorObject\n ) {\n processError(err)\n } else throwError(err)\n }\n },\n [setError, throwError],\n )\n\n return (\n <BaseContext.Provider\n value={{\n fieldErrors,\n setError: setErrorWithFieldsClear,\n onEvent,\n throwError,\n baseSubmitHandler,\n LoadingIndicator: LoaderComponent,\n }}\n >\n <QueryErrorResetBoundary>\n {({ reset: resetQueries }) => (\n <ErrorBoundary\n FallbackComponent={FallbackComponent}\n onReset={resetQueries}\n onError={err => {\n onEvent(componentEvents.ERROR, err)\n }}\n >\n {(error || fieldErrors) && (\n <Components.Alert label={t('status.errorEncountered')} status=\"error\">\n {fieldErrors && <Components.UnorderedList items={renderErrorList(fieldErrors)} />}\n {error && error instanceof APIError && (\n <Components.Text>{error.message}</Components.Text>\n )}\n {error && error instanceof SDKValidationError && (\n <Components.Text as=\"pre\">{error.pretty()}</Components.Text>\n )}\n </Components.Alert>\n )}\n <Suspense fallback={<LoaderComponent />}>\n <FadeIn>{children}</FadeIn>\n </Suspense>\n </ErrorBoundary>\n )}\n </QueryErrorResetBoundary>\n </BaseContext.Provider>\n )\n}\n"],"names":["renderErrorList","errorList","errorFromList","jsx","getFieldErrors","error","parentKey","keyPrefix","snakeCaseToCamelCase","keySuffix","err","BaseComponent","children","FallbackComponent","InternalError","LoadingIndicatorFromProps","onEvent","setError","useState","fieldErrors","setFieldErrors","throwError","useAsyncError","t","useTranslation","Components","useComponentContext","LoadingIndicatorFromContext","useLoadingIndicator","LoaderComponent","setErrorWithFieldsClear","useCallback","processError","UnprocessableEntityErrorObject","baseSubmitHandler","data","componentHandler","APIError","SDKValidationError","BaseContext","QueryErrorResetBoundary","resetQueries","jsxs","ErrorBoundary","componentEvents","Suspense","FadeIn"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { APIError } from '@gusto/embedded-api/models/errors/apierror';
2
2
  import { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror';
3
3
  import { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject';
4
4
  import { EventType } from '../../shared/constants';
5
+ import { LoadingIndicatorContextProps } from '../../contexts/LoadingIndicatorProvider/useLoadingIndicator';
5
6
  export type OnEventType<K, T> = (type: K, data?: T) => void;
6
7
  export type KnownErrors = APIError | SDKValidationError | UnprocessableEntityErrorObject;
7
8
  export type FieldError = {
@@ -14,6 +15,7 @@ interface BaseContextProps {
14
15
  onEvent: OnEventType<EventType, unknown>;
15
16
  throwError: (e: unknown) => void;
16
17
  baseSubmitHandler: <T>(formData: T, componentHandler: (payload: T) => Promise<void>) => Promise<void>;
18
+ LoadingIndicator: LoadingIndicatorContextProps['LoadingIndicator'];
17
19
  }
18
20
  export declare const BaseContext: import('react').Context<BaseContextProps | undefined>;
19
21
  export declare const useBase: () => BaseContextProps;
@@ -1 +1 @@
1
- {"version":3,"file":"useBase.js","sources":["../../../src/components/Base/useBase.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { APIError } from '@gusto/embedded-api/models/errors/apierror'\nimport type { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror'\nimport type { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport { type EventType } from '@/shared/constants'\n\nexport type OnEventType<K, T> = (type: K, data?: T) => void\n\nexport type KnownErrors = APIError | SDKValidationError | UnprocessableEntityErrorObject\n\nexport type FieldError = {\n key: string\n message: string\n}\n\ninterface BaseContextProps {\n fieldErrors: FieldError[] | null\n setError: (err: KnownErrors | null) => void\n onEvent: OnEventType<EventType, unknown>\n throwError: (e: unknown) => void\n baseSubmitHandler: <T>(\n formData: T,\n componentHandler: (payload: T) => Promise<void>,\n ) => Promise<void>\n}\n\nexport const BaseContext = createContext<BaseContextProps | undefined>(undefined)\n\nexport const useBase = () => {\n const context = useContext(BaseContext)\n if (!context) {\n throw new Error('useBase must be used within a BaseProvider')\n }\n return context\n}\n"],"names":["BaseContext","createContext","useBase","context","useContext"],"mappings":";AA0BO,MAAMA,IAAcC,EAA4C,MAAS,GAEnEC,IAAU,MAAM;AAC3B,QAAMC,IAAUC,EAAWJ,CAAW;AACtC,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,4CAA4C;AAE9D,SAAOA;AACT;"}
1
+ {"version":3,"file":"useBase.js","sources":["../../../src/components/Base/useBase.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { APIError } from '@gusto/embedded-api/models/errors/apierror'\nimport type { SDKValidationError } from '@gusto/embedded-api/models/errors/sdkvalidationerror'\nimport type { UnprocessableEntityErrorObject } from '@gusto/embedded-api/models/errors/unprocessableentityerrorobject'\nimport { type EventType } from '@/shared/constants'\nimport type { LoadingIndicatorContextProps } from '@/contexts/LoadingIndicatorProvider/useLoadingIndicator'\n\nexport type OnEventType<K, T> = (type: K, data?: T) => void\n\nexport type KnownErrors = APIError | SDKValidationError | UnprocessableEntityErrorObject\n\nexport type FieldError = {\n key: string\n message: string\n}\n\ninterface BaseContextProps {\n fieldErrors: FieldError[] | null\n setError: (err: KnownErrors | null) => void\n onEvent: OnEventType<EventType, unknown>\n throwError: (e: unknown) => void\n baseSubmitHandler: <T>(\n formData: T,\n componentHandler: (payload: T) => Promise<void>,\n ) => Promise<void>\n LoadingIndicator: LoadingIndicatorContextProps['LoadingIndicator']\n}\n\nexport const BaseContext = createContext<BaseContextProps | undefined>(undefined)\n\nexport const useBase = () => {\n const context = useContext(BaseContext)\n if (!context) {\n throw new Error('useBase must be used within a BaseProvider')\n }\n return context\n}\n"],"names":["BaseContext","createContext","useBase","context","useContext"],"mappings":";AA4BO,MAAMA,IAAcC,EAA4C,MAAS,GAEnEC,IAAU,MAAM;AAC3B,QAAMC,IAAUC,EAAWJ,CAAW;AACtC,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,4CAA4C;AAE9D,SAAOA;AACT;"}
@@ -8,5 +8,6 @@ export type DataViewProps<T> = {
8
8
  itemMenu?: useDataViewPropReturn<T>['itemMenu'];
9
9
  onSelect?: useDataViewPropReturn<T>['onSelect'];
10
10
  breakAt?: BreakpointKey;
11
+ isFetching?: boolean;
11
12
  };
12
- export declare const DataView: <T>({ pagination, breakAt, ...dataViewProps }: DataViewProps<T>) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const DataView: <T>({ pagination, isFetching, breakAt, ...dataViewProps }: DataViewProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -1,34 +1,35 @@
1
- import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
- import { useRef as f, useMemo as p } from "react";
3
- import { PaginationControl as d } from "../PaginationControl/PaginationControl.js";
4
- import u from "./DataView.module.scss.js";
5
- import { DataTable as C } from "./DataTable/DataTable.js";
6
- import { DataCards as D } from "./DataCards/DataCards.js";
7
- import { useContainerBreakpoints as b } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
8
- const M = ({
1
+ import { jsxs as f, jsx as n } from "react/jsx-runtime";
2
+ import { useRef as p, useMemo as d } from "react";
3
+ import { PaginationControl as u } from "../PaginationControl/PaginationControl.js";
4
+ import C from "./DataView.module.scss.js";
5
+ import { DataTable as D } from "./DataTable/DataTable.js";
6
+ import { DataCards as b } from "./DataCards/DataCards.js";
7
+ import { useContainerBreakpoints as k } from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
8
+ const R = ({
9
9
  pagination: t,
10
- breakAt: s = "small",
11
- ...a
10
+ isFetching: s,
11
+ breakAt: a = "small",
12
+ ...i
12
13
  }) => {
13
- const e = f(null), o = b({
14
+ const e = p(null), o = k({
14
15
  ref: e
15
- }), i = o.length > 0, r = !o.includes(s), m = p(() => r ? D : C, [r]);
16
- return /* @__PURE__ */ l(
16
+ }), m = o.length > 0, r = !o.includes(a), c = d(() => r ? b : D, [r]);
17
+ return /* @__PURE__ */ f(
17
18
  "div",
18
19
  {
19
20
  "data-testid": "data-view",
20
- className: u.dataViewContainer,
21
- ref: (c) => {
22
- e.current = c;
21
+ className: C.dataViewContainer,
22
+ ref: (l) => {
23
+ e.current = l;
23
24
  },
24
25
  children: [
25
- i && /* @__PURE__ */ n(m, { ...a }),
26
- t && /* @__PURE__ */ n(d, { ...t })
26
+ m && /* @__PURE__ */ n(c, { ...i }),
27
+ t && /* @__PURE__ */ n(u, { ...t, isFetching: s })
27
28
  ]
28
29
  }
29
30
  );
30
31
  };
31
32
  export {
32
- M as DataView
33
+ R as DataView
33
34
  };
34
35
  //# sourceMappingURL=DataView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataView.js","sources":["../../../../src/components/Common/DataView/DataView.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { PaginationControl } from '../PaginationControl/PaginationControl'\nimport styles from './DataView.module.scss'\nimport { DataTable } from './DataTable/DataTable'\nimport type { useDataViewPropReturn } from './useDataView'\nimport { DataCards } from './DataCards/DataCards'\nimport type { BreakpointKey } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nexport type DataViewProps<T> = {\n columns: useDataViewPropReturn<T>['columns']\n data: T[]\n pagination?: useDataViewPropReturn<T>['pagination']\n label: string\n itemMenu?: useDataViewPropReturn<T>['itemMenu']\n onSelect?: useDataViewPropReturn<T>['onSelect']\n breakAt?: BreakpointKey\n}\n\nexport const DataView = <T,>({\n pagination,\n breakAt = 'small',\n ...dataViewProps\n}: DataViewProps<T>) => {\n const containerRef = useRef<HTMLElement | null>(null)\n const breakpoints = useContainerBreakpoints({\n ref: containerRef,\n })\n\n // Wait for breakpoints to be detected before rendering\n const isBreakpointsDetected = breakpoints.length > 0\n const isMobile = !breakpoints.includes(breakAt)\n\n const Component = useMemo(() => {\n return isMobile ? DataCards : DataTable\n }, [isMobile])\n\n return (\n <div\n data-testid=\"data-view\"\n className={styles.dataViewContainer}\n ref={ref => {\n containerRef.current = ref\n }}\n >\n {isBreakpointsDetected && <Component {...dataViewProps} />}\n {pagination && <PaginationControl {...pagination} />}\n </div>\n )\n}\n"],"names":["DataView","pagination","breakAt","dataViewProps","containerRef","useRef","breakpoints","useContainerBreakpoints","isBreakpointsDetected","isMobile","Component","useMemo","DataCards","DataTable","jsxs","styles","ref","jsx","PaginationControl"],"mappings":";;;;;;;AAmBO,MAAMA,IAAW,CAAK;AAAA,EAC3B,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAAwB;AACtB,QAAMC,IAAeC,EAA2B,IAAI,GAC9CC,IAAcC,EAAwB;AAAA,IAC1C,KAAKH;AAAA,EAAA,CACN,GAGKI,IAAwBF,EAAY,SAAS,GAC7CG,IAAW,CAACH,EAAY,SAASJ,CAAO,GAExCQ,IAAYC,EAAQ,MACjBF,IAAWG,IAAYC,GAC7B,CAACJ,CAAQ,CAAC;AAEb,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAWC,EAAO;AAAA,MAClB,KAAK,CAAAC,MAAO;AACV,QAAAZ,EAAa,UAAUY;AAAA,MACzB;AAAA,MAEC,UAAA;AAAA,QAAAR,KAAyB,gBAAAS,EAACP,GAAA,EAAW,GAAGP,EAAA,CAAe;AAAA,QACvDF,KAAc,gBAAAgB,EAACC,GAAA,EAAmB,GAAGjB,EAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxD;"}
1
+ {"version":3,"file":"DataView.js","sources":["../../../../src/components/Common/DataView/DataView.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { PaginationControl } from '../PaginationControl/PaginationControl'\nimport styles from './DataView.module.scss'\nimport { DataTable } from './DataTable/DataTable'\nimport type { useDataViewPropReturn } from './useDataView'\nimport { DataCards } from './DataCards/DataCards'\nimport type { BreakpointKey } from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nexport type DataViewProps<T> = {\n columns: useDataViewPropReturn<T>['columns']\n data: T[]\n pagination?: useDataViewPropReturn<T>['pagination']\n label: string\n itemMenu?: useDataViewPropReturn<T>['itemMenu']\n onSelect?: useDataViewPropReturn<T>['onSelect']\n breakAt?: BreakpointKey\n isFetching?: boolean\n}\n\nexport const DataView = <T,>({\n pagination,\n isFetching,\n breakAt = 'small',\n ...dataViewProps\n}: DataViewProps<T>) => {\n const containerRef = useRef<HTMLElement | null>(null)\n const breakpoints = useContainerBreakpoints({\n ref: containerRef,\n })\n\n // Wait for breakpoints to be detected before rendering\n const isBreakpointsDetected = breakpoints.length > 0\n const isMobile = !breakpoints.includes(breakAt)\n\n const Component = useMemo(() => {\n return isMobile ? DataCards : DataTable\n }, [isMobile])\n\n return (\n <div\n data-testid=\"data-view\"\n className={styles.dataViewContainer}\n ref={ref => {\n containerRef.current = ref\n }}\n >\n {isBreakpointsDetected && <Component {...dataViewProps} />}\n {pagination && <PaginationControl {...pagination} isFetching={isFetching} />}\n </div>\n )\n}\n"],"names":["DataView","pagination","isFetching","breakAt","dataViewProps","containerRef","useRef","breakpoints","useContainerBreakpoints","isBreakpointsDetected","isMobile","Component","useMemo","DataCards","DataTable","jsxs","styles","ref","jsx","PaginationControl"],"mappings":";;;;;;;AAoBO,MAAMA,IAAW,CAAK;AAAA,EAC3B,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAAwB;AACtB,QAAMC,IAAeC,EAA2B,IAAI,GAC9CC,IAAcC,EAAwB;AAAA,IAC1C,KAAKH;AAAA,EAAA,CACN,GAGKI,IAAwBF,EAAY,SAAS,GAC7CG,IAAW,CAACH,EAAY,SAASJ,CAAO,GAExCQ,IAAYC,EAAQ,MACjBF,IAAWG,IAAYC,GAC7B,CAACJ,CAAQ,CAAC;AAEb,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAWC,EAAO;AAAA,MAClB,KAAK,CAAAC,MAAO;AACV,QAAAZ,EAAa,UAAUY;AAAA,MACzB;AAAA,MAEC,UAAA;AAAA,QAAAR,KAAyB,gBAAAS,EAACP,GAAA,EAAW,GAAGP,EAAA,CAAe;AAAA,QACvDH,KAAc,gBAAAiB,EAACC,GAAA,EAAmB,GAAGlB,GAAY,YAAAC,EAAA,CAAwB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGhF;"}
@@ -15,6 +15,7 @@ export type useDataViewProp<T> = {
15
15
  itemMenu?: (item: T) => React.ReactNode;
16
16
  onSelect?: (item: T, checked: boolean) => void;
17
17
  emptyState?: () => React.ReactNode;
18
+ isFetching?: boolean;
18
19
  };
19
20
  export type useDataViewPropReturn<T> = {
20
21
  pagination?: PaginationControlProps;
@@ -23,6 +24,7 @@ export type useDataViewPropReturn<T> = {
23
24
  itemMenu?: (item: T) => React.ReactNode;
24
25
  onSelect?: (item: T, checked: boolean) => void;
25
26
  emptyState?: () => React.ReactNode;
27
+ isFetching?: boolean;
26
28
  };
27
- export declare const useDataView: <T>({ columns, data, itemMenu, onSelect, pagination, emptyState, }: useDataViewProp<T>) => useDataViewPropReturn<T>;
29
+ export declare const useDataView: <T>({ columns, data, itemMenu, onSelect, pagination, emptyState, isFetching, }: useDataViewProp<T>) => useDataViewPropReturn<T>;
28
30
  export {};
@@ -1,20 +1,22 @@
1
- import { useMemo as p } from "react";
2
- const P = ({
1
+ import { useMemo as u } from "react";
2
+ const d = ({
3
3
  columns: r,
4
4
  data: o,
5
5
  itemMenu: s,
6
- onSelect: e,
7
- pagination: w,
8
- emptyState: V
9
- }) => p(() => ({
10
- pagination: w,
6
+ onSelect: w,
7
+ pagination: V,
8
+ emptyState: e,
9
+ isFetching: p
10
+ }) => u(() => ({
11
+ pagination: V,
11
12
  data: o,
12
13
  columns: r,
13
14
  itemMenu: s,
14
- onSelect: e,
15
- emptyState: V
16
- }), [w, o, r, s, e, V]);
15
+ onSelect: w,
16
+ emptyState: e,
17
+ isFetching: p
18
+ }), [V, o, r, s, w, e, p]);
17
19
  export {
18
- P as useDataView
20
+ d as useDataView
19
21
  };
20
22
  //# sourceMappingURL=useDataView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDataView.js","sources":["../../../../src/components/Common/DataView/useDataView.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype DataViewColumn<T> =\n | {\n key: keyof T\n title: string | React.ReactNode\n render?: (item: T) => React.ReactNode\n }\n | {\n key?: string\n title: string | React.ReactNode\n render: (item: T) => React.ReactNode\n }\n\nexport type useDataViewProp<T> = {\n columns: DataViewColumn<T>[]\n data: T[]\n pagination?: PaginationControlProps\n itemMenu?: (item: T) => React.ReactNode\n onSelect?: (item: T, checked: boolean) => void\n emptyState?: () => React.ReactNode\n}\n\nexport type useDataViewPropReturn<T> = {\n pagination?: PaginationControlProps\n data: T[]\n columns: DataViewColumn<T>[]\n itemMenu?: (item: T) => React.ReactNode\n onSelect?: (item: T, checked: boolean) => void\n emptyState?: () => React.ReactNode\n}\n\nexport const useDataView = <T>({\n columns,\n data,\n itemMenu,\n onSelect,\n pagination,\n emptyState,\n}: useDataViewProp<T>): useDataViewPropReturn<T> => {\n const dataViewProps = useMemo(() => {\n return {\n pagination,\n data,\n columns,\n itemMenu,\n onSelect,\n emptyState,\n }\n }, [pagination, data, columns, itemMenu, onSelect, emptyState])\n\n return dataViewProps\n}\n"],"names":["useDataView","columns","data","itemMenu","onSelect","pagination","emptyState","useMemo"],"mappings":";AAiCO,MAAMA,IAAc,CAAI;AAAA,EAC7B,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AACF,MACwBC,EAAQ,OACrB;AAAA,EACL,YAAAF;AAAA,EACA,MAAAH;AAAA,EACA,SAAAD;AAAA,EACA,UAAAE;AAAA,EACA,UAAAC;AAAA,EACA,YAAAE;AAAA,IAED,CAACD,GAAYH,GAAMD,GAASE,GAAUC,GAAUE,CAAU,CAAC;"}
1
+ {"version":3,"file":"useDataView.js","sources":["../../../../src/components/Common/DataView/useDataView.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype DataViewColumn<T> =\n | {\n key: keyof T\n title: string | React.ReactNode\n render?: (item: T) => React.ReactNode\n }\n | {\n key?: string\n title: string | React.ReactNode\n render: (item: T) => React.ReactNode\n }\n\nexport type useDataViewProp<T> = {\n columns: DataViewColumn<T>[]\n data: T[]\n pagination?: PaginationControlProps\n itemMenu?: (item: T) => React.ReactNode\n onSelect?: (item: T, checked: boolean) => void\n emptyState?: () => React.ReactNode\n isFetching?: boolean\n}\n\nexport type useDataViewPropReturn<T> = {\n pagination?: PaginationControlProps\n data: T[]\n columns: DataViewColumn<T>[]\n itemMenu?: (item: T) => React.ReactNode\n onSelect?: (item: T, checked: boolean) => void\n emptyState?: () => React.ReactNode\n isFetching?: boolean\n}\n\nexport const useDataView = <T>({\n columns,\n data,\n itemMenu,\n onSelect,\n pagination,\n emptyState,\n isFetching,\n}: useDataViewProp<T>): useDataViewPropReturn<T> => {\n const dataViewProps = useMemo(() => {\n return {\n pagination,\n data,\n columns,\n itemMenu,\n onSelect,\n emptyState,\n isFetching,\n }\n }, [pagination, data, columns, itemMenu, onSelect, emptyState, isFetching])\n\n return dataViewProps\n}\n"],"names":["useDataView","columns","data","itemMenu","onSelect","pagination","emptyState","isFetching","useMemo"],"mappings":";AAmCO,MAAMA,IAAc,CAAI;AAAA,EAC7B,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AACF,MACwBC,EAAQ,OACrB;AAAA,EACL,YAAAH;AAAA,EACA,MAAAH;AAAA,EACA,SAAAD;AAAA,EACA,UAAAE;AAAA,EACA,UAAAC;AAAA,EACA,YAAAE;AAAA,EACA,YAAAC;AAAA,IAED,CAACF,GAAYH,GAAMD,GAASE,GAAUC,GAAUE,GAAYC,CAAU,CAAC;"}
@@ -1,4 +1,4 @@
1
- const t = "_emptyData_4b2s1_1", e = "_title_4b2s1_9", a = {
1
+ const t = "_emptyData_vn3oy_1", e = "_title_vn3oy_11", a = {
2
2
  emptyData: t,
3
3
  title: e
4
4
  };
@@ -1,19 +1,12 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import e from "classnames";
3
- import p from "./FieldDescription.module.scss.js";
4
- import { createMarkup as a } from "../../../helpers/formattedStrings.js";
5
- const u = ({
2
+ import m from "classnames";
3
+ import e from "./FieldDescription.module.scss.js";
4
+ const c = ({
6
5
  children: o,
7
- className: s,
8
- id: m
9
- }) => {
10
- const r = {
11
- className: e(p.root, s),
12
- id: m
13
- };
14
- return o && (typeof o == "string" ? /* @__PURE__ */ t("div", { ...r, dangerouslySetInnerHTML: a(o) }) : /* @__PURE__ */ t("div", { ...r, children: o }));
15
- };
6
+ className: r,
7
+ ...s
8
+ }) => o && /* @__PURE__ */ t("div", { ...s, className: m(e.root, r), children: o });
16
9
  export {
17
- u as FieldDescription
10
+ c as FieldDescription
18
11
  };
19
12
  //# sourceMappingURL=FieldDescription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldDescription.js","sources":["../../../../src/components/Common/FieldDescription/FieldDescription.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport styles from './FieldDescription.module.scss'\nimport { createMarkup } from '@/helpers/formattedStrings'\n\ninterface FieldDescriptionProps {\n children: React.ReactNode\n className?: string\n id?: string\n}\n\nexport const FieldDescription: React.FC<FieldDescriptionProps> = ({\n children,\n className,\n id,\n}: FieldDescriptionProps) => {\n const commonProps = {\n className: classNames(styles.root, className),\n id,\n }\n\n return (\n children &&\n (typeof children === 'string' ? (\n <div {...commonProps} dangerouslySetInnerHTML={createMarkup(children)} />\n ) : (\n <div {...commonProps}>{children}</div>\n ))\n )\n}\n"],"names":["FieldDescription","children","className","id","commonProps","classNames","styles","jsx","createMarkup"],"mappings":";;;;AAUO,MAAMA,IAAoD,CAAC;AAAA,EAChE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,IAAAC;AACF,MAA6B;AAC3B,QAAMC,IAAc;AAAA,IAClB,WAAWC,EAAWC,EAAO,MAAMJ,CAAS;AAAA,IAC5C,IAAAC;AAAA,EAAA;AAGF,SACEF,MACC,OAAOA,KAAa,WACnB,gBAAAM,EAAC,SAAK,GAAGH,GAAa,yBAAyBI,EAAaP,CAAQ,EAAA,CAAG,sBAEtE,OAAA,EAAK,GAAGG,GAAc,UAAAH,EAAA,CAAS;AAGtC;"}
1
+ {"version":3,"file":"FieldDescription.js","sources":["../../../../src/components/Common/FieldDescription/FieldDescription.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport styles from './FieldDescription.module.scss'\n\ninterface FieldDescriptionProps {\n children: React.ReactNode\n className?: string\n id?: string\n}\n\nexport const FieldDescription: React.FC<FieldDescriptionProps> = ({\n children,\n className,\n ...props\n}: FieldDescriptionProps) => {\n return (\n children && (\n <div {...props} className={classNames(styles.root, className)}>\n {children}\n </div>\n )\n )\n}\n"],"names":["FieldDescription","children","className","props","jsx","classNames","styles"],"mappings":";;;AASO,MAAMA,IAAoD,CAAC;AAAA,EAChE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,MAEIF,KACE,gBAAAG,EAAC,OAAA,EAAK,GAAGD,GAAO,WAAWE,EAAWC,EAAO,MAAMJ,CAAS,GACzD,UAAAD,EAAA,CACH;"}
@@ -1,4 +1,5 @@
1
1
  import { RegisterOptions } from 'react-hook-form';
2
+ import { default as React } from 'react';
2
3
  export type Transform<TValue> = (value: TValue) => TValue;
3
4
  export interface UseFieldProps<TValue = string> {
4
5
  name: string;
@@ -8,14 +9,16 @@ export interface UseFieldProps<TValue = string> {
8
9
  isRequired?: boolean;
9
10
  onChange?: (value: TValue) => void;
10
11
  transform?: Transform<TValue>;
12
+ description?: React.ReactNode;
11
13
  }
12
- export declare function useField<TValue = string>({ name, rules, defaultValue, errorMessage, isRequired, onChange, transform, }: UseFieldProps<TValue>): {
14
+ export declare function useField<TValue = string>({ name, rules, defaultValue, errorMessage, isRequired, onChange, transform, description, }: UseFieldProps<TValue>): {
13
15
  value: TValue;
14
16
  inputRef: import('react-hook-form').RefCallBack;
15
17
  isInvalid: boolean;
16
18
  errorMessage: string | undefined;
17
19
  onChange: (updatedValue: TValue) => void;
18
20
  isRequired: boolean;
21
+ description: React.ReactNode;
19
22
  onBlur: import('react-hook-form').Noop;
20
23
  disabled?: boolean;
21
24
  name: string;
@@ -1,36 +1,43 @@
1
- import { useFormContext as h, useController as m } from "react-hook-form";
2
- function F({
3
- name: a,
4
- rules: i = {},
5
- defaultValue: c,
6
- errorMessage: u,
1
+ import { useFormContext as h, useController as M } from "react-hook-form";
2
+ import F, { useMemo as x } from "react";
3
+ import { createMarkup as y } from "../../../../helpers/formattedStrings.js";
4
+ const D = (e) => !e || typeof e != "string" ? e : F.createElement("div", {
5
+ dangerouslySetInnerHTML: y(e)
6
+ });
7
+ function k({
8
+ name: e,
9
+ rules: u = {},
10
+ defaultValue: i,
11
+ errorMessage: f,
7
12
  isRequired: o = !1,
8
- onChange: f,
9
- transform: r
13
+ onChange: m,
14
+ transform: t,
15
+ description: n
10
16
  }) {
11
- const { control: d } = h(), { field: e, fieldState: n } = m({
12
- name: a,
13
- control: d,
17
+ const { control: p } = h(), { field: r, fieldState: s } = M({
18
+ name: e,
19
+ control: p,
14
20
  rules: {
15
21
  required: o,
16
- ...i
22
+ ...u
17
23
  },
18
- defaultValue: c
19
- }), { ref: g, ...v } = e, C = (t) => {
20
- const l = r ? r(t) : t;
21
- e.onChange(l), f?.(l);
22
- }, s = !!n.error;
24
+ defaultValue: i
25
+ }), { ref: g, ...d } = r, v = (a) => {
26
+ const c = t ? t(a) : a;
27
+ r.onChange(c), m?.(c);
28
+ }, l = !!s.error, C = x(() => D(n), [n]);
23
29
  return {
24
- ...v,
25
- value: e.value,
30
+ ...d,
31
+ value: r.value,
26
32
  inputRef: g,
27
- isInvalid: s,
28
- errorMessage: s ? u ?? n.error?.message : void 0,
29
- onChange: C,
30
- isRequired: o
33
+ isInvalid: l,
34
+ errorMessage: l ? f ?? s.error?.message : void 0,
35
+ onChange: v,
36
+ isRequired: o,
37
+ description: C
31
38
  };
32
39
  }
33
40
  export {
34
- F as useField
41
+ k as useField
35
42
  };
36
43
  //# sourceMappingURL=useField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sources":["../../../../../src/components/Common/Fields/hooks/useField.ts"],"sourcesContent":["import type { RegisterOptions } from 'react-hook-form'\nimport { useController, useFormContext } from 'react-hook-form'\n\nexport type Transform<TValue> = (value: TValue) => TValue\n\nexport interface UseFieldProps<TValue = string> {\n name: string\n rules?: RegisterOptions\n defaultValue?: TValue\n errorMessage?: string\n isRequired?: boolean\n onChange?: (value: TValue) => void\n transform?: Transform<TValue>\n}\n\nexport function useField<TValue = string>({\n name,\n rules = {},\n defaultValue,\n errorMessage,\n isRequired = false,\n onChange,\n transform,\n}: UseFieldProps<TValue>) {\n const { control } = useFormContext()\n const { field, fieldState } = useController({\n name,\n control,\n rules: {\n required: isRequired,\n ...rules,\n },\n defaultValue,\n })\n\n const { ref, ...restFieldProps } = field\n\n const handleChange = (updatedValue: TValue) => {\n const value = transform ? transform(updatedValue) : updatedValue\n field.onChange(value)\n onChange?.(value)\n }\n\n const isInvalid = !!fieldState.error\n\n return {\n ...restFieldProps,\n value: field.value as TValue,\n inputRef: ref,\n isInvalid,\n errorMessage: isInvalid ? (errorMessage ?? fieldState.error?.message) : undefined,\n onChange: handleChange,\n isRequired,\n }\n}\n"],"names":["useField","name","rules","defaultValue","errorMessage","isRequired","onChange","transform","control","useFormContext","field","fieldState","useController","ref","restFieldProps","handleChange","updatedValue","value","isInvalid"],"mappings":";AAeO,SAASA,EAA0B;AAAA,EACxC,MAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC;AAAA,EACA,WAAAC;AACF,GAA0B;AACxB,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACd,EAAE,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAc;AAAA,IAC1C,MAAAX;AAAA,IACA,SAAAO;AAAA,IACA,OAAO;AAAA,MACL,UAAUH;AAAA,MACV,GAAGH;AAAA,IAAA;AAAA,IAEL,cAAAC;AAAA,EAAA,CACD,GAEK,EAAE,KAAAU,GAAK,GAAGC,EAAA,IAAmBJ,GAE7BK,IAAe,CAACC,MAAyB;AAC7C,UAAMC,IAAQV,IAAYA,EAAUS,CAAY,IAAIA;AACpD,IAAAN,EAAM,SAASO,CAAK,GACpBX,IAAWW,CAAK;AAAA,EAClB,GAEMC,IAAY,CAAC,CAACP,EAAW;AAE/B,SAAO;AAAA,IACL,GAAGG;AAAA,IACH,OAAOJ,EAAM;AAAA,IACb,UAAUG;AAAA,IACV,WAAAK;AAAA,IACA,cAAcA,IAAad,KAAgBO,EAAW,OAAO,UAAW;AAAA,IACxE,UAAUI;AAAA,IACV,YAAAV;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useField.js","sources":["../../../../../src/components/Common/Fields/hooks/useField.ts"],"sourcesContent":["import type { RegisterOptions } from 'react-hook-form'\nimport { useController, useFormContext } from 'react-hook-form'\nimport React, { useMemo } from 'react'\nimport { createMarkup } from '@/helpers/formattedStrings'\n\nexport type Transform<TValue> = (value: TValue) => TValue\n\nexport interface UseFieldProps<TValue = string> {\n name: string\n rules?: RegisterOptions\n defaultValue?: TValue\n errorMessage?: string\n isRequired?: boolean\n onChange?: (value: TValue) => void\n transform?: Transform<TValue>\n description?: React.ReactNode\n}\n\nconst processDescription = (description: React.ReactNode): React.ReactNode => {\n if (!description || typeof description !== 'string') {\n return description\n }\n\n // Use DOMPurify to sanitize the string and return a React element\n return React.createElement('div', {\n dangerouslySetInnerHTML: createMarkup(description),\n })\n}\n\nexport function useField<TValue = string>({\n name,\n rules = {},\n defaultValue,\n errorMessage,\n isRequired = false,\n onChange,\n transform,\n description,\n}: UseFieldProps<TValue>) {\n const { control } = useFormContext()\n const { field, fieldState } = useController({\n name,\n control,\n rules: {\n required: isRequired,\n ...rules,\n },\n defaultValue,\n })\n\n const { ref, ...restFieldProps } = field\n\n const handleChange = (updatedValue: TValue) => {\n const value = transform ? transform(updatedValue) : updatedValue\n field.onChange(value)\n onChange?.(value)\n }\n\n const isInvalid = !!fieldState.error\n\n const processedDescription = useMemo(() => processDescription(description), [description])\n\n return {\n ...restFieldProps,\n value: field.value as TValue,\n inputRef: ref,\n isInvalid,\n errorMessage: isInvalid ? (errorMessage ?? fieldState.error?.message) : undefined,\n onChange: handleChange,\n isRequired,\n description: processedDescription,\n }\n}\n"],"names":["processDescription","description","React","createMarkup","useField","name","rules","defaultValue","errorMessage","isRequired","onChange","transform","control","useFormContext","field","fieldState","useController","ref","restFieldProps","handleChange","updatedValue","value","isInvalid","processedDescription","useMemo"],"mappings":";;;AAkBA,MAAMA,IAAqB,CAACC,MACtB,CAACA,KAAe,OAAOA,KAAgB,WAClCA,IAIFC,EAAM,cAAc,OAAO;AAAA,EAChC,yBAAyBC,EAAaF,CAAW;AAAA,CAClD;AAGI,SAASG,EAA0B;AAAA,EACxC,MAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAV;AACF,GAA0B;AACxB,QAAM,EAAE,SAAAW,EAAA,IAAYC,EAAA,GACd,EAAE,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAc;AAAA,IAC1C,MAAAX;AAAA,IACA,SAAAO;AAAA,IACA,OAAO;AAAA,MACL,UAAUH;AAAA,MACV,GAAGH;AAAA,IAAA;AAAA,IAEL,cAAAC;AAAA,EAAA,CACD,GAEK,EAAE,KAAAU,GAAK,GAAGC,EAAA,IAAmBJ,GAE7BK,IAAe,CAACC,MAAyB;AAC7C,UAAMC,IAAQV,IAAYA,EAAUS,CAAY,IAAIA;AACpD,IAAAN,EAAM,SAASO,CAAK,GACpBX,IAAWW,CAAK;AAAA,EAClB,GAEMC,IAAY,CAAC,CAACP,EAAW,OAEzBQ,IAAuBC,EAAQ,MAAMxB,EAAmBC,CAAW,GAAG,CAACA,CAAW,CAAC;AAEzF,SAAO;AAAA,IACL,GAAGiB;AAAA,IACH,OAAOJ,EAAM;AAAA,IACb,UAAUG;AAAA,IACV,WAAAK;AAAA,IACA,cAAcA,IAAad,KAAgBO,EAAW,OAAO,UAAW;AAAA,IACxE,UAAUI;AAAA,IACV,YAAAV;AAAA,IACA,aAAac;AAAA,EAAA;AAEjB;"}
@@ -0,0 +1,6 @@
1
+ interface InlineSpinnerProps {
2
+ ariaLabel?: string;
3
+ size?: 'small' | 'medium' | 'large';
4
+ }
5
+ export declare const InlineSpinner: ({ ariaLabel, size }: InlineSpinnerProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,25 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useTranslation as r } from "react-i18next";
3
+ import e from "./InlineSpinner.module.scss.js";
4
+ import t from "../../../assets/icons/spinner_small.svg.js";
5
+ const d = ({ ariaLabel: a, size: s = "small" }) => {
6
+ const { t: l } = r("common"), o = l("status.loading"), i = {
7
+ small: 16,
8
+ medium: 20,
9
+ large: 24
10
+ }[s];
11
+ return /* @__PURE__ */ n(
12
+ "span",
13
+ {
14
+ className: e.inlineSpinner,
15
+ "aria-label": a || o,
16
+ "aria-live": "polite",
17
+ role: "status",
18
+ children: /* @__PURE__ */ n(t, { className: e.spinnerIcon, width: i, height: i })
19
+ }
20
+ );
21
+ };
22
+ export {
23
+ d as InlineSpinner
24
+ };
25
+ //# sourceMappingURL=InlineSpinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineSpinner.js","sources":["../../../../src/components/Common/InlineSpinner/InlineSpinner.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport styles from './InlineSpinner.module.scss'\nimport SpinnerIcon from '@/assets/icons/spinner_small.svg?react'\n\ninterface InlineSpinnerProps {\n ariaLabel?: string\n size?: 'small' | 'medium' | 'large'\n}\n\nexport const InlineSpinner = ({ ariaLabel, size = 'small' }: InlineSpinnerProps) => {\n const { t } = useTranslation('common')\n const defaultAriaLabel = t('status.loading')\n\n const sizeMap = {\n small: 16,\n medium: 20,\n large: 24,\n }\n\n const iconSize = sizeMap[size]\n\n return (\n <span\n className={styles.inlineSpinner}\n aria-label={ariaLabel || defaultAriaLabel}\n aria-live=\"polite\"\n role=\"status\"\n >\n <SpinnerIcon className={styles.spinnerIcon} width={iconSize} height={iconSize} />\n </span>\n )\n}\n"],"names":["InlineSpinner","ariaLabel","size","t","useTranslation","defaultAriaLabel","iconSize","jsx","styles","SpinnerIcon"],"mappings":";;;;AASO,MAAMA,IAAgB,CAAC,EAAE,WAAAC,GAAW,MAAAC,IAAO,cAAkC;AAClF,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,QAAQ,GAC/BC,IAAmBF,EAAE,gBAAgB,GAQrCG,IANU;AAAA,IACd,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA,EAGgBJ,CAAI;AAE7B,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAO;AAAA,MAClB,cAAYP,KAAaI;AAAA,MACzB,aAAU;AAAA,MACV,MAAK;AAAA,MAEL,UAAA,gBAAAE,EAACE,KAAY,WAAWD,EAAO,aAAa,OAAOF,GAAU,QAAQA,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGrF;"}
@@ -0,0 +1,10 @@
1
+ const n = "_inlineSpinner_by46n_1", e = "_spinnerIcon_by46n_7", i = {
2
+ inlineSpinner: n,
3
+ spinnerIcon: e
4
+ };
5
+ export {
6
+ i as default,
7
+ n as inlineSpinner,
8
+ e as spinnerIcon
9
+ };
10
+ //# sourceMappingURL=InlineSpinner.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineSpinner.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,2 @@
1
+ import "./types/i18next.d.ts"
2
+ export { InlineSpinner } from './InlineSpinner';