@justifi/webcomponents 4.18.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. package/dist/cjs/{Analytics-d4aa8c07.js → Analytics-ff013cbc.js} +1 -1
  2. package/dist/cjs/{Payment-24f22eca.js → Payment-1a8a8ca6.js} +0 -21
  3. package/dist/cjs/additional-questions-details_5.cjs.entry.js +1 -1
  4. package/dist/cjs/business-details-core.cjs.entry.js +1 -1
  5. package/dist/cjs/{business-form-types-11130bab.js → business-form-types-6e1fcda3.js} +4 -7
  6. package/dist/cjs/business.service-f63650f5.js +32 -0
  7. package/dist/cjs/button-3f400a66.js +26 -0
  8. package/dist/cjs/form-alert_5.cjs.entry.js +5 -5
  9. package/dist/cjs/{form-control-checkbox_5.cjs.entry.js → form-control-checkbox_9.cjs.entry.js} +434 -169
  10. package/dist/cjs/{form-control-number-masked_2.cjs.entry.js → form-control-date_3.cjs.entry.js} +50 -7
  11. package/dist/cjs/{form-control-select_2.cjs.entry.js → form-control-error-text_4.cjs.entry.js} +32 -2
  12. package/dist/cjs/form-control-file.cjs.entry.js +1 -1
  13. package/dist/cjs/form-control-monetary.cjs.entry.js +1 -1
  14. package/dist/cjs/form-control-number.cjs.entry.js +1 -1
  15. package/dist/cjs/{get-payout-csv-e4e4771a.js → get-payout-csv-f3aee6d0.js} +1 -1
  16. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +2 -2
  17. package/dist/cjs/input-handlers-cff032bb.js +20 -0
  18. package/dist/cjs/justifi-additional-questions-form-step_10.cjs.entry.js +196 -481
  19. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +3 -3
  20. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +4 -4
  21. package/dist/cjs/justifi-business-details.cjs.entry.js +3 -3
  22. package/dist/cjs/justifi-business-form.cjs.entry.js +6 -6
  23. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +30 -0
  24. package/dist/cjs/justifi-card-form.cjs.entry.js +3 -3
  25. package/dist/cjs/justifi-checkout-core.cjs.entry.js +7 -6
  26. package/dist/cjs/justifi-checkout.cjs.entry.js +5 -5
  27. package/dist/cjs/justifi-details.cjs.entry.js +2 -2
  28. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  29. package/dist/cjs/justifi-new-payment-method_4.cjs.entry.js +6 -6
  30. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +268 -0
  31. package/dist/cjs/justifi-payment-details.cjs.entry.js +4 -4
  32. package/dist/cjs/justifi-payment-form.cjs.entry.js +9 -10
  33. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +4 -4
  34. package/dist/cjs/justifi-payment-method-selector.cjs.entry.js +2 -2
  35. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +8 -12
  36. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +8 -60
  37. package/dist/cjs/justifi-payments-list.cjs.entry.js +4 -4
  38. package/dist/cjs/justifi-payout-details.cjs.entry.js +4 -4
  39. package/dist/cjs/justifi-payouts-list.cjs.entry.js +4 -4
  40. package/dist/cjs/justifi-refund-form.cjs.entry.js +3 -3
  41. package/dist/cjs/justifi-season-interruption-insurance-core.cjs.entry.js +4 -4
  42. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +8 -2
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/cjs/{package-5fee1ffb.js → package-cb0f8cb1.js} +1 -1
  45. package/dist/cjs/pagination-menu.cjs.entry.js +25 -0
  46. package/dist/cjs/payment-details-core.cjs.entry.js +9 -9
  47. package/dist/cjs/payment-provisioning-actions-06466dda.js +185 -0
  48. package/dist/cjs/{payment.service-35298e95.js → payment.service-0a64f9cd.js} +1 -1
  49. package/dist/cjs/payments-list-core.cjs.entry.js +69 -40
  50. package/dist/cjs/payout-details-core.cjs.entry.js +3 -3
  51. package/dist/cjs/payouts-list-core.cjs.entry.js +90 -74
  52. package/dist/cjs/skeleton-748c5dde.js +43 -0
  53. package/dist/cjs/styled-host-cc053016.js +14 -0
  54. package/dist/cjs/table-loading-state-8b406852.js +38 -0
  55. package/dist/cjs/{utils-80191fbe.js → utils-89d86e29.js} +0 -33
  56. package/dist/cjs/{utils-8c3bf659.js → utils-ddacfc44.js} +0 -5
  57. package/dist/cjs/webcomponents.cjs.js +1 -1
  58. package/dist/collection/api/Payment.js +0 -20
  59. package/dist/collection/api/services/business.service.js +18 -0
  60. package/dist/collection/collection-manifest.json +9 -14
  61. package/dist/collection/components/bank-account-form/bank-account-form.js +1 -1
  62. package/dist/collection/components/billing-form/billing-form.js +2 -2
  63. package/dist/collection/components/business-details/business-details-core.js +1 -1
  64. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +1 -1
  65. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +1 -1
  66. package/dist/collection/components/business-forms/business-form/business-form.js +2 -2
  67. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +1 -1
  68. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +1 -1
  69. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  70. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +520 -0
  71. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +80 -0
  72. package/dist/collection/components/business-forms/owner-form/owner-form.js +55 -225
  73. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.js +235 -0
  74. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +41 -121
  75. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +2 -2
  76. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.js +255 -0
  77. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +42 -131
  78. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.js +342 -0
  79. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +34 -189
  80. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +81 -0
  81. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.js +229 -0
  82. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +42 -133
  83. package/dist/collection/components/business-forms/payment-provisioning/document-uploads/business-document-upload-form-step.js +23 -18
  84. package/dist/collection/components/business-forms/payment-provisioning/document-uploads/business-document-upload-input-group.js +2 -2
  85. package/dist/collection/components/business-forms/payment-provisioning/document-uploads/business-documents-on-file.js +1 -1
  86. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.js +238 -0
  87. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +41 -124
  88. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-actions.js +122 -1
  89. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +17 -18
  90. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +2 -2
  91. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +6 -6
  92. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  93. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +2 -2
  94. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-text.js +1 -1
  95. package/dist/collection/components/business-forms/utils/business-form-types.js +4 -7
  96. package/dist/collection/components/business-forms/utils/input-handlers.js +13 -0
  97. package/dist/collection/components/card-form/card-form.js +1 -1
  98. package/dist/collection/components/checkout/checkout-core.js +4 -5
  99. package/dist/collection/components/checkout/checkout.js +2 -2
  100. package/dist/collection/components/checkout/new-payment-method.js +1 -1
  101. package/dist/collection/components/checkout/payment-method-options.js +1 -1
  102. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  103. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  104. package/dist/collection/components/checkout/sezzle-payment-method.js +1 -1
  105. package/dist/collection/components/details/details.js +2 -2
  106. package/dist/collection/components/form/form-control-checkbox.js +1 -1
  107. package/dist/collection/components/form/form-control-date.js +1 -1
  108. package/dist/collection/components/form/form-control-file.js +1 -1
  109. package/dist/collection/components/form/form-control-monetary.js +1 -1
  110. package/dist/collection/components/form/form-control-number-masked.js +11 -5
  111. package/dist/collection/components/form/form-control-number.js +1 -1
  112. package/dist/collection/components/form/form-control-select.js +1 -1
  113. package/dist/collection/components/form/form-control-text.js +1 -1
  114. package/dist/collection/components/form/utils.js +0 -2
  115. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  116. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance-core.js +3 -3
  117. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance.js +6 -1
  118. package/dist/collection/components/pagination-menu/pagination-menu.js +3 -3
  119. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  120. package/dist/collection/components/payment-form/payment-form.js +4 -6
  121. package/dist/collection/components/payment-form/payment-method-selector.js +1 -1
  122. package/dist/collection/components/payment-method-form/payment-method-form.js +2 -2
  123. package/dist/collection/components/payments-list/payments-list-core.js +66 -38
  124. package/dist/collection/components/payout-details/payout-details-core.js +2 -2
  125. package/dist/collection/components/payouts-list/payouts-list-core.js +88 -73
  126. package/dist/collection/components/refund-form/refund-form.js +2 -2
  127. package/dist/collection/ui-components/button-spinner.js +2 -0
  128. package/dist/collection/ui-components/button.js +19 -0
  129. package/dist/collection/ui-components/index.js +7 -0
  130. package/dist/collection/ui-components/skeleton.js +39 -0
  131. package/dist/collection/ui-components/styled-host/styled-host.js +5 -0
  132. package/dist/collection/ui-components/table-empty-state.js +8 -0
  133. package/dist/collection/ui-components/table-error-state.js +8 -0
  134. package/dist/collection/ui-components/table-loading-state.js +8 -0
  135. package/dist/collection/utils/utils.js +0 -21
  136. package/dist/docs.json +2080 -1746
  137. package/dist/esm/{Analytics-29fac206.js → Analytics-33b8fa8d.js} +1 -1
  138. package/dist/esm/{Payment-3e94da9c.js → Payment-6bf26fe2.js} +1 -21
  139. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  140. package/dist/esm/business-details-core.entry.js +2 -2
  141. package/dist/esm/{business-form-types-60f50b98.js → business-form-types-1bc5fe08.js} +5 -8
  142. package/dist/esm/business.service-74bd1212.js +29 -0
  143. package/dist/esm/button-34e75e0f.js +24 -0
  144. package/dist/esm/form-alert_5.entry.js +5 -5
  145. package/dist/esm/{form-control-checkbox_5.entry.js → form-control-checkbox_9.entry.js} +432 -171
  146. package/dist/esm/form-control-date_3.entry.js +130 -0
  147. package/dist/esm/{form-control-select_2.entry.js → form-control-error-text_4.entry.js} +32 -4
  148. package/dist/esm/form-control-file.entry.js +1 -1
  149. package/dist/esm/form-control-monetary.entry.js +1 -1
  150. package/dist/esm/form-control-number.entry.js +1 -1
  151. package/dist/esm/{get-payout-csv-9b4aaada.js → get-payout-csv-b494abfe.js} +1 -1
  152. package/dist/esm/gross-payment-chart-core.entry.js +3 -3
  153. package/dist/esm/input-handlers-270ac806.js +16 -0
  154. package/dist/esm/justifi-additional-questions-form-step_10.entry.js +197 -482
  155. package/dist/esm/justifi-bank-account-form.entry.js +3 -3
  156. package/dist/esm/justifi-billing-form_2.entry.js +4 -4
  157. package/dist/esm/justifi-business-details.entry.js +4 -4
  158. package/dist/esm/justifi-business-form.entry.js +6 -6
  159. package/dist/esm/justifi-business-representative-form-inputs.entry.js +26 -0
  160. package/dist/esm/justifi-card-form.entry.js +3 -3
  161. package/dist/esm/justifi-checkout-core.entry.js +7 -6
  162. package/dist/esm/justifi-checkout.entry.js +5 -5
  163. package/dist/esm/justifi-details.entry.js +3 -3
  164. package/dist/esm/justifi-gross-payment-chart.entry.js +3 -3
  165. package/dist/esm/justifi-new-payment-method_4.entry.js +6 -6
  166. package/dist/esm/justifi-owner-form_3.entry.js +262 -0
  167. package/dist/esm/justifi-payment-details.entry.js +5 -5
  168. package/dist/esm/justifi-payment-form.entry.js +9 -10
  169. package/dist/esm/justifi-payment-method-form.entry.js +4 -4
  170. package/dist/esm/justifi-payment-method-selector.entry.js +2 -2
  171. package/dist/esm/justifi-payment-provisioning-core.entry.js +8 -12
  172. package/dist/esm/justifi-payment-provisioning.entry.js +7 -59
  173. package/dist/esm/justifi-payments-list.entry.js +5 -5
  174. package/dist/esm/justifi-payout-details.entry.js +5 -5
  175. package/dist/esm/justifi-payouts-list.entry.js +5 -5
  176. package/dist/esm/justifi-refund-form.entry.js +3 -3
  177. package/dist/esm/justifi-season-interruption-insurance-core.entry.js +4 -4
  178. package/dist/esm/justifi-season-interruption-insurance.entry.js +8 -2
  179. package/dist/esm/loader.js +1 -1
  180. package/dist/esm/{package-1123f528.js → package-3e407c6d.js} +1 -1
  181. package/dist/esm/pagination-menu.entry.js +21 -0
  182. package/dist/esm/payment-details-core.entry.js +10 -10
  183. package/dist/esm/payment-provisioning-actions-0635eff7.js +178 -0
  184. package/dist/esm/{payment.service-c62d82d3.js → payment.service-3ca4a492.js} +1 -1
  185. package/dist/esm/payments-list-core.entry.js +69 -40
  186. package/dist/esm/payout-details-core.entry.js +4 -4
  187. package/dist/esm/payouts-list-core.entry.js +90 -74
  188. package/dist/esm/skeleton-145a80d4.js +41 -0
  189. package/dist/esm/styled-host-ab9da520.js +12 -0
  190. package/dist/esm/table-loading-state-356c7215.js +34 -0
  191. package/dist/esm/{utils-56719d07.js → utils-01413a95.js} +1 -1
  192. package/dist/esm/{utils-f4c4ba7d.js → utils-3bb6347a.js} +1 -5
  193. package/dist/esm/{utils-5f4c4faa.js → utils-3c1dd2fa.js} +1 -31
  194. package/dist/esm/webcomponents.js +1 -1
  195. package/dist/module/Payment.js +1 -21
  196. package/dist/module/additional-questions.js +1 -1
  197. package/dist/module/billing-form.js +3 -3
  198. package/dist/module/business-additional-questions-form-step-core.js +141 -0
  199. package/dist/module/business-additional-questions-form-step.js +55 -100
  200. package/dist/module/business-additional-questions-schema.js +1 -1
  201. package/dist/module/business-address-schema.js +1 -1
  202. package/dist/module/business-bank-account-form-step.js +4 -4
  203. package/dist/module/business-core-info-form-step-core.js +151 -0
  204. package/dist/module/business-core-info-form-step.js +57 -106
  205. package/dist/module/business-core-info-schema.js +1 -1
  206. package/dist/module/business-core-info.js +1 -1
  207. package/dist/module/business-document-upload-form-step.js +34 -35
  208. package/dist/module/business-document-upload-input-group.js +2 -2
  209. package/dist/module/business-documents-on-file.js +1 -1
  210. package/dist/module/business-form-types.js +5 -8
  211. package/dist/module/business-identity-schema.js +1 -1
  212. package/dist/module/business-owners-form-step-core.js +216 -0
  213. package/dist/module/business-owners-form-step.js +67 -154
  214. package/dist/module/business-representative-form-inputs.js +85 -0
  215. package/dist/module/business-representative-form-step-core.js +152 -0
  216. package/dist/module/business-representative-form-step.js +63 -111
  217. package/dist/module/business-representative.js +1 -1
  218. package/dist/module/business-terms-conditions-form-step.js +3 -3
  219. package/dist/module/business-terms-conditions-text.js +1 -1
  220. package/dist/module/business.service.js +19 -1
  221. package/dist/module/button.js +24 -0
  222. package/dist/module/checkout-core.js +27 -32
  223. package/dist/module/details.js +1 -1
  224. package/dist/module/exported-parts.js +40 -0
  225. package/dist/module/form-control-checkbox2.js +1 -1
  226. package/dist/module/form-control-date2.js +1 -1
  227. package/dist/module/form-control-file2.js +1 -1
  228. package/dist/module/form-control-monetary2.js +1 -1
  229. package/dist/module/form-control-number-masked2.js +11 -5
  230. package/dist/module/form-control-number.js +1 -1
  231. package/dist/module/form-control-select2.js +1 -1
  232. package/dist/module/form-control-text2.js +1 -1
  233. package/dist/module/get-payout-csv.js +1 -1
  234. package/dist/module/gross-payment-chart-core2.js +1 -1
  235. package/dist/module/identity-address-form.js +2 -2
  236. package/dist/module/input-handlers.js +16 -0
  237. package/dist/module/justifi-additional-questions-form-step-core.d.ts +11 -0
  238. package/dist/module/justifi-additional-questions-form-step-core.js +6 -0
  239. package/dist/module/justifi-bank-account-form.js +1 -1
  240. package/dist/module/justifi-business-core-info-form-step-core.d.ts +11 -0
  241. package/dist/module/justifi-business-core-info-form-step-core.js +6 -0
  242. package/dist/module/justifi-business-details.js +1 -1
  243. package/dist/module/justifi-business-form.js +2 -2
  244. package/dist/module/justifi-business-owners-form-step-core.d.ts +11 -0
  245. package/dist/module/justifi-business-owners-form-step-core.js +6 -0
  246. package/dist/module/justifi-business-representative-form-inputs.d.ts +11 -0
  247. package/dist/module/justifi-business-representative-form-inputs.js +6 -0
  248. package/dist/module/justifi-business-representative-form-step-core.d.ts +11 -0
  249. package/dist/module/justifi-business-representative-form-step-core.js +6 -0
  250. package/dist/module/justifi-card-form.js +1 -1
  251. package/dist/module/justifi-checkout.js +27 -33
  252. package/dist/module/justifi-gross-payment-chart.js +1 -1
  253. package/dist/module/justifi-legal-address-form-step-core.d.ts +11 -0
  254. package/dist/module/justifi-legal-address-form-step-core.js +6 -0
  255. package/dist/module/justifi-payment-details.js +2 -2
  256. package/dist/module/justifi-payment-form.js +5 -6
  257. package/dist/module/justifi-payment-provisioning.js +97 -108
  258. package/dist/module/justifi-payments-list.js +8 -14
  259. package/dist/module/justifi-payout-details.js +1 -1
  260. package/dist/module/justifi-payouts-list.js +8 -13
  261. package/dist/module/justifi-refund-form.js +2 -2
  262. package/dist/module/justifi-season-interruption-insurance.js +7 -2
  263. package/dist/module/legal-address-form-step-core.js +138 -0
  264. package/dist/module/legal-address-form-step.js +53 -98
  265. package/dist/module/legal-address-form.js +2 -2
  266. package/dist/module/new-payment-method.js +1 -1
  267. package/dist/module/{justifi-table.d.ts → owner-form-core.d.ts} +4 -4
  268. package/dist/module/owner-form-core.js +6 -0
  269. package/dist/module/owner-form-core2.js +264 -0
  270. package/dist/module/{justifi-skeleton.d.ts → owner-form-inputs.d.ts} +4 -4
  271. package/dist/module/owner-form-inputs.js +6 -0
  272. package/dist/module/owner-form-inputs2.js +85 -0
  273. package/dist/module/owner-form.js +62 -188
  274. package/dist/module/package.js +1 -1
  275. package/dist/module/pagination-menu2.js +3 -3
  276. package/dist/module/payment-details-core2.js +7 -7
  277. package/dist/module/payment-method-form.js +2 -2
  278. package/dist/module/payment-method-options.js +1 -1
  279. package/dist/module/payment-method-selector.js +1 -1
  280. package/dist/module/payment-provisioning-actions.js +178 -0
  281. package/dist/module/payment-provisioning-core.js +100 -62
  282. package/dist/module/payment-provisioning-form-buttons.js +2 -2
  283. package/dist/module/payment-provisioning-form-steps.js +94 -52
  284. package/dist/module/payments-list-core2.js +71 -49
  285. package/dist/module/payout-details-core2.js +1 -1
  286. package/dist/module/payouts-list-core2.js +92 -82
  287. package/dist/module/save-new-payment-method.js +1 -1
  288. package/dist/module/saved-payment-method.js +1 -1
  289. package/dist/module/schema-validations.js +1 -1
  290. package/dist/module/season-interruption-insurance-core.js +2 -2
  291. package/dist/module/sezzle-payment-method.js +1 -1
  292. package/dist/module/skeleton.js +18 -50
  293. package/dist/module/styled-host.js +4 -4
  294. package/dist/module/utils2.js +1 -31
  295. package/dist/module/utils3.js +23 -26
  296. package/dist/module/utils4.js +23 -24
  297. package/dist/types/api/Payment.d.ts +0 -28
  298. package/dist/types/api/services/business.service.d.ts +10 -0
  299. package/dist/types/components/business-forms/owner-form/owner-form-core.d.ts +43 -0
  300. package/dist/types/components/business-forms/owner-form/owner-form-inputs.d.ts +9 -0
  301. package/dist/types/components/business-forms/owner-form/owner-form.d.ts +9 -28
  302. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.d.ts +26 -0
  303. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.d.ts +5 -15
  304. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.d.ts +27 -0
  305. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.d.ts +6 -21
  306. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.d.ts +35 -0
  307. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.d.ts +5 -21
  308. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.d.ts +9 -0
  309. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.d.ts +25 -0
  310. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +5 -17
  311. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.d.ts +26 -0
  312. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.d.ts +5 -15
  313. package/dist/types/components/business-forms/payment-provisioning/payment-provisioning-actions.d.ts +40 -1
  314. package/dist/types/components/business-forms/payment-provisioning/payment-provisioning-core.d.ts +2 -2
  315. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +1 -1
  316. package/dist/types/components/business-forms/utils/business-form-types.d.ts +6 -11
  317. package/dist/types/components/business-forms/utils/input-handlers.d.ts +4 -0
  318. package/dist/types/components/checkout/checkout-core.d.ts +0 -1
  319. package/dist/types/components/form/utils.d.ts +0 -1
  320. package/dist/types/components/insurance/season-interruption/season-interruption-insurance.d.ts +3 -0
  321. package/dist/types/components/payments-list/payments-list-core.d.ts +12 -2
  322. package/dist/types/components/payouts-list/payouts-list-core.d.ts +11 -4
  323. package/dist/types/components.d.ts +309 -482
  324. package/dist/types/ui-components/button-spinner.d.ts +1 -0
  325. package/dist/types/ui-components/button.d.ts +10 -0
  326. package/dist/types/ui-components/index.d.ts +7 -0
  327. package/dist/types/ui-components/skeleton.d.ts +13 -0
  328. package/dist/types/ui-components/styled-host/styled-host.d.ts +2 -0
  329. package/dist/types/ui-components/table-empty-state.d.ts +6 -0
  330. package/dist/types/ui-components/table-error-state.d.ts +6 -0
  331. package/dist/types/ui-components/table-loading-state.d.ts +6 -0
  332. package/dist/types/utils/utils.d.ts +0 -3
  333. package/dist/webcomponents/p-07109641.entry.js +1 -0
  334. package/dist/webcomponents/p-08b0fb31.js +1 -0
  335. package/dist/webcomponents/p-0f7b9555.entry.js +1 -0
  336. package/dist/webcomponents/p-17e4246f.entry.js +1 -0
  337. package/dist/webcomponents/{p-e85ef4af.entry.js → p-195f92e9.entry.js} +1 -1
  338. package/dist/webcomponents/{p-959b478a.entry.js → p-1a43e355.entry.js} +2 -2
  339. package/dist/webcomponents/p-23014988.entry.js +1 -0
  340. package/dist/webcomponents/p-25dba252.entry.js +1 -0
  341. package/dist/webcomponents/{p-0dca0770.entry.js → p-27981600.entry.js} +1 -1
  342. package/dist/webcomponents/{p-66758365.entry.js → p-301e0493.entry.js} +1 -1
  343. package/dist/webcomponents/p-304dd644.entry.js +1 -0
  344. package/dist/webcomponents/p-30a493cd.entry.js +1 -0
  345. package/dist/webcomponents/p-462dc522.entry.js +1 -0
  346. package/dist/webcomponents/{p-09affce4.entry.js → p-487b72a8.entry.js} +1 -1
  347. package/dist/webcomponents/{p-571d7f1a.entry.js → p-4abc17f0.entry.js} +1 -1
  348. package/dist/webcomponents/{p-667a5aa8.js → p-4b4580dd.js} +1 -1
  349. package/dist/webcomponents/p-52021fa1.entry.js +1 -0
  350. package/dist/webcomponents/p-53e64f15.entry.js +1 -0
  351. package/dist/webcomponents/p-5968ff8a.js +1 -0
  352. package/dist/webcomponents/p-60a370fc.entry.js +1 -0
  353. package/dist/webcomponents/{p-e0bcfdb5.entry.js → p-623a4479.entry.js} +1 -1
  354. package/dist/webcomponents/{p-3294856b.entry.js → p-62b32c4c.entry.js} +1 -1
  355. package/dist/webcomponents/{p-092e080c.js → p-63acf322.js} +1 -1
  356. package/dist/webcomponents/p-6f03b35a.entry.js +1 -0
  357. package/dist/webcomponents/p-75b4daef.js +1 -0
  358. package/dist/webcomponents/p-7d85af5c.js +1 -0
  359. package/dist/webcomponents/{p-e8c651b8.js → p-83125497.js} +1 -1
  360. package/dist/webcomponents/{p-49b8e112.js → p-8603348a.js} +1 -1
  361. package/dist/webcomponents/{p-7a346c0b.entry.js → p-8c1e981b.entry.js} +1 -1
  362. package/dist/webcomponents/p-8df7bde8.js +1 -0
  363. package/dist/webcomponents/{p-f3555f0b.entry.js → p-8e541a32.entry.js} +1 -1
  364. package/dist/webcomponents/p-9279aa49.entry.js +1 -0
  365. package/dist/webcomponents/{p-0e4a54c8.entry.js → p-96b42e7d.entry.js} +1 -1
  366. package/dist/webcomponents/{p-9631b768.entry.js → p-99022846.entry.js} +1 -1
  367. package/dist/webcomponents/p-9c9c7dac.js +1 -0
  368. package/dist/webcomponents/p-b16dfd5d.entry.js +1 -0
  369. package/dist/webcomponents/p-ba4bae6f.js +1 -0
  370. package/dist/webcomponents/p-bbed6107.entry.js +1 -0
  371. package/dist/webcomponents/{p-67e497aa.entry.js → p-bc92235c.entry.js} +1 -1
  372. package/dist/webcomponents/p-be39c802.entry.js +1 -0
  373. package/dist/webcomponents/{p-3514b616.entry.js → p-c4b87db2.entry.js} +1 -1
  374. package/dist/webcomponents/p-c9f8f7ec.entry.js +1 -0
  375. package/dist/webcomponents/{p-bb32b91c.entry.js → p-cd7105dd.entry.js} +1 -1
  376. package/dist/webcomponents/p-d101c5db.js +1 -0
  377. package/dist/webcomponents/{p-d5612f35.entry.js → p-d1fbeae5.entry.js} +1 -1
  378. package/dist/webcomponents/p-d8355f91.entry.js +1 -0
  379. package/dist/webcomponents/p-d89bad72.js +1 -0
  380. package/dist/webcomponents/{p-e1651130.js → p-dce846bf.js} +1 -1
  381. package/dist/webcomponents/{p-e8706cc4.js → p-df21aaad.js} +1 -1
  382. package/dist/webcomponents/{p-531d873a.entry.js → p-e2c88817.entry.js} +1 -1
  383. package/dist/webcomponents/{p-df38dd21.entry.js → p-e31f0f3e.entry.js} +1 -1
  384. package/dist/webcomponents/p-e333620e.js +1 -0
  385. package/dist/webcomponents/{p-464e4dfe.entry.js → p-e7067ef2.entry.js} +1 -1
  386. package/dist/webcomponents/{p-2244e679.entry.js → p-f0866375.entry.js} +1 -1
  387. package/dist/webcomponents/{p-debeefbb.entry.js → p-fb58feb5.entry.js} +1 -1
  388. package/dist/webcomponents/p-fe33151d.entry.js +1 -0
  389. package/dist/webcomponents/webcomponents.css +6 -1
  390. package/dist/webcomponents/webcomponents.esm.js +1 -1
  391. package/package.json +1 -1
  392. package/dist/cjs/SubAccount-135ff8c8.js +0 -107
  393. package/dist/cjs/business.service-9214509a.js +0 -13
  394. package/dist/cjs/form-control-date.cjs.entry.js +0 -43
  395. package/dist/cjs/form-control-error-text_2.cjs.entry.js +0 -36
  396. package/dist/cjs/justifi-business-list.cjs.entry.js +0 -110
  397. package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +0 -86
  398. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +0 -159
  399. package/dist/cjs/justifi-skeleton.cjs.entry.js +0 -54
  400. package/dist/cjs/justifi-subaccount-details.cjs.entry.js +0 -77
  401. package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +0 -105
  402. package/dist/cjs/justifi-table_2.cjs.entry.js +0 -80
  403. package/dist/cjs/styled-host-b8bed12a.js +0 -14
  404. package/dist/cjs/subaccount-account-details_4.cjs.entry.js +0 -58
  405. package/dist/cjs/subaccount-bank-details.cjs.entry.js +0 -19
  406. package/dist/cjs/subaccount-terms-details.cjs.entry.js +0 -19
  407. package/dist/collection/api/Proceed.js +0 -41
  408. package/dist/collection/api/SubAccount.js +0 -103
  409. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.css +0 -60
  410. package/dist/collection/components/business-list/business-list.js +0 -185
  411. package/dist/collection/components/business-list/business-list.stories.js +0 -68
  412. package/dist/collection/components/business-list/example.js +0 -12
  413. package/dist/collection/components/payment-balance-transactions/payment-balance-transactions.js +0 -143
  414. package/dist/collection/components/payment-balance-transactions/payment-balance-transactions.stories.js +0 -32
  415. package/dist/collection/components/proceeds-list/example.js +0 -12
  416. package/dist/collection/components/proceeds-list/proceeds-list.js +0 -205
  417. package/dist/collection/components/proceeds-list/proceeds-list.stories.js +0 -69
  418. package/dist/collection/components/skeleton/skeleton.css +0 -11
  419. package/dist/collection/components/skeleton/skeleton.js +0 -160
  420. package/dist/collection/components/subaccount-details/subaccount-account-details/subaccount-account-details.js +0 -59
  421. package/dist/collection/components/subaccount-details/subaccount-bank-details/subaccount-bank-details.js +0 -37
  422. package/dist/collection/components/subaccount-details/subaccount-details.js +0 -136
  423. package/dist/collection/components/subaccount-details/subaccount-details.stories.js +0 -25
  424. package/dist/collection/components/subaccount-details/subaccount-merchant-details/subaccount-merchant-details.js +0 -38
  425. package/dist/collection/components/subaccount-details/subaccount-owners-details/subaccount-owners-details.js +0 -38
  426. package/dist/collection/components/subaccount-details/subaccount-representative-details/subaccount-representative-details.js +0 -38
  427. package/dist/collection/components/subaccount-details/subaccount-terms-details/subaccount-terms-details.js +0 -37
  428. package/dist/collection/components/subaccounts-list/subaccounts-list.css +0 -3
  429. package/dist/collection/components/subaccounts-list/subaccounts-list.js +0 -179
  430. package/dist/collection/components/subaccounts-list/subaccounts-list.stories.js +0 -69
  431. package/dist/collection/components/table/table.css +0 -7
  432. package/dist/collection/components/table/table.js +0 -222
  433. package/dist/collection/components/table/utils.js +0 -4
  434. package/dist/collection/utils/styled-host/styled-host.js +0 -6
  435. package/dist/esm/SubAccount-7fcb1450.js +0 -105
  436. package/dist/esm/business.service-19a0c8d3.js +0 -11
  437. package/dist/esm/form-control-date.entry.js +0 -39
  438. package/dist/esm/form-control-error-text_2.entry.js +0 -31
  439. package/dist/esm/form-control-number-masked_2.entry.js +0 -88
  440. package/dist/esm/justifi-business-list.entry.js +0 -106
  441. package/dist/esm/justifi-payment-balance-transactions.entry.js +0 -82
  442. package/dist/esm/justifi-proceeds-list.entry.js +0 -155
  443. package/dist/esm/justifi-skeleton.entry.js +0 -50
  444. package/dist/esm/justifi-subaccount-details.entry.js +0 -73
  445. package/dist/esm/justifi-subaccounts-list.entry.js +0 -101
  446. package/dist/esm/justifi-table_2.entry.js +0 -75
  447. package/dist/esm/styled-host-57aae7fa.js +0 -12
  448. package/dist/esm/subaccount-account-details_4.entry.js +0 -51
  449. package/dist/esm/subaccount-bank-details.entry.js +0 -15
  450. package/dist/esm/subaccount-terms-details.entry.js +0 -15
  451. package/dist/module/SubAccount.js +0 -105
  452. package/dist/module/justifi-business-list.d.ts +0 -11
  453. package/dist/module/justifi-business-list.js +0 -147
  454. package/dist/module/justifi-payment-balance-transactions.d.ts +0 -11
  455. package/dist/module/justifi-payment-balance-transactions.js +0 -123
  456. package/dist/module/justifi-proceeds-list.d.ts +0 -11
  457. package/dist/module/justifi-proceeds-list.js +0 -198
  458. package/dist/module/justifi-skeleton.js +0 -6
  459. package/dist/module/justifi-subaccount-details.d.ts +0 -11
  460. package/dist/module/justifi-subaccount-details.js +0 -133
  461. package/dist/module/justifi-subaccounts-list.d.ts +0 -11
  462. package/dist/module/justifi-subaccounts-list.js +0 -144
  463. package/dist/module/justifi-table.js +0 -6
  464. package/dist/module/subaccount-account-details.d.ts +0 -11
  465. package/dist/module/subaccount-account-details.js +0 -6
  466. package/dist/module/subaccount-account-details2.js +0 -34
  467. package/dist/module/subaccount-bank-details.d.ts +0 -11
  468. package/dist/module/subaccount-bank-details.js +0 -35
  469. package/dist/module/subaccount-merchant-details.d.ts +0 -11
  470. package/dist/module/subaccount-merchant-details.js +0 -6
  471. package/dist/module/subaccount-merchant-details2.js +0 -33
  472. package/dist/module/subaccount-owners-details.d.ts +0 -11
  473. package/dist/module/subaccount-owners-details.js +0 -6
  474. package/dist/module/subaccount-owners-details2.js +0 -33
  475. package/dist/module/subaccount-representative-details.d.ts +0 -11
  476. package/dist/module/subaccount-representative-details.js +0 -6
  477. package/dist/module/subaccount-representative-details2.js +0 -33
  478. package/dist/module/subaccount-terms-details.d.ts +0 -11
  479. package/dist/module/subaccount-terms-details.js +0 -35
  480. package/dist/module/table.js +0 -93
  481. package/dist/types/api/Proceed.d.ts +0 -60
  482. package/dist/types/api/SubAccount.d.ts +0 -163
  483. package/dist/types/components/business-list/business-list.d.ts +0 -48
  484. package/dist/types/components/business-list/business-list.stories.d.ts +0 -9
  485. package/dist/types/components/payment-balance-transactions/payment-balance-transactions.d.ts +0 -17
  486. package/dist/types/components/payment-balance-transactions/payment-balance-transactions.stories.d.ts +0 -8
  487. package/dist/types/components/proceeds-list/proceeds-list.d.ts +0 -39
  488. package/dist/types/components/proceeds-list/proceeds-list.stories.d.ts +0 -9
  489. package/dist/types/components/skeleton/skeleton.d.ts +0 -12
  490. package/dist/types/components/subaccount-details/subaccount-account-details/subaccount-account-details.d.ts +0 -6
  491. package/dist/types/components/subaccount-details/subaccount-bank-details/subaccount-bank-details.d.ts +0 -5
  492. package/dist/types/components/subaccount-details/subaccount-details.d.ts +0 -16
  493. package/dist/types/components/subaccount-details/subaccount-details.stories.d.ts +0 -7
  494. package/dist/types/components/subaccount-details/subaccount-merchant-details/subaccount-merchant-details.d.ts +0 -5
  495. package/dist/types/components/subaccount-details/subaccount-owners-details/subaccount-owners-details.d.ts +0 -5
  496. package/dist/types/components/subaccount-details/subaccount-representative-details/subaccount-representative-details.d.ts +0 -5
  497. package/dist/types/components/subaccount-details/subaccount-terms-details/subaccount-terms-details.d.ts +0 -5
  498. package/dist/types/components/subaccounts-list/subaccounts-list.d.ts +0 -19
  499. package/dist/types/components/subaccounts-list/subaccounts-list.stories.d.ts +0 -9
  500. package/dist/types/components/table/table.d.ts +0 -23
  501. package/dist/types/components/table/utils.d.ts +0 -3
  502. package/dist/types/utils/styled-host/styled-host.d.ts +0 -3
  503. package/dist/webcomponents/p-0a4a9ccd.entry.js +0 -1
  504. package/dist/webcomponents/p-0ed3c1d2.entry.js +0 -1
  505. package/dist/webcomponents/p-10b57ac6.entry.js +0 -1
  506. package/dist/webcomponents/p-1737f6bf.entry.js +0 -1
  507. package/dist/webcomponents/p-2306d44d.entry.js +0 -1
  508. package/dist/webcomponents/p-2af3672b.entry.js +0 -1
  509. package/dist/webcomponents/p-390157c9.entry.js +0 -1
  510. package/dist/webcomponents/p-412c7a22.entry.js +0 -1
  511. package/dist/webcomponents/p-4b9587ec.entry.js +0 -1
  512. package/dist/webcomponents/p-54287db6.entry.js +0 -1
  513. package/dist/webcomponents/p-547a2cd0.entry.js +0 -1
  514. package/dist/webcomponents/p-5963bcdc.entry.js +0 -1
  515. package/dist/webcomponents/p-5b1451e7.entry.js +0 -1
  516. package/dist/webcomponents/p-6700ac49.js +0 -1
  517. package/dist/webcomponents/p-68fd8283.js +0 -1
  518. package/dist/webcomponents/p-6bcf621a.entry.js +0 -1
  519. package/dist/webcomponents/p-6bd5d569.entry.js +0 -1
  520. package/dist/webcomponents/p-76180bb4.entry.js +0 -1
  521. package/dist/webcomponents/p-77dc159c.entry.js +0 -1
  522. package/dist/webcomponents/p-7d6aba64.entry.js +0 -1
  523. package/dist/webcomponents/p-81d3eda6.entry.js +0 -1
  524. package/dist/webcomponents/p-87932e16.js +0 -1
  525. package/dist/webcomponents/p-88c7ef46.entry.js +0 -1
  526. package/dist/webcomponents/p-8cc7a418.entry.js +0 -1
  527. package/dist/webcomponents/p-8dd22c8d.entry.js +0 -1
  528. package/dist/webcomponents/p-9e7c3231.entry.js +0 -1
  529. package/dist/webcomponents/p-b53d7b7f.js +0 -1
  530. package/dist/webcomponents/p-bbc18b9f.entry.js +0 -1
  531. package/dist/webcomponents/p-c4264aaf.js +0 -1
  532. package/dist/webcomponents/p-cb9ee476.entry.js +0 -1
  533. package/dist/webcomponents/p-d083a342.entry.js +0 -1
  534. package/dist/webcomponents/p-e46929a1.entry.js +0 -1
  535. package/dist/webcomponents/p-ea7c77a3.entry.js +0 -1
  536. package/dist/webcomponents/p-ed844504.js +0 -1
  537. package/dist/module/{index.esm.js → form.js} +2733 -2733
@@ -1,114 +1,71 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-57431c24.js';
2
- import { F as FormController, c as create$3, e as create$7 } from './index.esm-fc4f5c0c.js';
3
- import { A as AdditionalQuestions, C as CoreBusinessInfo, B as Business, O as Owner, R as Representative, b as Address } from './Business-e218b4f4.js';
2
+ import { a as ComponentErrorCodes, C as ComponentErrorSeverity } from './ComponentError-3ce7f437.js';
3
+ import { m as makeGetBusiness, b as makePatchBusiness } from './payment-provisioning-actions-0635eff7.js';
4
+ import { B as BusinessService } from './business.service-74bd1212.js';
5
+ import { c as create$3, F as FormController, e as create$7 } from './index.esm-fc4f5c0c.js';
6
+ import { b as BusinessFormStep, a as BusinessFormClickActions } from './business-form-types-1bc5fe08.js';
7
+ import { z as bankNameValidation, A as nicknameValidation, i as identityNameValidation, B as accountTypeValidation, C as accountNumberValidation, D as routingNumberValidation, E as voidedCheckValidation, F as governmentIdValidation, G as ss4Validation, H as otherDocumentValidation, I as balanceSheetValidation, J as bankStatementValidation, K as profitAndLossStatementValidation, L as EntityDocument, M as EntityDocumentStorage } from './schema-validations-a83ff220.js';
8
+ import { c as bankAccountTypeOptions } from './business-form-options-7a9a74fc.js';
4
9
  import { A as Api } from './Api-b09a2f6a.js';
5
10
  import './Pagination-afc8f96d.js';
6
- import './Payment-3e94da9c.js';
11
+ import './Payment-6bf26fe2.js';
7
12
  import './Payout-dfe15b00.js';
8
13
  import { c as config } from './config-476c7241.js';
9
- import { a as additionalQuestionsSchema, b as businessCoreInfoSchema } from './business-additional-questions-schema-956e3caf.js';
10
- import { b as BusinessFormStep, O as OwnerFormClickActions, a as BusinessFormClickActions } from './business-form-types-60f50b98.js';
11
- import { C as CURRENCY_MASK, P as PHONE_MASKS, S as SSN_MASK } from './form-input-masks-0e18300f.js';
12
- import { a as businessServiceReceivedOptions, r as recurringPaymentsOptions, s as seasonalBusinessOptions, c as bankAccountTypeOptions, b as businessClassificationOptions } from './business-form-options-7a9a74fc.js';
13
- import { a as ComponentErrorCodes, C as ComponentErrorSeverity } from './ComponentError-3ce7f437.js';
14
- import { z as bankNameValidation, A as nicknameValidation, i as identityNameValidation, B as accountTypeValidation, C as accountNumberValidation, D as routingNumberValidation, E as voidedCheckValidation, F as governmentIdValidation, G as ss4Validation, H as otherDocumentValidation, I as balanceSheetValidation, J as bankStatementValidation, K as profitAndLossStatementValidation, L as EntityDocument, M as EntityDocumentStorage } from './schema-validations-a83ff220.js';
15
- import { n as numberOnlyHandler, L as LoadingSpinner } from './utils-f4c4ba7d.js';
16
- import { b as parseCoreInfo, c as parseIdentityInfo, i as identitySchema, d as parseAddressInfo, a as addressSchema } from './payload-parsers-acb719d1.js';
17
- import { m as flattenNestedObject } from './utils-5f4c4faa.js';
18
- import { d as deconstructDate } from './helpers-96ea3464.js';
19
- import { S as StateOptions } from './state-options-a356fb11.js';
14
+ import { n as numberOnlyHandler } from './utils-3bb6347a.js';
15
+ import { B as Business } from './Business-e218b4f4.js';
16
+ import { S as Skeleton } from './skeleton-145a80d4.js';
17
+ import { B as Button } from './button-34e75e0f.js';
18
+ import './utils-b10dae27.js';
19
+ import './state-options-a356fb11.js';
20
+ import './helpers-96ea3464.js';
20
21
 
21
22
  const AdditionalQuestionsFormStep = class {
22
23
  constructor(hostRef) {
23
24
  registerInstance(this, hostRef);
24
- this.submitted = createEvent(this, "submitted", 7);
25
- this.formLoading = createEvent(this, "formLoading", 7);
26
25
  this.errorEvent = createEvent(this, "error-event", 7);
27
- this.fetchData = async () => {
28
- this.formLoading.emit(true);
29
- try {
30
- const response = await this.api.get(this.businessEndpoint);
31
- this.additional_questions = new AdditionalQuestions(response.data.additional_questions || {});
32
- this.formController.setInitialValues(Object.assign({}, this.additional_questions));
33
- }
34
- catch (error) {
35
- this.errorEvent.emit({
36
- errorCode: ComponentErrorCodes.FETCH_ERROR,
37
- message: error.message,
38
- severity: ComponentErrorSeverity.ERROR,
39
- data: error,
40
- });
41
- }
42
- finally {
43
- this.formLoading.emit(false);
44
- }
45
- };
46
- this.sendData = async (onSuccess) => {
47
- this.formLoading.emit(true);
48
- try {
49
- const payload = this.formController.values.getValue();
50
- const response = await this.api.patch(this.businessEndpoint, JSON.stringify({ additional_questions: payload }));
51
- this.handleResponse(response, onSuccess);
52
- }
53
- catch (error) {
54
- this.errorEvent.emit({
55
- errorCode: ComponentErrorCodes.PATCH_ERROR,
56
- message: error.message,
57
- severity: ComponentErrorSeverity.ERROR,
58
- data: error,
59
- });
60
- }
61
- finally {
62
- this.formLoading.emit(false);
63
- }
64
- };
65
- this.inputHandler = (name, value) => {
66
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
67
- };
68
- this.formController = undefined;
69
- this.errors = {};
70
- this.additional_questions = {};
26
+ this.getBusiness = undefined;
27
+ this.patchBusiness = undefined;
71
28
  this.authToken = undefined;
72
29
  this.businessId = undefined;
73
30
  this.allowOptionalFields = undefined;
74
31
  }
75
- get businessEndpoint() {
76
- return `entities/business/${this.businessId}`;
77
- }
78
- handleResponse(response, onSuccess) {
79
- if (response.error) {
80
- this.errorEvent.emit({
81
- errorCode: ComponentErrorCodes.PATCH_ERROR,
82
- message: response.error.message,
83
- severity: ComponentErrorSeverity.ERROR,
84
- data: response.error,
85
- });
86
- }
87
- else {
88
- onSuccess();
89
- }
90
- this.submitted.emit({ data: response, metadata: { completedStep: BusinessFormStep.additionalQuestions } });
32
+ propChanged() {
33
+ this.initializeApi();
91
34
  }
92
35
  async validateAndSubmit({ onSuccess }) {
93
- this.formController.validateAndSubmit(() => this.sendData(onSuccess));
36
+ this.coreComponent.validateAndSubmit({ onSuccess });
94
37
  }
95
- ;
96
38
  componentWillLoad() {
97
- this.formController = new FormController(additionalQuestionsSchema(this.allowOptionalFields));
98
- this.api = Api({ authToken: this.authToken, apiOrigin: config.proxyApiOrigin });
99
- if (this.businessId && this.authToken) {
100
- this.fetchData();
39
+ this.initializeApi();
40
+ }
41
+ initializeApi() {
42
+ if (this.authToken && this.businessId) {
43
+ this.getBusiness = makeGetBusiness({
44
+ authToken: this.authToken,
45
+ businessId: this.businessId,
46
+ service: new BusinessService()
47
+ });
48
+ this.patchBusiness = makePatchBusiness({
49
+ authToken: this.authToken,
50
+ businessId: this.businessId,
51
+ service: new BusinessService()
52
+ });
53
+ }
54
+ else {
55
+ this.errorEvent.emit({
56
+ message: 'Missing required props',
57
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
58
+ severity: ComponentErrorSeverity.ERROR,
59
+ });
101
60
  }
102
- }
103
- componentDidLoad() {
104
- this.formController.values.subscribe(values => this.additional_questions = Object.assign({}, values));
105
- this.formController.errors.subscribe(errors => (this.errors = Object.assign({}, errors)));
106
61
  }
107
62
  render() {
108
- var _a, _b, _c, _d, _e, _f, _g;
109
- const additionalQuestionsDefaultValue = this.formController.getInitialValues();
110
- return (h(Host, { key: 'a6c4f79702b3ebeb087c7e0beb1353e243c26bb2', exportparts: "label,input,input-invalid" }, h("form", { key: 'e4f918d7b7a84b8a2332f14d79dcb8bc7c50da73' }, h("fieldset", { key: '921f14f225be38b665780a5640bc38302497a5b4' }, h("legend", { key: '01fa03c8134995cb23a67766febb6d4522e3d41a' }, "Additional Questions"), h("hr", { key: '61131730389e979b6aa7d68ca5f58a070aa2534e' }), h("div", { key: '54b3af3d2fe06b20463fa548a60ab986f246a3d7', class: "row gy-3" }, h("div", { key: '55c113e9d5f4746cc78de3f91cbf0a069d7a8e41', class: "col-12 col-md-6" }, h("form-control-monetary", { key: '86a6cacf09105f5c4415a01738ba77b7eeb7622c', name: "business_revenue", label: "What is the business' estimated annual revenue from its primary business activities?", inputHandler: this.inputHandler, errorText: (_a = this.errors) === null || _a === void 0 ? void 0 : _a.business_revenue, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_revenue, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: 'ae68b9c006ea41e1f214226efdb4e14098d5e800', class: "col-12 col-md-6" }, h("form-control-monetary", { key: 'ddbff877fc74121bbf84eb7f4ee278558f35d853', name: "business_payment_volume", label: "What is the business' annual credit card & ACH volume anticipated to process?", inputHandler: this.inputHandler, errorText: (_b = this.errors) === null || _b === void 0 ? void 0 : _b.business_payment_volume, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_payment_volume, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: '80fa2c11d3cadd1a1ab07ad79b7ff736a15a38d3', class: "col-12" }, h("form-control-select", { key: '7fca901a87105b9a401309d5841279bac7a6f5cd', name: 'business_when_service_received', label: 'On average, how long after paying will your customers typically receive their goods or services?', inputHandler: this.inputHandler, errorText: (_c = this.errors) === null || _c === void 0 ? void 0 : _c.business_when_service_received, options: businessServiceReceivedOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_when_service_received })), h("div", { key: 'a20763d9518cd84b062f81fdce325be2a8dfb40e', class: "col-12" }, h("form-control-select", { key: 'cfec3aab19c544b16f8a0fab7541433130c3b749', name: 'business_recurring_payments', label: 'Does your business offer recurring payments?', inputHandler: this.inputHandler, errorText: (_d = this.errors) === null || _d === void 0 ? void 0 : _d.business_recurring_payments, options: recurringPaymentsOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments })), h("div", { key: '0ef1a0473a5870428a741be696e08c881ebee524', class: "col-12" }, h("form-control-text", { key: '512a4924c14b7c2da661b5ffe966d8d1497cb706', name: 'business_recurring_payments_percentage', label: 'What percent of revenue is generated from each recurring payment type offered?', inputHandler: this.inputHandler, errorText: (_e = this.errors) === null || _e === void 0 ? void 0 : _e.business_recurring_payments_percentage, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments_percentage })), h("div", { key: '75a7b0adfde53443a53ca4e4143f1ff060291837', class: "col-12" }, h("form-control-select", { key: '1474ce5f608be57a36486ad46c7a7bd68fc44fc7', name: 'business_seasonal', label: 'Is this business seasonal?', inputHandler: this.inputHandler, errorText: (_f = this.errors) === null || _f === void 0 ? void 0 : _f.business_seasonal, options: seasonalBusinessOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_seasonal })), h("div", { key: '7de2fd399754cc0c77e2b08b7d1a4d0082903f61', class: "col-12" }, h("form-control-text", { key: '5de14ae950223e353dd6d58430a4493ffd26da4e', name: 'business_other_payment_details', label: 'Is there anything else you would like us to know about how your customers pay the business?', inputHandler: this.inputHandler, errorText: (_g = this.errors) === null || _g === void 0 ? void 0 : _g.business_other_payment_details, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_other_payment_details })))))));
63
+ return (h("justifi-additional-questions-form-step-core", { key: 'ede8f1336c69d47c651a5b4b95ee2746aae3aa52', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: el => this.coreComponent = el }));
111
64
  }
65
+ static get watchers() { return {
66
+ "authToken": ["propChanged"],
67
+ "businessId": ["propChanged"]
68
+ }; }
112
69
  };
113
70
 
114
71
  const businessBankAccountSchema = (allowOptionalFields) => {
@@ -256,102 +213,57 @@ const BusinessBankAccountFormStep = class {
256
213
  }
257
214
  render() {
258
215
  const bankAccountDefaultValue = this.formController.getInitialValues();
259
- return (h(Host, { key: '06a761a462bc8211d31021815bf0f826002ff674', exportparts: "label,input,input-invalid" }, h("form", { key: '46e2a31edda4f8297fc8858ed9373dd744e5a39b' }, h("fieldset", { key: '3f8ed5c4d2e801a1824110449e14d86df2f14dc4' }, h("legend", { key: 'f88054577ab1f30332ddd0aafad4b3a40dce8de3' }, "Bank Account Info"), h("hr", { key: '0cf5f443ee658510192d60a29d81040ac0763588' }), h("div", { key: 'c446362495de7cb85610f50ddec515e983aef55a', class: "row gy-3" }, h("div", { key: '9bdde0ea622a0e41963dc025e887bb2b5701e160', class: "col-12" }, h("form-control-text", { key: 'ffbe63f3b934c4b9428e4cb6928d554ce87ff627', name: "bank_name", label: "Bank Name", defaultValue: bankAccountDefaultValue.bank_name, errorText: this.errors.bank_name, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: '6753f56609e0447ec0eb5b040c74bd511f6dd4de', class: "col-12" }, h("form-control-text", { key: 'c5903b44239826b1fd454731b2d2a406665fe62f', name: "nickname", label: "Nickname", defaultValue: bankAccountDefaultValue.nickname, errorText: this.errors.nickname, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: '1ff0746d2b60f376f664a81011f4482d380ac760', class: "col-12" }, h("form-control-text", { key: '110b3d4f9e5266caf8cc0701d2e4764ec44dcf3c', name: "account_owner_name", label: "Account Owner Name", defaultValue: bankAccountDefaultValue.account_owner_name, errorText: this.errors.account_owner_name, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: 'e045bc7620c101116e28d2307497139776ca7588', class: "col-12" }, h("form-control-select", { key: 'acee452f96ab59da937a5379a7ef4a2703861647', name: "account_type", label: "Account Type", options: bankAccountTypeOptions, defaultValue: bankAccountDefaultValue.account_type, errorText: this.errors.account_type, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: '8e576bebe699f605a411d2dbeca04d11be0181a2', class: "col-12" }, h("form-control-text", { key: '0df383e2d9c5b4ba609820f473cad3098968a6e7', name: "account_number", label: "Account Number", defaultValue: bankAccountDefaultValue.account_number, maxLength: 17, errorText: this.errors.account_number, inputHandler: this.inputHandler, keyDownHandler: numberOnlyHandler, disabled: this.formDisabled })), h("div", { key: '91dc628aaceb4b86171b45f52bd6f023d338a4db', class: "col-12" }, h("form-control-text", { key: '239f3cf414fa1ca1f3de5e8fb5ba9e1c7b6c458f', name: "routing_number", label: "Routing Number", defaultValue: bankAccountDefaultValue.routing_number, maxLength: 9, errorText: this.errors.routing_number, inputHandler: this.inputHandler, keyDownHandler: numberOnlyHandler, disabled: this.formDisabled })))))));
216
+ return (h("form", { key: 'b2e106437693b667376fb8091117bc04899cce13' }, h("fieldset", { key: 'c6fc0e5b39278a4618abe0aeba8593b4800f23fa' }, h("legend", { key: 'f07c520e32491dd506f7ac16b03b0eb82a451035' }, "Bank Account Info"), h("hr", { key: '43845af4ec6f143653154e301a49c870c688e8cb' }), h("div", { key: '911f450a0e81a7fcf6afb8b54be910da36b068d6', class: "row gy-3" }, h("div", { key: 'afe5dd40139f1098e69736cd08f00792916657b1', class: "col-12" }, h("form-control-text", { key: 'c590065940b5ef4ab5a125962e114d3bb99161e8', name: "bank_name", label: "Bank Name", defaultValue: bankAccountDefaultValue.bank_name, errorText: this.errors.bank_name, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: 'ad7ac99fdae7bb0108675cf4ea522ae7b0c7b340', class: "col-12" }, h("form-control-text", { key: '4e69debe8b184272c788f0ba206b7e983bb6bba5', name: "nickname", label: "Nickname", defaultValue: bankAccountDefaultValue.nickname, errorText: this.errors.nickname, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: 'a478bb2330e48935b65d22a42287ab89f94b4808', class: "col-12" }, h("form-control-text", { key: 'c20531fb2c5e903eefeeb62fca5a831cf2542867', name: "account_owner_name", label: "Account Owner Name", defaultValue: bankAccountDefaultValue.account_owner_name, errorText: this.errors.account_owner_name, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: '63325c985d0341888ad9ce34fec48c623e275f55', class: "col-12" }, h("form-control-select", { key: 'b9fc86477dada5413e4a6e18b10e77de620996d9', name: "account_type", label: "Account Type", options: bankAccountTypeOptions, defaultValue: bankAccountDefaultValue.account_type, errorText: this.errors.account_type, inputHandler: this.inputHandler, disabled: this.formDisabled })), h("div", { key: '7d2849185532bb21c85cf8227749469e28fdc102', class: "col-12" }, h("form-control-text", { key: '466a38e94ed054788596ec63bed4b4ffe646dc63', name: "account_number", label: "Account Number", defaultValue: bankAccountDefaultValue.account_number, maxLength: 17, errorText: this.errors.account_number, inputHandler: this.inputHandler, keyDownHandler: numberOnlyHandler, disabled: this.formDisabled })), h("div", { key: '1162fae41dfc767cd038a37d7a7581b54dee1a1d', class: "col-12" }, h("form-control-text", { key: '47ffb34b6523d34df02739231b5764418f162fe6', name: "routing_number", label: "Routing Number", defaultValue: bankAccountDefaultValue.routing_number, maxLength: 9, errorText: this.errors.routing_number, inputHandler: this.inputHandler, keyDownHandler: numberOnlyHandler, disabled: this.formDisabled }))))));
260
217
  }
261
218
  };
262
219
 
263
220
  const BusinessCoreInfoFormStep = class {
264
221
  constructor(hostRef) {
265
222
  registerInstance(this, hostRef);
266
- this.submitted = createEvent(this, "submitted", 7);
267
- this.formLoading = createEvent(this, "formLoading", 7);
268
223
  this.errorEvent = createEvent(this, "error-event", 7);
269
- this.fetchData = async () => {
270
- this.formLoading.emit(true);
271
- try {
272
- const response = await this.api.get(this.businessEndpoint);
273
- this.coreInfo = new CoreBusinessInfo(response.data);
274
- this.formController.setInitialValues(Object.assign({}, this.coreInfo));
275
- }
276
- catch (error) {
277
- this.errorEvent.emit({
278
- errorCode: ComponentErrorCodes.FETCH_ERROR,
279
- message: error.message,
280
- severity: ComponentErrorSeverity.ERROR,
281
- data: error,
282
- });
283
- }
284
- finally {
285
- this.formLoading.emit(false);
286
- }
287
- };
288
- this.sendData = async (onSuccess) => {
289
- this.formLoading.emit(true);
290
- try {
291
- const payload = parseCoreInfo(flattenNestedObject(this.formController.values.getValue()));
292
- const response = await this.api.patch(this.businessEndpoint, JSON.stringify(payload));
293
- this.handleResponse(response, onSuccess);
294
- }
295
- catch (error) {
296
- this.errorEvent.emit({
297
- errorCode: ComponentErrorCodes.PATCH_ERROR,
298
- message: error.message,
299
- severity: ComponentErrorSeverity.ERROR,
300
- data: error,
301
- });
302
- }
303
- finally {
304
- this.formLoading.emit(false);
305
- }
306
- };
307
- this.inputHandler = (name, value) => {
308
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
309
- };
310
- this.formController = undefined;
311
- this.errors = {};
312
- this.coreInfo = {};
224
+ this.getBusiness = undefined;
225
+ this.patchBusiness = undefined;
313
226
  this.authToken = undefined;
314
227
  this.businessId = undefined;
315
228
  this.allowOptionalFields = undefined;
316
229
  }
317
- get businessEndpoint() {
318
- return `entities/business/${this.businessId}`;
319
- }
320
- handleResponse(response, onSuccess) {
321
- if (response.error) {
322
- this.errorEvent.emit({
323
- errorCode: ComponentErrorCodes.PATCH_ERROR,
324
- message: response.error.message,
325
- severity: ComponentErrorSeverity.ERROR,
326
- data: response.error,
327
- });
328
- }
329
- else {
330
- onSuccess();
331
- }
332
- this.submitted.emit({ data: response, metadata: { completedStep: BusinessFormStep.coreInfo } });
230
+ propChanged() {
231
+ this.initializeApi();
333
232
  }
334
233
  async validateAndSubmit({ onSuccess }) {
335
- this.formController.validateAndSubmit(() => this.sendData(onSuccess));
234
+ this.coreComponent.validateAndSubmit({ onSuccess });
336
235
  }
337
- ;
338
236
  componentWillLoad() {
339
- this.formController = new FormController(businessCoreInfoSchema(this.allowOptionalFields));
340
- this.api = Api({ authToken: this.authToken, apiOrigin: config.proxyApiOrigin });
341
- if (this.businessId && this.authToken) {
342
- this.fetchData();
237
+ this.initializeApi();
238
+ }
239
+ initializeApi() {
240
+ if (this.authToken && this.businessId) {
241
+ this.getBusiness = makeGetBusiness({
242
+ authToken: this.authToken,
243
+ businessId: this.businessId,
244
+ service: new BusinessService()
245
+ });
246
+ this.patchBusiness = makePatchBusiness({
247
+ authToken: this.authToken,
248
+ businessId: this.businessId,
249
+ service: new BusinessService()
250
+ });
251
+ }
252
+ else {
253
+ this.errorEvent.emit({
254
+ message: 'Missing required props',
255
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
256
+ severity: ComponentErrorSeverity.ERROR,
257
+ });
343
258
  }
344
- }
345
- componentDidLoad() {
346
- this.formController.values.subscribe(values => this.coreInfo = Object.assign({}, values));
347
- this.formController.errors.subscribe(errors => {
348
- this.errors = Object.assign({}, errors);
349
- });
350
259
  }
351
260
  render() {
352
- const coreInfoDefaultValue = this.formController.getInitialValues();
353
- return (h(Host, { key: '4ea42b813bdd6e5c59a62ae4ae869e86dfddd7ce', exportparts: 'label,input,input-invalid' }, h("form", { key: 'f5ec3be342eda82dee8a51fe2ee5a6da1ee8902e' }, h("fieldset", { key: 'e07041577f53badc6c172a2c6dc20b1066c03f4c' }, h("legend", { key: '2bcc8cc013eeee4e27c874d0bed4471515b68610' }, "General Info"), h("hr", { key: '6dc6f73cf851b9244c8d797bc5cefdfda848c7bc' }), h("div", { key: 'b2bfad85255ddfa76d405e45df3d668ad02a6fea', class: 'row gy-3' }, h("div", { key: 'a9a65df07f40621513ce4881dd203e90142d7670', class: 'col-12' }, h("form-control-text", { key: '7fe7ac765902c7cd9ed60004dc7be687d43b2e49', name: 'legal_name', label: 'Legal Name', defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler })), h("div", { key: '6fe2e395e4391480f4d6dafcfc57619176efc45c', class: 'col-12' }, h("form-control-text", { key: 'd19870345d79e4c44c3e667e2751ff6f344e1d58', name: 'doing_business_as', label: 'Doing Business As (DBA)', defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler })), h("div", { key: '39acda8180c70f7684aa2d73ef31bc199233c358', class: 'col-12 col-md-8' }, h("form-control-select", { key: '67f98ac21a69a851bb9489df198e06c8b517d45e', name: 'classification', label: 'Business Classification', options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { key: 'd54631f13e8998170de1f175d52d89d90035e688', class: 'col-12 col-md-4' }, h("form-control-date", { key: '8038e4f909c9bb2e5f3a8dd577f7b7f75e3d4f41', name: 'date_of_incorporation', label: 'Date of Incorporation', defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { key: 'ca43f206b14494ddaa55c625a2c408426ebcf529', class: 'col-12 col-md-6' }, h("form-control-text", { key: '7ccf50e04dad1a7e001c37074925f27f53ec831c', name: 'industry', label: 'Industry', defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler })), h("div", { key: '76136df0a434b7fce1b0307e962e4ea387a063d3', class: 'col-12 col-md-6' }, h("form-control-text", { key: 'ddfd853ed46b3995484dff54d47af0c0d6c93b0c', name: 'tax_id', label: 'Tax ID (EIN or SSN)', defaultValue: coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, keyDownHandler: numberOnlyHandler, maxLength: 9 })), h("div", { key: '1084c4d7a261b8fc0a9ceacc16b5823f09cfb807', class: 'col-12' }, h("form-control-text", { key: 'c9ca186a6f2cc10f43966de56e6a224103ddd1f3', name: 'website_url', label: 'Website URL', defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler })), h("div", { key: '55bc2f83a170fc1bec20c208460cc63b8f42a566', class: 'col-12 col-md-6' }, h("form-control-text", { key: '5c35db62f1d7d56e01a839df29b39aa55e569d5c', name: 'email', label: 'Email Address', defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: 'f74aadc2ea606365918f29091a6f6bb08841bf00', class: 'col-12 col-md-6' }, h("form-control-number-masked", { key: 'ef54ee012cbc30464bcdc7e887d5eb0523e30057', name: 'phone', label: 'Phone Number', defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US })))))));
261
+ return (h("justifi-business-core-info-form-step-core", { key: '4ee53046d16fd42df4e09b10c338a740c22184ef', businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: el => this.coreComponent = el }));
354
262
  }
263
+ static get watchers() { return {
264
+ "authToken": ["propChanged"],
265
+ "businessId": ["propChanged"]
266
+ }; }
355
267
  };
356
268
 
357
269
  const businessDocumentSchema = (volume, documents, allowOptionalFields) => {
@@ -479,22 +391,26 @@ const BusinessDocumentFormStep = class {
479
391
  this.documentData[docType] = documentList;
480
392
  };
481
393
  this.sendData = async (onSuccess) => {
482
- const docArray = Object.values(this.documentData).flat();
483
- if (!docArray.length) {
484
- return onSuccess();
485
- }
486
- const documentRecords = docArray.map(docData => this.createDocumentRecord(docData));
487
- const recordsCreated = await Promise.all(documentRecords);
488
- if (!recordsCreated) {
489
- return;
394
+ try {
395
+ const docArray = Object.values(this.documentData).flat();
396
+ if (!docArray.length) {
397
+ return onSuccess();
398
+ }
399
+ const documentRecords = docArray.map(docData => this.createDocumentRecord(docData));
400
+ const recordsCreated = await Promise.all(documentRecords);
401
+ if (!recordsCreated) {
402
+ return;
403
+ }
404
+ const uploads = docArray.map(docData => this.uploadDocument(docData));
405
+ const uploadsCompleted = await Promise.all(uploads);
406
+ if (!uploadsCompleted) {
407
+ return;
408
+ }
409
+ await onSuccess();
490
410
  }
491
- const uploads = docArray.map(docData => this.uploadDocument(docData));
492
- const uploadsCompleted = await Promise.all(uploads);
493
- if (!uploadsCompleted) {
494
- return;
411
+ finally {
412
+ this.formLoading.emit(false);
495
413
  }
496
- uploadsCompleted && this.formLoading.emit(false);
497
- await onSuccess();
498
414
  };
499
415
  this.formController = undefined;
500
416
  this.errors = {};
@@ -533,7 +449,7 @@ const BusinessDocumentFormStep = class {
533
449
  return null;
534
450
  }
535
451
  if (this.isLoading) {
536
- return h("justifi-skeleton", { variant: 'rounded', height: '50px' });
452
+ return h(Skeleton, { variant: 'rounded', height: '50px' });
537
453
  }
538
454
  return h("justifi-business-documents-on-file", { documents: this.existingDocuments });
539
455
  }
@@ -542,266 +458,111 @@ const BusinessDocumentFormStep = class {
542
458
  return null;
543
459
  }
544
460
  if (this.isLoading) {
545
- return h("justifi-skeleton", { variant: 'rounded', height: '350px' });
461
+ return h(Skeleton, { variant: 'rounded', height: '350px' });
546
462
  }
547
463
  return (h("justifi-business-document-upload-input-group", { paymentVolume: this.paymentVolume, inputHandler: this.inputHandler, storeFiles: this.storeFiles, errors: this.errors }));
548
464
  }
549
465
  render() {
550
- return (h(Host, { key: '9cc3ddc45413cf4bb5d2fabfc8bc6035035b02c3', exportparts: "label,input,input-invalid" }, h("form", { key: 'd4756e9cd27741cbf6637d42f3f0db77ebc4e2b1' }, h("fieldset", { key: '4c66e4cb9997c1a3645277b12358a3881361fd77' }, h("legend", { key: 'adf7e0e3c134a3e395d455d4c13b6b31e3caf5a0' }, "Document Uploads"), h("p", { key: '826529c3896e9acdf7dd0337e7dc0bb7f8f93386' }, "Various file formats such as PDF, DOC, DOCX, JPEG, and others are accepted. Multiple files can be uploaded for each document category."), h("hr", { key: '76e343327d676f10df8652e9b3977b21e189607c' }), this.documentsOnFile, h("div", { key: 'bdd1fc8f4dc941c17d8457022cbdab679aedd009', class: "d-flex flex-column" }, this.formInputs)))));
466
+ return (h("form", { key: '8f2e1d262cd5050b315019a1947b1474eaf995de' }, h("fieldset", { key: 'd022b1c294835e456a9067fcfdbf2b93a33c8ca8' }, h("legend", { key: '522ecbab0489efa6d4294f38f792a28770010f1e' }, "Document Uploads"), h("p", { key: 'b49a6b3a4a7c79b368b20455b4ed4a943f08ec51' }, "Various file formats such as PDF, DOC, DOCX, JPEG, and others are accepted. Multiple files can be uploaded for each document category."), h("hr", { key: '3d8c2f7f5b128b99ceaa501166ae60c490b12378' }), this.documentsOnFile, h("div", { key: 'd2627185483e1be43c0b34d80b1fcfa850decd28', class: "d-flex flex-column" }, this.formInputs))));
551
467
  }
552
468
  };
553
469
 
554
470
  const BusinessOwnersFormStep = class {
555
471
  constructor(hostRef) {
556
472
  registerInstance(this, hostRef);
557
- this.submitted = createEvent(this, "submitted", 7);
558
- this.clickEvent = createEvent(this, "click-event", 7);
559
- this.formLoading = createEvent(this, "formLoading", 7);
560
473
  this.errorEvent = createEvent(this, "error-event", 7);
561
- this.managePayload = async () => {
562
- const payload = this.owners.filter((owner) => owner.id).map((owner) => {
563
- return { id: owner.id };
564
- });
565
- return payload;
566
- };
567
- this.matchRef = (ref, ownerId) => {
568
- const ownerIndex = this.refs.findIndex(ref => ref === ownerId);
569
- if (ownerIndex !== -1) {
570
- this.refs[ownerIndex] = ref;
571
- }
572
- };
573
- this.fetchData = async () => {
574
- this.formLoading.emit(true);
575
- try {
576
- const response = await this.api.get(this.businessEndpoint);
577
- if (response.data.owners.length) {
578
- this.owners = response.data.owners.map(owner => owner);
579
- }
580
- else {
581
- this.addOwnerForm();
582
- }
583
- }
584
- catch (error) {
585
- this.errorEvent.emit({
586
- errorCode: ComponentErrorCodes.FETCH_ERROR,
587
- message: error.message,
588
- severity: ComponentErrorSeverity.ERROR,
589
- data: error,
590
- });
591
- }
592
- finally {
593
- this.formLoading.emit(false);
594
- this.manageRefs();
595
- }
596
- };
597
- this.sendData = async (onSuccess) => {
598
- this.formLoading.emit(true);
599
- try {
600
- const payload = await this.managePayload();
601
- const response = await this.api.patch(this.businessEndpoint, JSON.stringify({ owners: payload }));
602
- this.handleResponse(response, onSuccess);
603
- }
604
- catch (error) {
605
- this.errorEvent.emit({
606
- errorCode: ComponentErrorCodes.PATCH_ERROR,
607
- message: error.message,
608
- severity: ComponentErrorSeverity.ERROR,
609
- data: error,
610
- });
611
- }
612
- finally {
613
- this.formLoading.emit(false);
614
- }
615
- };
616
- this.addOwnerForm = (fireClick) => {
617
- this.newFormOpen = true;
618
- const newOwner = Object.assign({}, new Owner({}));
619
- this.owners = [...this.owners, newOwner];
620
- fireClick && this.clickEvent.emit({ name: OwnerFormClickActions.addOwnerForm });
621
- };
622
- this.removeOwnerForm = (id) => {
623
- this.owners = this.owners.filter(owner => owner.id !== id);
624
- this.newFormOpen ? this.newFormOpen = false : null;
625
- };
626
- this.handleOwnerSubmit = (event) => {
627
- const ownerData = event.detail.data.data;
628
- const currentIndex = this.owners.findIndex(owner => owner.id === ownerData.id);
629
- if (currentIndex !== -1) {
630
- this.owners[currentIndex] = ownerData;
631
- }
632
- else {
633
- const newOwnerIndex = this.owners.findIndex(owner => !owner.id);
634
- this.owners[newOwnerIndex] = ownerData;
635
- this.newFormOpen ? this.newFormOpen = false : null;
636
- }
637
- };
638
- this.owners = [];
639
- this.newFormOpen = undefined;
640
- this.refs = [];
474
+ this.getBusiness = undefined;
475
+ this.patchBusiness = undefined;
641
476
  this.authToken = undefined;
642
477
  this.businessId = undefined;
643
478
  this.allowOptionalFields = undefined;
644
479
  }
645
- get businessEndpoint() {
646
- return `entities/business/${this.businessId}`;
647
- }
648
- get showAddOwnerButton() {
649
- return this.owners.length < 4 && !this.newFormOpen;
480
+ propChanged() {
481
+ this.initializeApi();
650
482
  }
651
- manageRefs() {
652
- const ownerRefs = this.owners.map((owner) => owner.id);
653
- this.refs = ownerRefs;
483
+ async validateAndSubmit({ onSuccess }) {
484
+ this.coreComponent.validateAndSubmit({ onSuccess });
654
485
  }
655
- handleResponse(response, onSuccess) {
656
- if (response.error) {
657
- this.errorEvent.emit({
658
- errorCode: ComponentErrorCodes.PATCH_ERROR,
659
- message: response.error.message,
660
- severity: ComponentErrorSeverity.ERROR,
661
- data: response.error,
486
+ componentWillLoad() {
487
+ this.initializeApi();
488
+ }
489
+ initializeApi() {
490
+ if (this.authToken && this.businessId) {
491
+ this.getBusiness = makeGetBusiness({
492
+ authToken: this.authToken,
493
+ businessId: this.businessId,
494
+ service: new BusinessService()
495
+ });
496
+ this.patchBusiness = makePatchBusiness({
497
+ authToken: this.authToken,
498
+ businessId: this.businessId,
499
+ service: new BusinessService()
662
500
  });
663
501
  }
664
502
  else {
665
- onSuccess();
666
- }
667
- this.submitted.emit({ data: response, metadata: { completedStep: BusinessFormStep.owners } });
668
- }
669
- async validateAndSubmit({ onSuccess }) {
670
- const formValidations = this.refs.map(ref => ref.validate());
671
- const formsValid = (await Promise.all(formValidations)).every(result => result);
672
- if (!formsValid) {
673
- return;
674
- }
675
- const formSubmissions = this.refs.map(ref => ref.submit());
676
- const submissionsValid = (await Promise.all(formSubmissions)).every(result => result);
677
- if (!submissionsValid) {
678
- return;
679
- }
680
- await this.sendData(onSuccess);
681
- }
682
- ;
683
- componentWillLoad() {
684
- this.api = Api({ authToken: this.authToken, apiOrigin: config.proxyApiOrigin });
685
- if (this.businessId && this.authToken) {
686
- this.fetchData();
503
+ this.errorEvent.emit({
504
+ message: 'Missing required props',
505
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
506
+ severity: ComponentErrorSeverity.ERROR,
507
+ });
687
508
  }
688
509
  }
689
- onOwnersUpdated() {
690
- this.manageRefs();
691
- }
692
510
  render() {
693
- return (h(Host, { key: 'c47bc68f4ee75973c394d84bcf791ae4bf32aeb2', exportparts: "label,input,input-invalid" }, h("legend", { key: 'c08c53d29e9aab0f80748b98c54c18607b1a5c8b' }, "Owners"), h("hr", { key: '6d9ff85001290730c437a9a1b3fa6ebb1035d86e' }), h("div", { key: 'bb693079ee194368763d082d681e8563562be343', class: 'row gy-3' }, this.owners.map((owner) => {
694
- return (h("justifi-owner-form", { key: owner.id, authToken: this.authToken, businessId: this.businessId, ownerId: owner.id, removeOwner: this.removeOwnerForm, newFormOpen: this.newFormOpen, ownersLength: this.owners.length, onSubmitted: (e) => this.handleOwnerSubmit(e), onFormLoading: (e) => this.formLoading.emit(e.detail), allowOptionalFields: this.allowOptionalFields, ref: (ref) => { this.matchRef(ref, owner.id); } }));
695
- })), this.showAddOwnerButton &&
696
- h("div", { key: '3d3293f26ca3f9214d34ceee9f31974d127088b3', class: 'col-12' }, h("button", { key: '4dbcbf90018343c8c8b13e32cfc9121b2087c40d', class: 'btn btn-primary', onClick: () => this.addOwnerForm(true) }, "Add Owner"))));
511
+ return (h(Host, { key: '213a68fd3543eb912c6fed376128ba877ba75871' }, h("justifi-business-owners-form-step-core", { key: '5acee797bd35f5b60cadc5ddd50f560532dfe8b1', authToken: this.authToken, businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: (el) => this.coreComponent = el })));
697
512
  }
698
513
  static get watchers() { return {
699
- "owners": ["onOwnersUpdated"]
514
+ "authToken": ["propChanged"],
515
+ "businessId": ["propChanged"]
700
516
  }; }
701
517
  };
702
518
 
703
519
  const BusinessRepresentativeFormStep = class {
704
520
  constructor(hostRef) {
705
521
  registerInstance(this, hostRef);
706
- this.submitted = createEvent(this, "submitted", 7);
707
- this.formLoading = createEvent(this, "formLoading", 7);
708
522
  this.errorEvent = createEvent(this, "error-event", 7);
709
- this.fetchData = async () => {
710
- this.formLoading.emit(true);
711
- try {
712
- const response = await this.api.get(this.businessEndpoint);
713
- this.representative = new Representative(response.data.representative || {});
714
- this.formController.setInitialValues(Object.assign({}, this.representative));
715
- }
716
- catch (error) {
717
- this.errorEvent.emit({
718
- errorCode: ComponentErrorCodes.FETCH_ERROR,
719
- message: error.message,
720
- severity: ComponentErrorSeverity.ERROR,
721
- data: error,
722
- });
723
- }
724
- finally {
725
- this.formLoading.emit(false);
726
- }
727
- };
728
- this.sendData = async (onSuccess) => {
729
- this.formLoading.emit(true);
730
- try {
731
- const payload = parseIdentityInfo(this.formController.values.getValue());
732
- const response = await this.api.patch(this.businessEndpoint, JSON.stringify({ representative: payload }));
733
- this.handleResponse(response, onSuccess);
734
- }
735
- catch (error) {
736
- this.errorEvent.emit({
737
- errorCode: ComponentErrorCodes.PATCH_ERROR,
738
- message: error.message,
739
- severity: ComponentErrorSeverity.ERROR,
740
- data: error,
741
- });
742
- }
743
- finally {
744
- this.formLoading.emit(false);
745
- }
746
- };
747
- this.inputHandler = (name, value) => {
748
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
749
- };
750
- this.onAddressFormUpdate = (values) => {
751
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { address: Object.assign(Object.assign({}, this.formController.values.getValue().address), values) }));
752
- };
753
- this.onDateOfBirthUpdate = (event) => {
754
- if (event.detail === '') {
755
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { dob_day: null, dob_month: null, dob_year: null }));
756
- }
757
- else {
758
- const dob_values = deconstructDate(event.detail);
759
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { dob_day: dob_values.dob_day, dob_month: dob_values.dob_month, dob_year: dob_values.dob_year }));
760
- }
761
- };
762
- this.formController = undefined;
763
- this.errors = {};
764
- this.representative = {};
523
+ this.getBusiness = undefined;
524
+ this.patchBusiness = undefined;
765
525
  this.authToken = undefined;
766
526
  this.businessId = undefined;
767
527
  this.allowOptionalFields = undefined;
768
528
  }
769
- get businessEndpoint() {
770
- return `entities/business/${this.businessId}`;
771
- }
772
- handleResponse(response, onSuccess) {
773
- if (response.error) {
774
- this.errorEvent.emit({
775
- errorCode: ComponentErrorCodes.PATCH_ERROR,
776
- message: response.error.message,
777
- severity: ComponentErrorSeverity.ERROR,
778
- data: response.error,
779
- });
780
- }
781
- else {
782
- onSuccess();
783
- }
784
- this.submitted.emit({ data: response, metadata: { completedStep: BusinessFormStep.representative } });
529
+ propChanged() {
530
+ this.initializeApi();
785
531
  }
786
532
  async validateAndSubmit({ onSuccess }) {
787
- this.formController.validateAndSubmit(() => this.sendData(onSuccess));
533
+ this.coreComponent.validateAndSubmit({ onSuccess });
788
534
  }
789
- ;
790
535
  componentWillLoad() {
791
- this.formController = new FormController(identitySchema('representative', this.allowOptionalFields));
792
- this.api = Api({ authToken: this.authToken, apiOrigin: config.proxyApiOrigin });
793
- if (this.businessId && this.authToken) {
794
- this.fetchData();
536
+ this.initializeApi();
537
+ }
538
+ initializeApi() {
539
+ if (this.authToken && this.businessId) {
540
+ this.getBusiness = makeGetBusiness({
541
+ authToken: this.authToken,
542
+ businessId: this.businessId,
543
+ service: new BusinessService()
544
+ });
545
+ this.patchBusiness = makePatchBusiness({
546
+ authToken: this.authToken,
547
+ businessId: this.businessId,
548
+ service: new BusinessService()
549
+ });
550
+ }
551
+ else {
552
+ this.errorEvent.emit({
553
+ message: 'Missing required props',
554
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
555
+ severity: ComponentErrorSeverity.ERROR,
556
+ });
795
557
  }
796
- }
797
- componentDidLoad() {
798
- this.formController.errors.subscribe(errors => (this.errors = Object.assign({}, errors)));
799
- this.formController.values.subscribe(values => (this.representative = Object.assign({}, values)));
800
558
  }
801
559
  render() {
802
- const representativeDefaultValue = this.formController.getInitialValues();
803
- return (h(Host, { key: 'd2c9bc0dd40d85403688d4c0ff482d7b0c3c35ab', exportparts: 'label,input,input-invalid' }, h("form", { key: '99a6b23b13b893f760e322dfe2e6f603e86e718c' }, h("fieldset", { key: '7c3b1897a7fe0fa672fa2d8d1a35ba4c81e9c256' }, h("legend", { key: 'f0fe4c93f757167e631d6e21bda5b559556550ad' }, "Representative"), h("hr", { key: '1dd5db7898b510bcdae492460f2ce57d7871c282' }), h("div", { key: '33d1935e5b6cc441bd0193e35aaaedcecfc2bc95', class: 'row gy-3' }, h("div", { key: 'c872b5a20469e3609178106b019fe1d0aecb2a24', class: 'col-12 col-md-8' }, h("form-control-text", { key: '31f37067b3c46bb4f7120169878dae88c1d4e918', name: 'name', label: 'Full Name', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.name, errorText: this.errors.name, inputHandler: this.inputHandler })), h("div", { key: '9bdc8c1756a693f48bf060ee66f6fcf44cabc025', class: 'col-12 col-md-4' }, h("form-control-text", { key: '1686ff4c8e7b2e2fb74cc104966bf56d2754f8a8', name: 'title', label: 'Title', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.title, errorText: this.errors.title, inputHandler: this.inputHandler })), h("div", { key: '789443ed50f9f0957e6bd8b4f6dea8d6ba7421a9', class: 'col-12 col-md-6' }, h("form-control-text", { key: 'fcf1bd082368ee1adcc6b661ec75e3693fcc30dd', name: 'email', label: 'Email Address', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: '163d3f6e3ea1d2b7833b7a232e4726e56fda6416', class: 'col-12 col-md-6' }, h("form-control-number-masked", { key: '3eba7a3ab6a7e8631cb9f100bfd7e5e5566efecc', name: 'phone', label: 'Phone Number', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US })), h("div", { key: '42fc6d656c069f073b08e77398a266e367e771ad', class: 'col-12 col-md-4' }, h("form-control-date", { key: 'f627ff9478974305c83a8947b6c7f60d46189104', name: 'dob_full', label: 'Birth Date', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_full, errorText: this.errors.dob_full, inputHandler: this.inputHandler, onFormControlInput: this.onDateOfBirthUpdate })), h("div", { key: 'ffded118a7a2d1c5889c46ac879cdadc289f1c1e', class: 'col-12 col-md-8' }, h("form-control-number-masked", { key: 'bf9cda57b1b7579a38d4f1f276c5cbc7b1723e2d', name: 'identification_number', label: 'SSN', defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.identification_number, errorText: this.errors.identification_number, inputHandler: this.inputHandler, mask: SSN_MASK })), h("div", { key: 'b033205960692dc7b3cea5ce59e12a13c58d5243', class: 'col-12' }, h("justifi-identity-address-form", { key: 'f243060451c630da18d175a93f55bb1fcabd0cec', errors: this.errors.address, defaultValues: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.address, handleFormUpdate: this.onAddressFormUpdate })))))));
560
+ return (h("justifi-business-representative-form-step-core", { key: '866d8cf33d53eff562dac1d36898b4c5695bf39b', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: el => this.coreComponent = el }));
804
561
  }
562
+ static get watchers() { return {
563
+ "authToken": ["propChanged"],
564
+ "businessId": ["propChanged"]
565
+ }; }
805
566
  };
806
567
 
807
568
  const businessTermsConditionsSchema = (allowOptionalFields) => {
@@ -922,103 +683,57 @@ const BusinessTermsConditionsFormStep = class {
922
683
  });
923
684
  }
924
685
  render() {
925
- return (h(Host, { key: '63c8c815109b63b868fedfa6c9142a787d43625c' }, h("form", { key: '364ec85e5a8399b3bb1233a09a588470f7d96542' }, h("fieldset", { key: '8f4206180a48cc665b50bdc47604871b8c46212a' }, h("legend", { key: 'c50cf85809bcf0c370fe3e3756bbdf97cbc35c9f' }, "Terms and Conditions"), h("hr", { key: '4ae031aaa9a56f26c8818c11cf3ff91e559c7399' }), h("justifi-business-terms-conditions-text", { key: '4c8f520d4fbb14e94bfd345e196e5a8602fec0e2' }), h("br", { key: 'd76eff074fb8b7195ce22128a19f3ad6ff5c6ac0' }), h("div", { key: '5663d9804ccb01af38bfbf056645ef4e11695366', class: "row-gy-3" }, h("div", { key: '8587e533aa31febd996e643c366eeee3d147bc9d', class: "col-12" }, h("form-control-checkbox", { key: 'd2ff86a1d92a040e119432487b1405d0a6ae2c55', name: "accepted", label: "I agree to the terms and conditions", inputHandler: this.inputHandler, errorText: this.errors.accepted, disabled: this.acceptedTermsBefore, helpText: this.formHelperText })))))));
686
+ return (h("form", { key: '29b946b553d7a8011bee8f1997888f04b51897b3' }, h("fieldset", { key: 'c6e6c2577a66e58de8aabaac572cd7dab0a609b2' }, h("legend", { key: '4cf7e19049ee60807ffc5cbecbc8b87e9725590a' }, "Terms and Conditions"), h("hr", { key: 'b0d0bb46987a864a20a419eb0b2338fd57d07765' }), h("justifi-business-terms-conditions-text", { key: 'c936f2205bf123266d8eed2f12194eb2d8feb056' }), h("br", { key: 'e4f38ba5341c5fcf5938c3637905612e02bc7077' }), h("div", { key: '163401aaaee6e037d94182e5005625055bda66c5', class: "row-gy-3" }, h("div", { key: '3925d9b802f62e16cc41407170593b4b9a676bd9', class: "col-12" }, h("form-control-checkbox", { key: 'd86e00bfebe915d84a41486be34cec3555598d92', name: "accepted", label: "I agree to the terms and conditions", inputHandler: this.inputHandler, errorText: this.errors.accepted, disabled: this.acceptedTermsBefore, helpText: this.formHelperText }))))));
926
687
  }
927
688
  };
928
689
 
929
690
  const LegalAddressFormStep = class {
930
691
  constructor(hostRef) {
931
692
  registerInstance(this, hostRef);
932
- this.submitted = createEvent(this, "submitted", 7);
933
- this.formLoading = createEvent(this, "formLoading", 7);
934
693
  this.errorEvent = createEvent(this, "error-event", 7);
935
- this.fetchData = async () => {
936
- this.formLoading.emit(true);
937
- try {
938
- const response = await this.api.get(this.businessEndpoint);
939
- this.legal_address = new Address(response.data.legal_address || {});
940
- this.formController.setInitialValues(Object.assign({}, this.legal_address));
941
- }
942
- catch (error) {
943
- this.errorEvent.emit({
944
- errorCode: ComponentErrorCodes.FETCH_ERROR,
945
- message: error.message,
946
- severity: ComponentErrorSeverity.ERROR,
947
- data: error,
948
- });
949
- }
950
- finally {
951
- this.formLoading.emit(false);
952
- }
953
- };
954
- this.sendData = async (onSuccess) => {
955
- this.formLoading.emit(true);
956
- try {
957
- const payload = parseAddressInfo(this.formController.values.getValue());
958
- const response = await this.api.patch(this.businessEndpoint, JSON.stringify({ legal_address: payload }));
959
- this.handleResponse(response, onSuccess);
960
- }
961
- catch (error) {
962
- this.errorEvent.emit({
963
- errorCode: ComponentErrorCodes.PATCH_ERROR,
964
- message: error.message,
965
- severity: ComponentErrorSeverity.ERROR,
966
- data: error,
967
- });
968
- }
969
- finally {
970
- this.formLoading.emit(false);
971
- }
972
- };
973
- this.inputHandler = (name, value) => {
974
- this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
975
- };
976
- this.formController = undefined;
977
- this.errors = {};
978
- this.legal_address = {};
694
+ this.getBusiness = undefined;
695
+ this.patchBusiness = undefined;
979
696
  this.authToken = undefined;
980
697
  this.businessId = undefined;
981
698
  this.allowOptionalFields = undefined;
982
699
  }
983
- get businessEndpoint() {
984
- return `entities/business/${this.businessId}`;
985
- }
986
- handleResponse(response, onSuccess) {
987
- if (response.error) {
988
- this.errorEvent.emit({
989
- errorCode: ComponentErrorCodes.PATCH_ERROR,
990
- message: response.error.message,
991
- severity: ComponentErrorSeverity.ERROR,
992
- data: response.error,
993
- });
994
- }
995
- else {
996
- onSuccess();
997
- }
998
- this.submitted.emit({ data: response, metadata: { completedStep: BusinessFormStep.legalAddress } });
700
+ propChanged() {
701
+ this.initializeApi();
999
702
  }
1000
703
  async validateAndSubmit({ onSuccess }) {
1001
- this.formController.validateAndSubmit(() => this.sendData(onSuccess));
704
+ this.coreComponent.validateAndSubmit({ onSuccess });
1002
705
  }
1003
- ;
1004
706
  componentWillLoad() {
1005
- this.formController = new FormController(addressSchema(this.allowOptionalFields));
1006
- this.api = Api({ authToken: this.authToken, apiOrigin: config.proxyApiOrigin });
1007
- if (this.businessId && this.authToken) {
1008
- this.fetchData();
707
+ this.initializeApi();
708
+ }
709
+ initializeApi() {
710
+ if (this.authToken && this.businessId) {
711
+ this.getBusiness = makeGetBusiness({
712
+ authToken: this.authToken,
713
+ businessId: this.businessId,
714
+ service: new BusinessService()
715
+ });
716
+ this.patchBusiness = makePatchBusiness({
717
+ authToken: this.authToken,
718
+ businessId: this.businessId,
719
+ service: new BusinessService()
720
+ });
721
+ }
722
+ else {
723
+ this.errorEvent.emit({
724
+ message: 'Missing required props',
725
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
726
+ severity: ComponentErrorSeverity.ERROR,
727
+ });
1009
728
  }
1010
- }
1011
- componentDidLoad() {
1012
- this.formController.values.subscribe(values => this.legal_address = Object.assign({}, values));
1013
- this.formController.errors.subscribe(errors => (this.errors = Object.assign({}, errors)));
1014
729
  }
1015
730
  render() {
1016
- var _a, _b, _c, _d, _e, _f;
1017
- const legalAddressDefaultValue = this.formController.getInitialValues();
1018
- return (h(Host, { key: '9c05125bf246a2b70a726daf13e670a97e980f47', exportparts: "label,input,input-invalid" }, h("form", { key: '2ade7edf832b33a7ba6a48e7132675b1d10a56d4' }, h("fieldset", { key: 'c1de166455f7fe99af58a296a096235fdecb2133' }, h("legend", { key: '6a91fd07f78aa2cff56db73c59b8310b17b7d901' }, "Business Legal Address"), h("hr", { key: '3c2ebc5996de57610af531da0d314ce991bbe305' }), h("div", { key: 'fd1d4ab21f866fd76801c4c8c2e1d0419ac6addb', class: "row gy-3" }, h("div", { key: 'c3aaf2e8445067227f66a6faf8487b84275b109d', class: "col-12" }, h("form-control-text", { key: '2e9958c7829e1647c3512d65b0a068c5ffd192dc', name: "line1", label: "Legal Address", inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.line1, errorText: (_a = this.errors) === null || _a === void 0 ? void 0 : _a.line1 })), h("div", { key: '551458e16164b6fab6393d4e0bd5e36bd79e706d', class: "col-12" }, h("form-control-text", { key: '97f9ca68b48c6b73d46eb112f52df1eba0113c11', name: "line2", label: "Address Line 2", inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.line2, errorText: (_b = this.errors) === null || _b === void 0 ? void 0 : _b.line2 })), h("div", { key: 'e914778ba7da8279ee60fbbf96a0ce573ed33925', class: "col-12" }, h("form-control-text", { key: '1028149f43063b7eb2359dac64880f41c4b706c4', name: "city", label: "City", inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.city, errorText: (_c = this.errors) === null || _c === void 0 ? void 0 : _c.city })), h("div", { key: 'a4c0f576008523ec0abb18bf39e8a1441b404b37', class: "col-12" }, h("form-control-select", { key: 'af5d60c67367c9e5d6d531e199a4b1f60e994c3c', name: "state", label: "State", options: StateOptions, inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.state, errorText: (_d = this.errors) === null || _d === void 0 ? void 0 : _d.state })), h("div", { key: 'e5f0a9da1269c6c2e71ee7775a59c5f03eb5010e', class: "col-12" }, h("form-control-text", { key: '262bf5740f67f1788d5eff08236de25b48ad3cbf', name: "postal_code", label: "Postal Code", inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.postal_code, errorText: (_e = this.errors) === null || _e === void 0 ? void 0 : _e.postal_code, maxLength: 5, keyDownHandler: numberOnlyHandler })), h("div", { key: '6ba0e162cfeaff5c891b51a32e32fefe28db66ce', class: "col-12" }, h("form-control-select", { key: '5f9ad2922f6cf3ad9f89cb1c0f387f2a615b1474', name: "country", label: "Country", options: [{ label: 'United States', value: 'USA' }], inputHandler: this.inputHandler, defaultValue: legalAddressDefaultValue === null || legalAddressDefaultValue === void 0 ? void 0 : legalAddressDefaultValue.country, errorText: (_f = this.errors) === null || _f === void 0 ? void 0 : _f.country,
1019
- // just for now so we skip handling country specificities
1020
- disabled: true })))))));
731
+ return (h("justifi-legal-address-form-step-core", { key: '7455b4950e2ca1121004943ad81537c583438738', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: el => this.coreComponent = el }));
1021
732
  }
733
+ static get watchers() { return {
734
+ "authToken": ["propChanged"],
735
+ "businessId": ["propChanged"]
736
+ }; }
1022
737
  };
1023
738
 
1024
739
  const PaymentProvisioningFormButtons = class {
@@ -1041,7 +756,7 @@ const PaymentProvisioningFormButtons = class {
1041
756
  return this.currentStep === this.totalSteps;
1042
757
  }
1043
758
  render() {
1044
- return (h("div", { key: 'abc1957bf9f8afaa808471730d43a0d3abe447ca', class: 'd-flex gap-2' }, h("button", { key: 'a6a09bc4afdefa8d0a04e96bfc3228ece27f7968', type: 'button', class: 'btn btn-secondary', onClick: () => this.previousStepButtonOnClick(), disabled: this.formDisabled, hidden: !this.showPreviousStepButton }, "Previous"), h("button", { key: '6709aaf0c97a4aff7ffc45dcab0c3589b9f1d940', type: 'button', class: `btn btn-primary jfi-submit-button${this.formLoading ? ' jfi-submit-button-loading' : ''}`, onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.nextStep), disabled: this.formDisabled, hidden: !this.showNextStepButton }, this.formLoading ? LoadingSpinner() : 'Next'), h("button", { key: '9b0cc8573d48082bec14294682b3674b1423abbe', type: 'submit', class: `btn btn-primary jfi-submit-button${this.formLoading ? ' jfi-submit-button-loading' : ''}`, onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.submit), disabled: this.formDisabled, hidden: !this.showSubmitButton }, this.formLoading ? LoadingSpinner() : 'Submit')));
759
+ return (h("div", { key: '3df3796f2bb35819373564c0002e35d14c85e360', class: 'd-flex gap-2' }, h(Button, { key: '3f8fd4e288b2eed6776c77b44dda816e8a0580cd', variant: "secondary", type: "button", onClick: () => this.previousStepButtonOnClick(), disabled: this.formDisabled, hidden: !this.showPreviousStepButton }, "Previous"), h(Button, { key: '83c7d2405d6e4f88f721a95250aa847a6999a211', variant: "primary", type: "button", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.nextStep), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showNextStepButton }, "Next"), h(Button, { key: 'd87bcdc9bea52b11307e31bd1d99636be05d7156', variant: "primary", type: "submit", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.submit), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showSubmitButton }, "Submit")));
1045
760
  }
1046
761
  };
1047
762
 
@@ -1050,11 +765,11 @@ const PaymentProvisioningFormSteps = class {
1050
765
  registerInstance(this, hostRef);
1051
766
  this.formCompleted = createEvent(this, "formCompleted", 7);
1052
767
  this.componentStepMapping = {
1053
- 0: () => h("justifi-business-core-info-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[0] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1054
- 1: () => h("justifi-legal-address-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[1] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1055
- 2: () => h("justifi-additional-questions-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[2] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1056
- 3: () => h("justifi-business-representative-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[3] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1057
- 4: () => h("justifi-business-owners-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[4] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
768
+ 0: () => h("justifi-business-core-info-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[0] = el, allowOptionalFields: this.allowOptionalFields }),
769
+ 1: () => h("justifi-legal-address-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[1] = el, allowOptionalFields: this.allowOptionalFields }),
770
+ 2: () => h("justifi-additional-questions-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[2] = el, allowOptionalFields: this.allowOptionalFields }),
771
+ 3: () => h("justifi-business-representative-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[3] = el, allowOptionalFields: this.allowOptionalFields }),
772
+ 4: () => h("justifi-business-owners-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[4] = el, allowOptionalFields: this.allowOptionalFields }),
1058
773
  5: () => h("justifi-business-bank-account-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[5] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1059
774
  6: () => h("justifi-business-document-upload-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[6] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
1060
775
  7: () => h("justifi-business-terms-conditions-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[7] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields, onSubmitted: () => this.formCompleted.emit() }),
@@ -1070,7 +785,7 @@ const PaymentProvisioningFormSteps = class {
1070
785
  return this.componentStepMapping[this.currentStep]();
1071
786
  }
1072
787
  render() {
1073
- return (h("div", { key: '6bb3a25e38c7ed29a095e2bc1192d869ec406e83', class: 'col-12 mb-4' }, this.currentStepComponent));
788
+ return (h("div", { key: '8f02aa3223e38cda70319c127f60e5d2f3c5abe5', class: 'col-12 mb-4' }, this.currentStepComponent));
1074
789
  }
1075
790
  };
1076
791