@justifi/webcomponents 6.5.1-rc.2 → 6.6.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 (666) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/{Api-BeSnjEuW.js → Api-QUTWjGTy.js} +1 -1
  3. package/dist/cjs/{GooglePay-HXBAmTgL.js → Refund-BX0mjsAQ.js} +1 -416
  4. package/dist/cjs/additional-questions-details_5.cjs.entry.js +1 -1
  5. package/dist/cjs/bank-account-document-form-inputs_8.cjs.entry.js +206 -0
  6. package/dist/cjs/bank-account-form.cjs.entry.js +3 -3
  7. package/dist/cjs/{business-additional-questions-schema-CE-z5qrr.js → business-additional-questions-schema-Y1mXnwUT.js} +1 -7
  8. package/dist/cjs/{business-identity-schema-rMMiHyPz.js → business-identity-schema-D_OO0Suf.js} +1 -1
  9. package/dist/cjs/{business.service-DMzf08nC.js → business.service-Dffp64u6.js} +2 -2
  10. package/dist/cjs/card-form.cjs.entry.js +3 -3
  11. package/dist/cjs/{check-pkg-version-Bw6Rz_E3.js → check-pkg-version-DZC7jOGP.js} +3 -3
  12. package/dist/cjs/{checkout.service-CHNHEsrp.js → checkout.service-C1HcsrjQ.js} +2 -2
  13. package/dist/cjs/checkout.store-BA6h-dp2.js +107 -0
  14. package/dist/cjs/checkouts-list-core.cjs.entry.js +4 -5
  15. package/dist/cjs/{checkouts-table-2fOlhkc4.js → checkouts-table-Bgqkaez4.js} +1 -1
  16. package/dist/cjs/{custom-popper.cjs.entry.js → custom-popper_2.cjs.entry.js} +22 -2
  17. package/dist/cjs/{dispute.service-B63kcFkU.js → dispute.service-CJsWYMYk.js} +2 -2
  18. package/dist/cjs/form-alert_5.cjs.entry.js +6 -6
  19. package/dist/cjs/form-control-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/form-control-date.cjs.entry.js +2 -2
  21. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +3 -3
  22. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +2 -2
  23. package/dist/cjs/form-control-monetary.cjs.entry.js +3 -3
  24. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +4 -4
  25. package/dist/cjs/form-control-number.cjs.entry.js +2 -2
  26. package/dist/cjs/form-control-radio.cjs.entry.js +2 -2
  27. package/dist/cjs/{form-control-select_3.cjs.entry.js → form-control-select_2.cjs.entry.js} +4 -23
  28. package/dist/cjs/{get-payment-details-BN139jp0.js → get-payment-details-BblcGN2B.js} +2 -2
  29. package/dist/cjs/{get-subaccounts-IgHJX5J4.js → get-subaccounts-z4dNQDjx.js} +3 -3
  30. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +2 -2
  31. package/dist/cjs/hidden-input_2.cjs.entry.js +5 -5
  32. package/dist/cjs/{index-CajjbB9t.js → index-C2ITzalN.js} +0 -1
  33. package/dist/cjs/index.cjs.js +1 -1
  34. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +26 -25
  35. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +860 -29
  36. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +8 -8
  37. package/dist/cjs/{justifi-apple-pay_8.cjs.entry.js → justifi-apple-pay_7.cjs.entry.js} +255 -901
  38. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +3 -3
  39. package/dist/cjs/justifi-business-details.cjs.entry.js +6 -7
  40. package/dist/cjs/justifi-business-form.cjs.entry.js +9 -10
  41. package/dist/cjs/justifi-checkout.cjs.entry.js +17 -16
  42. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +10 -11
  43. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +10 -11
  44. package/dist/cjs/justifi-details.cjs.entry.js +1 -1
  45. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  46. package/dist/cjs/justifi-dispute-management.cjs.entry.js +7 -8
  47. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +10 -11
  48. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +5 -6
  49. package/dist/cjs/justifi-order-terminals.cjs.entry.js +11 -12
  50. package/dist/cjs/justifi-payment-details.cjs.entry.js +7 -8
  51. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +1 -1
  52. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +7 -8
  53. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +8 -9
  54. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +3 -3
  55. package/dist/cjs/justifi-payments-list.cjs.entry.js +9 -10
  56. package/dist/cjs/justifi-payout-details.cjs.entry.js +7 -8
  57. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +8 -9
  58. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +3 -3
  59. package/dist/cjs/justifi-payouts-list.cjs.entry.js +10 -11
  60. package/dist/cjs/justifi-refund-payment.cjs.entry.js +11 -12
  61. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +1 -1
  62. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +10 -9
  63. package/dist/cjs/justifi-skeleton.cjs.entry.js +1 -1
  64. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +12 -13
  65. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +8 -9
  66. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +8 -9
  67. package/dist/cjs/justifi-terminals-list.cjs.entry.js +10 -11
  68. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +1 -1
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/cjs/{justifi-owner-form_3.cjs.entry.js → owner-form-core_2.cjs.entry.js} +5 -60
  71. package/dist/cjs/{package--UMqvxMQ.js → package-CkO7M9IQ.js} +1 -1
  72. package/dist/cjs/pagination-menu.cjs.entry.js +3 -3
  73. package/dist/cjs/payment-details-core.cjs.entry.js +11 -12
  74. package/dist/cjs/payment-method-option.cjs.entry.js +1 -1
  75. package/dist/cjs/{payment.service-eOZc1Qay.js → payment.service-BZatGHKc.js} +2 -2
  76. package/dist/cjs/payments-list-core.cjs.entry.js +4 -5
  77. package/dist/cjs/{payments-table-C6SCvqLD.js → payments-table-CaJt-yMH.js} +1 -1
  78. package/dist/cjs/payout-details-core.cjs.entry.js +4 -4
  79. package/dist/cjs/{payout.service-QVl5N-UV.js → payout.service-DbgLWhwh.js} +2 -2
  80. package/dist/cjs/payouts-list-core.cjs.entry.js +4 -5
  81. package/dist/cjs/{payouts-table-CEnUtKNR.js → payouts-table-DZv0WnTS.js} +1 -1
  82. package/dist/cjs/{schema-validations-BOiGVUHM.js → schema-validations-Bf2mk2xU.js} +0 -16
  83. package/dist/cjs/table-filters-menu.cjs.entry.js +1 -1
  84. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +4 -5
  85. package/dist/cjs/{terminal-orders-table-g2fwrh2P.js → terminal-orders-table-F-ZFUBwH.js} +4 -4
  86. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +1 -1
  87. package/dist/cjs/{terminal.service-BuSFyt0j.js → terminal.service-KC8wBTJJ.js} +2 -2
  88. package/dist/cjs/terminals-list-core.cjs.entry.js +4 -5
  89. package/dist/cjs/{terminals-table-EeeLeuDN.js → terminals-table-D7sf_DBN.js} +1 -1
  90. package/dist/cjs/{utils-Bab-tddY.js → utils-D4WPxuzW.js} +0 -7
  91. package/dist/cjs/webcomponents.cjs.js +1 -1
  92. package/dist/collection/api/index.js +0 -2
  93. package/dist/collection/collection-manifest.json +1 -8
  94. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +6 -7
  95. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +2 -2
  96. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +7 -8
  97. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +6 -7
  98. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  99. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  100. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +7 -8
  101. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  102. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +132 -3
  103. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  104. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs-canada.js +1 -1
  105. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  106. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-read-only-value.js +1 -1
  107. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +335 -3
  108. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-documents-on-file.js +2 -2
  109. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +133 -3
  110. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +186 -3
  111. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +2 -2
  112. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +129 -3
  113. package/dist/collection/components/business-forms/payment-provisioning/form-address-fields/form-address-fields.js +1 -1
  114. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  115. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +122 -3
  116. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  117. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  118. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  119. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  120. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  121. package/dist/collection/components/business-forms/schemas/business-additional-questions-schema.js +1 -7
  122. package/dist/collection/components/business-forms/schemas/schema-validations.js +1 -14
  123. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  124. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  125. package/dist/collection/components/checkout/checkout.js +2 -2
  126. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  127. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  128. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  129. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  130. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  131. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  132. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  133. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  134. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  135. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  136. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  137. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  138. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  139. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  140. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  141. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  142. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  143. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  144. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  145. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  146. package/dist/collection/components/modular-checkout/ModularCheckout.js +0 -1
  147. package/dist/collection/components/modular-checkout/modular-checkout.js +9 -46
  148. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  149. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  150. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  151. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  152. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  153. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  154. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  155. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  156. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  157. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  158. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  159. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  160. package/dist/collection/components/payments-list/payments-list.js +1 -1
  161. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  162. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  163. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  164. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  165. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  166. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  167. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  168. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  169. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  170. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  171. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  172. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +4 -3
  173. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +10 -5
  174. package/dist/collection/store/checkout.store.js +0 -4
  175. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  176. package/dist/collection/ui-components/details/details.js +1 -1
  177. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  178. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  179. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  180. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  181. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  182. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  183. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  184. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  185. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  186. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  187. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  188. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  189. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  190. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  191. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  192. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  193. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +1 -1
  194. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  195. package/dist/docs.json +2692 -4612
  196. package/dist/esm/{Api-DX-IWyBw.js → Api-Dln8a6No.js} +1 -1
  197. package/dist/esm/{GooglePay-9bPcqGZ9.js → Refund-DDWRtCuX.js} +2 -406
  198. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  199. package/dist/esm/{badge-Bgosx-DC.js → badge-BWd10d-w.js} +1 -1
  200. package/dist/esm/bank-account-document-form-inputs_8.entry.js +197 -0
  201. package/dist/esm/bank-account-form.entry.js +5 -5
  202. package/dist/esm/{business-additional-questions-schema-QFJEOHF5.js → business-additional-questions-schema-woG5-pgK.js} +1 -7
  203. package/dist/esm/business-details-core.entry.js +3 -3
  204. package/dist/esm/{business-identity-schema-DB_Hhjld.js → business-identity-schema-B7VTDF4j.js} +2 -2
  205. package/dist/esm/{business.service-2j91Emgq.js → business.service-CmSijtcP.js} +2 -2
  206. package/dist/esm/{button-DBmjN7Ra.js → button-BDwVDLs-.js} +1 -1
  207. package/dist/esm/card-form.entry.js +5 -5
  208. package/dist/esm/{check-pkg-version-2BU_KPHv.js → check-pkg-version-B83yUQEx.js} +3 -3
  209. package/dist/esm/{checkout.service-D-dEMyXF.js → checkout.service-E60GnrZv.js} +2 -2
  210. package/dist/esm/checkout.store-CaS_htQd.js +101 -0
  211. package/dist/esm/checkouts-list-core.entry.js +8 -9
  212. package/dist/esm/{checkouts-table-lgbZpF1o.js → checkouts-table-BVWL1wN9.js} +3 -3
  213. package/dist/esm/{custom-popper.entry.js → custom-popper_2.entry.js} +22 -3
  214. package/dist/esm/{dispute.service-DPumDIuV.js → dispute.service-CAZJigrO.js} +2 -2
  215. package/dist/esm/form-alert_5.entry.js +7 -7
  216. package/dist/esm/form-control-checkbox.entry.js +5 -5
  217. package/dist/esm/form-control-date.entry.js +4 -4
  218. package/dist/esm/{form-control-error-text-B5LSdUXI.js → form-control-error-text-BYooqu0N.js} +1 -1
  219. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  220. package/dist/esm/{form-control-help-text-BK9RNOf-.js → form-control-help-text-CF1UA5Sl.js} +1 -1
  221. package/dist/esm/form-control-monetary-provisioning.entry.js +5 -5
  222. package/dist/esm/form-control-monetary.entry.js +6 -6
  223. package/dist/esm/form-control-number-masked_3.entry.js +6 -6
  224. package/dist/esm/form-control-number.entry.js +5 -5
  225. package/dist/esm/form-control-radio.entry.js +3 -3
  226. package/dist/esm/{form-control-select_3.entry.js → form-control-select_2.entry.js} +7 -25
  227. package/dist/esm/{get-payment-details-CD_K6FQ3.js → get-payment-details-Dg5WRkOM.js} +1 -1
  228. package/dist/esm/{get-subaccounts-D1eF6c0B.js → get-subaccounts-CbxzednA.js} +2 -2
  229. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  230. package/dist/esm/{header-1-CPF3S2CC.js → header-1-CzkA4zNY.js} +1 -1
  231. package/dist/esm/{header-3-Cah707hu.js → header-3-eIE1RpMN.js} +1 -1
  232. package/dist/esm/hidden-input_2.entry.js +7 -7
  233. package/dist/esm/{index-DkoufM1t.js → index-DCIW8z1f.js} +0 -1
  234. package/dist/esm/index.js +1 -1
  235. package/dist/esm/{insurance-state-DRe0g_wf.js → insurance-state-By2QaBZo.js} +1 -1
  236. package/dist/esm/internal-tokenize-payment-method_7.entry.js +18 -17
  237. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +862 -31
  238. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  239. package/dist/esm/{justifi-apple-pay_8.entry.js → justifi-apple-pay_7.entry.js} +144 -789
  240. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +5 -5
  241. package/dist/esm/justifi-business-details.entry.js +8 -9
  242. package/dist/esm/justifi-business-form.entry.js +13 -14
  243. package/dist/esm/justifi-checkout.entry.js +11 -10
  244. package/dist/esm/justifi-checkouts-list-filters.entry.js +4 -5
  245. package/dist/esm/justifi-checkouts-list.entry.js +11 -12
  246. package/dist/esm/justifi-details.entry.js +3 -3
  247. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  248. package/dist/esm/justifi-dispute-management.entry.js +7 -8
  249. package/dist/esm/justifi-dispute-notification_3.entry.js +13 -14
  250. package/dist/esm/justifi-gross-payment-chart.entry.js +7 -8
  251. package/dist/esm/justifi-order-terminals.entry.js +10 -11
  252. package/dist/esm/justifi-payment-details.entry.js +9 -10
  253. package/dist/esm/justifi-payment-provisioning-core.entry.js +3 -3
  254. package/dist/esm/justifi-payment-provisioning.entry.js +7 -8
  255. package/dist/esm/justifi-payment-transactions-list.entry.js +10 -11
  256. package/dist/esm/justifi-payments-list-filters.entry.js +4 -4
  257. package/dist/esm/justifi-payments-list.entry.js +11 -12
  258. package/dist/esm/justifi-payout-details.entry.js +8 -9
  259. package/dist/esm/justifi-payout-transactions-list.entry.js +10 -11
  260. package/dist/esm/justifi-payouts-list-filters.entry.js +4 -4
  261. package/dist/esm/justifi-payouts-list.entry.js +12 -13
  262. package/dist/esm/justifi-refund-payment.entry.js +10 -11
  263. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  264. package/dist/esm/justifi-season-interruption-insurance.entry.js +10 -9
  265. package/dist/esm/justifi-skeleton.entry.js +3 -3
  266. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +5 -6
  267. package/dist/esm/justifi-terminal-orders-list.entry.js +9 -10
  268. package/dist/esm/justifi-terminals-list-filters.entry.js +4 -5
  269. package/dist/esm/justifi-terminals-list.entry.js +11 -12
  270. package/dist/esm/justifi-tokenize-payment-method.entry.js +1 -1
  271. package/dist/esm/loader.js +1 -1
  272. package/dist/esm/{justifi-owner-form_3.entry.js → owner-form-core_2.entry.js} +8 -62
  273. package/dist/esm/{package-Bx3wyDU2.js → package-CdVle3mx.js} +1 -1
  274. package/dist/esm/pagination-menu.entry.js +4 -4
  275. package/dist/esm/{parts-wtuY7MT2.js → parts-QmGrQis7.js} +1 -1
  276. package/dist/esm/payment-details-core.entry.js +15 -16
  277. package/dist/esm/payment-method-option.entry.js +2 -2
  278. package/dist/esm/{payment.service-BreQSu6J.js → payment.service-CWc5BPv-.js} +2 -2
  279. package/dist/esm/payments-list-core.entry.js +9 -10
  280. package/dist/esm/{payments-status-Dypl6WFL.js → payments-status-BdCVusHE.js} +1 -1
  281. package/dist/esm/{payments-table-CK9BRZEz.js → payments-table-9rC3BvV0.js} +3 -3
  282. package/dist/esm/payout-details-core.entry.js +10 -10
  283. package/dist/esm/{payout.service-DuqRe6oq.js → payout.service-iBVqRzf_.js} +2 -2
  284. package/dist/esm/payouts-list-core.entry.js +9 -10
  285. package/dist/esm/{payouts-status-hTCBgpLW.js → payouts-status-DhowllYh.js} +1 -1
  286. package/dist/esm/{payouts-table-Dd8IDBBX.js → payouts-table-Ci_J6mmU.js} +3 -3
  287. package/dist/esm/{schema-validations-B5sfox_4.js → schema-validations-iamDi5JD.js} +2 -15
  288. package/dist/esm/{skeleton-BmRZRW5K.js → skeleton-BX70wCwq.js} +1 -1
  289. package/dist/esm/{spinner-tU4D9iak.js → spinner-CcDNFgNu.js} +1 -1
  290. package/dist/esm/{table-Cjq1A6mO.js → table-KZoMaoUh.js} +2 -2
  291. package/dist/esm/table-filters-menu.entry.js +3 -3
  292. package/dist/esm/terminal-orders-list-core.entry.js +8 -9
  293. package/dist/esm/{terminal-orders-table-DSo5x2D7.js → terminal-orders-table-BGiWS5cM.js} +4 -4
  294. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  295. package/dist/esm/{terminal.service-CkzrYIA_.js → terminal.service-CxSKhtwB.js} +2 -2
  296. package/dist/esm/terminals-list-core.entry.js +8 -9
  297. package/dist/esm/{terminals-table-D9okETJr.js → terminals-table-DROFEdyn.js} +3 -3
  298. package/dist/esm/{utils-BX7Rjm1M.js → utils-C1PX_3uA.js} +1 -1
  299. package/dist/esm/{utils-CIaHqjQt.js → utils-CDaVtz_6.js} +1 -7
  300. package/dist/esm/webcomponents.js +1 -1
  301. package/dist/module/Analytics.js +0 -2
  302. package/dist/module/ModularCheckout.js +0 -1
  303. package/dist/module/additional-questions.js +2 -2
  304. package/dist/module/additional-statement.js +1 -1
  305. package/dist/module/apple-pay.js +120 -1
  306. package/dist/module/bank-account-billing-form-simple.js +1 -1
  307. package/dist/module/bank-account-document-inputs.js +1 -3
  308. package/dist/module/bank-account-form-inputs-canada2.js +1 -1
  309. package/dist/module/bank-account-form-inputs2.js +1 -1
  310. package/dist/module/bank-account-form.js +3 -3
  311. package/dist/module/bank-account-read-only-value2.js +1 -1
  312. package/dist/module/bank-account.js +2 -2
  313. package/dist/module/business-additional-questions-form-step.js +107 -20
  314. package/dist/module/business-additional-questions-schema.js +1 -7
  315. package/dist/module/business-address-schema.js +1 -1
  316. package/dist/module/business-bank-account-form-step.js +443 -35
  317. package/dist/module/business-core-info-form-step.js +108 -20
  318. package/dist/module/business-core-info-schema.js +1 -1
  319. package/dist/module/business-core-info.js +2 -2
  320. package/dist/module/business-documents-on-file2.js +2 -2
  321. package/dist/module/business-identity-schema.js +1 -1
  322. package/dist/module/business-owners-form-step.js +137 -23
  323. package/dist/module/business-representative-form-inputs.js +2 -2
  324. package/dist/module/business-representative-form-step.js +106 -22
  325. package/dist/module/business-representative.js +3 -3
  326. package/dist/module/business-terms-conditions-form-step.js +1 -3
  327. package/dist/module/business.service.js +0 -2
  328. package/dist/module/cancellation-policy.js +1 -1
  329. package/dist/module/card-billing-form-simple.js +1 -1
  330. package/dist/module/card-form.js +3 -3
  331. package/dist/module/card-form2.js +2 -2
  332. package/dist/module/checkout.service.js +0 -2
  333. package/dist/module/checkout.store.js +0 -4
  334. package/dist/module/checkouts-list-core2.js +2 -4
  335. package/dist/module/custom-popper2.js +2 -2
  336. package/dist/module/customer-details.js +1 -1
  337. package/dist/module/details.js +1 -1
  338. package/dist/module/dispute-management-core.js +1 -1
  339. package/dist/module/dispute-notification.js +2 -2
  340. package/dist/module/dispute-response-actions.js +0 -2
  341. package/dist/module/dispute-response-core.js +1 -1
  342. package/dist/module/dispute-response.js +1 -1
  343. package/dist/module/duplicate-charge.js +1 -1
  344. package/dist/module/electronic-evidence.js +1 -1
  345. package/dist/module/form-address-fields.js +1 -1
  346. package/dist/module/form-control-checkbox2.js +2 -2
  347. package/dist/module/form-control-date2.js +2 -2
  348. package/dist/module/form-control-file-v22.js +1 -1
  349. package/dist/module/form-control-file2.js +2 -2
  350. package/dist/module/form-control-monetary-provisioning2.js +2 -2
  351. package/dist/module/form-control-monetary2.js +2 -2
  352. package/dist/module/form-control-number-masked2.js +2 -2
  353. package/dist/module/form-control-number.js +2 -2
  354. package/dist/module/form-control-radio2.js +2 -2
  355. package/dist/module/form-control-select2.js +2 -2
  356. package/dist/module/form-control-text2.js +2 -2
  357. package/dist/module/form-control-textarea2.js +2 -2
  358. package/dist/module/get-payment-details.js +0 -2
  359. package/dist/module/get-subaccounts.js +0 -2
  360. package/dist/module/gross-payment-chart-core2.js +2 -2
  361. package/dist/module/hidden-input2.js +1 -1
  362. package/dist/module/identity-address-form.js +1 -1
  363. package/dist/module/iframe-input2.js +3 -3
  364. package/dist/module/internal-tokenize-payment-method2.js +1 -3
  365. package/dist/module/justifi-business-form.js +0 -2
  366. package/dist/module/justifi-button2.js +1 -1
  367. package/dist/module/justifi-checkout.js +40 -46
  368. package/dist/module/justifi-checkouts-list-filters.js +1 -3
  369. package/dist/module/justifi-checkouts-list.js +1 -3
  370. package/dist/module/justifi-dispute-management.js +1 -1
  371. package/dist/module/justifi-gross-payment-chart.js +0 -2
  372. package/dist/module/justifi-header2.js +1 -1
  373. package/dist/module/justifi-order-terminals.js +2 -4
  374. package/dist/module/justifi-payment-provisioning.js +49 -87
  375. package/dist/module/justifi-payment-transactions-list.js +2 -4
  376. package/dist/module/justifi-payments-list-filters.js +3 -3
  377. package/dist/module/justifi-payments-list.js +1 -3
  378. package/dist/module/justifi-payout-details.js +0 -2
  379. package/dist/module/justifi-payout-transactions-list.js +2 -4
  380. package/dist/module/justifi-payouts-list-filters.js +3 -3
  381. package/dist/module/justifi-payouts-list.js +1 -3
  382. package/dist/module/justifi-radio-list-item2.js +1 -1
  383. package/dist/module/justifi-refund-payment.js +0 -2
  384. package/dist/module/justifi-saved-payment-method.js +1 -1
  385. package/dist/module/justifi-season-interruption-insurance.js +1 -3
  386. package/dist/module/justifi-skeleton.js +1 -1
  387. package/dist/module/justifi-terminal-orders-list-filters.js +3 -5
  388. package/dist/module/justifi-terminal-orders-list.js +1 -3
  389. package/dist/module/justifi-terminals-list-filters.js +1 -3
  390. package/dist/module/justifi-terminals-list.js +1 -3
  391. package/dist/module/justifi-tokenize-payment-method.js +1 -1
  392. package/dist/module/legal-address-form-step.js +95 -18
  393. package/dist/module/legal-address-form.js +2 -2
  394. package/dist/module/modular-checkout.js +6 -46
  395. package/dist/module/owner-form-core2.js +1 -1
  396. package/dist/module/owner-form-inputs2.js +3 -3
  397. package/dist/module/owner-form.js +2 -2
  398. package/dist/module/package.js +1 -1
  399. package/dist/module/pagination-menu2.js +3 -3
  400. package/dist/module/payment-details-core2.js +9 -11
  401. package/dist/module/payment-method-option.js +1 -1
  402. package/dist/module/payment-provisioning-actions.js +1 -1
  403. package/dist/module/payment-provisioning-core.js +49 -85
  404. package/dist/module/payment-provisioning-form-buttons.js +1 -1
  405. package/dist/module/payment-provisioning-form-steps.js +49 -85
  406. package/dist/module/payment.service.js +0 -2
  407. package/dist/module/payments-list-core2.js +2 -4
  408. package/dist/module/payout-details-core2.js +4 -4
  409. package/dist/module/payout.service.js +0 -2
  410. package/dist/module/payouts-list-core2.js +2 -4
  411. package/dist/module/plaid.service.js +0 -2
  412. package/dist/module/product-or-service.js +1 -1
  413. package/dist/module/refund-policy.js +1 -1
  414. package/dist/module/save-new-payment-method.js +1 -1
  415. package/dist/module/schema-validations.js +2 -15
  416. package/dist/module/shipping-details.js +1 -1
  417. package/dist/module/summary.js +1 -1
  418. package/dist/module/table-filters-menu2.js +1 -1
  419. package/dist/module/terminal-orders-list-core2.js +2 -4
  420. package/dist/module/terminal-quantity-selector2.js +1 -1
  421. package/dist/module/terminal.service.js +0 -2
  422. package/dist/module/terminals-list-core2.js +2 -4
  423. package/dist/module/utils2.js +1 -7
  424. package/dist/types/api/Checkout.d.ts +0 -2
  425. package/dist/types/api/index.d.ts +0 -2
  426. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.d.ts +26 -2
  427. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.d.ts +42 -2
  428. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.d.ts +25 -2
  429. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.d.ts +21 -2
  430. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +37 -2
  431. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.d.ts +24 -2
  432. package/dist/types/components/business-forms/schemas/business-additional-questions-schema.d.ts +0 -6
  433. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +3 -21
  434. package/dist/types/components/business-forms/schemas/schema-validations.d.ts +0 -3
  435. package/dist/types/components/checkout/checkout.d.ts +0 -1
  436. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +1 -2
  437. package/dist/types/components/modular-checkout/modular-checkout.d.ts +0 -5
  438. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +1 -1
  439. package/dist/types/components.d.ts +48 -422
  440. package/dist/types/store/checkout.store.d.ts +0 -1
  441. package/dist/webcomponents/index.esm.js +1 -1
  442. package/dist/webcomponents/p-0867547d.entry.js +1 -0
  443. package/dist/webcomponents/p-091d6a7e.entry.js +1 -0
  444. package/dist/webcomponents/p-0d4bea62.entry.js +1 -0
  445. package/dist/webcomponents/{p-86111a0a.entry.js → p-0eb7abed.entry.js} +1 -1
  446. package/dist/webcomponents/p-1634262a.entry.js +1 -0
  447. package/dist/webcomponents/p-1a4d0ad6.entry.js +1 -0
  448. package/dist/webcomponents/p-25e3cb85.entry.js +1 -0
  449. package/dist/webcomponents/{p-03c8c754.entry.js → p-278988e8.entry.js} +1 -1
  450. package/dist/webcomponents/p-3482ab40.entry.js +1 -0
  451. package/dist/webcomponents/p-3b5a9e94.entry.js +1 -0
  452. package/dist/webcomponents/p-44efe4ca.entry.js +1 -0
  453. package/dist/webcomponents/p-49a0ef9d.entry.js +1 -0
  454. package/dist/webcomponents/p-4bff1285.entry.js +1 -0
  455. package/dist/webcomponents/p-4d87be74.entry.js +1 -0
  456. package/dist/webcomponents/{p-4e71de94.entry.js → p-50308873.entry.js} +1 -1
  457. package/dist/webcomponents/p-51107c8f.entry.js +1 -0
  458. package/dist/webcomponents/p-51d7b9f7.entry.js +1 -0
  459. package/dist/webcomponents/p-5490e39c.entry.js +1 -0
  460. package/dist/webcomponents/p-5c60ba00.entry.js +1 -0
  461. package/dist/webcomponents/p-5d56a293.entry.js +1 -0
  462. package/dist/webcomponents/p-654d91d7.entry.js +1 -0
  463. package/dist/webcomponents/p-68c2ce90.entry.js +1 -0
  464. package/dist/webcomponents/{p-e6507b93.entry.js → p-69b0be17.entry.js} +1 -1
  465. package/dist/webcomponents/p-6e99cd4c.entry.js +1 -0
  466. package/dist/webcomponents/p-7e4bfba1.entry.js +1 -0
  467. package/dist/webcomponents/{p-0ce046fd.entry.js → p-8740871d.entry.js} +1 -1
  468. package/dist/webcomponents/p-87d23cf8.entry.js +1 -0
  469. package/dist/webcomponents/p-9065f077.entry.js +1 -0
  470. package/dist/webcomponents/p-908f6b79.entry.js +1 -0
  471. package/dist/webcomponents/p-93d98b07.entry.js +1 -0
  472. package/dist/webcomponents/p-94b2d6a1.entry.js +1 -0
  473. package/dist/webcomponents/p-980db13b.entry.js +1 -0
  474. package/dist/webcomponents/{p-fe862786.entry.js → p-99c1059c.entry.js} +1 -1
  475. package/dist/webcomponents/p-9c7c60f3.entry.js +1 -0
  476. package/dist/webcomponents/{p-BS7OgSQe.js → p-B09GVew-.js} +1 -1
  477. package/dist/webcomponents/p-B10U2_Sw.js +1 -0
  478. package/dist/webcomponents/{p-BVwVhXcQ.js → p-B69TWr1K.js} +1 -1
  479. package/dist/webcomponents/{p-CkN7DFFn.js → p-BDRSfgZJ.js} +1 -1
  480. package/dist/webcomponents/{p-KPmnq8xf.js → p-BIzMmHpn.js} +1 -1
  481. package/dist/webcomponents/p-BqXh8qSb.js +1 -0
  482. package/dist/webcomponents/p-C0FpWzgU.js +1 -0
  483. package/dist/webcomponents/{p-BKM7YeAB.js → p-CA9okQxT.js} +1 -1
  484. package/dist/webcomponents/{p-BNqo3kt0.js → p-CJ4viNrp.js} +1 -1
  485. package/dist/webcomponents/p-CMTxbXEr.js +1 -0
  486. package/dist/webcomponents/{p-DOLBAxYf.js → p-CYz0Hubu.js} +1 -1
  487. package/dist/webcomponents/p-CdVle3mx.js +1 -0
  488. package/dist/webcomponents/p-CiMKKjGV.js +1 -0
  489. package/dist/webcomponents/p-CjfgyxBN.js +1 -0
  490. package/dist/webcomponents/p-CjxyejYl.js +1 -0
  491. package/dist/webcomponents/p-CpP3EZBK.js +1 -0
  492. package/dist/webcomponents/p-D032AB34.js +1 -0
  493. package/dist/webcomponents/p-DCIW8z1f.js +1 -0
  494. package/dist/webcomponents/{p-D1WQG4I7.js → p-DOcRWTul.js} +1 -1
  495. package/dist/webcomponents/p-DQKNMVh7.js +1 -0
  496. package/dist/webcomponents/p-DU8dqq9U.js +1 -0
  497. package/dist/webcomponents/{p-bolTb61p.js → p-DUQxAYW4.js} +1 -1
  498. package/dist/webcomponents/{p-Dy5btfGV.js → p-DcHTywGe.js} +1 -1
  499. package/dist/webcomponents/{p-Cmb6PRFh.js → p-DircQtPA.js} +1 -1
  500. package/dist/webcomponents/{p-BxtmTjqW.js → p-Dp2W4Eq3.js} +1 -1
  501. package/dist/webcomponents/{p-BRbk6oSh.js → p-E8uzhk39.js} +1 -1
  502. package/dist/webcomponents/p-GenVH2BR.js +1 -0
  503. package/dist/webcomponents/{p-t8p0WAW4.js → p-H_emngUs.js} +1 -1
  504. package/dist/webcomponents/p-InCWAej0.js +1 -0
  505. package/dist/webcomponents/{p-BydKIJVC.js → p-KS3Bf_2D.js} +1 -1
  506. package/dist/webcomponents/{p-C01zp4xw.js → p-MFnmyvti.js} +1 -1
  507. package/dist/webcomponents/{p-wtuY7MT2.js → p-QmGrQis7.js} +1 -1
  508. package/dist/webcomponents/{p-DkOiS6Zr.js → p-Qmo430x1.js} +1 -1
  509. package/dist/webcomponents/p-VodztElu.js +1 -0
  510. package/dist/webcomponents/p-a4a647bd.entry.js +1 -0
  511. package/dist/webcomponents/p-abcbfb22.entry.js +1 -0
  512. package/dist/webcomponents/p-af29e819.entry.js +1 -0
  513. package/dist/webcomponents/p-b31bf32a.entry.js +1 -0
  514. package/dist/webcomponents/{p-3bacf834.entry.js → p-b6286d7b.entry.js} +1 -1
  515. package/dist/webcomponents/p-b8c816fe.entry.js +1 -0
  516. package/dist/webcomponents/p-bcec4201.entry.js +1 -0
  517. package/dist/webcomponents/{p-f2650bfc.entry.js → p-c3a625ec.entry.js} +4 -4
  518. package/dist/webcomponents/p-c6ee5aa7.entry.js +1 -0
  519. package/dist/webcomponents/{p-c8f40375.entry.js → p-c8bd7e0d.entry.js} +1 -1
  520. package/dist/webcomponents/p-c900ccca.entry.js +1 -0
  521. package/dist/webcomponents/{p-f528da70.entry.js → p-c9920e22.entry.js} +1 -1
  522. package/dist/webcomponents/p-ca3733e5.entry.js +1 -0
  523. package/dist/webcomponents/p-cb61af93.entry.js +1 -0
  524. package/dist/webcomponents/p-d29ce58e.entry.js +1 -0
  525. package/dist/webcomponents/p-d34f5a20.entry.js +1 -0
  526. package/dist/webcomponents/p-d41ad7a8.entry.js +1 -0
  527. package/dist/webcomponents/{p-a22d1078.entry.js → p-d79f9a54.entry.js} +1 -1
  528. package/dist/webcomponents/p-d8ec7cfc.entry.js +1 -0
  529. package/dist/webcomponents/p-dd0c456f.entry.js +1 -0
  530. package/dist/webcomponents/p-dda50611.entry.js +1 -0
  531. package/dist/webcomponents/p-df7e2530.entry.js +1 -0
  532. package/dist/webcomponents/p-e4a43e31.entry.js +1 -0
  533. package/dist/webcomponents/{p-aaed4997.entry.js → p-ea75759b.entry.js} +1 -1
  534. package/dist/webcomponents/p-edcb6de1.entry.js +1 -0
  535. package/dist/webcomponents/p-faaba66d.entry.js +1 -0
  536. package/dist/webcomponents/p-fc680b08.entry.js +1 -0
  537. package/dist/webcomponents/p-fcaaed23.entry.js +1 -0
  538. package/dist/webcomponents/{p-b8426810.entry.js → p-fdcb24aa.entry.js} +1 -1
  539. package/dist/webcomponents/p-fefc4dea.entry.js +1 -0
  540. package/dist/webcomponents/p-ff1bc3de.entry.js +1 -0
  541. package/dist/webcomponents/{p-BTzt8N0l.js → p-gcRtE71H.js} +1 -1
  542. package/dist/webcomponents/p-giyZ3C4E.js +1 -0
  543. package/dist/webcomponents/{p-C8yN3uBj.js → p-yyedWKWX.js} +1 -1
  544. package/dist/webcomponents/webcomponents.esm.js +1 -1
  545. package/package.json +13 -13
  546. package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +0 -133
  547. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +0 -875
  548. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +0 -34
  549. package/dist/collection/api/GooglePay.js +0 -181
  550. package/dist/collection/api/services/google-pay.service.js +0 -240
  551. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.js +0 -265
  552. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.js +0 -466
  553. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.js +0 -307
  554. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.js +0 -380
  555. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.js +0 -270
  556. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.js +0 -276
  557. package/dist/collection/components/modular-checkout/sub-components/google-pay-skeleton.js +0 -10
  558. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +0 -609
  559. package/dist/collection/ui-components/google-pay-button.js +0 -251
  560. package/dist/esm/bank-account-document-form-inputs_6.entry.js +0 -126
  561. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +0 -868
  562. package/dist/esm/justifi-business-representative-form-inputs.entry.js +0 -32
  563. package/dist/module/ApplePay.js +0 -121
  564. package/dist/module/GooglePay.js +0 -184
  565. package/dist/module/business-additional-questions-form-step-core.js +0 -167
  566. package/dist/module/business-bank-account-form-step-core.js +0 -458
  567. package/dist/module/business-core-info-form-step-core.js +0 -173
  568. package/dist/module/business-owners-form-step-core.js +0 -231
  569. package/dist/module/business-representative-form-step-core.js +0 -171
  570. package/dist/module/google-pay.js +0 -781
  571. package/dist/module/justifi-additional-questions-form-step-core.d.ts +0 -11
  572. package/dist/module/justifi-additional-questions-form-step-core.js +0 -6
  573. package/dist/module/justifi-business-bank-account-form-step-core.d.ts +0 -11
  574. package/dist/module/justifi-business-bank-account-form-step-core.js +0 -6
  575. package/dist/module/justifi-business-core-info-form-step-core.d.ts +0 -11
  576. package/dist/module/justifi-business-core-info-form-step-core.js +0 -6
  577. package/dist/module/justifi-business-owners-form-step-core.d.ts +0 -11
  578. package/dist/module/justifi-business-owners-form-step-core.js +0 -6
  579. package/dist/module/justifi-business-representative-form-step-core.d.ts +0 -11
  580. package/dist/module/justifi-business-representative-form-step-core.js +0 -6
  581. package/dist/module/justifi-google-pay.d.ts +0 -11
  582. package/dist/module/justifi-google-pay.js +0 -6
  583. package/dist/module/justifi-legal-address-form-step-core.d.ts +0 -11
  584. package/dist/module/justifi-legal-address-form-step-core.js +0 -6
  585. package/dist/module/legal-address-form-step-core.js +0 -154
  586. package/dist/types/api/GooglePay.d.ts +0 -271
  587. package/dist/types/api/services/google-pay.service.d.ts +0 -60
  588. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.d.ts +0 -38
  589. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.d.ts +0 -52
  590. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.d.ts +0 -40
  591. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.d.ts +0 -37
  592. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.d.ts +0 -50
  593. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.d.ts +0 -38
  594. package/dist/types/components/modular-checkout/sub-components/google-pay-skeleton.d.ts +0 -6
  595. package/dist/types/components/modular-checkout/sub-components/google-pay.d.ts +0 -59
  596. package/dist/types/ui-components/google-pay-button.d.ts +0 -18
  597. package/dist/webcomponents/p-03930216.entry.js +0 -1
  598. package/dist/webcomponents/p-0412f491.entry.js +0 -1
  599. package/dist/webcomponents/p-04154136.entry.js +0 -1
  600. package/dist/webcomponents/p-06ce1202.entry.js +0 -1
  601. package/dist/webcomponents/p-0772719b.entry.js +0 -1
  602. package/dist/webcomponents/p-0cd1c683.entry.js +0 -1
  603. package/dist/webcomponents/p-136b29e3.entry.js +0 -1
  604. package/dist/webcomponents/p-13bdb5ed.entry.js +0 -1
  605. package/dist/webcomponents/p-16812327.entry.js +0 -1
  606. package/dist/webcomponents/p-19dabeab.entry.js +0 -1
  607. package/dist/webcomponents/p-1d04bd7a.entry.js +0 -1
  608. package/dist/webcomponents/p-1f196690.entry.js +0 -1
  609. package/dist/webcomponents/p-270bf699.entry.js +0 -1
  610. package/dist/webcomponents/p-2da4e6ca.entry.js +0 -1
  611. package/dist/webcomponents/p-2eb123a3.entry.js +0 -1
  612. package/dist/webcomponents/p-38e1ef4b.entry.js +0 -1
  613. package/dist/webcomponents/p-3ae12b98.entry.js +0 -1
  614. package/dist/webcomponents/p-3c006a15.entry.js +0 -1
  615. package/dist/webcomponents/p-404b3f02.entry.js +0 -1
  616. package/dist/webcomponents/p-42658888.entry.js +0 -1
  617. package/dist/webcomponents/p-43390a7f.entry.js +0 -1
  618. package/dist/webcomponents/p-47f6d271.entry.js +0 -1
  619. package/dist/webcomponents/p-48d1bc83.entry.js +0 -1
  620. package/dist/webcomponents/p-4f102cfd.entry.js +0 -1
  621. package/dist/webcomponents/p-5cba8448.entry.js +0 -1
  622. package/dist/webcomponents/p-7b610d9e.entry.js +0 -1
  623. package/dist/webcomponents/p-7bf6ded7.entry.js +0 -1
  624. package/dist/webcomponents/p-7dbd0618.entry.js +0 -1
  625. package/dist/webcomponents/p-88f58abe.entry.js +0 -1
  626. package/dist/webcomponents/p-8b6b7e20.entry.js +0 -1
  627. package/dist/webcomponents/p-8f4adcfd.entry.js +0 -1
  628. package/dist/webcomponents/p-8fcd277c.entry.js +0 -1
  629. package/dist/webcomponents/p-9065d67e.entry.js +0 -1
  630. package/dist/webcomponents/p-914b590d.entry.js +0 -1
  631. package/dist/webcomponents/p-9370cf0d.entry.js +0 -1
  632. package/dist/webcomponents/p-9a795f44.entry.js +0 -1
  633. package/dist/webcomponents/p-B-0a8Xqm.js +0 -1
  634. package/dist/webcomponents/p-BN1PYSFf.js +0 -1
  635. package/dist/webcomponents/p-BitGlMSc.js +0 -1
  636. package/dist/webcomponents/p-Bli6WznP.js +0 -1
  637. package/dist/webcomponents/p-Bqlcv3ZV.js +0 -1
  638. package/dist/webcomponents/p-BuCKkdLM.js +0 -1
  639. package/dist/webcomponents/p-Bx3wyDU2.js +0 -1
  640. package/dist/webcomponents/p-C-2kW6Al.js +0 -1
  641. package/dist/webcomponents/p-CQrwlULd.js +0 -1
  642. package/dist/webcomponents/p-CVhnuewz.js +0 -1
  643. package/dist/webcomponents/p-DkoufM1t.js +0 -1
  644. package/dist/webcomponents/p-a020c889.entry.js +0 -1
  645. package/dist/webcomponents/p-a0c9f0bd.entry.js +0 -1
  646. package/dist/webcomponents/p-a6e816f6.entry.js +0 -1
  647. package/dist/webcomponents/p-a87187c3.entry.js +0 -1
  648. package/dist/webcomponents/p-a9f75a9e.entry.js +0 -1
  649. package/dist/webcomponents/p-ad9307c1.entry.js +0 -1
  650. package/dist/webcomponents/p-avgjSJ1d.js +0 -1
  651. package/dist/webcomponents/p-b3f8d5d4.entry.js +0 -1
  652. package/dist/webcomponents/p-ba0762f9.entry.js +0 -1
  653. package/dist/webcomponents/p-c41191e7.entry.js +0 -1
  654. package/dist/webcomponents/p-c621e7af.entry.js +0 -1
  655. package/dist/webcomponents/p-c63b0271.entry.js +0 -1
  656. package/dist/webcomponents/p-c7MCfTgE.js +0 -1
  657. package/dist/webcomponents/p-c88babbe.entry.js +0 -1
  658. package/dist/webcomponents/p-d2935214.entry.js +0 -1
  659. package/dist/webcomponents/p-d88d228f.entry.js +0 -1
  660. package/dist/webcomponents/p-dgG_o6wN.js +0 -1
  661. package/dist/webcomponents/p-e7e5fee9.entry.js +0 -1
  662. package/dist/webcomponents/p-e9d13cca.entry.js +0 -1
  663. package/dist/webcomponents/p-ee122560.entry.js +0 -1
  664. package/dist/webcomponents/p-f4cb581f.entry.js +0 -1
  665. package/dist/webcomponents/p-nrZ9yHcl.js +0 -1
  666. package/dist/webcomponents/p-zNSPsvs3.js +0 -1
@@ -1,16 +1,183 @@
1
1
  import { h } from "@stencil/core";
2
- import { ComponentErrorCodes, ComponentErrorSeverity } from "../../../../api";
2
+ import { ComponentErrorCodes, ComponentErrorSeverity, BankAccount, EntityDocument, EntityDocumentStorage } from "../../../../api";
3
3
  import { makeGetBusiness, makePostBankAccount, makePostDocumentRecord } from "../payment-provisioning-actions";
4
4
  import { BusinessService, BusinessBankAccountService, DocumentRecordService } from "../../../../api/services/business.service";
5
+ import { CountryCode } from "../../../../utils/country-codes";
6
+ import { bankAccountSchemaByCountry } from "../../schemas/business-bank-account-schema";
7
+ import { FormController } from "../../../../ui-components/form/form";
8
+ import { BusinessFormStep } from "../../utils";
9
+ import { heading2, buttonSecondary } from "../../../../styles/parts";
10
+ import { PaymentProvisioningLoading } from "../payment-provisioning-loading";
11
+ import { Button } from "../../../../ui-components";
5
12
  export class BusinessBankAccountFormStep {
13
+ constructor() {
14
+ this.errors = {};
15
+ this.bankAccount = {};
16
+ this.existingDocuments = [];
17
+ this.documentData = new EntityDocumentStorage();
18
+ this.isLoading = false;
19
+ this.isAddingNewBankAccount = true;
20
+ this.getSchema = () => {
21
+ const schema = bankAccountSchemaByCountry[this.country];
22
+ return schema(this.allowOptionalFields, this.existingDocuments);
23
+ };
24
+ this.initializeFormController = () => {
25
+ this.formController = new FormController(this.getSchema());
26
+ if (this.isAddingNewBankAccount) {
27
+ // Clear form when adding a new bank account
28
+ this.formController.setInitialValues({ business_id: this.businessId });
29
+ }
30
+ else {
31
+ this.formController.setInitialValues(Object.assign({}, this.bankAccount));
32
+ }
33
+ this.formController.errors.subscribe(errors => {
34
+ this.errors = Object.assign({}, errors);
35
+ });
36
+ };
37
+ this.inputHandler = (name, value) => {
38
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
39
+ };
40
+ this.storeFiles = (e) => {
41
+ const fileList = Array.from(e.detail.fileList);
42
+ const docType = e.detail.document_type;
43
+ const documentList = fileList.map(file => new EntityDocument({ file, document_type: docType }, this.businessId));
44
+ this.documentData[docType] = documentList;
45
+ };
46
+ this.getData = () => {
47
+ this.isLoading = true;
48
+ this.getBusiness({
49
+ onSuccess: (response) => {
50
+ if (response.data.bank_accounts.length > 0) {
51
+ // Get the latest bank account (last in array)
52
+ const bankAccounts = response.data.bank_accounts;
53
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
54
+ this.bankAccount = new BankAccount(latestBankAccount);
55
+ this.isAddingNewBankAccount = false;
56
+ }
57
+ else {
58
+ this.bankAccount = new BankAccount({});
59
+ this.bankAccount.business_id = this.businessId;
60
+ }
61
+ this.existingDocuments = response.data.documents;
62
+ },
63
+ onError: ({ error, code, severity }) => {
64
+ this.errorEvent.emit({
65
+ message: error,
66
+ errorCode: code,
67
+ severity: severity
68
+ });
69
+ },
70
+ final: () => {
71
+ this.initializeFormController();
72
+ this.isLoading = false;
73
+ }
74
+ });
75
+ };
76
+ this.handleChangeBankAccount = () => {
77
+ this.isAddingNewBankAccount = true;
78
+ this.documentData = new EntityDocumentStorage();
79
+ this.initializeFormController();
80
+ };
81
+ this.handleCancel = () => {
82
+ this.isAddingNewBankAccount = false;
83
+ this.documentData = new EntityDocumentStorage();
84
+ this.initializeFormController();
85
+ };
86
+ this.handleSaveBankAccount = async () => {
87
+ this.formController.validateAndSubmit(() => {
88
+ this.sendData(() => {
89
+ // Success callback - form will refresh automatically
90
+ });
91
+ });
92
+ };
93
+ this.postDocumentRecordData = async (docData) => {
94
+ this.isLoading = true;
95
+ const payload = docData.record_data;
96
+ return new Promise((resolve) => {
97
+ this.postDocumentRecord({
98
+ payload,
99
+ onSuccess: (response) => {
100
+ resolve(this.handleDocRecordResponse(docData, response));
101
+ },
102
+ onError: ({ error, code, severity }) => {
103
+ this.errorEvent.emit({
104
+ message: error,
105
+ errorCode: code,
106
+ severity: severity
107
+ });
108
+ resolve(false);
109
+ },
110
+ });
111
+ });
112
+ };
113
+ this.handleDocRecordResponse = (docData, response) => {
114
+ if (response.error) {
115
+ this.errorEvent.emit({
116
+ errorCode: ComponentErrorCodes.POST_ERROR,
117
+ message: response.error.message,
118
+ severity: ComponentErrorSeverity.ERROR,
119
+ data: response.error,
120
+ });
121
+ return false;
122
+ }
123
+ else {
124
+ docData.setPresignedUrl(response.data.presigned_url);
125
+ return true;
126
+ }
127
+ };
128
+ this.uploadDocument = async (docData) => {
129
+ if (!docData.presigned_url) {
130
+ throw new Error('Presigned URL is not set');
131
+ }
132
+ const fileData = await docData.getFileData();
133
+ const response = await fetch(docData.presigned_url, {
134
+ method: 'PUT',
135
+ body: fileData
136
+ });
137
+ return this.handleUploadResponse(response);
138
+ };
139
+ this.handleUploadResponse = (response) => {
140
+ if (response.error) {
141
+ this.errorEvent.emit({
142
+ errorCode: ComponentErrorCodes.POST_ERROR,
143
+ message: response.error.message,
144
+ severity: ComponentErrorSeverity.ERROR,
145
+ data: response.error,
146
+ });
147
+ return false;
148
+ }
149
+ else {
150
+ return true;
151
+ }
152
+ };
153
+ }
6
154
  propChanged() {
7
155
  this.initializeApi();
8
156
  }
157
+ watchHandler(newValue) {
158
+ this.formLoading.emit(newValue);
159
+ }
9
160
  async validateAndSubmit({ onSuccess }) {
10
- this.coreComponent.validateAndSubmit({ onSuccess });
161
+ if (this.existingBankAccount && !this.isAddingNewBankAccount) {
162
+ // If a bank account already exists and we're not adding a new one, skip bank account posting; proceed directly to document upload
163
+ this.sendData(onSuccess);
164
+ }
165
+ else {
166
+ // If bank account is new, validate form inputs (bank account fields), then proceed
167
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
168
+ }
11
169
  }
12
170
  componentWillLoad() {
13
171
  this.initializeApi();
172
+ if (this.getBusiness) {
173
+ this.getData();
174
+ }
175
+ this.formController = new FormController(this.getSchema());
176
+ }
177
+ componentDidLoad() {
178
+ this.formController.errors.subscribe(errors => {
179
+ this.errors = Object.assign({}, errors);
180
+ });
14
181
  }
15
182
  initializeApi() {
16
183
  if (this.authToken && this.businessId) {
@@ -36,8 +203,127 @@ export class BusinessBankAccountFormStep {
36
203
  });
37
204
  }
38
205
  }
206
+ get postPayload() {
207
+ const values = this.formController.values.getValue();
208
+ const formValues = new BankAccount(values).payload;
209
+ return formValues;
210
+ }
211
+ get existingBankAccount() {
212
+ var _a;
213
+ return !!((_a = this.bankAccount) === null || _a === void 0 ? void 0 : _a.id);
214
+ }
215
+ get showReadOnlyView() {
216
+ return this.existingBankAccount && !this.isAddingNewBankAccount;
217
+ }
218
+ async sendData(onSuccess) {
219
+ try {
220
+ // Post bank account data if we're adding a new bank account
221
+ const bankAccountPosted = this.isAddingNewBankAccount ? await this.postBankAccountData() : true;
222
+ if (!bankAccountPosted) {
223
+ return;
224
+ }
225
+ // Post documents only after bank account was successfully created
226
+ const documentsUploaded = await this.postBusinessDocuments();
227
+ if (!documentsUploaded) {
228
+ return;
229
+ }
230
+ // Refresh bank account data after successful save
231
+ if (this.isAddingNewBankAccount) {
232
+ this.isAddingNewBankAccount = false;
233
+ await this.refreshBankAccountData();
234
+ }
235
+ onSuccess();
236
+ }
237
+ catch (error) {
238
+ this.errorEvent.emit({
239
+ message: error,
240
+ errorCode: ComponentErrorCodes.POST_ERROR,
241
+ severity: ComponentErrorSeverity.ERROR
242
+ });
243
+ }
244
+ }
245
+ async postBankAccountData() {
246
+ let submittedData;
247
+ this.isLoading = true;
248
+ return new Promise((resolve) => {
249
+ let success = false;
250
+ this.postBankAccount({
251
+ payload: this.postPayload,
252
+ onSuccess: (response) => {
253
+ submittedData = response;
254
+ success = true;
255
+ },
256
+ onError: ({ error, code, severity }) => {
257
+ success = false;
258
+ this.errorEvent.emit({
259
+ message: error,
260
+ errorCode: code,
261
+ severity: severity
262
+ });
263
+ },
264
+ final: () => {
265
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.bankAccount });
266
+ this.isLoading = false;
267
+ resolve(success);
268
+ }
269
+ });
270
+ });
271
+ }
272
+ async refreshBankAccountData() {
273
+ return new Promise((resolve) => {
274
+ this.isLoading = true;
275
+ this.getBusiness({
276
+ onSuccess: (response) => {
277
+ if (response.data.bank_accounts.length > 0) {
278
+ // Get the latest bank account (last in array)
279
+ const bankAccounts = response.data.bank_accounts;
280
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
281
+ this.bankAccount = new BankAccount(latestBankAccount);
282
+ }
283
+ this.existingDocuments = response.data.documents;
284
+ this.initializeFormController();
285
+ },
286
+ onError: ({ error, code, severity }) => {
287
+ this.errorEvent.emit({
288
+ message: error,
289
+ errorCode: code,
290
+ severity: severity
291
+ });
292
+ },
293
+ final: () => {
294
+ this.isLoading = false;
295
+ resolve();
296
+ }
297
+ });
298
+ });
299
+ }
300
+ async postBusinessDocuments() {
301
+ this.isLoading = true;
302
+ try {
303
+ const docArray = Object.values(this.documentData).flat();
304
+ if (!docArray.length) {
305
+ return true;
306
+ }
307
+ const recordsCreated = await Promise.all(docArray.map((docData) => this.postDocumentRecordData(docData))); // Create document records
308
+ if (recordsCreated.includes(false)) {
309
+ return false;
310
+ } // Exit if document record creation fails
311
+ const uploadsCompleted = await Promise.all(docArray.map((docData) => this.uploadDocument(docData))); // Upload documents to AWS presigned URLs
312
+ if (uploadsCompleted.includes(false)) {
313
+ return false;
314
+ } // Exit if any upload fails
315
+ return true;
316
+ }
317
+ finally {
318
+ this.isLoading = false;
319
+ }
320
+ }
39
321
  render() {
40
- return (h("justifi-business-bank-account-form-step-core", { key: 'f4e4c31d04884510d5b432b7cced5eea2b618bcd', businessId: this.businessId, getBusiness: this.getBusiness, postBankAccount: this.postBankAccount, postDocumentRecord: this.postDocumentRecord, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
322
+ const bankAccountDefaultValue = this.formController.getInitialValues();
323
+ if (this.isLoading) {
324
+ return h(PaymentProvisioningLoading, null);
325
+ }
326
+ return (h("form", null, h("fieldset", { class: "mb-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Bank Account Info"), h("form-control-tooltip", { helpText: "This direct deposit account is the designated bank account where incoming funds will be deposited. The name of this account must match the registered business name exactly. We are not able to accept personal accounts unless your business is a registered sole proprietorship." })), h("hr", { class: "mt-2" }), this.country === CountryCode.CAN ? (h("bank-account-form-inputs-canada", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })) : (h("bank-account-form-inputs", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })), this.showReadOnlyView && (h("div", { class: "mt-3" }, h(Button, { variant: "secondary", type: "button", onClick: this.handleChangeBankAccount, disabled: this.isLoading, part: buttonSecondary }, "Change Bank Account"))), (!this.existingBankAccount || this.isAddingNewBankAccount) && (h("div", { class: "mt-3 d-flex gap-2" }, this.isAddingNewBankAccount && (h(Button, { variant: "secondary", type: "button", onClick: this.handleCancel, disabled: this.isLoading, part: buttonSecondary }, "Cancel")), h(Button, { variant: "primary", type: "button", onClick: this.handleSaveBankAccount, disabled: this.isLoading, isLoading: this.isLoading }, "Save Bank Account")))), h("fieldset", { class: "mt-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Document Uploads"), h("form-control-tooltip", { helpText: "One document (voided check or bank statement) is required for underwriting purposes. It needs to visibly show the name tied to the account and the account number. Various file formats such as PDF, DOC, DOCX, JPEG are accepted. Multiple files can be uploaded for each document category." })), h("hr", { class: "mt-2" }), h("business-documents-on-file", { documents: this.existingDocuments, isLoading: this.isLoading }), h("bank-account-document-form-inputs", { inputHandler: this.inputHandler, errors: this.errors, storeFiles: this.storeFiles }))));
41
327
  }
42
328
  static get is() { return "justifi-business-bank-account-form-step"; }
43
329
  static get properties() {
@@ -128,6 +414,13 @@ export class BusinessBankAccountFormStep {
128
414
  }
129
415
  static get states() {
130
416
  return {
417
+ "formController": {},
418
+ "errors": {},
419
+ "bankAccount": {},
420
+ "existingDocuments": {},
421
+ "documentData": {},
422
+ "isLoading": {},
423
+ "isAddingNewBankAccount": {},
131
424
  "getBusiness": {},
132
425
  "postBankAccount": {},
133
426
  "postDocumentRecord": {},
@@ -156,6 +449,42 @@ export class BusinessBankAccountFormStep {
156
449
  }
157
450
  }
158
451
  }
452
+ }, {
453
+ "method": "stepCompleteEvent",
454
+ "name": "complete-form-step-event",
455
+ "bubbles": true,
456
+ "cancelable": true,
457
+ "composed": true,
458
+ "docs": {
459
+ "tags": [],
460
+ "text": ""
461
+ },
462
+ "complexType": {
463
+ "original": "ComponentFormStepCompleteEvent",
464
+ "resolved": "ComponentFormStepCompleteEvent",
465
+ "references": {
466
+ "ComponentFormStepCompleteEvent": {
467
+ "location": "import",
468
+ "path": "../../../../api",
469
+ "id": "src/api/index.ts::ComponentFormStepCompleteEvent"
470
+ }
471
+ }
472
+ }
473
+ }, {
474
+ "method": "formLoading",
475
+ "name": "formLoading",
476
+ "bubbles": true,
477
+ "cancelable": true,
478
+ "composed": true,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": ""
482
+ },
483
+ "complexType": {
484
+ "original": "boolean",
485
+ "resolved": "boolean",
486
+ "references": {}
487
+ }
159
488
  }];
160
489
  }
161
490
  static get methods() {
@@ -190,6 +519,9 @@ export class BusinessBankAccountFormStep {
190
519
  }, {
191
520
  "propName": "businessId",
192
521
  "methodName": "propChanged"
522
+ }, {
523
+ "propName": "isLoading",
524
+ "methodName": "watchHandler"
193
525
  }];
194
526
  }
195
527
  }
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { formatDate, formatTimeSeconds, snakeCaseToHumanReadable } from "../../../../utils/utils";
2
+ import { formatDate, formatTime, snakeCaseToHumanReadable } from "../../../../utils/utils";
3
3
  import { card, heading2, table, tableCell, tableHeadCell } from "../../../../styles/parts";
4
4
  import { Skeleton } from "../../../../ui-components";
5
5
  export class BusinessDocumentsOnFile {
@@ -16,7 +16,7 @@ export class BusinessDocumentsOnFile {
16
16
  }
17
17
  return (h(Host, null, h("div", { class: "card", part: card }, h("div", { class: "card-body" }, h("h5", { class: "card-title", part: heading2 }, "Documents Already on File"), h("div", { class: "table-responsive" }, h("table", { class: "table table-sm table-borderless", part: table }, h("thead", null, h("tr", null, h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "File Name"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "File Type"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "Document Type"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "Date Uploaded"))), h("tbody", null, this.documents.sort((a, b) => a.document_type.localeCompare(b.document_type))
18
18
  .map((document, index) => {
19
- return (h("tr", { class: index === 0 ? "border-bottom border-top" : "border-bottom" }, h("td", { part: tableCell }, document.file_name), h("td", { part: tableCell }, document.file_type), h("td", { part: tableCell }, snakeCaseToHumanReadable(document.document_type)), h("td", { part: tableCell }, `${formatDate(document.created_at)} - ${formatTimeSeconds(document.created_at)}`)));
19
+ return (h("tr", { class: index === 0 ? "border-bottom border-top" : "border-bottom" }, h("td", { part: tableCell }, document.file_name), h("td", { part: tableCell }, document.file_type), h("td", { part: tableCell }, snakeCaseToHumanReadable(document.document_type)), h("td", { part: tableCell }, `${formatDate(document.created_at)} - ${formatTime(document.created_at)}`)));
20
20
  })))))), h("hr", null)));
21
21
  }
22
22
  static get is() { return "business-documents-on-file"; }
@@ -2,15 +2,95 @@ import { h } from "@stencil/core";
2
2
  import { ComponentErrorCodes, ComponentErrorSeverity } from "../../../../api/ComponentError";
3
3
  import { makeGetBusiness, makePatchBusiness } from "../payment-provisioning-actions";
4
4
  import { BusinessService } from "../../../../api/services/business.service";
5
+ import { CountryCode } from "../../../../utils/country-codes";
6
+ import { businessCoreInfoSchemaUSA, businessCoreInfoSchemaCAN } from "../../schemas/business-core-info-schema";
7
+ import { FormController } from "../../../../ui-components/form/form";
8
+ import { CoreBusinessInfo } from "../../../../api/Business";
9
+ import { BusinessFormStep, businessClassificationOptions } from "../../utils";
10
+ import { PHONE_MASKS } from "../../../../utils/form-input-masks";
11
+ import { heading2, label, inputDisabled, buttonSecondary } from "../../../../styles/parts";
12
+ import { PaymentProvisioningLoading } from "../payment-provisioning-loading";
13
+ import { countryLabels } from "../../utils/country-config";
5
14
  export class BusinessCoreInfoFormStep {
15
+ constructor() {
16
+ this.errors = {};
17
+ this.coreInfo = {};
18
+ this.isLoading = false;
19
+ this.isEditingTaxId = false;
20
+ this.getData = () => {
21
+ if (!this.getBusiness)
22
+ return;
23
+ this.formLoading.emit(true);
24
+ this.isLoading = true;
25
+ this.getBusiness({
26
+ onSuccess: (response) => {
27
+ this.coreInfo = new CoreBusinessInfo(response.data);
28
+ this.formController.setInitialValues(Object.assign({}, this.coreInfo));
29
+ },
30
+ onError: ({ error, code, severity }) => {
31
+ this.errorEvent.emit({
32
+ message: error,
33
+ errorCode: code,
34
+ severity: severity
35
+ });
36
+ },
37
+ final: () => {
38
+ this.formLoading.emit(false);
39
+ this.isLoading = false;
40
+ }
41
+ });
42
+ };
43
+ this.sendData = (onSuccess) => {
44
+ let submittedData;
45
+ this.formLoading.emit(true);
46
+ this.patchBusiness({
47
+ payload: this.patchPayload,
48
+ onSuccess: (response) => {
49
+ submittedData = response;
50
+ onSuccess();
51
+ // after successful patch, revert back to read-only for tax id
52
+ this.isEditingTaxId = false;
53
+ },
54
+ onError: ({ error, code, severity }) => {
55
+ submittedData = error;
56
+ this.errorEvent.emit({
57
+ message: error,
58
+ errorCode: code,
59
+ severity: severity
60
+ });
61
+ },
62
+ final: () => {
63
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.businessInfo });
64
+ this.formLoading.emit(false);
65
+ }
66
+ });
67
+ };
68
+ this.inputHandler = (name, value) => {
69
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
70
+ };
71
+ }
6
72
  propChanged() {
7
73
  this.initializeApi();
8
74
  }
9
75
  async validateAndSubmit({ onSuccess }) {
10
- this.coreComponent.validateAndSubmit({ onSuccess });
76
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
77
+ }
78
+ get patchPayload() {
79
+ let formValues = new CoreBusinessInfo(this.formController.values.getValue()).payload;
80
+ return formValues;
11
81
  }
12
82
  componentWillLoad() {
13
83
  this.initializeApi();
84
+ const schema = (this.country === CountryCode.CAN)
85
+ ? businessCoreInfoSchemaCAN(this.allowOptionalFields)
86
+ : businessCoreInfoSchemaUSA(this.allowOptionalFields);
87
+ this.formController = new FormController(schema);
88
+ this.getData();
89
+ }
90
+ componentDidLoad() {
91
+ this.formController.errors.subscribe(errors => {
92
+ this.errors = Object.assign({}, errors);
93
+ });
14
94
  }
15
95
  initializeApi() {
16
96
  if (this.authToken && this.businessId) {
@@ -34,7 +114,16 @@ export class BusinessCoreInfoFormStep {
34
114
  }
35
115
  }
36
116
  render() {
37
- return (h("justifi-business-core-info-form-step-core", { key: '1aeaeae1d432883c1e242c066881cabc37097032', businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
117
+ var _a, _b;
118
+ const coreInfoDefaultValue = this.formController.getInitialValues();
119
+ if (this.isLoading) {
120
+ return h(PaymentProvisioningLoading, null);
121
+ }
122
+ return (h("form", null, h("fieldset", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Business Information")), h("hr", { class: "mt-2" }), h("div", { class: "row gy-3" }, h("div", { class: "col-12" }, h("form-control-text", { name: "legal_name", label: "Business Name", defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (don't use acronyms or abbreviations unless you registered that way)." })), h("div", { class: "col-12" }, h("form-control-text", { name: "doing_business_as", label: "Doing Business As (DBA)", defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (leave blank if you don't have a registered DBA/trade name)" })), h("div", { class: "col-12 col-md-8" }, h("form-control-select", { name: "classification", label: "Business Classification", options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-4" }, h("form-control-date", { name: "date_of_incorporation", label: "Date of Registration", defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "industry", label: "Industry", defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler, helpText: "Describe what you sell" })), h("div", { class: "col-12 col-md-6" }, (!((_a = this.coreInfo) === null || _a === void 0 ? void 0 : _a.tax_id_last4) || this.isEditingTaxId) ? (h("form-control-number-masked", { name: "tax_id", label: countryLabels[this.country].taxIdLabel, defaultValue: this.isEditingTaxId ? '' : coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, mask: '000000000', helpText: countryLabels[this.country].taxIdHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, countryLabels[this.country].taxIdLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.coreInfo) === null || _b === void 0 ? void 0 : _b.tax_id_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
123
+ this.isEditingTaxId = true;
124
+ // Clear last4-equivalent and current value if any future conditional validation depends on it
125
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { tax_id: '', tax_id_last4: null }));
126
+ } }, "Change"))))), h("div", { class: "col-12" }, h("form-control-text", { name: "website_url", label: "Business Website URL", defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler, helpText: "Don't have a live website? You can use your social media business page, app store link, or staging site URL." })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "email", label: "Business Email Address", defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-number-masked", { name: "phone", label: "Business Phone Number", defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US }))))));
38
127
  }
39
128
  static get is() { return "justifi-business-core-info-form-step"; }
40
129
  static get properties() {
@@ -126,7 +215,12 @@ export class BusinessCoreInfoFormStep {
126
215
  static get states() {
127
216
  return {
128
217
  "getBusiness": {},
129
- "patchBusiness": {}
218
+ "patchBusiness": {},
219
+ "formController": {},
220
+ "errors": {},
221
+ "coreInfo": {},
222
+ "isLoading": {},
223
+ "isEditingTaxId": {}
130
224
  };
131
225
  }
132
226
  static get events() {
@@ -151,6 +245,42 @@ export class BusinessCoreInfoFormStep {
151
245
  }
152
246
  }
153
247
  }
248
+ }, {
249
+ "method": "stepCompleteEvent",
250
+ "name": "complete-form-step-event",
251
+ "bubbles": true,
252
+ "cancelable": true,
253
+ "composed": true,
254
+ "docs": {
255
+ "tags": [],
256
+ "text": ""
257
+ },
258
+ "complexType": {
259
+ "original": "ComponentFormStepCompleteEvent",
260
+ "resolved": "ComponentFormStepCompleteEvent",
261
+ "references": {
262
+ "ComponentFormStepCompleteEvent": {
263
+ "location": "import",
264
+ "path": "../../../../api/ComponentEvents",
265
+ "id": "src/api/ComponentEvents.ts::ComponentFormStepCompleteEvent"
266
+ }
267
+ }
268
+ }
269
+ }, {
270
+ "method": "formLoading",
271
+ "name": "formLoading",
272
+ "bubbles": true,
273
+ "cancelable": true,
274
+ "composed": true,
275
+ "docs": {
276
+ "tags": [],
277
+ "text": ""
278
+ },
279
+ "complexType": {
280
+ "original": "boolean",
281
+ "resolved": "boolean",
282
+ "references": {}
283
+ }
154
284
  }];
155
285
  }
156
286
  static get methods() {